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