public BaseObject(FileStream fs, PEReader pe, MetadataReader mr, ResolveAssemblyDelegate resolveAssembly)
 {
     _fs              = fs;
     _peReader        = pe;
     _metaReader      = mr;
     _resolveAssembly = resolveAssembly;
 }
Beispiel #2
0
        public static ResolvedAssemblyObject CreateFrom(string filePath, ResolveAssemblyDelegate resolveAssembly)
        {
            var _fs         = new FileStream(filePath, FileMode.Open, FileAccess.Read);
            var _peReader   = new PEReader(_fs);
            var _metaReader = _peReader.GetMetadataReader();

            return(new ResolvedAssemblyObject(_fs, _peReader, _metaReader, resolveAssembly));
        }
Beispiel #3
0
        public ReferencedTypeObject(FileStream fs, PEReader pe, MetadataReader mr, TypeReference typeRef, ResolveAssemblyDelegate resolveAssembly) :
            base(fs, pe, mr, resolveAssembly)
        {
            _typeRef = typeRef;

            Name             = AssemblyHelpers.GetTypeName(_metaReader, _typeRef);
            DeclaredAssembly = null;

            // We are not able to resolve ModuleReferences yet.
            if (resolveAssembly != null && _typeRef.ResolutionScope.Kind != HandleKind.ModuleReference)
            {
                var assemblyRef = ToAssemblyName(AssemblyHelpers.GetAssemblyReferenceForReferencedType(_metaReader, _typeRef));
                DeclaredAssembly = resolveAssembly(assemblyRef);
            }
        }
Beispiel #4
0
        public static ReferencedTypeObject CreateFrom(ResolvedAssemblyObject ao, TypeReference typeRef, ResolveAssemblyDelegate resolveAssembly)
        {
            ReferencedTypeObject to = new ReferencedTypeObject(ao._fs, ao._peReader, ao._metaReader, typeRef, resolveAssembly);

            return(to);
        }
Beispiel #5
0
        private ResolvedAssemblyObject(FileStream fs, PEReader pe, MetadataReader mr, ResolveAssemblyDelegate resolveAssembly) :
            base(fs, pe, mr, resolveAssembly)
        {
            Name = AssemblyName.GetAssemblyName(_fs.Name);

            TypesDeclared = GetDeclaredTypes();
        }
Beispiel #6
0
 protected AssemblyObject(FileStream fs, PEReader pe, MetadataReader mr, ResolveAssemblyDelegate resolveAssembly) :
     base(fs, pe, mr, resolveAssembly)
 {
 }
Beispiel #7
0
        public ExportedTypeObject(FileStream fs, PEReader pe, MetadataReader mr, ExportedType exportedType, ResolveAssemblyDelegate resolveAssembly) :
            base(fs, pe, mr, resolveAssembly)
        {
            _exportedType = exportedType;

            AssemblyForwardedTo = _resolveAssembly(ToAssemblyName(AssemblyHelpers.GetAssemblyReferenceForExportedType(_metaReader, exportedType)));
        }
Beispiel #8
0
        public static ExportedTypeObject CreateFrom(ResolvedAssemblyObject ao, ExportedType exportedType, ResolveAssemblyDelegate resolveAssembly)
        {
            ExportedTypeObject to = new ExportedTypeObject(ao._fs, ao._peReader, ao._metaReader, exportedType, resolveAssembly);

            return(to);
        }