[Mono-bugs] [Bug 78738][Nor] New - using private const in an attribute causes an exception

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Fri Jun 30 09:47:43 EDT 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 toshok at ximian.com.

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

--- shadow/78738	2006-06-30 09:47:43.000000000 -0400
+++ shadow/78738.tmp.16764	2006-06-30 09:47:43.000000000 -0400
@@ -0,0 +1,168 @@
+Bug#: 78738
+Product: Mono: Compilers
+Version: unspecified
+OS: 
+OS Details: 
+Status: NEW   
+Resolution: 
+Severity: 
+Priority: Normal
+Component: C#
+AssignedTo: rharinath at novell.com                            
+ReportedBy: toshok at ximian.com               
+QAContact: mono-bugs at ximian.com
+TargetMilestone: ---
+URL: 
+Cc: 
+Summary: using private const in an attribute causes an exception
+
+the following test:
+
+========
+using System.Reflection;
+
+class Const
+{
+  const string Version = "0.1";
+}
+
+[assembly: AssemblyVersion(Const.Version)]
+=========
+
+fails on both mcs and gmcs with an exception.
+
+gmcs:
+Unhandled Exception: System.NullReferenceException: Object reference not
+set to an instance of an object
+  at Mono.CSharp.TypeManager.IsPrivateAccessible (System.Type type,
+System.Type parent) [0x00000] in /src/mono/mcs/gmcs/typemanager.cs:1639
+  at Mono.CSharp.TypeManager+Closure.Filter (System.Reflection.MemberInfo
+m, System.Object filter_criteria) [0x0014c] in
+/src/mono/mcs/gmcs/typemanager.cs:2671
+  at (wrapper delegate-invoke)
+System.MulticastDelegate:invoke_bool_MemberInfo_object
+(System.Reflection.MemberInfo,object)
+  at Mono.CSharp.MemberCache.FindMembers (MemberTypes mt, BindingFlags bf,
+System.String name, System.Reflection.MemberFilter filter, System.Object
+criteria) [0x00125] in /src/mono/mcs/gmcs/decl.cs:1977
+  at Mono.CSharp.TypeManager.MemberLookup_FindMembers (System.Type t,
+MemberTypes mt, BindingFlags bf, System.String name, System.Boolean
+used_cache) [0x0002e] in /src/mono/mcs/gmcs/typemanager.cs:1388
+  at Mono.CSharp.TypeManager.RealMemberLookup (System.Type invocation_type,
+System.Type qualifier_type, System.Type queried_type, MemberTypes mt,
+BindingFlags original_bf, System.String name, IList almost_match) [0x000b4]
+in /src/mono/mcs/gmcs/typemanager.cs:2790
+  at Mono.CSharp.TypeManager.MemberLookup (System.Type invocation_type,
+System.Type qualifier_type, System.Type queried_type, MemberTypes mt,
+BindingFlags original_bf, System.String name, IList almost_match) [0x00000]
+in /src/mono/mcs/gmcs/typemanager.cs:2735
+  at Mono.CSharp.Expression.MemberLookup (System.Type container_type,
+System.Type qualifier_type, System.Type queried_type, System.String name,
+MemberTypes mt, BindingFlags bf, Location loc) [0x0000a] in
+/src/mono/mcs/gmcs/ecore.cs:655
+  at Mono.CSharp.Expression.MemberLookup (System.Type container_type,
+System.Type qualifier_type, System.Type queried_type, System.String name,
+Location loc) [0x00000] in /src/mono/mcs/gmcs/ecore.cs:695
+  at Mono.CSharp.MemberAccess.DoResolve (Mono.CSharp.EmitContext ec,
+Mono.CSharp.Expression right_side) [0x00124] in
+/src/mono/mcs/gmcs/expression.cs:7163
+  at Mono.CSharp.MemberAccess.DoResolve (Mono.CSharp.EmitContext ec)
+[0x00000] in /src/mono/mcs/gmcs/expression.cs:7235
+  at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext ec,
+ResolveFlags flags) [0x00066] in /src/mono/mcs/gmcs/ecore.cs:399
+  at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext ec) [0x00000]
+in /src/mono/mcs/gmcs/ecore.cs:427
+  at Mono.CSharp.Argument.Resolve (Mono.CSharp.EmitContext ec, Location
+loc) [0x0001a] in /src/mono/mcs/gmcs/expression.cs:3932
+  at Mono.CSharp.Attribute.ResolveConstructor (Mono.CSharp.EmitContext ec)
+[0x00025] in /src/mono/mcs/gmcs/attribute.cs:388
+  at Mono.CSharp.GlobalAttribute.ResolveConstructor
+(Mono.CSharp.EmitContext ec) [0x00006] in /src/mono/mcs/gmcs/attribute.cs:1414
+  at Mono.CSharp.Attribute.Resolve () [0x00111] in
+/src/mono/mcs/gmcs/attribute.cs:342
+  at Mono.CSharp.Attribute.Emit
+(System.Collections.Specialized.ListDictionary allEmitted) [0x00000] in
+/src/mono/mcs/gmcs/attribute.cs:1145
+  at Mono.CSharp.Attributes.Emit () [0x00041] in
+/src/mono/mcs/gmcs/attribute.cs:1504
+  at Mono.CSharp.CommonAssemblyModulClass.Emit (Mono.CSharp.TypeContainer
+tc) [0x0000d] in /src/mono/mcs/gmcs/codegen.cs:1026
+  at Mono.CSharp.AssemblyClass.Emit (Mono.CSharp.TypeContainer tc)
+[0x00000] in /src/mono/mcs/gmcs/codegen.cs:1382
+  at Mono.CSharp.RootContext.EmitCode () [0x00191] in
+/src/mono/mcs/gmcs/rootcontext.cs:629
+  at Mono.CSharp.Driver.MainDriver (System.String[] args) [0x005cd] in
+/src/mono/mcs/gmcs/driver.cs:1714
+  at Mono.CSharp.Driver.Main (System.String[] args) [0x0001f] in
+/src/mono/mcs/gmcs/driver.cs:290
+
+
+mcs:
+
+Unhandled Exception: System.NullReferenceException: Object reference not
+set to an instance of an object
+  at Mono.CSharp.TypeManager.IsNestedChildOf (System.Type type, System.Type
+parent) [0x00009] in /src/mono/mcs/mcs/typemanager.cs:1446
+  at Mono.CSharp.TypeManager+Closure.Filter (System.Reflection.MemberInfo
+m, System.Object filter_criteria) [0x00126] in
+/src/mono/mcs/mcs/typemanager.cs:2244
+  at (wrapper delegate-invoke)
+System.MulticastDelegate:invoke_bool_MemberInfo_object
+(System.Reflection.MemberInfo,object)
+  at Mono.CSharp.MemberCache.FindMembers (MemberTypes mt, BindingFlags bf,
+System.String name, System.Reflection.MemberFilter filter, System.Object
+criteria) [0x00125] in /src/mono/mcs/mcs/decl.cs:1665
+  at Mono.CSharp.TypeManager.MemberLookup_FindMembers (System.Type t,
+MemberTypes mt, BindingFlags bf, System.String name, System.Boolean
+used_cache) [0x00066] in /src/mono/mcs/mcs/typemanager.cs:1241
+  at Mono.CSharp.TypeManager.RealMemberLookup (System.Type invocation_type,
+System.Type qualifier_type, System.Type queried_type, MemberTypes mt,
+BindingFlags original_bf, System.String name, IList almost_match) [0x000b4]
+in /src/mono/mcs/mcs/typemanager.cs:2366
+  at Mono.CSharp.TypeManager.MemberLookup (System.Type invocation_type,
+System.Type qualifier_type, System.Type queried_type, MemberTypes mt,
+BindingFlags original_bf, System.String name, IList almost_match) [0x00000]
+in /src/mono/mcs/mcs/typemanager.cs:2311
+  at Mono.CSharp.Expression.MemberLookup (System.Type container_type,
+System.Type qualifier_type, System.Type queried_type, System.String name,
+MemberTypes mt, BindingFlags bf, Location loc) [0x0000a] in
+/src/mono/mcs/mcs/ecore.cs:645
+  at Mono.CSharp.Expression.MemberLookupFinal (Mono.CSharp.EmitContext ec,
+System.Type qualifier_type, System.Type queried_type, System.String name,
+MemberTypes mt, BindingFlags bf, Location loc) [0x00006] in
+/src/mono/mcs/mcs/ecore.cs:718
+  at Mono.CSharp.Expression.MemberLookupFinal (Mono.CSharp.EmitContext ec,
+System.Type qualifier_type, System.Type queried_type, System.String name,
+Location loc) [0x00000] in /src/mono/mcs/mcs/ecore.cs:705
+  at Mono.CSharp.MemberAccess.DoResolve (Mono.CSharp.EmitContext ec,
+Mono.CSharp.Expression right_side) [0x000e4] in
+/src/mono/mcs/mcs/expression.cs:6829
+  at Mono.CSharp.MemberAccess.DoResolve (Mono.CSharp.EmitContext ec)
+[0x00000] in /src/mono/mcs/mcs/expression.cs:6869
+  at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext ec,
+ResolveFlags flags) [0x00066] in /src/mono/mcs/mcs/ecore.cs:389
+  at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext ec) [0x00000]
+in /src/mono/mcs/mcs/ecore.cs:417
+  at Mono.CSharp.Argument.Resolve (Mono.CSharp.EmitContext ec, Location
+loc) [0x0001a] in /src/mono/mcs/mcs/expression.cs:3835
+  at Mono.CSharp.Attribute.ResolveConstructor (Mono.CSharp.EmitContext ec)
+[0x00025] in /src/mono/mcs/mcs/attribute.cs:376
+  at Mono.CSharp.GlobalAttribute.ResolveConstructor
+(Mono.CSharp.EmitContext ec) [0x00006] in /src/mono/mcs/mcs/attribute.cs:1391
+  at Mono.CSharp.Attribute.Resolve () [0x00111] in
+/src/mono/mcs/mcs/attribute.cs:336
+  at Mono.CSharp.Attribute.Emit
+(System.Collections.Specialized.ListDictionary allEmitted) [0x00000] in
+/src/mono/mcs/mcs/attribute.cs:1122
+  at Mono.CSharp.Attributes.Emit () [0x00041] in
+/src/mono/mcs/mcs/attribute.cs:1481
+  at Mono.CSharp.CommonAssemblyModulClass.Emit (Mono.CSharp.TypeContainer
+tc) [0x0000d] in /src/mono/mcs/mcs/codegen.cs:1012
+  at Mono.CSharp.AssemblyClass.Emit (Mono.CSharp.TypeContainer tc)
+[0x00000] in /src/mono/mcs/mcs/codegen.cs:1294
+  at Mono.CSharp.RootContext.EmitCode () [0x00191] in
+/src/mono/mcs/mcs/rootcontext.cs:614
+  at Mono.CSharp.Driver.MainDriver (System.String[] args) [0x005cd] in
+/src/mono/mcs/mcs/driver.cs:1711
+  at Mono.CSharp.Driver.Main (System.String[] args) [0x00019] in
+/src/mono/mcs/mcs/driver.cs:290


More information about the mono-bugs mailing list