From 33c9ed2cc754e95da11aaca404112dbeebd3268f Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Sun, 15 Jun 2003 00:54:17 +0000 Subject: [PATCH] * CodeGen.cs: Add methods for setting corflags, subsystem, and corflags. svn path=/trunk/mcs/; revision=15406 --- mcs/ilasm/codegen/ChangeLog | 4 ++++ mcs/ilasm/codegen/CodeGen.cs | 28 ++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/mcs/ilasm/codegen/ChangeLog b/mcs/ilasm/codegen/ChangeLog index 269e4e8da57..c97f2c7c0ed 100644 --- a/mcs/ilasm/codegen/ChangeLog +++ b/mcs/ilasm/codegen/ChangeLog @@ -1,3 +1,7 @@ +2003-06-14 Jackson Harper + + * CodeGen.cs: Add methods for setting corflags, subsystem, and corflags. + 2003-06-14 Jackson Harper * ITypeRef.cs, PeapiTypeRef.cs, TypeRef.cs: Quick hack for custom diff --git a/mcs/ilasm/codegen/CodeGen.cs b/mcs/ilasm/codegen/CodeGen.cs index ddf8acc3c45..7670c551bc8 100644 --- a/mcs/ilasm/codegen/CodeGen.cs +++ b/mcs/ilasm/codegen/CodeGen.cs @@ -34,6 +34,10 @@ namespace Mono.ILASM { private ArrayList defcont_list; + private int sub_system; + private int cor_flags; + private long image_base; + public CodeGen (string output_file, bool is_dll, bool is_assembly) { pefile = new PEFile (output_file, is_dll, is_assembly); @@ -45,6 +49,10 @@ namespace Mono.ILASM { global_data_list = new ArrayList (); defcont_list = new ArrayList (); + + sub_system = -1; + cor_flags = -1; + image_base = -1; } public PEFile PEFile { @@ -72,6 +80,21 @@ namespace Mono.ILASM { get { return type_manager; } } + public void SetSubSystem (int sub_system) + { + this.sub_system = sub_system; + } + + public void SetCorFlags (int cor_flags) + { + this.cor_flags = cor_flags; + } + + public void SetImageBase (long image_base) + { + this.image_base = image_base; + } + public void SetAssemblyName (string name) { assembly_name = name; @@ -175,6 +198,11 @@ namespace Mono.ILASM { typedef.DefineContents (this); } + if (sub_system != -1) + pefile.SetSubSystem ((PEAPI.SubSystem) sub_system); + if (cor_flags != -1) + pefile.SetCorFlags (cor_flags); + pefile.WritePEFile (); } -- 2.25.1