public AssemblyReferenceResolver(IRawModuleBytesProvider rawModuleBytesProvider, IAssemblyResolver assemblyResolver, ModuleDef defaultSourceModule, bool makeEverythingPublic) { this.rawModuleBytesProvider = rawModuleBytesProvider; this.assemblyResolver = assemblyResolver; this.defaultSourceModule = defaultSourceModule; this.makeEverythingPublic = makeEverythingPublic; }
public EditMethodCodeVM(IRawModuleBytesProvider rawModuleBytesProvider, IOpenFromGAC openFromGAC, IOpenAssembly openAssembly, ILanguageCompiler languageCompiler, IDecompiler decompiler, MethodDef methodToEdit, IList <MethodSourceStatement> statementsInMethodToEdit) : base(rawModuleBytesProvider, openFromGAC, openAssembly, languageCompiler, decompiler, methodToEdit.Module) { this.methodToEdit = methodToEdit; methodSourceStatement = statementsInMethodToEdit.Count == 0 ? (MethodSourceStatement?)null : statementsInMethodToEdit[0]; StartDecompile(); }
EditCodeVMCreator(IRawModuleBytesProvider rawModuleBytesProvider, IOpenFromGAC openFromGAC, IDocumentTreeView documentTreeView, IDecompilerService decompilerService, [ImportMany] IEnumerable<ILanguageCompilerProvider> languageCompilerProviders) { this.rawModuleBytesProvider = rawModuleBytesProvider; this.openFromGAC = openFromGAC; openAssembly = new OpenAssembly(documentTreeView.DocumentService); this.decompilerService = decompilerService; this.languageCompilerProviders = languageCompilerProviders.OrderBy(a => a.Order).ToArray(); }
EditCodeVMCreator(IRawModuleBytesProvider rawModuleBytesProvider, IOpenFromGAC openFromGAC, IDocumentTreeView documentTreeView, IDecompilerService decompilerService, [ImportMany] IEnumerable <ILanguageCompilerProvider> languageCompilerProviders) { this.rawModuleBytesProvider = rawModuleBytesProvider; this.openFromGAC = openFromGAC; openAssembly = new OpenAssembly(documentTreeView.DocumentService); this.decompilerService = decompilerService; this.languageCompilerProviders = languageCompilerProviders.OrderBy(a => a.Order).ToArray(); }
public EditClassVM(IRawModuleBytesProvider rawModuleBytesProvider, IOpenFromGAC openFromGAC, IOpenAssembly openAssembly, ILanguageCompiler languageCompiler, IDecompiler decompiler, IMemberDef defToEdit, IList<MethodSourceStatement> statementsInMethodToEdit) : base(rawModuleBytesProvider, openFromGAC, openAssembly, languageCompiler, decompiler, defToEdit.Module) { this.defToEdit = defToEdit; nonNestedTypeToEdit = defToEdit as TypeDef ?? defToEdit.DeclaringType; while (nonNestedTypeToEdit.DeclaringType != null) nonNestedTypeToEdit = nonNestedTypeToEdit.DeclaringType; methodSourceStatement = statementsInMethodToEdit.Count == 0 ? (MethodSourceStatement?)null : statementsInMethodToEdit[0]; StartDecompile(); }
protected EditCodeVM(IRawModuleBytesProvider rawModuleBytesProvider, IOpenFromGAC openFromGAC, IOpenAssembly openAssembly, ILanguageCompiler languageCompiler, IDecompiler decompiler, ModuleDef sourceModule) { Debug.Assert(decompiler.CanDecompile(DecompilationType.TypeMethods)); this.openFromGAC = openFromGAC; this.openAssembly = openAssembly; this.languageCompiler = languageCompiler; this.decompiler = decompiler; this.sourceModule = sourceModule; this.assemblyReferenceResolver = new AssemblyReferenceResolver(rawModuleBytesProvider, sourceModule.Context.AssemblyResolver, sourceModule, makeEverythingPublic); }
public AssemblyReferenceResolver(IRawModuleBytesProvider rawModuleBytesProvider, IAssemblyResolver assemblyResolver, IAssembly tempAssembly, ModuleDef defaultSourceModule, TypeDef nonNestedEditedTypeOrNull, bool makeEverythingPublic) { Debug.Assert(nonNestedEditedTypeOrNull == null || nonNestedEditedTypeOrNull.Module == defaultSourceModule); Debug.Assert(nonNestedEditedTypeOrNull?.DeclaringType == null); this.rawModuleBytesProvider = rawModuleBytesProvider; this.assemblyResolver = assemblyResolver; this.tempAssembly = tempAssembly; this.defaultSourceModule = defaultSourceModule; this.nonNestedEditedTypeOrNull = nonNestedEditedTypeOrNull; this.makeEverythingPublic = makeEverythingPublic; }
public EditClassVM(IRawModuleBytesProvider rawModuleBytesProvider, IOpenFromGAC openFromGAC, IOpenAssembly openAssembly, ILanguageCompiler languageCompiler, IDecompiler decompiler, IMemberDef defToEdit, IList <MethodSourceStatement> statementsInMethodToEdit) : base(rawModuleBytesProvider, openFromGAC, openAssembly, languageCompiler, decompiler, defToEdit.Module) { this.defToEdit = defToEdit; nonNestedTypeToEdit = defToEdit as TypeDef ?? defToEdit.DeclaringType; while (nonNestedTypeToEdit.DeclaringType != null) { nonNestedTypeToEdit = nonNestedTypeToEdit.DeclaringType; } methodSourceStatement = statementsInMethodToEdit.Count == 0 ? (MethodSourceStatement?)null : statementsInMethodToEdit[0]; StartDecompile(); }
public static CompilerMetadataReference? Create(IRawModuleBytesProvider rawModuleBytesProvider, ModuleDef module, bool makeEverythingPublic) { var moduleData = rawModuleBytesProvider.GetRawModuleBytes(module); if (moduleData == null) return null; if (makeEverythingPublic) { bool success = new MetadataFixer(moduleData).MakePublic(); if (!success) return null; } var asmRef = module.Assembly.ToAssemblyRef(); if (module.IsManifestModule) return CompilerMetadataReference.CreateAssemblyReference(moduleData, asmRef, module.Location); return CompilerMetadataReference.CreateModuleReference(moduleData, asmRef, module.Location); }
public static CompilerMetadataReference?Create(IRawModuleBytesProvider rawModuleBytesProvider, IAssembly tempAssembly, ModuleDef module, TypeDef nonNestedEditedTypeOrNull, bool makeEverythingPublic) { var moduleData = rawModuleBytesProvider.GetRawModuleBytes(module); if (moduleData == null) { return(null); } var patcher = new ModulePatcher(moduleData, tempAssembly, nonNestedEditedTypeOrNull, makeEverythingPublic); if (!patcher.Patch(module, out var newModuleData)) { return(null); } var asmRef = module.Assembly.ToAssemblyRef(); if (module.IsManifestModule) { return(CompilerMetadataReference.CreateAssemblyReference(newModuleData, asmRef, module.Location)); } return(CompilerMetadataReference.CreateModuleReference(newModuleData, asmRef, module.Location)); }
public static CompilerMetadataReference?Create(IRawModuleBytesProvider rawModuleBytesProvider, ModuleDef module, bool makeEverythingPublic) { var moduleData = rawModuleBytesProvider.GetRawModuleBytes(module); if (moduleData == null) { return(null); } if (makeEverythingPublic) { bool success = new MetadataFixer(moduleData).MakePublic(); if (!success) { return(null); } } var asmRef = module.Assembly.ToAssemblyRef(); if (module.IsManifestModule) { return(CompilerMetadataReference.CreateAssemblyReference(moduleData, asmRef, module.Location)); } return(CompilerMetadataReference.CreateModuleReference(moduleData, asmRef, module.Location)); }
public AddClassVM(IRawModuleBytesProvider rawModuleBytesProvider, IOpenFromGAC openFromGAC, IOpenAssembly openAssembly, ILanguageCompiler languageCompiler, IDecompiler decompiler, ModuleDef module) : base(rawModuleBytesProvider, openFromGAC, openAssembly, languageCompiler, decompiler, module) => StartDecompile();
public AddClassVM(IRawModuleBytesProvider rawModuleBytesProvider, IOpenFromGAC openFromGAC, IOpenAssembly openAssembly, ILanguageCompiler languageCompiler, IDecompiler decompiler, ModuleDef module) : base(rawModuleBytesProvider, openFromGAC, openAssembly, languageCompiler, decompiler, module) { StartDecompile(); }
public EditMethodCodeVM(IRawModuleBytesProvider rawModuleBytesProvider, IOpenFromGAC openFromGAC, IOpenAssembly openAssembly, ILanguageCompiler languageCompiler, IDecompiler decompiler, MethodDef methodToEdit, IList<MethodSourceStatement> statementsInMethodToEdit) : base(rawModuleBytesProvider, openFromGAC, openAssembly, languageCompiler, decompiler, methodToEdit.Module) { this.methodToEdit = methodToEdit; methodSourceStatement = statementsInMethodToEdit.Count == 0 ? (MethodSourceStatement?)null : statementsInMethodToEdit[0]; StartDecompile(); }
public AssemblyReferenceResolver(IRawModuleBytesProvider rawModuleBytesProvider, IAssemblyResolver assemblyResolver, ModuleDef defaultSourceModule, bool makeEverythingPublic) { this.rawModuleBytesProvider = rawModuleBytesProvider; this.assemblyResolver = assemblyResolver; this.defaultSourceModule = defaultSourceModule; this.makeEverythingPublic = makeEverythingPublic; }