예제 #1
0
 internal EcmaModule(TypeSystemContext context, PEReader peReader, MetadataReader metadataReader)
     : base(context)
 {
     _peReader       = peReader;
     _metadataReader = metadataReader;
     _resolvedTokens = new EcmaObjectLookupHashtable(this);
 }
예제 #2
0
 internal EcmaModule(TypeSystemContext context, PEReader peReader, MetadataReader metadataReader, IAssemblyDesc containingAssembly, IModuleResolver customModuleResolver)
     : base(context, containingAssembly)
 {
     _peReader       = peReader;
     _metadataReader = metadataReader;
     _resolvedTokens = new EcmaObjectLookupHashtable(this);
     _moduleResolver = customModuleResolver != null ? customModuleResolver : context;
 }
예제 #3
0
        public EcmaModule(TypeSystemContext context, PEReader peReader)
            : base(context)
        {
            _peReader = peReader;

            var stringDecoderProvider = context as IMetadataStringDecoderProvider;

            _metadataReader = peReader.GetMetadataReader(MetadataReaderOptions.None /* MetadataReaderOptions.ApplyWindowsRuntimeProjections */,
                                                         (stringDecoderProvider != null) ? stringDecoderProvider.GetMetadataStringDecoder() : null);

            _assemblyDefinition = _metadataReader.GetAssemblyDefinition();

            _resolvedTokens = new EcmaObjectLookupHashtable(this);
        }