X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fmcs%2Frootcontext.cs;h=b429b974de11d5c2ee4ab09df266c47ff387ce9b;hb=5f0dc4802f69745ced8f32b39bd770f7bd134b8f;hp=6c84b9f1e12f4f6c3b04732b6ec73dc41fc72a53;hpb=38ade841602a2e5bd0326e92361914bc116837ae;p=mono.git diff --git a/mcs/mcs/rootcontext.cs b/mcs/mcs/rootcontext.cs index 6c84b9f1e12..b429b974de1 100755 --- a/mcs/mcs/rootcontext.cs +++ b/mcs/mcs/rootcontext.cs @@ -353,6 +353,7 @@ namespace Mono.CSharp { "System.ParamArrayAttribute", "System.Security.UnverifiableCodeAttribute", "System.Runtime.CompilerServices.IndexerNameAttribute", + "System.Runtime.InteropServices.InAttribute" }; // We must store them here before calling BootstrapCorlib_ResolveDelegate. @@ -651,13 +652,6 @@ namespace Mono.CSharp { if (type_container_resolve_order != null){ if (RootContext.StdLib){ foreach (TypeContainer tc in type_container_resolve_order) { - // When compiling corlib, these types have already been - // populated from BootCorlib_PopulateCoreTypes (). - if (((tc.Name == "System.Object") || - (tc.Name == "System.Attribute") || - (tc.Name == "System.ValueType"))) - continue; - if ((tc.ModFlags & Modifiers.NEW) == 0) tc.DefineMembers (root); else @@ -665,12 +659,19 @@ namespace Mono.CSharp { } } else { foreach (TypeContainer tc in type_container_resolve_order) { + // When compiling corlib, these types have already been + // populated from BootCorlib_PopulateCoreTypes (). + if (((tc.Name == "System.Object") || + (tc.Name == "System.Attribute") || + (tc.Name == "System.ValueType"))) + continue; + if ((tc.ModFlags & Modifiers.NEW) == 0) tc.DefineMembers (root); else Report1530 (tc.Location); } - } + } } ArrayList delegates = root.Delegates; @@ -754,7 +755,7 @@ namespace Mono.CSharp { Attributes attrs = (Attributes) de.Value; dummy.Namespace = ns; - Attribute.ApplyAttributes (temp_ec, ab, ab, attrs, attrs.Location); + Attribute.ApplyAttributes (temp_ec, ab, ab, attrs); } } @@ -832,16 +833,15 @@ namespace Mono.CSharp { // Adds a global attribute that was declared in `container', // the attribute is in `attr', and it was defined at `loc' // - static public void AddGlobalAttribute (TypeContainer container, - AttributeSection attr, Location loc) + static public void AddGlobalAttributeSection (TypeContainer container, AttributeSection attr) { Namespace ns = container.Namespace; Attributes a = (Attributes) global_attributes [ns]; if (a == null) - global_attributes [ns] = new Attributes (attr, loc); + global_attributes [ns] = new Attributes (attr); else - a.AddAttribute (attr); + a.AddAttributeSection (attr); } } }