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