diff options
author | Jeroen Frijters <jeroen@frijters.net> | 2013-09-20 17:12:58 +0400 |
---|---|---|
committer | Jeroen Frijters <jeroen@frijters.net> | 2013-09-20 17:12:58 +0400 |
commit | 57ab0b490a4de82b1cc0816db53153ab4cae1086 (patch) | |
tree | da2d8b48964cec6979cc4ac730bdf0a3a0a5ca96 /Disassembler.cs | |
parent | d87a33d82ae72daa61da54bb1dec2c62085fce0d (diff) |
Added /project option.
Diffstat (limited to 'Disassembler.cs')
-rw-r--r-- | Disassembler.cs | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/Disassembler.cs b/Disassembler.cs index 5ea4f6a..b34a36f 100644 --- a/Disassembler.cs +++ b/Disassembler.cs @@ -44,6 +44,7 @@ namespace Ildasm None = 0, DiffMode = 1, Caverbal = 2, + Project = 4, } sealed partial class Disassembler @@ -59,7 +60,7 @@ namespace Ildasm const int COMIMAGE_FLAGS_STRONGNAMESIGNED = 0x00000008; const int COMIMAGE_FLAGS_NATIVE_ENTRYPOINT = 0x00000010; const int COMIMAGE_FLAGS_32BITPREFERRED = 0x00020000; - readonly Universe universe = new Universe(UniverseOptions.EnableFunctionPointers | UniverseOptions.ResolveMissingMembers | UniverseOptions.DisablePseudoCustomAttributeRetrieval); + readonly Universe universe; readonly Assembly mscorlib; readonly Type typeofSystemBoolean; readonly Type typeofSystemSByte; @@ -100,6 +101,12 @@ namespace Ildasm this.compat = compat; this.diffMode = (flags & Flags.DiffMode) != 0; this.flags = flags; + UniverseOptions options = UniverseOptions.EnableFunctionPointers | UniverseOptions.ResolveMissingMembers | UniverseOptions.DisablePseudoCustomAttributeRetrieval; + if ((flags & Flags.Project) == 0) + { + options |= UniverseOptions.DisableWindowsRuntimeProjection; + } + universe = new Universe(options); universe.AssemblyResolve += new IKVM.Reflection.ResolveEventHandler(universe_AssemblyResolve); mscorlib = universe.Import(typeof(object)).Assembly; typeofSystemBoolean = universe.Import(typeof(bool)); |