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 [EMAIL PROTECTED] 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: [EMAIL PROTECTED] +ReportedBy: [EMAIL PROTECTED] +QAContact: [EMAIL PROTECTED] +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 _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
