http://bugzilla.novell.com/show_bug.cgi?id=629390
http://bugzilla.novell.com/show_bug.cgi?id=629390#c0 Summary: Gmcs crash on calling extension method for System.Drawing.Color Classification: Mono Product: Mono: Compilers Version: 2.6.x Platform: All OS/Version: All Status: NEW Severity: Normal Priority: P5 - None Component: C# AssignedTo: [email protected] ReportedBy: [email protected] QAContact: [email protected] Found By: --- Blocker: --- User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.99 Safari/533.4 All code needed: using System; using System.Drawing; namespace Repro2 { static class ExtensionMethods { public static Color Transparent(this Color c) { return Color.FromArgb(0,c); } } class MainClass { public static void Main (string[] args) { Console.WriteLine ("Color: " + Color.Black.Transparent()); // Console.WriteLine ("Color: " + Color.Transparent()); } } } Reproducible: Always Steps to Reproduce: Compile the code. Actual Results: Compile the code. 1) An error message that doesn't make sense to me. Shouldn't the extension method work as used? 2) Compiler crash following that. /usr/bin/gmcs /noconfig "/out:/home/carl/Projects/Repro2/Repro2/bin/Debug/Repro2.exe" "/r:/usr/lib/mono/2.0/System.dll" "/r:/usr/lib/mono/2.0/System.Core.dll" "/r:/usr/lib/mono/2.0/System.Drawing.dll" /nologo /warn:4 /debug:+ /debug:full /optimize- /codepage:utf8 /platform:x86 "/define:DEBUG" /t:exe "/home/carl/Projects/Repro2/Repro2/Main.cs" "/home/carl/Projects/Repro2/Repro2/AssemblyInfo.cs" Internal compiler error at /home/carl/Projects/Repro2/Repro2/Main.cs(17,36):: exception caught while emitting MethodBuilder [MainClass::Main] /home/carl/Projects/Repro2/Repro2/Main.cs(19,68): error CS0176: Static member `System.Drawing.Color.Transparent' cannot be accessed with an instance reference, qualify it with a type name instead Unhandled Exception: System.ArgumentNullException: Argument cannot be null. at Mono.CSharp.Argument..ctor (Mono.CSharp.Expression expr) [0x00000] in <filename unknown>:0 at Mono.CSharp.ExtensionMethodGroupExpr.OverloadResolve (Mono.CSharp.ResolveContext ec, Mono.CSharp.Arguments& arguments, Boolean may_fail, Location loc) [0x00000] in <filename unknown>:0 at Mono.CSharp.Invocation.DoResolveOverload (Mono.CSharp.ResolveContext ec) [0x00000] in <filename unknown>:0 at Mono.CSharp.Invocation.DoResolve (Mono.CSharp.ResolveContext ec) [0x00000] in <filename unknown>:0 at Mono.CSharp.Expression.Resolve (Mono.CSharp.ResolveContext ec, ResolveFlags flags) [0x00000] in <filename unknown>:0 at Mono.CSharp.Expression.Resolve (Mono.CSharp.ResolveContext ec) [0x00000] in <filename unknown>:0 at Mono.CSharp.Binary.DoResolve (Mono.CSharp.ResolveContext ec) [0x00000] in <filename unknown>:0 at Mono.CSharp.Expression.Resolve (Mono.CSharp.ResolveContext ec, ResolveFlags flags) [0x00000] in <filename unknown>:0 at Mono.CSharp.Expression.Resolve (Mono.CSharp.ResolveContext ec) [0x00000] in <filename unknown>:0 at Mono.CSharp.Argument.Resolve (Mono.CSharp.ResolveContext ec) [0x00000] in <filename unknown>:0 at Mono.CSharp.Arguments.Resolve (Mono.CSharp.ResolveContext ec, System.Boolean& dynamic) [0x00000] in <filename unknown>:0 at Mono.CSharp.Invocation.DoResolve (Mono.CSharp.ResolveContext ec) [0x00000] in <filename unknown>:0 at Mono.CSharp.Expression.Resolve (Mono.CSharp.ResolveContext ec, ResolveFlags flags) [0x00000] in <filename unknown>:0 at Mono.CSharp.Expression.Resolve (Mono.CSharp.ResolveContext ec) [0x00000] in <filename unknown>:0 at Mono.CSharp.ExpressionStatement.ResolveStatement (Mono.CSharp.BlockContext ec) [0x00000] in <filename unknown>:0 at Mono.CSharp.StatementExpression.Resolve (Mono.CSharp.BlockContext ec) [0x00000] in <filename unknown>:0 at Mono.CSharp.Block.Resolve (Mono.CSharp.BlockContext ec) [0x00000] in <filename unknown>:0 at Mono.CSharp.ToplevelBlock.Resolve (Mono.CSharp.FlowBranching parent, Mono.CSharp.BlockContext rc, Mono.CSharp.ParametersCompiled ip, IMethodData md) [0x00000] in <filename unknown>:0 Build complete -- 1 error, 0 warnings Expected Results: 0 errors? -- Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug. You are the assignee for the bug. _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
