public BaseObject(FileStream fs, PEReader pe, MetadataReader mr, ResolveAssemblyDelegate resolveAssembly) { _fs = fs; _peReader = pe; _metaReader = mr; _resolveAssembly = resolveAssembly; }
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)); }
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); } }
public static ReferencedTypeObject CreateFrom(ResolvedAssemblyObject ao, TypeReference typeRef, ResolveAssemblyDelegate resolveAssembly) { ReferencedTypeObject to = new ReferencedTypeObject(ao._fs, ao._peReader, ao._metaReader, typeRef, resolveAssembly); return(to); }
private ResolvedAssemblyObject(FileStream fs, PEReader pe, MetadataReader mr, ResolveAssemblyDelegate resolveAssembly) : base(fs, pe, mr, resolveAssembly) { Name = AssemblyName.GetAssemblyName(_fs.Name); TypesDeclared = GetDeclaredTypes(); }
protected AssemblyObject(FileStream fs, PEReader pe, MetadataReader mr, ResolveAssemblyDelegate resolveAssembly) : base(fs, pe, mr, resolveAssembly) { }
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))); }
public static ExportedTypeObject CreateFrom(ResolvedAssemblyObject ao, ExportedType exportedType, ResolveAssemblyDelegate resolveAssembly) { ExportedTypeObject to = new ExportedTypeObject(ao._fs, ao._peReader, ao._metaReader, exportedType, resolveAssembly); return(to); }