[corlib] TimeZoneInfo.GetSystemTimeZones should work as singleton. Fixes #29906
[mono.git] / mcs / class / PEAPI / Metadata.cs
index fa2c360863ae12151c3c0219173796f17c214da4..1e08ff38590bddf4950a8e3c9b03d0d8f2586051 100644 (file)
@@ -55,6 +55,7 @@ namespace PEAPI {
                PublicSealed = 0x101, SpecialName = 0x400, RTSpecialName = 0x800, 
                Import = 0x1000, Serializable = 0x2000, UnicodeClass = 0x10000,
                AutoClass = 0x20000, HasSecurity = 0x40000, BeforeFieldInit = 0x100000,
+               Forwarder = 0x200000,
                VisibilityMask = 0x07 }
 
        /// <summary>
@@ -2090,9 +2091,9 @@ namespace PEAPI {
                ExternClass externClass;
 
                internal ExternClassRef(TypeAttr attrs, string nsName, string name,
-                               FileRef declFile, MetaData md) : base(nsName,name,md) 
+                               MetaDataElement declRef, MetaData md) : base(nsName,name,md) 
                {
-                       externClass = new ExternClass(attrs,nameSpaceIx,nameIx,declFile);
+                       externClass = new ExternClass(attrs,nameSpaceIx,nameIx,declRef);
                        metaData.AddToTable(MDTable.ExportedType,externClass);
                }
 
@@ -4926,13 +4927,7 @@ namespace PEAPI {
                private static readonly uint max3BitSmlIx = 0x1FFF;
                private static readonly uint max5BitSmlIx = 0x7FF;
                // NOTE: version and stream name strings MUST always be quad padded
-#if NET_4_0
                private static readonly string version = "v4.0.30319\0\0";
-#elif NET_2_0
-               private static readonly string version = "v2.0.50727\0\0";
-#else
-               private static readonly string version = "v1.1.4322\0\0\0";
-#endif
                private static readonly char[] tildeName = {'#','~','\0','\0'};
                private static readonly char[] stringsName = {'#','S','t','r','i','n','g','s','\0','\0','\0','\0'};
                private static readonly char[] usName = {'#','U','S','\0'};
@@ -5336,13 +5331,8 @@ namespace PEAPI {
                {
                        output.Seek(0,SeekOrigin.Current);
                        output.Write((uint)0); // Reserved
-#if NET_2_0
                        output.Write((byte)2); // MajorVersion
                        output.Write((byte)0); // MinorVersion
-#else
-                       output.Write((byte)1); // MajorVersion
-                       output.Write((byte)0); // MinorVersion
-#endif
                        output.Write(heapSizes);
                        output.Write((byte)1); // Reserved
                        output.Write(valid);
@@ -5393,11 +5383,9 @@ namespace PEAPI {
                        BuildTable(metaDataTables[(int)MDTable.TypeDef]);
                        BuildTable(metaDataTables[(int)MDTable.TypeSpec]);
                        BuildTable(metaDataTables[(int)MDTable.MemberRef]);
-#if NET_2_0
                        BuildTable(metaDataTables[(int)MDTable.GenericParam]);
                        BuildTable(metaDataTables[(int)MDTable.MethodSpec]);
                        BuildTable(metaDataTables[(int)MDTable.GenericParamConstraint]);
-#endif
                        BuildTable(metaDataTables[(int)MDTable.ManifestResource]);
 
                        if (cattr_list != null) {
@@ -5442,7 +5430,6 @@ namespace PEAPI {
                        SortTable(metaDataTables[(int)MDTable.DeclSecurity]);
                        SortTable(metaDataTables[(int)MDTable.MethodSemantics]);
                        SortTable(metaDataTables[(int)MDTable.ImplMap]);
-#if NET_2_0
                        if (metaDataTables[(int)MDTable.GenericParam] != null) {
                                SortTable(metaDataTables[(int)MDTable.GenericParam]);
                                // Now add GenericParamConstraints
@@ -5451,7 +5438,6 @@ namespace PEAPI {
                                  }*/
                        }
                        SortTable(metaDataTables[(int)MDTable.GenericParamConstraint]);
-#endif 
                        SortTable(metaDataTables[(int)MDTable.InterfaceImpl]);
                        SortTable(metaDataTables[(int)MDTable.CustomAttribute]);