[Mono-bugs] [Bug 21070] Changed - Crash compiling Enum when values initialized with other enum values.

bugzilla-daemon@rocky.ximian.com bugzilla-daemon@rocky.ximian.com
28 Feb 2002 23:03:43 -0000


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 f_ai@hotmail.com.

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

--- shadow/21070	Tue Feb 26 10:22:09 2002
+++ shadow/21070.tmp.20348	Thu Feb 28 18:03:43 2002
@@ -1,14 +1,14 @@
 Bug#: 21070
 Product: Mono/MCS
 Version: unspecified
-OS: 
+OS: unknown
 OS Details: 
 Status: NEW   
 Resolution: 
-Severity: 
+Severity: Unknown
 Priority: Minor
 Component: Misc
 AssignedTo: mono-bugs@ximian.com                            
 ReportedBy: f_ai@hotmail.com               
 QAContact: mono-bugs@ximian.com
 TargetMilestone: ---
@@ -44,6 +44,25 @@
 
 	public enum C
 	{
 		B_1, B_2, B_3 = N1.A.A_1 
 	}
 }
+
+------- Additional Comments From f_ai@hotmail.com  2002-02-28 18:03 -------
+I found the crash source, on 'SimpleName.SimpleNameResolve' the
+ec.TypeContainer.TypeBuilder value can be null, and this will cause 
+the call to 'MemberLookup' to crash.
+
+By handling the possible 'null' the crash is avoided.
+if (ec.TypeContainer.TypeBuilder != null)
+	e = MemberLookup (ec, ec.TypeContainer.TypeBuilder, Name, 
+Location);
+
+Once this change is introduced, there is still a type lookup 
+problem, only fully qualified types can be used to reference the 
+items.
+
+In the sample code provided:
+B will fail because A.A_1 is not found.
+C is fine now.
+