MarshalBlobReader(ModuleDef module, ref DataReader reader, GenericParamContext gpContext) { this.module = module; this.reader = reader; this.gpContext = gpContext; }
/// <summary> /// Reads a <see cref="MarshalType"/> from <paramref name="data"/> /// </summary> /// <param name="module">Owner module</param> /// <param name="data">Marshal data</param> /// <param name="gpContext">Generic parameter context</param> /// <returns>A new <see cref="MarshalType"/> instance</returns> public static MarshalType Read(ModuleDef module, byte[] data, GenericParamContext gpContext) => Read(module, ByteArrayDataReaderFactory.CreateReader(data), gpContext);
/// <summary> /// Reads a <see cref="MarshalType"/> from <see cref="reader"/> /// </summary> /// <param name="module">Owner module</param> /// <param name="reader">A reader that will be owned by us</param> /// <param name="gpContext">Generic parameter context</param> /// <returns>A new <see cref="MarshalType"/> instance</returns> public static MarshalType Read(ModuleDef module, DataReader reader, GenericParamContext gpContext) { var marshalReader = new MarshalBlobReader(module, ref reader, gpContext); return(marshalReader.Read()); }
/// <summary> /// Reads a <see cref="MarshalType"/> from the <c>#Blob</c> heap /// </summary> /// <param name="module">Module</param> /// <param name="sig">Blob offset</param> /// <param name="gpContext">Generic parameter context</param> /// <returns>A new <see cref="MarshalType"/> instance</returns> public static MarshalType Read(ModuleDefMD module, uint sig, GenericParamContext gpContext) => Read(module, module.BlobStream.CreateReader(sig), gpContext);
DeclSecurityReader(ModuleDef module, DataReader reader, GenericParamContext gpContext) { this.reader = reader; this.module = module; this.gpContext = gpContext; }
/// <summary> /// Reads a <c>DeclSecurity</c> blob /// </summary> /// <param name="module">Module that will own the returned list</param> /// <param name="signature"><c>DeclSecurity</c> stream that will be owned by us</param> /// <param name="gpContext">Generic parameter context</param> /// <returns>A list of <see cref="SecurityAttribute"/>s</returns> public static IList <SecurityAttribute> Read(ModuleDef module, DataReader signature, GenericParamContext gpContext) { var reader = new DeclSecurityReader(module, signature, gpContext); return(reader.Read()); }
/// <summary> /// Reads a <c>DeclSecurity</c> blob /// </summary> /// <param name="module">Module that will own the returned list</param> /// <param name="blob"><c>DeclSecurity</c> blob</param> /// <param name="gpContext">Generic parameter context</param>/// /// <returns>A list of <see cref="SecurityAttribute"/>s</returns> public static IList <SecurityAttribute> Read(ModuleDef module, byte[] blob, GenericParamContext gpContext) => Read(module, ByteArrayDataReaderFactory.CreateReader(blob), gpContext);
/// <summary> /// Reads a <c>DeclSecurity</c> blob /// </summary> /// <param name="module">Module that will own the returned list</param> /// <param name="sig"><c>#Blob</c> offset of <c>DeclSecurity</c> signature</param> /// <param name="gpContext">Generic parameter context</param> /// <returns>A list of <see cref="SecurityAttribute"/>s</returns> public static IList <SecurityAttribute> Read(ModuleDefMD module, uint sig, GenericParamContext gpContext) => Read(module, module.BlobStream.CreateReader(sig), gpContext);