MetadataIndex class final

An index over one or more MetadataReader instances, allowing efficient lookup and traversal of metadata types.

MetadataIndex provides access to namespace/type mappings, nested type relationships, and methods for looking up types by their namespace and name.

Constructors

MetadataIndex.fromReader(MetadataReader reader)
Creates a MetadataIndex from a single MetadataReader.
factory
MetadataIndex.fromReaders(List<MetadataReader> readers)
Creates a MetadataIndex from a list of MetadataReaders.
factory

Properties

allTypes → Iterable<TypeDef>
Enumerates all TypeDefs available in this index.
no setter
assembly → Iterable<Assembly>
Enumerates all Assembly entries across all readers.
no setter
assemblyOS → Iterable<AssemblyOS>
Enumerates all AssemblyOS entries across all readers.
no setter
assemblyProcessor → Iterable<AssemblyProcessor>
Enumerates all AssemblyProcessor entries across all readers.
no setter
assemblyRef → Iterable<AssemblyRef>
Enumerates all AssemblyRef entries across all readers.
no setter
assemblyRefOS → Iterable<AssemblyRefOS>
Enumerates all AssemblyRefOS entries across all readers.
no setter
assemblyRefProcessor → Iterable<AssemblyRefProcessor>
Enumerates all AssemblyRefProcessor entries across all readers.
no setter
classLayout → Iterable<ClassLayout>
Enumerates all ClassLayout entries across all readers.
no setter
constant → Iterable<Constant>
Enumerates all Constant entries across all readers.
no setter
customAttribute → Iterable<CustomAttribute>
Enumerates all CustomAttribute entries across all readers.
no setter
declSecurity → Iterable<DeclSecurity>
Enumerates all DeclSecurity entries across all readers.
no setter
event → Iterable<Event>
Enumerates all Event entries across all readers.
no setter
eventMap → Iterable<EventMap>
Enumerates all EventMap entries across all readers.
no setter
exportedType → Iterable<ExportedType>
Enumerates all ExportedType entries across all readers.
no setter
field → Iterable<Field>
Enumerates all Field entries across all readers.
no setter
fieldLayout → Iterable<FieldLayout>
Enumerates all FieldLayout entries across all readers.
no setter
fieldMarshal → Iterable<FieldMarshal>
Enumerates all FieldMarshal entries across all readers.
no setter
fieldRVA → Iterable<FieldRVA>
Enumerates all FieldRVA entries across all readers.
no setter
file → Iterable<File>
Enumerates all File entries across all readers.
no setter
genericParam → Iterable<GenericParam>
Enumerates all GenericParam entries across all readers.
no setter
genericParamConstraint → Iterable<GenericParamConstraint>
Enumerates all GenericParamConstraint entries across all readers.
no setter
hashCode → int
The hash code for this object.
no setterinherited
implMap → Iterable<ImplMap>
Enumerates all ImplMap entries across all readers.
no setter
interfaceImpl → Iterable<InterfaceImpl>
Enumerates all InterfaceImpl entries across all readers.
no setter
manifestResource → Iterable<ManifestResource>
Enumerates all ManifestResource entries across all readers.
no setter
memberRef → Iterable<MemberRef>
Enumerates all MemberRef entries across all readers.
no setter
methodDef → Iterable<MethodDef>
Enumerates all MethodDef entries across all readers.
no setter
methodImpl → Iterable<MethodImpl>
Enumerates all MethodImpl entries across all readers.
no setter
methodSemantics → Iterable<MethodSemantics>
Enumerates all MethodSemantics entries across all readers.
no setter
methodSpec → Iterable<MethodSpec>
Enumerates all MethodSpec entries across all readers.
no setter
module → Iterable<Module>
Enumerates all Module entries across all readers.
no setter
moduleRef → Iterable<ModuleRef>
Enumerates all ModuleRef entries across all readers.
no setter
namespaceTypeEntries → Iterable<(String, String, TypeDef)>
Enumerates all (namespace, name, type) triples available in this index.
no setter
nestedClass → Iterable<NestedClass>
Enumerates all NestedClass entries across all readers.
no setter
param → Iterable<Param>
Enumerates all Param entries across all readers.
no setter
property → Iterable<Property>
Enumerates all Property entries across all readers.
no setter
propertyMap → Iterable<PropertyMap>
Enumerates all PropertyMap entries across all readers.
no setter
readers → List<MetadataReader>
The list of metadata readers contributing to this index.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
standAloneSig → Iterable<StandAloneSig>
Enumerates all StandAloneSig entries across all readers.
no setter
typeDef → Iterable<TypeDef>
Enumerates all TypeDef entries across all readers.
no setter
typeRef → Iterable<TypeRef>
Enumerates all TypeRef entries across all readers.
no setter
typeSpec → Iterable<TypeSpec>
Enumerates all TypeSpec entries across all readers.
no setter

Methods

findSingleType(String namespace, String name) → TypeDef
Finds a single TypeDef matching the given namespace and name.
findTypes(String namespace, String name) → Iterable<TypeDef>
Enumerates all TypeDef instances matching the given namespace and name.
nestedTypes(TypeDef parent) → Iterable<TypeDef>
Enumerates the nested types defined under the given parent type.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
override
tryFindSingleType(String namespace, String name) → TypeDef?
Attempts to find a single TypeDef matching the given namespace and name.

Operators

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