[Mono-bugs] [Bug 77809][Wis] New - Unhandled exception when trying to set a internal get-only property

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Thu Mar 16 21:23:32 EST 2006


Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by slomo at ubuntu.com.

http://bugzilla.ximian.com/show_bug.cgi?id=77809

--- shadow/77809	2006-03-16 21:23:32.000000000 -0500
+++ shadow/77809.tmp.20729	2006-03-16 21:23:32.000000000 -0500
@@ -0,0 +1,90 @@
+Bug#: 77809
+Product: Mono: Compilers
+Version: 1.1
+OS: 
+OS Details: 
+Status: NEW   
+Resolution: 
+Severity: 
+Priority: Wishlist
+Component: C#
+AssignedTo: rharinath at novell.com                            
+ReportedBy: slomo at ubuntu.com               
+QAContact: mono-bugs at ximian.com
+TargetMilestone: ---
+URL: 
+Cc: 
+Summary: Unhandled exception when trying to set a internal get-only property
+
+Hi,
+
+when doing the following mcs crashes with an unhandled exception:
+
+mcs -out:test.dll -target:library test2.cs
+mcs -out:test.exe test.cs -r:test.dll
+
+Exception caught by the compiler while compiling:
+   Block that caused the problem begin at: test.cs(5,21):
+                     Block being compiled: [test.cs(5,41):,test.cs(7,2):]
+System.ArgumentNullException: null key
+Parameter name: key
+
+Unhandled Exception: System.ArgumentNullException: null key
+Parameter name: key
+in <0x00182> System.Collections.Hashtable:get_Item (System.Object key)
+in <0x0001b> Mono.CSharp.TypeManager:GetParameterData
+(System.Reflection.MethodBase mb)
+in <0x00052> Mono.CSharp.TypeManager:GetFullNameSignature
+(System.Reflection.MemberInfo mi)
+in <0x0000d> Mono.CSharp.PropertyExpr:GetSignatureForError ()
+in <0x00438> Mono.CSharp.SimpleName:DoSimpleNameResolve
+(Mono.CSharp.EmitContext ec, Mono.CSharp.Expression right_side, Boolean
+intermediate)
+in <0x00030> Mono.CSharp.SimpleName:SimpleNameResolve
+(Mono.CSharp.EmitContext ec, Mono.CSharp.Expression right_side, Boolean
+intermediate)
+in <0x00012> Mono.CSharp.SimpleName:DoResolveLValue
+(Mono.CSharp.EmitContext ec, Mono.CSharp.Expression right_side)
+in <0x00022> Mono.CSharp.Expression:ResolveLValue (Mono.CSharp.EmitContext
+ec, Mono.CSharp.Expression right_side, Location loc)
+in <0x00297> Mono.CSharp.Assign:DoResolve (Mono.CSharp.EmitContext ec)
+in <0x000e3> Mono.CSharp.Expression:Resolve (Mono.CSharp.EmitContext ec,
+ResolveFlags flags)
+in <0x00012> Mono.CSharp.Expression:Resolve (Mono.CSharp.EmitContext ec)
+in <0x00013> Mono.CSharp.ExpressionStatement:ResolveStatement
+(Mono.CSharp.EmitContext ec)
+in <0x0001f> Mono.CSharp.StatementExpression:Resolve
+(Mono.CSharp.EmitContext ec)
+in <0x001d9> Mono.CSharp.Block:Resolve (Mono.CSharp.EmitContext ec)
+in <0x00122> Mono.CSharp.EmitContext:ResolveTopBlock
+(Mono.CSharp.EmitContext anonymous_method_host, Mono.CSharp.ToplevelBlock
+block, Mono.CSharp.Parameters ip, IMethodData md, System.Boolean unreachable)
+
+
+this is with mono 1.1.13.4 and happens always. When setting the property to
+public the correct error (get-only property, CS0200) is printed by mcs. The
+same correct behaviour happens when compiling both files in one assembly.
+Below are the two test files.
+
+
+
+test.cs:
+-----------------
+using System;
+public class Test : Foo {
+
+	public static void Main(string[] args) {
+		Test = false;
+	}
+}
+-----------------
+
+test2.cs:
+-----------------
+using System;
+public class Foo {
+	internal static bool Test {
+		get { return true; }
+	}
+}
+-----------------


More information about the mono-bugs mailing list