Merge pull request #3120 from esdrubal/syscall_details
[mono.git] / mcs / class / corlib / System.Reflection.Emit / AssemblyBuilder.cs
index e53cdbb097eef5c5e85d80ca73b9c5fe73042a7b..6a6fcd36f5abe114d6eaa3751587690b41811a6c 100644 (file)
@@ -458,6 +458,14 @@ namespace System.Reflection.Emit
                }
 */
 
+               public static AssemblyBuilder DefineDynamicAssembly (AssemblyName name, AssemblyBuilderAccess access)
+               {
+                       if (name == null)
+                               throw new ArgumentNullException ("name");
+
+                       return new AssemblyBuilder (name, null, access, false);
+               }
+
                public ModuleBuilder DefineDynamicModule (string name)
                {
                        return DefineDynamicModule (name, name, false, true);
@@ -570,7 +578,7 @@ namespace System.Reflection.Emit
                        if (resourceFileName.Length == 0)
                                throw new ArgumentException ("resourceFileName");
                        if (!File.Exists (resourceFileName) || Directory.Exists (resourceFileName))
-                               throw new FileNotFoundException ("File '" + resourceFileName + "' does not exists or is a directory.");
+                               throw new FileNotFoundException ("File '" + resourceFileName + "' does not exist or is a directory.");
                        if (native_resource != NativeResourceType.None)
                                throw new ArgumentException ("Native resource has already been defined.");
 
@@ -775,9 +783,7 @@ namespace System.Reflection.Emit
                internal bool IsRun {
                        get {
                                return access == (uint)AssemblyBuilderAccess.Run || access == (uint)AssemblyBuilderAccess.RunAndSave
-#if NET_4_0
                                         || access == (uint)AssemblyBuilderAccess.RunAndCollect
-#endif
                                ;
 
                        }
@@ -1032,16 +1038,6 @@ namespace System.Reflection.Emit
                        return (str == "neutral" ? String.Empty : str);
                }
 
-               internal override AssemblyName UnprotectedGetName ()
-               {
-                       AssemblyName an = base.UnprotectedGetName ();
-                       if (sn != null) {
-                               an.SetPublicKey (sn.PublicKey);
-                               an.SetPublicKeyToken (sn.PublicKeyToken);
-                       }
-                       return an;
-               }
-
                /*Warning, @typeArguments must be a mscorlib internal array. So make a copy before passing it in*/
                internal Type MakeGenericType (Type gtd, Type[] typeArguments)
                {
@@ -1068,7 +1064,6 @@ namespace System.Reflection.Emit
                        throw new NotImplementedException ();
                }
 
-#if NET_4_0
                public override Type GetType (string name, bool throwOnError, bool ignoreCase)
                {
                        if (name == null)
@@ -1119,7 +1114,15 @@ namespace System.Reflection.Emit
 
                public override AssemblyName GetName (bool copiedName)
                {
-                       return base.GetName (copiedName);
+                       AssemblyName aname = new AssemblyName ();
+                       FillName (this, aname);
+
+                       if (sn != null) {
+                               aname.SetPublicKey (sn.PublicKey);
+                               aname.SetPublicKeyToken (sn.PublicKeyToken);
+                       }
+                       return aname;
+
                }
 
                [MonoTODO ("This always returns an empty array")]
@@ -1188,7 +1191,6 @@ namespace System.Reflection.Emit
                public override string FullName {
                        get { return base.FullName; }
                }
-#endif
        }
 }
 #endif