Преглед изворни кода

Update to handle the stupid reflection interface that separates
the directory name from the file name.

svn path=/trunk/mcs/; revision=3643

Paolo Molaro пре 24 година
родитељ
комит
c857a38d59

+ 7 - 1
mcs/class/corlib/System.Reflection.Emit/AssemblyBuilder.cs

@@ -23,14 +23,16 @@ namespace System.Reflection.Emit {
 		private MethodInfo entry_point;
 		private ModuleBuilder[] modules;
 		private string name;
+		private string dir;
 		private CustomAttributeBuilder[] cattrs;
 		private int[] table_indexes;
 
 		[MethodImplAttribute(MethodImplOptions.InternalCall)]
 		private static extern void basic_init (AssemblyBuilder ab);
 		
-		internal AssemblyBuilder (AssemblyName n, AssemblyBuilderAccess access) {
+		internal AssemblyBuilder (AssemblyName n, string directory, AssemblyBuilderAccess access) {
 			name = n.Name;
+			dir = directory;
 			basic_init (this);
 		}
 
@@ -196,6 +198,10 @@ namespace System.Reflection.Emit {
 			FileStream file;
 			int count, data_size;
 
+			if (dir != null) {
+				assemblyFileName = String.Format ("{0}{1}{2}", dir, System.IO.Path.DirectorySeparatorChar, assemblyFileName);
+			}
+
 			file = new FileStream (assemblyFileName, FileMode.Create, FileAccess.Write);
 
 			count = getPEHeader (this, buf, out data_size);

+ 1 - 1
mcs/class/corlib/System/AppDomain.cs

@@ -263,7 +263,7 @@ namespace System {
 		{
 			// FIXME: examine all other parameters
 			
-			AssemblyBuilder ab = new AssemblyBuilder (name, access);
+			AssemblyBuilder ab = new AssemblyBuilder (name, dir, access);
 			return ab;
 		}