Exemplo n.º 1
0
        public static ModuleDefinition ReadModule(Stream stream, ReaderParameters parameters)
        {
            CheckStream(stream);
            if (!stream.CanRead || !stream.CanSeek)
            {
                throw new ArgumentException();
            }
            Mixin.CheckParameters(parameters);

            return(ModuleReader.CreateModuleFrom(
                       ImageReader.ReadImageFrom(stream),
                       parameters));
        }
        public static ModuleDefinition CreateModuleFrom(Image image, ReaderParameters parameters)
        {
            ModuleReader     moduleReader     = ModuleReader.CreateModuleReader(image, parameters.ReadingMode);
            ModuleDefinition assemblyResolver = moduleReader.module;

            if (parameters.AssemblyResolver != null)
            {
                assemblyResolver.assembly_resolver = parameters.AssemblyResolver;
            }
            if (parameters.MetadataResolver != null)
            {
                assemblyResolver.metadata_resolver = parameters.MetadataResolver;
            }
            moduleReader.ReadModule();
            ModuleReader.ReadSymbols(assemblyResolver, parameters);
            return(assemblyResolver);
        }
Exemplo n.º 3
0
        public static ModuleDefinition CreateModuleFrom(Image image, ReaderParameters parameters)
        {
            ModuleReader     reader = CreateModuleReader(image, parameters.ReadingMode);
            ModuleDefinition module = reader.module;

            if (parameters.AssemblyResolver != null)
            {
                module.assembly_resolver = parameters.AssemblyResolver;
            }
            if (parameters.MetadataResolver != null)
            {
                module.metadata_resolver = parameters.MetadataResolver;
            }
            reader.ReadModule();
            ReadSymbols(module, parameters);
            return(module);
        }
Exemplo n.º 4
0
 private static ModuleDefinition ReadModule(Disposable <Stream> stream, string fileName, ReaderParameters parameters)
 {
     Mixin.CheckParameters(parameters);
     return(ModuleReader.CreateModule(ImageReader.ReadImage(stream, fileName), parameters));
 }