Example #1
0
 public TypeProvider(ModuleDefinition module, IMetadataScope messagePackScope, IReportHook reportHook)
 {
     this.Module           = module;
     this.messagePackScope = messagePackScope;
     this.reportHook       = reportHook;
     Importer = new ModuleImporter(module);
 }
Example #2
0
        public CodeGenerator(Action <string> logger, IReportHook reportHook)
        {
            this.logger     = logger;
            this.reportHook = reportHook;
            var assemblyResolver = new DefaultAssemblyResolver();

            this.readerParam = new ReaderParameters
            {
                AssemblyResolver = assemblyResolver,
                ReadWrite        = true,
            };
            this.doNotWriteReaderParam = new ReaderParameters()
            {
                AssemblyResolver = assemblyResolver,
                ReadWrite        = false,
            };
        }
Example #3
0
        public static AssemblyNameReference Inject(ModuleDefinition module, AssemblyNameReference name, IReportHook reportHook)
        {
            var version = name.Version;

            foreach (var nameReference in module.AssemblyReferences)
            {
                if (Predicate(name, nameReference, version))
                {
                    return(nameReference);
                }
            }

            reportHook.ImportNotPreviouslyReferencedAssemblyNameReference(name.Name, version.Major, version.Minor, version.Build, version.Revision, name.Culture, name.PublicKeyToken);
            module.AssemblyReferences.Add(name);
            return(name);
        }