MetadataReader class final

Provides functionality to read a valid .winmd or ECMA-335 metadata file, including metadata tables, heaps, and system-level assembly references.

A MetadataReader is responsible for interpreting the raw binary data of metadata streams, enabling retrieval of strings, GUIDs, blobs, and various table records in a structured manner.

Use MetadataReader.read to parse metadata from a Uint8List.

Constructors

MetadataReader.read(Uint8List data)
Parses metadata from the given data.
factory

Properties

blobHeap BlobHeap
The heap containing blobs.
final
data Uint8List
The raw metadata binary data.
final
guidHeap GuidHeap
The heap containing Guids.
final
hashCode int
The hash code for this object.
no setterinherited
moduleMvid Guid
The Module Version ID (MVID), a GUID that uniquely identifies the version of the module.
no setter
moduleName String
The module's name.
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
stringHeap StringHeap
The heap containing strings.
final
tableStream TableStream
The metadata table stream containing structured metadata tables.
final
userStringHeap UserStringHeap
The heap containing user-defined strings.
final

Methods

getEqualRange(MetadataTable table, int column, int value) Iterable<int>
Returns an iterable of rows where the specified column matches value.
getList(int row, MetadataTable table, int column, MetadataTable otherTable) Iterable<int>
Returns an iterable of row indices between two related tables.
getParentRow(int row, MetadataTable table, int column) int
Returns the parent row index for the specified row within a table.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
readBlob(int row, MetadataTable table, int column) Uint8List
Reads a blob from the specified row and column of table.
readGuid(int row, MetadataTable table, int column) Guid
Reads a Guid from the specified row and column of table.
readString(int row, MetadataTable table, int column) String
Reads a string from the specified row and column of table.
readUint(int row, MetadataTable table, int column) int
Reads an unsigned integer from the specified row and column of table.
readUint16(int row, MetadataTable table, int column, [int offset = 0]) int
Reads an unsigned 16-bit integer from the specified row and column of table, with an optional offset.
readUint32(int row, MetadataTable table, int column, [int offset = 0]) int
Reads an unsigned 32-bit integer from the specified row and column of table, with an optional offset.
readUint64(int row, MetadataTable table, int column, [int offset = 0]) int
Reads an unsigned 64-bit integer from the specified row and column of table, with an optional offset.
readUint8(int row, MetadataTable table, int column, [int offset = 0]) int
Reads an unsigned 8-bit integer from the specified row and column of table, with an optional offset.
toString() String
A string representation of this object.
override

Operators

operator ==(Object other) bool
The equality operator.
inherited