1005 references to TableIndex
ILAssembler (104)
EntityRegistry.cs (66)
17private readonly Dictionary<TableIndex, List<EntityBase>> _seenEntities = new(); 86public IReadOnlyList<EntityBase> GetSeenEntities(TableIndex table) 108foreach (TypeDefinitionEntity type in GetSeenEntities(TableIndex.TypeDef)) 113RecordEntityInTable(TableIndex.MethodDef, method); 123RecordEntityInTable(TableIndex.Param, param); 129RecordEntityInTable(TableIndex.GenericParam, genericParam); 133RecordEntityInTable(TableIndex.GenericParamConstraint, constraint); 138RecordEntityInTable(TableIndex.Field, field); 142RecordEntityInTable(TableIndex.Property, property); 146RecordEntityInTable(TableIndex.Event, @event); 152RecordEntityInTable(TableIndex.InterfaceImpl, impl); 157RecordEntityInTable(TableIndex.MethodImpl, impl); 162RecordEntityInTable(TableIndex.GenericParam, genericParam); 168RecordEntityInTable(TableIndex.GenericParamConstraint, constraint); 181foreach (TypeReferenceEntity type in GetSeenEntities(TableIndex.TypeRef)) 190for (int i = 0; i < GetSeenEntities(TableIndex.TypeDef).Count; i++) 192TypeDefinitionEntity type = (TypeDefinitionEntity)GetSeenEntities(TableIndex.TypeDef)[i]; 198GetFieldHandleForList(type.Fields, GetSeenEntities(TableIndex.TypeDef), type => ((TypeDefinitionEntity)type).Fields, i), 199GetMethodHandleForList(type.Methods, GetSeenEntities(TableIndex.TypeDef), type => ((TypeDefinitionEntity)type).Methods, i)); 203GetEventHandleForList(type.Events, GetSeenEntities(TableIndex.TypeDef), type => ((TypeDefinitionEntity)type).Events, i)); 206GetPropertyHandleForList(type.Properties, GetSeenEntities(TableIndex.TypeDef), type => ((TypeDefinitionEntity)type).Properties, i)); 222foreach (FieldDefinitionEntity fieldDef in GetSeenEntities(TableIndex.Field)) 250for (int i = 0; i < GetSeenEntities(TableIndex.MethodDef).Count; i++) 252MethodDefinitionEntity methodDef = (MethodDefinitionEntity)GetSeenEntities(TableIndex.MethodDef)[i]; 267GetParameterHandleForList(methodDef.Parameters, GetSeenEntities(TableIndex.MethodDef), method => ((MethodDefinitionEntity)method).Parameters, i)); 279foreach (ParameterEntity param in GetSeenEntities(TableIndex.Param)) 297foreach (InterfaceImplementationEntity impl in GetSeenEntities(TableIndex.InterfaceImpl)) 312foreach (DeclarativeSecurityAttributeEntity declSecurity in GetSeenEntities(TableIndex.DeclSecurity)) 320foreach (CustomAttributeEntity customAttr in GetSeenEntities(TableIndex.CustomAttribute)) 335foreach (StandaloneSignatureEntity standaloneSig in GetSeenEntities(TableIndex.StandAloneSig)) 341foreach (EventEntity evt in GetSeenEntities(TableIndex.Event)) 354foreach (PropertyEntity prop in GetSeenEntities(TableIndex.Property)) 372foreach (ModuleReferenceEntity moduleRef in GetSeenEntities(TableIndex.ModuleRef)) 377foreach (AssemblyReferenceEntity asmRef in GetSeenEntities(TableIndex.AssemblyRef)) 388foreach (TypeSpecificationEntity typeSpec in GetSeenEntities(TableIndex.TypeSpec)) 406foreach (FileEntity file in GetSeenEntities(TableIndex.File)) 414foreach (ExportedTypeEntity exportedType in GetSeenEntities(TableIndex.ExportedType)) 430foreach (ManifestResourceEntity resource in GetSeenEntities(TableIndex.ManifestResource)) 439foreach (MethodSpecificationEntity methodSpec in GetSeenEntities(TableIndex.MethodSpec)) 444foreach (GenericParameterEntity genericParam in GetSeenEntities(TableIndex.GenericParam)) 453foreach (GenericParameterConstraintEntity constraint in GetSeenEntities(TableIndex.GenericParamConstraint)) 461=> (FieldDefinitionHandle)GetHandleForList(list, listOwner, getList, ownerIndex, TableIndex.Field); 464=> (MethodDefinitionHandle)GetHandleForList(list, listOwner, getList, ownerIndex, TableIndex.MethodDef); 467=> (PropertyDefinitionHandle)GetHandleForList(list, listOwner, getList, ownerIndex, TableIndex.Property); 470=> (EventDefinitionHandle)GetHandleForList(list, listOwner, getList, ownerIndex, TableIndex.Event); 473=> (ParameterHandle)GetHandleForList(list, listOwner, getList, ownerIndex, TableIndex.Param); 475static EntityHandle GetHandleForList(IReadOnlyList<EntityBase> list, IReadOnlyList<EntityBase> listOwner, Func<EntityBase, IReadOnlyList<EntityBase>> getList, int ownerIndex, TableIndex tokenType) 584public void RecordEntityInTable(TableIndex table, EntityBase entity) 594private TEntity GetOrCreateEntity<TKey, TEntity>(TKey key, TableIndex table, Dictionary<TKey, TEntity> cache, Func<TKey, TEntity> constructor, Action<TEntity> onCreate) 609private TEntity CreateEntity<TEntity>(TableIndex table, List<TEntity> cache, Func<TEntity> constructor) 620return GetOrCreateEntity((containingType, @namespace, name), TableIndex.TypeDef, _seenTypeDefs, (key) => new(key.Item1, key.Item2, key.Item3), onCreateType); 634return GetOrCreateEntity(name, TableIndex.AssemblyRef, _seenAssemblyRefs, _ => new(name), onCreateAssemblyReference); 639return GetOrCreateEntity(name, TableIndex.ModuleRef, _seenModuleRefs, name => new(name), onCreateModuleReference); 665return GetOrCreateEntity(signature, TableIndex.TypeSpec, _seenTypeSpecs, signature => new(signature), _ => { }); 670_ = MetadataTokens.TryGetTableIndex(entityHandle.Kind, out var tableIndex); 701scope = GetOrCreateEntity((scope, typeName.Namespace, typeName.Name), TableIndex.TypeRef, _seenTypeRefs, value => new TypeReferenceEntity(scope, value.Namespace, value.Name), typeRef => 964var typeDef = (TypeDefinitionEntity)GetSeenEntities(TableIndex.TypeDef)[MetadataTokens.GetRowNumber(type.Handle) - 1]; 979RecordEntityInTable(TableIndex.MemberRef, memberRef); 1025TableIndex.MethodSpec, 1033return GetOrCreateEntity(signature, TableIndex.StandAloneSig, _seenStandaloneSignatures, (sig) => new(sig), _ => { }); 1039RecordEntityInTable(TableIndex.DeclSecurity, entity); 1046RecordEntityInTable(TableIndex.CustomAttribute, entity); 1057return GetOrCreateEntity(name, TableIndex.File, _seenFiles, (name) => new FileEntity(name), entity => 1084return GetOrCreateEntity(name, TableIndex.AssemblyRef, _seenAssemblyRefs, _ => new AssemblyReferenceEntity(name), entity => 1096return CreateEntity(TableIndex.ManifestResource, _manifestResourceEntities, () => new ManifestResourceEntity(name, offset)); 1104return GetOrCreateEntity((implementation as ExportedTypeEntity, @namespace, name), TableIndex.ExportedType, _seenExportedTypes, (key) => new(key.Item3, key.Item2, implementation), onCreateType);
GrammarVisitor.cs (38)
148foreach (var entity in _entityRegistry.GetSeenEntities(TableIndex.MethodDef)) 295foreach (var entity in _entityRegistry.GetSeenEntities(TableIndex.MethodDef)) 322foreach (var entity in _entityRegistry.GetSeenEntities(TableIndex.MethodDef)) 380foreach (var entity in _entityRegistry.GetSeenEntities(TableIndex.MethodDef)) 5505tableStreamSize += rowCounts[(int)TableIndex.Module] * 10; // 2+2+2+2+2 5506tableStreamSize += rowCounts[(int)TableIndex.TypeRef] * 6; // 2+2+2 5507tableStreamSize += rowCounts[(int)TableIndex.TypeDef] * 14; // 4+2+2+2+2+2 5508tableStreamSize += rowCounts[(int)TableIndex.Field] * 6; // 2+2+2 5509tableStreamSize += rowCounts[(int)TableIndex.MethodDef] * 14; // 4+2+2+2+2+2 5510tableStreamSize += rowCounts[(int)TableIndex.Param] * 6; // 2+2+2 5511tableStreamSize += rowCounts[(int)TableIndex.InterfaceImpl] * 4; // 2+2 5512tableStreamSize += rowCounts[(int)TableIndex.MemberRef] * 6; // 2+2+2 5513tableStreamSize += rowCounts[(int)TableIndex.Constant] * 6; // 2+2+2 5514tableStreamSize += rowCounts[(int)TableIndex.CustomAttribute] * 6; // 2+2+2 5515tableStreamSize += rowCounts[(int)TableIndex.FieldMarshal] * 4; // 2+2 5516tableStreamSize += rowCounts[(int)TableIndex.DeclSecurity] * 6; // 2+2+2 5517tableStreamSize += rowCounts[(int)TableIndex.ClassLayout] * 8; // 2+4+2 5518tableStreamSize += rowCounts[(int)TableIndex.FieldLayout] * 6; // 4+2 5519tableStreamSize += rowCounts[(int)TableIndex.StandAloneSig] * 2; // 2 5520tableStreamSize += rowCounts[(int)TableIndex.EventMap] * 4; // 2+2 5521tableStreamSize += rowCounts[(int)TableIndex.Event] * 6; // 2+2+2 5522tableStreamSize += rowCounts[(int)TableIndex.PropertyMap] * 4; // 2+2 5523tableStreamSize += rowCounts[(int)TableIndex.Property] * 6; // 2+2+2 5524tableStreamSize += rowCounts[(int)TableIndex.MethodSemantics] * 6; // 2+2+2 5525tableStreamSize += rowCounts[(int)TableIndex.MethodImpl] * 6; // 2+2+2 5526tableStreamSize += rowCounts[(int)TableIndex.ModuleRef] * 2; // 2 5527tableStreamSize += rowCounts[(int)TableIndex.TypeSpec] * 2; // 2 5528tableStreamSize += rowCounts[(int)TableIndex.ImplMap] * 8; // 2+2+2+2 5529tableStreamSize += rowCounts[(int)TableIndex.FieldRva] * 6; // 4+2 5530tableStreamSize += rowCounts[(int)TableIndex.Assembly] * 22; // 16+2+2+2 5531tableStreamSize += rowCounts[(int)TableIndex.AssemblyRef] * 20; // 12+2+2+2+2 5532tableStreamSize += rowCounts[(int)TableIndex.File] * 8; // 4+2+2 5533tableStreamSize += rowCounts[(int)TableIndex.ExportedType] * 14; // 8+2+2+2 5534tableStreamSize += rowCounts[(int)TableIndex.ManifestResource] * 12; // 8+2+2 5535tableStreamSize += rowCounts[(int)TableIndex.NestedClass] * 4; // 2+2 5536tableStreamSize += rowCounts[(int)TableIndex.GenericParam] * 8; // 4+2+2 5537tableStreamSize += rowCounts[(int)TableIndex.MethodSpec] * 4; // 2+2 5538tableStreamSize += rowCounts[(int)TableIndex.GenericParamConstraint] * 4; // 2+2
ILCompiler.ReadyToRun (15)
Compiler\DependencyAnalysis\ReadyToRun\CopiedFieldRvaNode.cs (3)
66metadataBlob.Offset = metadataReader.GetTableMetadataOffset(TableIndex.FieldRva); 67bool compressedFieldRef = 6 == metadataReader.GetTableRowSize(TableIndex.FieldRva); 69for (int i = 1; i <= metadataReader.GetTableRowCount(TableIndex.FieldRva); i++)
Compiler\DependencyAnalysis\ReadyToRun\CopiedMetadataBlobNode.cs (9)
45var tableIndex = TableIndex.MethodDef; 62var methodDefHandle = MetadataTokens.EntityHandle(TableIndex.MethodDef, i); 76var tableIndex = TableIndex.FieldRva; 78bool compressedFieldRef = 6 == metadataReader.GetTableRowSize(TableIndex.FieldRva); 96EntityHandle fieldHandle = MetadataTokens.EntityHandle(TableIndex.Field, fieldToken); 125int methodDefTableOffset = metadataReader.GetTableMetadataOffset(TableIndex.MethodDef); 134int fieldRvaTableOffset = metadataReader.GetTableMetadataOffset(TableIndex.FieldRva);
Compiler\DependencyAnalysis\ReadyToRun\ManifestMetadataTableNode.cs (1)
125_assemblyRefCount = mdReader.GetTableRowCount(TableIndex.AssemblyRef);
IBC\IBCProfileParser.cs (1)
458if (EcmaModule.MetadataReader.GetTableRowCount(TableIndex.AssemblyRef) < index)
JitInterface\CorInfoImpl.ReadyToRun.cs (1)
531int numTypeSpecs = reader.GetTableRowCount(TableIndex.TypeSpec);
Microsoft.CodeAnalysis (175)
Emit\EditAndContinue\DeltaMetadataWriter.cs (146)
102_typeDefs = new DefinitionIndex<ITypeDefinition>(this.TryGetExistingTypeDefIndex, sizes[(int)TableIndex.TypeDef]); 103_eventDefs = new DefinitionIndex<IEventDefinition>(this.TryGetExistingEventDefIndex, sizes[(int)TableIndex.Event]); 104_fieldDefs = new DefinitionIndex<IFieldDefinition>(this.TryGetExistingFieldDefIndex, sizes[(int)TableIndex.Field]); 105_methodDefs = new DefinitionIndex<IMethodDefinition>(this.TryGetExistingMethodDefIndex, sizes[(int)TableIndex.MethodDef]); 106_propertyDefs = new DefinitionIndex<IPropertyDefinition>(this.TryGetExistingPropertyDefIndex, sizes[(int)TableIndex.Property]); 107_parameterDefs = new DefinitionIndex<IParameterDefinition>(this.TryGetExistingParameterDefIndex, sizes[(int)TableIndex.Param]); 109_genericParameters = new GenericParameterIndex(sizes[(int)TableIndex.GenericParam]); 110_eventMap = new EventOrPropertyMapIndex(this.TryGetExistingEventMapIndex, sizes[(int)TableIndex.EventMap]); 111_propertyMap = new EventOrPropertyMapIndex(this.TryGetExistingPropertyMapIndex, sizes[(int)TableIndex.PropertyMap]); 112_methodImpls = new MethodImplIndex(this, sizes[(int)TableIndex.MethodImpl]); 120_assemblyRefIndex = new HeapOrReferenceIndex<AssemblyIdentity>(this, lastRowId: sizes[(int)TableIndex.AssemblyRef]); 121_moduleRefIndex = new HeapOrReferenceIndex<string>(this, lastRowId: sizes[(int)TableIndex.ModuleRef]); 122_memberRefIndex = new InstanceAndStructuralReferenceIndex<ITypeMemberReference>(this, new MemberRefComparer(this), lastRowId: sizes[(int)TableIndex.MemberRef]); 123_methodSpecIndex = new InstanceAndStructuralReferenceIndex<IGenericMethodInstanceReference>(this, new MethodSpecComparer(this), lastRowId: sizes[(int)TableIndex.MethodSpec]); 124_typeRefIndex = new TypeReferenceIndex(this, lastRowId: sizes[(int)TableIndex.TypeRef]); 125_typeSpecIndex = new InstanceAndStructuralReferenceIndex<ITypeReference>(this, new TypeSpecComparer(this), lastRowId: sizes[(int)TableIndex.TypeSpec]); 126_standAloneSignatureIndex = new HeapOrReferenceIndex<BlobHandle>(this, lastRowId: sizes[(int)TableIndex.StandAloneSig]); 169sizes[(int)TableIndex.TypeRef] = _typeRefIndex.Rows.Count; 170sizes[(int)TableIndex.TypeDef] = _typeDefs.GetAdded().Count; 171sizes[(int)TableIndex.Field] = _fieldDefs.GetAdded().Count; 172sizes[(int)TableIndex.MethodDef] = _methodDefs.GetAdded().Count; 173sizes[(int)TableIndex.Param] = _parameterDefs.GetAdded().Count; 174sizes[(int)TableIndex.MemberRef] = _memberRefIndex.Rows.Count; 175sizes[(int)TableIndex.StandAloneSig] = _standAloneSignatureIndex.Rows.Count; 176sizes[(int)TableIndex.EventMap] = _eventMap.GetAdded().Count; 177sizes[(int)TableIndex.Event] = _eventDefs.GetAdded().Count; 178sizes[(int)TableIndex.PropertyMap] = _propertyMap.GetAdded().Count; 179sizes[(int)TableIndex.Property] = _propertyDefs.GetAdded().Count; 180sizes[(int)TableIndex.MethodImpl] = _methodImpls.GetAdded().Count; 181sizes[(int)TableIndex.ModuleRef] = _moduleRefIndex.Rows.Count; 182sizes[(int)TableIndex.TypeSpec] = _typeSpecIndex.Rows.Count; 183sizes[(int)TableIndex.AssemblyRef] = _assemblyRefIndex.Rows.Count; 184sizes[(int)TableIndex.GenericParam] = _genericParameters.GetAdded().Count; 185sizes[(int)TableIndex.MethodSpec] = _methodSpecIndex.Rows.Count; 814if (_previousGeneration.OriginalMetadata.MetadataReader.GetTableRowCount(TableIndex.MethodDef) >= MetadataTokens.GetRowNumber(handle)) 1010: _previousGeneration.OriginalMetadata.MetadataReader.GetTableRowCount(TableIndex.CustomAttribute); 1121_ = MetadataTokens.TryGetTableIndex(parentHandle.Kind, out var parentTableIndex); 1123var deletedMemberRefHandle = MetadataTokens.EntityHandle(TableIndex.MemberRef, 0); 1135Debug.Assert(typeSystemRowCounts[(int)TableIndex.EncLog] == 0); 1136Debug.Assert(typeSystemRowCounts[(int)TableIndex.EncMap] == 0); 1155PopulateEncLogTableRows(TableIndex.AssemblyRef, previousSizes, deltaSizes); 1156PopulateEncLogTableRows(TableIndex.ModuleRef, previousSizes, deltaSizes); 1157PopulateEncLogTableRows(TableIndex.MemberRef, previousSizes, deltaSizes); 1158PopulateEncLogTableRows(TableIndex.MethodSpec, previousSizes, deltaSizes); 1159PopulateEncLogTableRows(TableIndex.TypeRef, previousSizes, deltaSizes); 1160PopulateEncLogTableRows(TableIndex.TypeSpec, previousSizes, deltaSizes); 1161PopulateEncLogTableRows(TableIndex.StandAloneSig, previousSizes, deltaSizes); 1163PopulateEncLogTableRows(_typeDefs, TableIndex.TypeDef); 1164PopulateEncLogTableRows(TableIndex.EventMap, previousSizes, deltaSizes); 1165PopulateEncLogTableRows(TableIndex.PropertyMap, previousSizes, deltaSizes); 1167PopulateEncLogTableEventsOrProperties(_eventDefs, TableIndex.Event, EditAndContinueOperation.AddEvent, _eventMap, TableIndex.EventMap); 1168PopulateEncLogTableFieldsOrMethods(_fieldDefs, TableIndex.Field, EditAndContinueOperation.AddField); 1169PopulateEncLogTableFieldsOrMethods(_methodDefs, TableIndex.MethodDef, EditAndContinueOperation.AddMethod); 1170PopulateEncLogTableEventsOrProperties(_propertyDefs, TableIndex.Property, EditAndContinueOperation.AddProperty, _propertyMap, TableIndex.PropertyMap); 1174PopulateEncLogTableRows(TableIndex.Constant, previousSizes, deltaSizes); 1183PopulateEncLogTableRows(TableIndex.DeclSecurity, previousSizes, deltaSizes); 1184PopulateEncLogTableRows(TableIndex.ClassLayout, previousSizes, deltaSizes); 1185PopulateEncLogTableRows(TableIndex.FieldLayout, previousSizes, deltaSizes); 1186PopulateEncLogTableRows(TableIndex.MethodSemantics, previousSizes, deltaSizes); 1187PopulateEncLogTableRows(TableIndex.MethodImpl, previousSizes, deltaSizes); 1188PopulateEncLogTableRows(TableIndex.ImplMap, previousSizes, deltaSizes); 1189PopulateEncLogTableRows(TableIndex.FieldRva, previousSizes, deltaSizes); 1190PopulateEncLogTableRows(TableIndex.NestedClass, previousSizes, deltaSizes); 1191PopulateEncLogTableRows(TableIndex.GenericParam, previousSizes, deltaSizes); 1192PopulateEncLogTableRows(TableIndex.InterfaceImpl, previousSizes, deltaSizes); 1193PopulateEncLogTableRows(TableIndex.GenericParamConstraint, previousSizes, deltaSizes); 1198TableIndex table, 1201TableIndex mapTable) 1224TableIndex tableIndex, 1276private void PopulateEncLogTableRows<T>(DefinitionIndex<T> index, TableIndex tableIndex) 1287private void PopulateEncLogTableRows(TableIndex tableIndex, ImmutableArray<int> previousSizes, ImmutableArray<int> deltaSizes) 1292private void PopulateEncLogTableRows(TableIndex tableIndex, int firstRowId, int tokenCount) 1313for (var tableIndex = (TableIndex)0; tableIndex <= TableIndex.GenericParamConstraint; tableIndex++) 1317case TableIndex.TypeRef: 1318case TableIndex.InterfaceImpl: 1319case TableIndex.MemberRef: 1320case TableIndex.Constant: 1321case TableIndex.DeclSecurity: 1322case TableIndex.ClassLayout: 1323case TableIndex.FieldLayout: 1324case TableIndex.StandAloneSig: 1325case TableIndex.EventMap: 1326case TableIndex.PropertyMap: 1327case TableIndex.MethodSemantics: 1328case TableIndex.MethodImpl: 1329case TableIndex.ModuleRef: 1330case TableIndex.TypeSpec: 1331case TableIndex.ImplMap: 1332case TableIndex.FieldRva: 1333case TableIndex.NestedClass: 1334case TableIndex.GenericParam: 1335case TableIndex.AssemblyRef: 1336case TableIndex.MethodSpec: 1337case TableIndex.GenericParamConstraint: 1341case TableIndex.TypeDef: 1345case TableIndex.Field: 1349case TableIndex.MethodDef: 1353case TableIndex.Event: 1357case TableIndex.Property: 1361case TableIndex.Param: 1362AddRowNumberTokens(tokens, TableIndex.Param, paramEncMapRows); 1365case TableIndex.CustomAttribute: 1366AddRowNumberTokens(tokens, TableIndex.CustomAttribute, CustomAttributeRowIds); 1386AddDefinitionTokens(debugTokens, TableIndex.MethodDebugInformation, _methodDefs); 1403var handledTables = new TableIndex[] 1405TableIndex.Module, 1406TableIndex.TypeRef, 1407TableIndex.TypeDef, 1408TableIndex.Field, 1409TableIndex.MethodDef, 1410TableIndex.Param, 1411TableIndex.MemberRef, 1412TableIndex.Constant, 1413TableIndex.CustomAttribute, 1414TableIndex.DeclSecurity, 1415TableIndex.ClassLayout, 1416TableIndex.FieldLayout, 1417TableIndex.StandAloneSig, 1418TableIndex.EventMap, 1419TableIndex.Event, 1420TableIndex.PropertyMap, 1421TableIndex.Property, 1422TableIndex.MethodSemantics, 1423TableIndex.MethodImpl, 1424TableIndex.ModuleRef, 1425TableIndex.TypeSpec, 1426TableIndex.ImplMap, 1427TableIndex.FieldRva, 1428TableIndex.EncLog, 1429TableIndex.EncMap, 1430TableIndex.Assembly, 1431TableIndex.AssemblyRef, 1432TableIndex.MethodSpec, 1433TableIndex.NestedClass, 1434TableIndex.GenericParam, 1435TableIndex.InterfaceImpl, 1436TableIndex.GenericParamConstraint, 1441if (handledTables.Contains((TableIndex)i)) 1453TableIndex tableIndex, 1460private static void AddReferencedTokens(ArrayBuilder<EntityHandle> tokens, TableIndex tableIndex, int firstRowId, int nTokens) 1468private static void AddDefinitionTokens<T>(ArrayBuilder<EntityHandle> tokens, TableIndex tableIndex, DefinitionIndex<T> index) 1477private static void AddRowNumberTokens(ArrayBuilder<EntityHandle> tokens, TableIndex tableIndex, ArrayBuilder<int> rowNumbers)
Emit\EditAndContinue\EmitBaseline.cs (9)
343Debug.Assert(tableEntriesAdded[(int)TableIndex.TypeDef] >= typesAdded.Count); 344Debug.Assert(tableEntriesAdded[(int)TableIndex.Event] >= eventsAdded.Count); 345Debug.Assert(tableEntriesAdded[(int)TableIndex.Field] >= fieldsAdded.Count); 346Debug.Assert(tableEntriesAdded[(int)TableIndex.MethodDef] >= methodsAdded.Count); 347Debug.Assert(tableEntriesAdded[(int)TableIndex.Property] >= propertiesAdded.Count); 348Debug.Assert(tableEntriesAdded[(int)TableIndex.EventMap] >= eventMapAdded.Count); 349Debug.Assert(tableEntriesAdded[(int)TableIndex.PropertyMap] >= propertyMapAdded.Count); 495sizes[i] = reader.GetTableRowCount((TableIndex)i) + delta[i]; 534int n = reader.GetTableRowCount(TableIndex.MethodImpl);
PEWriter\MetadataWriter.cs (20)
1725Debug.Assert(typeSystemRowCounts[(int)TableIndex.EncLog] == 0); 1726Debug.Assert(typeSystemRowCounts[(int)TableIndex.EncMap] == 0); 1972metadata.SetCapacity(TableIndex.AssemblyRef, assemblyRefs.Count); 2034AddCustomAttributesToTable(sortedGenericParameters, TableIndex.GenericParam); 2109private void AddCustomAttributesToTable<T>(IEnumerable<T> parentList, TableIndex tableIndex) 2217metadata.SetCapacity(TableIndex.Event, eventDefs.Count); 2241metadata.SetCapacity(TableIndex.ExportedType, exportedTypes.Length); 2385metadata.SetCapacity(TableIndex.Field, fieldDefs.Count); 2452metadata.SetCapacity(TableIndex.File, _fileRefList.Count); 2604metadata.SetCapacity(TableIndex.MemberRef, memberRefs.Count); 2629metadata.SetCapacity(TableIndex.MethodImpl, methodImplList.Count); 2643metadata.SetCapacity(TableIndex.MethodSpec, methodSpecs.Count); 2656metadata.SetCapacity(TableIndex.MethodDef, methodDefs.Count); 2679metadata.SetCapacity(TableIndex.MethodSemantics, propertyDefs.Count * 2 + eventDefs.Count * 2); 2753metadata.SetCapacity(TableIndex.ModuleRef, moduleRefs.Count); 2793metadata.SetCapacity(TableIndex.Param, parameterDefs.Count); 2807metadata.SetCapacity(TableIndex.Property, propertyDefs.Count); 2821metadata.SetCapacity(TableIndex.TypeDef, typeDefs.Count); 2878metadata.SetCapacity(TableIndex.TypeRef, typeRefs.Count); 2938metadata.SetCapacity(TableIndex.TypeSpec, typeSpecs.Count);
Microsoft.CodeAnalysis.Features (1)
EditAndContinue\EditSession.cs (1)
139var highestExistingTypeDefRow = emitResult.Baseline.OriginalMetadata.GetMetadataReader().GetTableRowCount(TableIndex.TypeDef);
Microsoft.Diagnostics.DataContractReader.Contracts (1)
Contracts\RuntimeTypeSystem_1.cs (1)
672return (uint)(methodTable.Flags.GetTypeDefRid() | ((int)TableIndex.TypeDef << 24));
Microsoft.Diagnostics.DataContractReader.Legacy (2)
MetaDataImportImpl.cs (2)
1024if (tokenType < 0 || tokenType > (int)TableIndex.CustomDebugInformation) 1027int rowCount = _reader.GetTableRowCount((TableIndex)tokenType);
Microsoft.DotNet.Build.Tasks.Packaging (1)
GetAssemblyReferences.cs (1)
69for (int i = 1, count = reader.GetTableRowCount(TableIndex.ModuleRef); i <= count; i++)
Microsoft.DotNet.GenFacades (3)
ClearAssemblyReferenceVersions.cs (3)
36int assemblyRefOffset = mdReader.GetTableMetadataOffset(TableIndex.AssemblyRef); 37int numAssemblyRef = mdReader.GetTableRowCount(TableIndex.AssemblyRef); 38int sizeAssemblyRefRow = mdReader.GetTableRowSize(TableIndex.AssemblyRef);
Microsoft.DotNet.PackageTesting (2)
VerifyClosure.cs (2)
457var count = reader.GetTableRowCount(TableIndex.AssemblyRef); 471var count = reader.GetTableRowCount(TableIndex.ModuleRef);
Microsoft.DotNet.SharedFramework.Sdk (2)
src\arcade\src\Microsoft.DotNet.PackageTesting\VerifyClosure.cs (2)
457var count = reader.GetTableRowCount(TableIndex.AssemblyRef); 471var count = reader.GetTableRowCount(TableIndex.ModuleRef);
System.Reflection.Emit (2)
System\Reflection\Emit\ModuleBuilderImpl.cs (2)
444AddLocalScope(methodHandle, parentImport: default, MetadataTokens.LocalVariableHandle(_pdbBuilder.GetRowCount(TableIndex.LocalVariable) + 1), scope); 525AddLocalScope(methodHandle, parentImport, MetadataTokens.LocalVariableHandle(_pdbBuilder.GetRowCount(TableIndex.LocalVariable) + 1), childScope);
System.Reflection.Metadata (692)
System\Reflection\Metadata\Ecma335\MetadataAggregator.cs (3)
62if (baseReader.GetTableRowCount(TableIndex.EncMap) != 0) 95if (deltaReaders[i].GetTableRowCount(TableIndex.EncMap) == 0 || !deltaReaders[i].IsMinimalDelta) 122rowCounts[i] = baseReader.GetTableRowCount((TableIndex)i);
System\Reflection\Metadata\Ecma335\MetadataBuilder.Tables.cs (208)
138public void SetCapacity(TableIndex table, int rowCount) 147case TableIndex.Module: break; // no-op, max row count is 1 148case TableIndex.TypeRef: SetTableCapacity(_typeRefTable, rowCount); break; 149case TableIndex.TypeDef: SetTableCapacity(_typeDefTable, rowCount); break; 150case TableIndex.Field: SetTableCapacity(_fieldTable, rowCount); break; 151case TableIndex.MethodDef: SetTableCapacity(_methodDefTable, rowCount); break; 152case TableIndex.Param: SetTableCapacity(_paramTable, rowCount); break; 153case TableIndex.InterfaceImpl: SetTableCapacity(_interfaceImplTable, rowCount); break; 154case TableIndex.MemberRef: SetTableCapacity(_memberRefTable, rowCount); break; 155case TableIndex.Constant: SetTableCapacity(_constantTable, rowCount); break; 156case TableIndex.CustomAttribute: SetTableCapacity(_customAttributeTable, rowCount); break; 157case TableIndex.FieldMarshal: SetTableCapacity(_fieldMarshalTable, rowCount); break; 158case TableIndex.DeclSecurity: SetTableCapacity(_declSecurityTable, rowCount); break; 159case TableIndex.ClassLayout: SetTableCapacity(_classLayoutTable, rowCount); break; 160case TableIndex.FieldLayout: SetTableCapacity(_fieldLayoutTable, rowCount); break; 161case TableIndex.StandAloneSig: SetTableCapacity(_standAloneSigTable, rowCount); break; 162case TableIndex.EventMap: SetTableCapacity(_eventMapTable, rowCount); break; 163case TableIndex.Event: SetTableCapacity(_eventTable, rowCount); break; 164case TableIndex.PropertyMap: SetTableCapacity(_propertyMapTable, rowCount); break; 165case TableIndex.Property: SetTableCapacity(_propertyTable, rowCount); break; 166case TableIndex.MethodSemantics: SetTableCapacity(_methodSemanticsTable, rowCount); break; 167case TableIndex.MethodImpl: SetTableCapacity(_methodImplTable, rowCount); break; 168case TableIndex.ModuleRef: SetTableCapacity(_moduleRefTable, rowCount); break; 169case TableIndex.TypeSpec: SetTableCapacity(_typeSpecTable, rowCount); break; 170case TableIndex.ImplMap: SetTableCapacity(_implMapTable, rowCount); break; 171case TableIndex.FieldRva: SetTableCapacity(_fieldRvaTable, rowCount); break; 172case TableIndex.EncLog: SetTableCapacity(_encLogTable, rowCount); break; 173case TableIndex.EncMap: SetTableCapacity(_encMapTable, rowCount); break; 174case TableIndex.Assembly: break; // no-op, max row count is 1 175case TableIndex.AssemblyRef: SetTableCapacity(_assemblyRefTable, rowCount); break; 176case TableIndex.File: SetTableCapacity(_fileTable, rowCount); break; 177case TableIndex.ExportedType: SetTableCapacity(_exportedTypeTable, rowCount); break; 178case TableIndex.ManifestResource: SetTableCapacity(_manifestResourceTable, rowCount); break; 179case TableIndex.NestedClass: SetTableCapacity(_nestedClassTable, rowCount); break; 180case TableIndex.GenericParam: SetTableCapacity(_genericParamTable, rowCount); break; 181case TableIndex.MethodSpec: SetTableCapacity(_methodSpecTable, rowCount); break; 182case TableIndex.GenericParamConstraint: SetTableCapacity(_genericParamConstraintTable, rowCount); break; 183case TableIndex.Document: SetTableCapacity(_documentTable, rowCount); break; 184case TableIndex.MethodDebugInformation: SetTableCapacity(_methodDebugInformationTable, rowCount); break; 185case TableIndex.LocalScope: SetTableCapacity(_localScopeTable, rowCount); break; 186case TableIndex.LocalVariable: SetTableCapacity(_localVariableTable, rowCount); break; 187case TableIndex.LocalConstant: SetTableCapacity(_localConstantTable, rowCount); break; 188case TableIndex.ImportScope: SetTableCapacity(_importScopeTable, rowCount); break; 189case TableIndex.StateMachineMethod: SetTableCapacity(_stateMachineMethodTable, rowCount); break; 190case TableIndex.CustomDebugInformation: SetTableCapacity(_customDebugInformationTable, rowCount); break; 192case TableIndex.AssemblyOS: 193case TableIndex.AssemblyProcessor: 194case TableIndex.AssemblyRefOS: 195case TableIndex.AssemblyRefProcessor: 196case TableIndex.EventPtr: 197case TableIndex.FieldPtr: 198case TableIndex.MethodPtr: 199case TableIndex.ParamPtr: 200case TableIndex.PropertyPtr: 223public int GetRowCount(TableIndex table) 227case TableIndex.Assembly : return _assemblyRow.HasValue ? 1 : 0; 228case TableIndex.AssemblyRef : return _assemblyRefTable.Count; 229case TableIndex.ClassLayout : return _classLayoutTable.Count; 230case TableIndex.Constant : return _constantTable.Count; 231case TableIndex.CustomAttribute : return _customAttributeTable.Count; 232case TableIndex.DeclSecurity : return _declSecurityTable.Count; 233case TableIndex.EncLog : return _encLogTable.Count; 234case TableIndex.EncMap : return _encMapTable.Count; 235case TableIndex.EventMap : return _eventMapTable.Count; 236case TableIndex.Event : return _eventTable.Count; 237case TableIndex.ExportedType : return _exportedTypeTable.Count; 238case TableIndex.FieldLayout : return _fieldLayoutTable.Count; 239case TableIndex.FieldMarshal : return _fieldMarshalTable.Count; 240case TableIndex.FieldRva : return _fieldRvaTable.Count; 241case TableIndex.Field : return _fieldTable.Count; 242case TableIndex.File : return _fileTable.Count; 243case TableIndex.GenericParamConstraint : return _genericParamConstraintTable.Count; 244case TableIndex.GenericParam : return _genericParamTable.Count; 245case TableIndex.ImplMap : return _implMapTable.Count; 246case TableIndex.InterfaceImpl : return _interfaceImplTable.Count; 247case TableIndex.ManifestResource : return _manifestResourceTable.Count; 248case TableIndex.MemberRef : return _memberRefTable.Count; 249case TableIndex.MethodImpl : return _methodImplTable.Count; 250case TableIndex.MethodSemantics : return _methodSemanticsTable.Count; 251case TableIndex.MethodSpec : return _methodSpecTable.Count; 252case TableIndex.MethodDef : return _methodDefTable.Count; 253case TableIndex.ModuleRef : return _moduleRefTable.Count; 254case TableIndex.Module : return _moduleRow.HasValue ? 1 : 0; 255case TableIndex.NestedClass : return _nestedClassTable.Count; 256case TableIndex.Param : return _paramTable.Count; 257case TableIndex.PropertyMap : return _propertyMapTable.Count; 258case TableIndex.Property : return _propertyTable.Count; 259case TableIndex.StandAloneSig : return _standAloneSigTable.Count; 260case TableIndex.TypeDef : return _typeDefTable.Count; 261case TableIndex.TypeRef : return _typeRefTable.Count; 262case TableIndex.TypeSpec : return _typeSpecTable.Count; 263case TableIndex.Document : return _documentTable.Count; 264case TableIndex.MethodDebugInformation : return _methodDebugInformationTable.Count; 265case TableIndex.LocalScope : return _localScopeTable.Count; 266case TableIndex.LocalVariable : return _localVariableTable.Count; 267case TableIndex.LocalConstant : return _localConstantTable.Count; 268case TableIndex.StateMachineMethod : return _stateMachineMethodTable.Count; 269case TableIndex.ImportScope : return _importScopeTable.Count; 270case TableIndex.CustomDebugInformation : return _customDebugInformationTable.Count; 272case TableIndex.AssemblyOS: 273case TableIndex.AssemblyProcessor: 274case TableIndex.AssemblyRefOS: 275case TableIndex.AssemblyRefProcessor: 276case TableIndex.EventPtr: 277case TableIndex.FieldPtr: 278case TableIndex.MethodPtr: 279case TableIndex.ParamPtr: 280case TableIndex.PropertyPtr: 299rowCounts[(int)TableIndex.Assembly] = _assemblyRow.HasValue ? 1 : 0; 300rowCounts[(int)TableIndex.AssemblyRef] = _assemblyRefTable.Count; 301rowCounts[(int)TableIndex.ClassLayout] = _classLayoutTable.Count; 302rowCounts[(int)TableIndex.Constant] = _constantTable.Count; 303rowCounts[(int)TableIndex.CustomAttribute] = _customAttributeTable.Count; 304rowCounts[(int)TableIndex.DeclSecurity] = _declSecurityTable.Count; 305rowCounts[(int)TableIndex.EncLog] = _encLogTable.Count; 306rowCounts[(int)TableIndex.EncMap] = _encMapTable.Count; 307rowCounts[(int)TableIndex.EventMap] = _eventMapTable.Count; 308rowCounts[(int)TableIndex.Event] = _eventTable.Count; 309rowCounts[(int)TableIndex.ExportedType] = _exportedTypeTable.Count; 310rowCounts[(int)TableIndex.FieldLayout] = _fieldLayoutTable.Count; 311rowCounts[(int)TableIndex.FieldMarshal] = _fieldMarshalTable.Count; 312rowCounts[(int)TableIndex.FieldRva] = _fieldRvaTable.Count; 313rowCounts[(int)TableIndex.Field] = _fieldTable.Count; 314rowCounts[(int)TableIndex.File] = _fileTable.Count; 315rowCounts[(int)TableIndex.GenericParamConstraint] = _genericParamConstraintTable.Count; 316rowCounts[(int)TableIndex.GenericParam] = _genericParamTable.Count; 317rowCounts[(int)TableIndex.ImplMap] = _implMapTable.Count; 318rowCounts[(int)TableIndex.InterfaceImpl] = _interfaceImplTable.Count; 319rowCounts[(int)TableIndex.ManifestResource] = _manifestResourceTable.Count; 320rowCounts[(int)TableIndex.MemberRef] = _memberRefTable.Count; 321rowCounts[(int)TableIndex.MethodImpl] = _methodImplTable.Count; 322rowCounts[(int)TableIndex.MethodSemantics] = _methodSemanticsTable.Count; 323rowCounts[(int)TableIndex.MethodSpec] = _methodSpecTable.Count; 324rowCounts[(int)TableIndex.MethodDef] = _methodDefTable.Count; 325rowCounts[(int)TableIndex.ModuleRef] = _moduleRefTable.Count; 326rowCounts[(int)TableIndex.Module] = _moduleRow.HasValue ? 1 : 0; 327rowCounts[(int)TableIndex.NestedClass] = _nestedClassTable.Count; 328rowCounts[(int)TableIndex.Param] = _paramTable.Count; 329rowCounts[(int)TableIndex.PropertyMap] = _propertyMapTable.Count; 330rowCounts[(int)TableIndex.Property] = _propertyTable.Count; 331rowCounts[(int)TableIndex.StandAloneSig] = _standAloneSigTable.Count; 332rowCounts[(int)TableIndex.TypeDef] = _typeDefTable.Count; 333rowCounts[(int)TableIndex.TypeRef] = _typeRefTable.Count; 334rowCounts[(int)TableIndex.TypeSpec] = _typeSpecTable.Count; 336rowCounts[(int)TableIndex.Document] = _documentTable.Count; 337rowCounts[(int)TableIndex.MethodDebugInformation] = _methodDebugInformationTable.Count; 338rowCounts[(int)TableIndex.LocalScope] = _localScopeTable.Count; 339rowCounts[(int)TableIndex.LocalVariable] = _localVariableTable.Count; 340rowCounts[(int)TableIndex.LocalConstant] = _localConstantTable.Count; 341rowCounts[(int)TableIndex.StateMachineMethod] = _stateMachineMethodTable.Count; 342rowCounts[(int)TableIndex.ImportScope] = _importScopeTable.Count; 343rowCounts[(int)TableIndex.CustomDebugInformation] = _customDebugInformationTable.Count; 1476Throw.InvalidOperation_TableNotSorted(TableIndex.ClassLayout); 1487Throw.InvalidOperation_TableNotSorted(TableIndex.FieldLayout); 1499Throw.InvalidOperation_TableNotSorted(TableIndex.FieldRva); 1526Throw.InvalidOperation_TableNotSorted(TableIndex.GenericParam); 1536Throw.InvalidOperation_TableNotSorted(TableIndex.GenericParamConstraint); 1547Throw.InvalidOperation_TableNotSorted(TableIndex.ImplMap); 1558Throw.InvalidOperation_TableNotSorted(TableIndex.InterfaceImpl); 1569Throw.InvalidOperation_TableNotSorted(TableIndex.MethodImpl); 1580Throw.InvalidOperation_TableNotSorted(TableIndex.NestedClass); 1617Throw.InvalidOperation_TableNotSorted(TableIndex.LocalScope); 1627Throw.InvalidOperation_TableNotSorted(TableIndex.StateMachineMethod); 1647if (metadataSizes.IsPresent(TableIndex.Module)) 1652if (metadataSizes.IsPresent(TableIndex.TypeRef)) 1657if (metadataSizes.IsPresent(TableIndex.TypeDef)) 1662if (metadataSizes.IsPresent(TableIndex.Field)) 1667if (metadataSizes.IsPresent(TableIndex.MethodDef)) 1672if (metadataSizes.IsPresent(TableIndex.Param)) 1677if (metadataSizes.IsPresent(TableIndex.InterfaceImpl)) 1682if (metadataSizes.IsPresent(TableIndex.MemberRef)) 1687if (metadataSizes.IsPresent(TableIndex.Constant)) 1692if (metadataSizes.IsPresent(TableIndex.CustomAttribute)) 1697if (metadataSizes.IsPresent(TableIndex.FieldMarshal)) 1702if (metadataSizes.IsPresent(TableIndex.DeclSecurity)) 1707if (metadataSizes.IsPresent(TableIndex.ClassLayout)) 1712if (metadataSizes.IsPresent(TableIndex.FieldLayout)) 1717if (metadataSizes.IsPresent(TableIndex.StandAloneSig)) 1722if (metadataSizes.IsPresent(TableIndex.EventMap)) 1727if (metadataSizes.IsPresent(TableIndex.Event)) 1732if (metadataSizes.IsPresent(TableIndex.PropertyMap)) 1737if (metadataSizes.IsPresent(TableIndex.Property)) 1742if (metadataSizes.IsPresent(TableIndex.MethodSemantics)) 1747if (metadataSizes.IsPresent(TableIndex.MethodImpl)) 1752if (metadataSizes.IsPresent(TableIndex.ModuleRef)) 1757if (metadataSizes.IsPresent(TableIndex.TypeSpec)) 1762if (metadataSizes.IsPresent(TableIndex.ImplMap)) 1767if (metadataSizes.IsPresent(TableIndex.FieldRva)) 1772if (metadataSizes.IsPresent(TableIndex.EncLog)) 1777if (metadataSizes.IsPresent(TableIndex.EncMap)) 1782if (metadataSizes.IsPresent(TableIndex.Assembly)) 1787if (metadataSizes.IsPresent(TableIndex.AssemblyRef)) 1792if (metadataSizes.IsPresent(TableIndex.File)) 1797if (metadataSizes.IsPresent(TableIndex.ExportedType)) 1802if (metadataSizes.IsPresent(TableIndex.ManifestResource)) 1807if (metadataSizes.IsPresent(TableIndex.NestedClass)) 1812if (metadataSizes.IsPresent(TableIndex.GenericParam)) 1817if (metadataSizes.IsPresent(TableIndex.MethodSpec)) 1822if (metadataSizes.IsPresent(TableIndex.GenericParamConstraint)) 1828if (metadataSizes.IsPresent(TableIndex.Document)) 1833if (metadataSizes.IsPresent(TableIndex.MethodDebugInformation)) 1838if (metadataSizes.IsPresent(TableIndex.LocalScope)) 1843if (metadataSizes.IsPresent(TableIndex.LocalVariable)) 1848if (metadataSizes.IsPresent(TableIndex.LocalConstant)) 1853if (metadataSizes.IsPresent(TableIndex.ImportScope)) 1858if (metadataSizes.IsPresent(TableIndex.StateMachineMethod)) 1863if (metadataSizes.IsPresent(TableIndex.CustomDebugInformation)) 1902metadataSizes.IsEncDelta ? MetadataSizes.SortedTypeSystemTables & ~(1UL << (int)TableIndex.CustomAttribute) :
System\Reflection\Metadata\Ecma335\MetadataReaderExtensions.cs (110)
20public static int GetTableRowCount(this MetadataReader reader, TableIndex tableIndex) 40public static int GetTableRowSize(this MetadataReader reader, TableIndex tableIndex) 49TableIndex.Module => reader.ModuleTable.RowSize, 50TableIndex.TypeRef => reader.TypeRefTable.RowSize, 51TableIndex.TypeDef => reader.TypeDefTable.RowSize, 52TableIndex.FieldPtr => reader.FieldPtrTable.RowSize, 53TableIndex.Field => reader.FieldTable.RowSize, 54TableIndex.MethodPtr => reader.MethodPtrTable.RowSize, 55TableIndex.MethodDef => reader.MethodDefTable.RowSize, 56TableIndex.ParamPtr => reader.ParamPtrTable.RowSize, 57TableIndex.Param => reader.ParamTable.RowSize, 58TableIndex.InterfaceImpl => reader.InterfaceImplTable.RowSize, 59TableIndex.MemberRef => reader.MemberRefTable.RowSize, 60TableIndex.Constant => reader.ConstantTable.RowSize, 61TableIndex.CustomAttribute => reader.CustomAttributeTable.RowSize, 62TableIndex.FieldMarshal => reader.FieldMarshalTable.RowSize, 63TableIndex.DeclSecurity => reader.DeclSecurityTable.RowSize, 64TableIndex.ClassLayout => reader.ClassLayoutTable.RowSize, 65TableIndex.FieldLayout => reader.FieldLayoutTable.RowSize, 66TableIndex.StandAloneSig => reader.StandAloneSigTable.RowSize, 67TableIndex.EventMap => reader.EventMapTable.RowSize, 68TableIndex.EventPtr => reader.EventPtrTable.RowSize, 69TableIndex.Event => reader.EventTable.RowSize, 70TableIndex.PropertyMap => reader.PropertyMapTable.RowSize, 71TableIndex.PropertyPtr => reader.PropertyPtrTable.RowSize, 72TableIndex.Property => reader.PropertyTable.RowSize, 73TableIndex.MethodSemantics => reader.MethodSemanticsTable.RowSize, 74TableIndex.MethodImpl => reader.MethodImplTable.RowSize, 75TableIndex.ModuleRef => reader.ModuleRefTable.RowSize, 76TableIndex.TypeSpec => reader.TypeSpecTable.RowSize, 77TableIndex.ImplMap => reader.ImplMapTable.RowSize, 78TableIndex.FieldRva => reader.FieldRvaTable.RowSize, 79TableIndex.EncLog => reader.EncLogTable.RowSize, 80TableIndex.EncMap => reader.EncMapTable.RowSize, 81TableIndex.Assembly => reader.AssemblyTable.RowSize, 82TableIndex.AssemblyProcessor => reader.AssemblyProcessorTable.RowSize, 83TableIndex.AssemblyOS => reader.AssemblyOSTable.RowSize, 84TableIndex.AssemblyRef => reader.AssemblyRefTable.RowSize, 85TableIndex.AssemblyRefProcessor => reader.AssemblyRefProcessorTable.RowSize, 86TableIndex.AssemblyRefOS => reader.AssemblyRefOSTable.RowSize, 87TableIndex.File => reader.FileTable.RowSize, 88TableIndex.ExportedType => reader.ExportedTypeTable.RowSize, 89TableIndex.ManifestResource => reader.ManifestResourceTable.RowSize, 90TableIndex.NestedClass => reader.NestedClassTable.RowSize, 91TableIndex.GenericParam => reader.GenericParamTable.RowSize, 92TableIndex.MethodSpec => reader.MethodSpecTable.RowSize, 93TableIndex.GenericParamConstraint => reader.GenericParamConstraintTable.RowSize, 96TableIndex.Document => reader.DocumentTable.RowSize, 97TableIndex.MethodDebugInformation => reader.MethodDebugInformationTable.RowSize, 98TableIndex.LocalScope => reader.LocalScopeTable.RowSize, 99TableIndex.LocalVariable => reader.LocalVariableTable.RowSize, 100TableIndex.LocalConstant => reader.LocalConstantTable.RowSize, 101TableIndex.ImportScope => reader.ImportScopeTable.RowSize, 102TableIndex.StateMachineMethod => reader.StateMachineMethodTable.RowSize, 103TableIndex.CustomDebugInformation => reader.CustomDebugInformationTable.RowSize, 114public static unsafe int GetTableMetadataOffset(this MetadataReader reader, TableIndex tableIndex) 124private static MemoryBlock GetTableMetadataBlock(this MetadataReader reader, TableIndex tableIndex) 130TableIndex.Module => reader.ModuleTable.Block, 131TableIndex.TypeRef => reader.TypeRefTable.Block, 132TableIndex.TypeDef => reader.TypeDefTable.Block, 133TableIndex.FieldPtr => reader.FieldPtrTable.Block, 134TableIndex.Field => reader.FieldTable.Block, 135TableIndex.MethodPtr => reader.MethodPtrTable.Block, 136TableIndex.MethodDef => reader.MethodDefTable.Block, 137TableIndex.ParamPtr => reader.ParamPtrTable.Block, 138TableIndex.Param => reader.ParamTable.Block, 139TableIndex.InterfaceImpl => reader.InterfaceImplTable.Block, 140TableIndex.MemberRef => reader.MemberRefTable.Block, 141TableIndex.Constant => reader.ConstantTable.Block, 142TableIndex.CustomAttribute => reader.CustomAttributeTable.Block, 143TableIndex.FieldMarshal => reader.FieldMarshalTable.Block, 144TableIndex.DeclSecurity => reader.DeclSecurityTable.Block, 145TableIndex.ClassLayout => reader.ClassLayoutTable.Block, 146TableIndex.FieldLayout => reader.FieldLayoutTable.Block, 147TableIndex.StandAloneSig => reader.StandAloneSigTable.Block, 148TableIndex.EventMap => reader.EventMapTable.Block, 149TableIndex.EventPtr => reader.EventPtrTable.Block, 150TableIndex.Event => reader.EventTable.Block, 151TableIndex.PropertyMap => reader.PropertyMapTable.Block, 152TableIndex.PropertyPtr => reader.PropertyPtrTable.Block, 153TableIndex.Property => reader.PropertyTable.Block, 154TableIndex.MethodSemantics => reader.MethodSemanticsTable.Block, 155TableIndex.MethodImpl => reader.MethodImplTable.Block, 156TableIndex.ModuleRef => reader.ModuleRefTable.Block, 157TableIndex.TypeSpec => reader.TypeSpecTable.Block, 158TableIndex.ImplMap => reader.ImplMapTable.Block, 159TableIndex.FieldRva => reader.FieldRvaTable.Block, 160TableIndex.EncLog => reader.EncLogTable.Block, 161TableIndex.EncMap => reader.EncMapTable.Block, 162TableIndex.Assembly => reader.AssemblyTable.Block, 163TableIndex.AssemblyProcessor => reader.AssemblyProcessorTable.Block, 164TableIndex.AssemblyOS => reader.AssemblyOSTable.Block, 165TableIndex.AssemblyRef => reader.AssemblyRefTable.Block, 166TableIndex.AssemblyRefProcessor => reader.AssemblyRefProcessorTable.Block, 167TableIndex.AssemblyRefOS => reader.AssemblyRefOSTable.Block, 168TableIndex.File => reader.FileTable.Block, 169TableIndex.ExportedType => reader.ExportedTypeTable.Block, 170TableIndex.ManifestResource => reader.ManifestResourceTable.Block, 171TableIndex.NestedClass => reader.NestedClassTable.Block, 172TableIndex.GenericParam => reader.GenericParamTable.Block, 173TableIndex.MethodSpec => reader.MethodSpecTable.Block, 174TableIndex.GenericParamConstraint => reader.GenericParamConstraintTable.Block, 177TableIndex.Document => reader.DocumentTable.Block, 178TableIndex.MethodDebugInformation => reader.MethodDebugInformationTable.Block, 179TableIndex.LocalScope => reader.LocalScopeTable.Block, 180TableIndex.LocalVariable => reader.LocalVariableTable.Block, 181TableIndex.LocalConstant => reader.LocalConstantTable.Block, 182TableIndex.ImportScope => reader.ImportScopeTable.Block, 183TableIndex.StateMachineMethod => reader.StateMachineMethodTable.Block, 184TableIndex.CustomDebugInformation => reader.CustomDebugInformationTable.Block,
System\Reflection\Metadata\Ecma335\MetadataSizes.cs (170)
241UL << (int)TableIndex.InterfaceImpl | 251UL << (int)TableIndex.Constant | 261UL << (int)TableIndex.CustomAttribute | 271UL << (int)TableIndex.FieldMarshal | 281UL << (int)TableIndex.DeclSecurity | 291UL << (int)TableIndex.ClassLayout | 301UL << (int)TableIndex.FieldLayout | 311UL << (int)TableIndex.MethodSemantics | 321UL << (int)TableIndex.MethodImpl | 331UL << (int)TableIndex.ImplMap | 341UL << (int)TableIndex.FieldRva | 351UL << (int)TableIndex.NestedClass | 361UL << (int)TableIndex.GenericParam | 371UL << (int)TableIndex.GenericParamConstraint; 401UL << (int)TableIndex.LocalScope | 411UL << (int)TableIndex.StateMachineMethod | 421UL << (int)TableIndex.CustomDebugInformation; 145bool isEncDelta = IsPresent(TableIndex.EncLog) || IsPresent(TableIndex.EncMap); 158CustomAttributeTypeCodedIndexIsSmall = IsReferenceSmall(3, TableIndex.MethodDef, TableIndex.MemberRef); 159DeclSecurityCodedIndexIsSmall = IsReferenceSmall(2, TableIndex.MethodDef, TableIndex.TypeDef); 160EventDefReferenceIsSmall = IsReferenceSmall(0, TableIndex.Event); 161FieldDefReferenceIsSmall = IsReferenceSmall(0, TableIndex.Field); 162GenericParamReferenceIsSmall = IsReferenceSmall(0, TableIndex.GenericParam); 163HasConstantCodedIndexIsSmall = IsReferenceSmall(2, TableIndex.Field, TableIndex.Param, TableIndex.Property); 166TableIndex.MethodDef, 167TableIndex.Field, 168TableIndex.TypeRef, 169TableIndex.TypeDef, 170TableIndex.Param, 171TableIndex.InterfaceImpl, 172TableIndex.MemberRef, 173TableIndex.Module, 174TableIndex.DeclSecurity, 175TableIndex.Property, 176TableIndex.Event, 177TableIndex.StandAloneSig, 178TableIndex.ModuleRef, 179TableIndex.TypeSpec, 180TableIndex.Assembly, 181TableIndex.AssemblyRef, 182TableIndex.File, 183TableIndex.ExportedType, 184TableIndex.ManifestResource, 185TableIndex.GenericParam, 186TableIndex.GenericParamConstraint, 187TableIndex.MethodSpec); 189HasFieldMarshalCodedIndexIsSmall = IsReferenceSmall(1, TableIndex.Field, TableIndex.Param); 190HasSemanticsCodedIndexIsSmall = IsReferenceSmall(1, TableIndex.Event, TableIndex.Property); 191ImplementationCodedIndexIsSmall = IsReferenceSmall(2, TableIndex.File, TableIndex.AssemblyRef, TableIndex.ExportedType); 192MemberForwardedCodedIndexIsSmall = IsReferenceSmall(1, TableIndex.Field, TableIndex.MethodDef); 193MemberRefParentCodedIndexIsSmall = IsReferenceSmall(3, TableIndex.TypeDef, TableIndex.TypeRef, TableIndex.ModuleRef, TableIndex.MethodDef, TableIndex.TypeSpec); 194MethodDefReferenceIsSmall = IsReferenceSmall(0, TableIndex.MethodDef); 195MethodDefOrRefCodedIndexIsSmall = IsReferenceSmall(1, TableIndex.MethodDef, TableIndex.MemberRef); 196ModuleRefReferenceIsSmall = IsReferenceSmall(0, TableIndex.ModuleRef); 197ParameterReferenceIsSmall = IsReferenceSmall(0, TableIndex.Param); 198PropertyDefReferenceIsSmall = IsReferenceSmall(0, TableIndex.Property); 199ResolutionScopeCodedIndexIsSmall = IsReferenceSmall(2, TableIndex.Module, TableIndex.ModuleRef, TableIndex.AssemblyRef, TableIndex.TypeRef); 200TypeDefReferenceIsSmall = IsReferenceSmall(0, TableIndex.TypeDef); 201TypeDefOrRefCodedIndexIsSmall = IsReferenceSmall(2, TableIndex.TypeDef, TableIndex.TypeRef, TableIndex.TypeSpec); 202TypeOrMethodDefCodedIndexIsSmall = IsReferenceSmall(1, TableIndex.TypeDef, TableIndex.MethodDef); 204DocumentReferenceIsSmall = IsReferenceSmall(0, TableIndex.Document); 205LocalVariableReferenceIsSmall = IsReferenceSmall(0, TableIndex.LocalVariable); 206LocalConstantReferenceIsSmall = IsReferenceSmall(0, TableIndex.LocalConstant); 207ImportScopeReferenceIsSmall = IsReferenceSmall(0, TableIndex.ImportScope); 210TableIndex.MethodDef, 211TableIndex.Field, 212TableIndex.TypeRef, 213TableIndex.TypeDef, 214TableIndex.Param, 215TableIndex.InterfaceImpl, 216TableIndex.MemberRef, 217TableIndex.Module, 218TableIndex.DeclSecurity, 219TableIndex.Property, 220TableIndex.Event, 221TableIndex.StandAloneSig, 222TableIndex.ModuleRef, 223TableIndex.TypeSpec, 224TableIndex.Assembly, 225TableIndex.AssemblyRef, 226TableIndex.File, 227TableIndex.ExportedType, 228TableIndex.ManifestResource, 229TableIndex.GenericParam, 230TableIndex.GenericParamConstraint, 231TableIndex.MethodSpec, 232TableIndex.Document, 233TableIndex.LocalScope, 234TableIndex.LocalVariable, 235TableIndex.LocalConstant, 236TableIndex.ImportScope); 273size += GetTableSize(TableIndex.Module, 2 + 3 * guidReferenceSize + stringReferenceSize); 274size += GetTableSize(TableIndex.TypeRef, resolutionScopeCodedIndexSize + stringReferenceSize + stringReferenceSize); 275size += GetTableSize(TableIndex.TypeDef, 4 + stringReferenceSize + stringReferenceSize + typeDefOrRefCodedIndexSize + fieldDefReferenceSize + methodDefReferenceSize); 276Debug.Assert(rowCounts[(int)TableIndex.FieldPtr] == 0); 277size += GetTableSize(TableIndex.Field, 2 + stringReferenceSize + blobReferenceSize); 278Debug.Assert(rowCounts[(int)TableIndex.MethodPtr] == 0); 279size += GetTableSize(TableIndex.MethodDef, 8 + stringReferenceSize + blobReferenceSize + parameterReferenceSize); 280Debug.Assert(rowCounts[(int)TableIndex.ParamPtr] == 0); 281size += GetTableSize(TableIndex.Param, 4 + stringReferenceSize); 282size += GetTableSize(TableIndex.InterfaceImpl, typeDefReferenceSize + typeDefOrRefCodedIndexSize); 283size += GetTableSize(TableIndex.MemberRef, memberRefParentCodedIndexSize + stringReferenceSize + blobReferenceSize); 284size += GetTableSize(TableIndex.Constant, 2 + hasConstantCodedIndexSize + blobReferenceSize); 285size += GetTableSize(TableIndex.CustomAttribute, hasCustomAttributeCodedIndexSize + customAttributeTypeCodedIndexSize + blobReferenceSize); 286size += GetTableSize(TableIndex.FieldMarshal, hasFieldMarshalCodedIndexSize + blobReferenceSize); 287size += GetTableSize(TableIndex.DeclSecurity, 2 + declSecurityCodedIndexSize + blobReferenceSize); 288size += GetTableSize(TableIndex.ClassLayout, 6 + typeDefReferenceSize); 289size += GetTableSize(TableIndex.FieldLayout, 4 + fieldDefReferenceSize); 290size += GetTableSize(TableIndex.StandAloneSig, blobReferenceSize); 291size += GetTableSize(TableIndex.EventMap, typeDefReferenceSize + eventDefReferenceSize); 292Debug.Assert(rowCounts[(int)TableIndex.EventPtr] == 0); 293size += GetTableSize(TableIndex.Event, 2 + stringReferenceSize + typeDefOrRefCodedIndexSize); 294size += GetTableSize(TableIndex.PropertyMap, typeDefReferenceSize + propertyDefReferenceSize); 295Debug.Assert(rowCounts[(int)TableIndex.PropertyPtr] == 0); 296size += GetTableSize(TableIndex.Property, 2 + stringReferenceSize + blobReferenceSize); 297size += GetTableSize(TableIndex.MethodSemantics, 2 + methodDefReferenceSize + hasSemanticsCodedIndexSize); 298size += GetTableSize(TableIndex.MethodImpl, typeDefReferenceSize + methodDefOrRefCodedIndexSize + methodDefOrRefCodedIndexSize); 299size += GetTableSize(TableIndex.ModuleRef, stringReferenceSize); 300size += GetTableSize(TableIndex.TypeSpec, blobReferenceSize); 301size += GetTableSize(TableIndex.ImplMap, 2 + memberForwardedCodedIndexSize + stringReferenceSize + moduleRefReferenceSize); 302size += GetTableSize(TableIndex.FieldRva, 4 + fieldDefReferenceSize); 303size += GetTableSize(TableIndex.EncLog, 8); 304size += GetTableSize(TableIndex.EncMap, 4); 305size += GetTableSize(TableIndex.Assembly, 16 + blobReferenceSize + stringReferenceSize + stringReferenceSize); 306Debug.Assert(rowCounts[(int)TableIndex.AssemblyProcessor] == 0); 307Debug.Assert(rowCounts[(int)TableIndex.AssemblyOS] == 0); 308size += GetTableSize(TableIndex.AssemblyRef, 12 + blobReferenceSize + stringReferenceSize + stringReferenceSize + blobReferenceSize); 309Debug.Assert(rowCounts[(int)TableIndex.AssemblyRefProcessor] == 0); 310Debug.Assert(rowCounts[(int)TableIndex.AssemblyRefOS] == 0); 311size += GetTableSize(TableIndex.File, 4 + stringReferenceSize + blobReferenceSize); 312size += GetTableSize(TableIndex.ExportedType, 8 + stringReferenceSize + stringReferenceSize + implementationCodedIndexSize); 313size += GetTableSize(TableIndex.ManifestResource, 8 + stringReferenceSize + implementationCodedIndexSize); 314size += GetTableSize(TableIndex.NestedClass, typeDefReferenceSize + typeDefReferenceSize); 315size += GetTableSize(TableIndex.GenericParam, 4 + typeOrMethodDefCodedIndexSize + stringReferenceSize); 316size += GetTableSize(TableIndex.MethodSpec, methodDefOrRefCodedIndexSize + blobReferenceSize); 317size += GetTableSize(TableIndex.GenericParamConstraint, genericParamReferenceSize + typeDefOrRefCodedIndexSize); 319size += GetTableSize(TableIndex.Document, blobReferenceSize + guidReferenceSize + blobReferenceSize + guidReferenceSize); 320size += GetTableSize(TableIndex.MethodDebugInformation, documentReferenceSize + blobReferenceSize); 321size += GetTableSize(TableIndex.LocalScope, methodDefReferenceSize + importScopeReferenceSize + localVariableReferenceSize + localConstantReferenceSize + 4 + 4); 322size += GetTableSize(TableIndex.LocalVariable, 2 + 2 + stringReferenceSize); 323size += GetTableSize(TableIndex.LocalConstant, stringReferenceSize + blobReferenceSize); 324size += GetTableSize(TableIndex.ImportScope, importScopeReferenceSize + blobReferenceSize); 325size += GetTableSize(TableIndex.StateMachineMethod, methodDefReferenceSize + methodDefReferenceSize); 326size += GetTableSize(TableIndex.CustomDebugInformation, hasCustomDebugInformationCodedIndexSize + guidReferenceSize + blobReferenceSize); 346internal bool IsPresent(TableIndex table) => (PresentTablesMask & (1UL << (int)table)) != 0; 464private int GetTableSize(TableIndex index, int rowSize) 469private bool IsReferenceSmall(int tagBitSize, params TableIndex[] tables) 475private bool ReferenceFits(int bitCount, TableIndex[] tables) 478foreach (TableIndex table in tables)
System\Reflection\Metadata\Ecma335\MetadataTokens.cs (5)
228/// Gets the <see cref="TableIndex"/> of the table corresponding to the specified <see cref="HandleKind"/>. 233public static bool TryGetTableIndex(HandleKind type, out TableIndex index) 239index = (TableIndex)type; 318public static EntityHandle EntityHandle(TableIndex tableIndex, int rowNumber) 328public static EntityHandle Handle(TableIndex tableIndex, int rowNumber)
System\Reflection\Metadata\Ecma335\PortablePdbBuilder.cs (1)
35/// Each slot in the array corresponds to a table (<see cref="TableIndex"/>).
System\Reflection\Metadata\Internal\MetadataFlags.cs (86)
18Module = 1UL << TableIndex.Module, 19TypeRef = 1UL << TableIndex.TypeRef, 20TypeDef = 1UL << TableIndex.TypeDef, 21FieldPtr = 1UL << TableIndex.FieldPtr, 22Field = 1UL << TableIndex.Field, 23MethodPtr = 1UL << TableIndex.MethodPtr, 24MethodDef = 1UL << TableIndex.MethodDef, 25ParamPtr = 1UL << TableIndex.ParamPtr, 26Param = 1UL << TableIndex.Param, 27InterfaceImpl = 1UL << TableIndex.InterfaceImpl, 28MemberRef = 1UL << TableIndex.MemberRef, 29Constant = 1UL << TableIndex.Constant, 30CustomAttribute = 1UL << TableIndex.CustomAttribute, 31FieldMarshal = 1UL << TableIndex.FieldMarshal, 32DeclSecurity = 1UL << TableIndex.DeclSecurity, 33ClassLayout = 1UL << TableIndex.ClassLayout, 34FieldLayout = 1UL << TableIndex.FieldLayout, 35StandAloneSig = 1UL << TableIndex.StandAloneSig, 36EventMap = 1UL << TableIndex.EventMap, 37EventPtr = 1UL << TableIndex.EventPtr, 38Event = 1UL << TableIndex.Event, 39PropertyMap = 1UL << TableIndex.PropertyMap, 40PropertyPtr = 1UL << TableIndex.PropertyPtr, 41Property = 1UL << TableIndex.Property, 42MethodSemantics = 1UL << TableIndex.MethodSemantics, 43MethodImpl = 1UL << TableIndex.MethodImpl, 44ModuleRef = 1UL << TableIndex.ModuleRef, 45TypeSpec = 1UL << TableIndex.TypeSpec, 46ImplMap = 1UL << TableIndex.ImplMap, 47FieldRva = 1UL << TableIndex.FieldRva, 48EnCLog = 1UL << TableIndex.EncLog, 49EnCMap = 1UL << TableIndex.EncMap, 50Assembly = 1UL << TableIndex.Assembly, 53AssemblyRef = 1UL << TableIndex.AssemblyRef, 56File = 1UL << TableIndex.File, 57ExportedType = 1UL << TableIndex.ExportedType, 58ManifestResource = 1UL << TableIndex.ManifestResource, 59NestedClass = 1UL << TableIndex.NestedClass, 60GenericParam = 1UL << TableIndex.GenericParam, 61MethodSpec = 1UL << TableIndex.MethodSpec, 62GenericParamConstraint = 1UL << TableIndex.GenericParamConstraint, 64Document = 1UL << TableIndex.Document, 65MethodDebugInformation = 1UL << TableIndex.MethodDebugInformation, 66LocalScope = 1UL << TableIndex.LocalScope, 67LocalVariable = 1UL << TableIndex.LocalVariable, 68LocalConstant = 1UL << TableIndex.LocalConstant, 69ImportScope = 1UL << TableIndex.ImportScope, 70StateMachineMethod = 1UL << TableIndex.StateMachineMethod, 71CustomDebugInformation = 1UL << TableIndex.CustomDebugInformation, 203internal const uint Module = (uint)TableIndex.Module; 204internal const uint TypeRef = (uint)TableIndex.TypeRef; 205internal const uint TypeDef = (uint)TableIndex.TypeDef; 206internal const uint FieldDef = (uint)TableIndex.Field; 207internal const uint MethodDef = (uint)TableIndex.MethodDef; 208internal const uint ParamDef = (uint)TableIndex.Param; 209internal const uint InterfaceImpl = (uint)TableIndex.InterfaceImpl; 210internal const uint MemberRef = (uint)TableIndex.MemberRef; 211internal const uint Constant = (uint)TableIndex.Constant; 212internal const uint CustomAttribute = (uint)TableIndex.CustomAttribute; 213internal const uint DeclSecurity = (uint)TableIndex.DeclSecurity; 214internal const uint Signature = (uint)TableIndex.StandAloneSig; 215internal const uint EventMap = (uint)TableIndex.EventMap; 216internal const uint Event = (uint)TableIndex.Event; 217internal const uint PropertyMap = (uint)TableIndex.PropertyMap; 218internal const uint Property = (uint)TableIndex.Property; 219internal const uint MethodSemantics = (uint)TableIndex.MethodSemantics; 220internal const uint MethodImpl = (uint)TableIndex.MethodImpl; 221internal const uint ModuleRef = (uint)TableIndex.ModuleRef; 222internal const uint TypeSpec = (uint)TableIndex.TypeSpec; 223internal const uint Assembly = (uint)TableIndex.Assembly; 224internal const uint AssemblyRef = (uint)TableIndex.AssemblyRef; 225internal const uint File = (uint)TableIndex.File; 226internal const uint ExportedType = (uint)TableIndex.ExportedType; 227internal const uint ManifestResource = (uint)TableIndex.ManifestResource; 228internal const uint NestedClass = (uint)TableIndex.NestedClass; 229internal const uint GenericParam = (uint)TableIndex.GenericParam; 230internal const uint MethodSpec = (uint)TableIndex.MethodSpec; 231internal const uint GenericParamConstraint = (uint)TableIndex.GenericParamConstraint; 234internal const uint Document = (uint)TableIndex.Document; 235internal const uint MethodDebugInformation = (uint)TableIndex.MethodDebugInformation; 236internal const uint LocalScope = (uint)TableIndex.LocalScope; 237internal const uint LocalVariable = (uint)TableIndex.LocalVariable; 238internal const uint LocalConstant = (uint)TableIndex.LocalConstant; 239internal const uint ImportScope = (uint)TableIndex.ImportScope; 240internal const uint AsyncMethod = (uint)TableIndex.StateMachineMethod; 241internal const uint CustomDebugInformation = (uint)TableIndex.CustomDebugInformation;
System\Reflection\Metadata\Internal\Tables.cs (13)
581Throw.TableNotSorted(TableIndex.InterfaceImpl); 708Throw.TableNotSorted(TableIndex.Constant); 889Throw.TableNotSorted(TableIndex.FieldMarshal); 955Throw.TableNotSorted(TableIndex.DeclSecurity); 1035Throw.TableNotSorted(TableIndex.ClassLayout); 1099Throw.TableNotSorted(TableIndex.FieldLayout); 1503Throw.TableNotSorted(TableIndex.MethodSemantics); 1600Throw.TableNotSorted(TableIndex.MethodImpl); 1749Throw.TableNotSorted(TableIndex.ImplMap); 1818Throw.TableNotSorted(TableIndex.FieldRva); 2386Throw.TableNotSorted(TableIndex.NestedClass); 2458Throw.TableNotSorted(TableIndex.GenericParam); 2599Throw.TableNotSorted(TableIndex.GenericParamConstraint);
System\Reflection\Metadata\MetadataReader.cs (91)
372/// A row count for each possible table. May be indexed by <see cref="TableIndex"/>. 563private int GetReferenceSize(int[] rowCounts, TableIndex index) 577int fieldRefSizeSorted = GetReferenceSize(rowCounts, TableIndex.FieldPtr) > SmallIndexSize ? LargeIndexSize : GetReferenceSize(rowCounts, TableIndex.Field); 578int methodRefSizeSorted = GetReferenceSize(rowCounts, TableIndex.MethodPtr) > SmallIndexSize ? LargeIndexSize : GetReferenceSize(rowCounts, TableIndex.MethodDef); 579int paramRefSizeSorted = GetReferenceSize(rowCounts, TableIndex.ParamPtr) > SmallIndexSize ? LargeIndexSize : GetReferenceSize(rowCounts, TableIndex.Param); 580int eventRefSizeSorted = GetReferenceSize(rowCounts, TableIndex.EventPtr) > SmallIndexSize ? LargeIndexSize : GetReferenceSize(rowCounts, TableIndex.Event); 581int propertyRefSizeSorted = GetReferenceSize(rowCounts, TableIndex.PropertyPtr) > SmallIndexSize ? LargeIndexSize : GetReferenceSize(rowCounts, TableIndex.Property); 605this.ModuleTable = new ModuleTableReader(rowCounts[(int)TableIndex.Module], stringHeapRefSize, guidHeapRefSize, metadataTablesMemoryBlock, totalRequiredSize); 608this.TypeRefTable = new TypeRefTableReader(rowCounts[(int)TableIndex.TypeRef], resolutionScopeRefSize, stringHeapRefSize, metadataTablesMemoryBlock, totalRequiredSize); 611this.TypeDefTable = new TypeDefTableReader(rowCounts[(int)TableIndex.TypeDef], fieldRefSizeSorted, methodRefSizeSorted, typeDefOrRefRefSize, stringHeapRefSize, metadataTablesMemoryBlock, totalRequiredSize); 614this.FieldPtrTable = new FieldPtrTableReader(rowCounts[(int)TableIndex.FieldPtr], GetReferenceSize(rowCounts, TableIndex.Field), metadataTablesMemoryBlock, totalRequiredSize); 617this.FieldTable = new FieldTableReader(rowCounts[(int)TableIndex.Field], stringHeapRefSize, blobHeapRefSize, metadataTablesMemoryBlock, totalRequiredSize); 620this.MethodPtrTable = new MethodPtrTableReader(rowCounts[(int)TableIndex.MethodPtr], GetReferenceSize(rowCounts, TableIndex.MethodDef), metadataTablesMemoryBlock, totalRequiredSize); 623this.MethodDefTable = new MethodTableReader(rowCounts[(int)TableIndex.MethodDef], paramRefSizeSorted, stringHeapRefSize, blobHeapRefSize, metadataTablesMemoryBlock, totalRequiredSize); 626this.ParamPtrTable = new ParamPtrTableReader(rowCounts[(int)TableIndex.ParamPtr], GetReferenceSize(rowCounts, TableIndex.Param), metadataTablesMemoryBlock, totalRequiredSize); 629this.ParamTable = new ParamTableReader(rowCounts[(int)TableIndex.Param], stringHeapRefSize, metadataTablesMemoryBlock, totalRequiredSize); 632this.InterfaceImplTable = new InterfaceImplTableReader(rowCounts[(int)TableIndex.InterfaceImpl], IsDeclaredSorted(TableMask.InterfaceImpl), GetReferenceSize(rowCounts, TableIndex.TypeDef), typeDefOrRefRefSize, metadataTablesMemoryBlock, totalRequiredSize); 635this.MemberRefTable = new MemberRefTableReader(rowCounts[(int)TableIndex.MemberRef], memberRefParentRefSize, stringHeapRefSize, blobHeapRefSize, metadataTablesMemoryBlock, totalRequiredSize); 638this.ConstantTable = new ConstantTableReader(rowCounts[(int)TableIndex.Constant], IsDeclaredSorted(TableMask.Constant), hasConstantRefSize, blobHeapRefSize, metadataTablesMemoryBlock, totalRequiredSize); 641this.CustomAttributeTable = new CustomAttributeTableReader(rowCounts[(int)TableIndex.CustomAttribute], 650this.FieldMarshalTable = new FieldMarshalTableReader(rowCounts[(int)TableIndex.FieldMarshal], IsDeclaredSorted(TableMask.FieldMarshal), hasFieldMarshalRefSize, blobHeapRefSize, metadataTablesMemoryBlock, totalRequiredSize); 653this.DeclSecurityTable = new DeclSecurityTableReader(rowCounts[(int)TableIndex.DeclSecurity], IsDeclaredSorted(TableMask.DeclSecurity), hasDeclSecurityRefSize, blobHeapRefSize, metadataTablesMemoryBlock, totalRequiredSize); 656this.ClassLayoutTable = new ClassLayoutTableReader(rowCounts[(int)TableIndex.ClassLayout], IsDeclaredSorted(TableMask.ClassLayout), GetReferenceSize(rowCounts, TableIndex.TypeDef), metadataTablesMemoryBlock, totalRequiredSize); 659this.FieldLayoutTable = new FieldLayoutTableReader(rowCounts[(int)TableIndex.FieldLayout], IsDeclaredSorted(TableMask.FieldLayout), GetReferenceSize(rowCounts, TableIndex.Field), metadataTablesMemoryBlock, totalRequiredSize); 662this.StandAloneSigTable = new StandAloneSigTableReader(rowCounts[(int)TableIndex.StandAloneSig], blobHeapRefSize, metadataTablesMemoryBlock, totalRequiredSize); 665this.EventMapTable = new EventMapTableReader(rowCounts[(int)TableIndex.EventMap], GetReferenceSize(rowCounts, TableIndex.TypeDef), eventRefSizeSorted, metadataTablesMemoryBlock, totalRequiredSize); 668this.EventPtrTable = new EventPtrTableReader(rowCounts[(int)TableIndex.EventPtr], GetReferenceSize(rowCounts, TableIndex.Event), metadataTablesMemoryBlock, totalRequiredSize); 671this.EventTable = new EventTableReader(rowCounts[(int)TableIndex.Event], typeDefOrRefRefSize, stringHeapRefSize, metadataTablesMemoryBlock, totalRequiredSize); 674this.PropertyMapTable = new PropertyMapTableReader(rowCounts[(int)TableIndex.PropertyMap], GetReferenceSize(rowCounts, TableIndex.TypeDef), propertyRefSizeSorted, metadataTablesMemoryBlock, totalRequiredSize); 677this.PropertyPtrTable = new PropertyPtrTableReader(rowCounts[(int)TableIndex.PropertyPtr], GetReferenceSize(rowCounts, TableIndex.Property), metadataTablesMemoryBlock, totalRequiredSize); 680this.PropertyTable = new PropertyTableReader(rowCounts[(int)TableIndex.Property], stringHeapRefSize, blobHeapRefSize, metadataTablesMemoryBlock, totalRequiredSize); 683this.MethodSemanticsTable = new MethodSemanticsTableReader(rowCounts[(int)TableIndex.MethodSemantics], IsDeclaredSorted(TableMask.MethodSemantics), GetReferenceSize(rowCounts, TableIndex.MethodDef), hasSemanticsRefSize, metadataTablesMemoryBlock, totalRequiredSize); 686this.MethodImplTable = new MethodImplTableReader(rowCounts[(int)TableIndex.MethodImpl], IsDeclaredSorted(TableMask.MethodImpl), GetReferenceSize(rowCounts, TableIndex.TypeDef), methodDefOrRefRefSize, metadataTablesMemoryBlock, totalRequiredSize); 689this.ModuleRefTable = new ModuleRefTableReader(rowCounts[(int)TableIndex.ModuleRef], stringHeapRefSize, metadataTablesMemoryBlock, totalRequiredSize); 692this.TypeSpecTable = new TypeSpecTableReader(rowCounts[(int)TableIndex.TypeSpec], blobHeapRefSize, metadataTablesMemoryBlock, totalRequiredSize); 695this.ImplMapTable = new ImplMapTableReader(rowCounts[(int)TableIndex.ImplMap], IsDeclaredSorted(TableMask.ImplMap), GetReferenceSize(rowCounts, TableIndex.ModuleRef), memberForwardedRefSize, stringHeapRefSize, metadataTablesMemoryBlock, totalRequiredSize); 698this.FieldRvaTable = new FieldRVATableReader(rowCounts[(int)TableIndex.FieldRva], IsDeclaredSorted(TableMask.FieldRva), GetReferenceSize(rowCounts, TableIndex.Field), metadataTablesMemoryBlock, totalRequiredSize); 701this.EncLogTable = new EnCLogTableReader(rowCounts[(int)TableIndex.EncLog], metadataTablesMemoryBlock, totalRequiredSize, _metadataStreamKind); 704this.EncMapTable = new EnCMapTableReader(rowCounts[(int)TableIndex.EncMap], metadataTablesMemoryBlock, totalRequiredSize); 707this.AssemblyTable = new AssemblyTableReader(rowCounts[(int)TableIndex.Assembly], stringHeapRefSize, blobHeapRefSize, metadataTablesMemoryBlock, totalRequiredSize); 710this.AssemblyProcessorTable = new AssemblyProcessorTableReader(rowCounts[(int)TableIndex.AssemblyProcessor], metadataTablesMemoryBlock, totalRequiredSize); 713this.AssemblyOSTable = new AssemblyOSTableReader(rowCounts[(int)TableIndex.AssemblyOS], metadataTablesMemoryBlock, totalRequiredSize); 716this.AssemblyRefTable = new AssemblyRefTableReader(rowCounts[(int)TableIndex.AssemblyRef], stringHeapRefSize, blobHeapRefSize, metadataTablesMemoryBlock, totalRequiredSize, _metadataKind); 719this.AssemblyRefProcessorTable = new AssemblyRefProcessorTableReader(rowCounts[(int)TableIndex.AssemblyRefProcessor], GetReferenceSize(rowCounts, TableIndex.AssemblyRef), metadataTablesMemoryBlock, totalRequiredSize); 722this.AssemblyRefOSTable = new AssemblyRefOSTableReader(rowCounts[(int)TableIndex.AssemblyRefOS], GetReferenceSize(rowCounts, TableIndex.AssemblyRef), metadataTablesMemoryBlock, totalRequiredSize); 725this.FileTable = new FileTableReader(rowCounts[(int)TableIndex.File], stringHeapRefSize, blobHeapRefSize, metadataTablesMemoryBlock, totalRequiredSize); 728this.ExportedTypeTable = new ExportedTypeTableReader(rowCounts[(int)TableIndex.ExportedType], implementationRefSize, stringHeapRefSize, metadataTablesMemoryBlock, totalRequiredSize); 731this.ManifestResourceTable = new ManifestResourceTableReader(rowCounts[(int)TableIndex.ManifestResource], implementationRefSize, stringHeapRefSize, metadataTablesMemoryBlock, totalRequiredSize); 734this.NestedClassTable = new NestedClassTableReader(rowCounts[(int)TableIndex.NestedClass], IsDeclaredSorted(TableMask.NestedClass), GetReferenceSize(rowCounts, TableIndex.TypeDef), metadataTablesMemoryBlock, totalRequiredSize); 737this.GenericParamTable = new GenericParamTableReader(rowCounts[(int)TableIndex.GenericParam], IsDeclaredSorted(TableMask.GenericParam), typeOrMethodDefRefSize, stringHeapRefSize, metadataTablesMemoryBlock, totalRequiredSize); 740this.MethodSpecTable = new MethodSpecTableReader(rowCounts[(int)TableIndex.MethodSpec], methodDefOrRefRefSize, blobHeapRefSize, metadataTablesMemoryBlock, totalRequiredSize); 743this.GenericParamConstraintTable = new GenericParamConstraintTableReader(rowCounts[(int)TableIndex.GenericParamConstraint], IsDeclaredSorted(TableMask.GenericParamConstraint), GetReferenceSize(rowCounts, TableIndex.GenericParam), typeDefOrRefRefSize, metadataTablesMemoryBlock, totalRequiredSize); 750var combinedRowCounts = (externalRowCountsOpt != null) ? CombineRowCounts(rowCounts, externalRowCountsOpt, firstLocalTableIndex: TableIndex.Document) : rowCounts; 752int methodRefSizeCombined = GetReferenceSize(combinedRowCounts, TableIndex.MethodDef); 755this.DocumentTable = new DocumentTableReader(rowCounts[(int)TableIndex.Document], guidHeapRefSize, blobHeapRefSize, metadataTablesMemoryBlock, totalRequiredSize); 758this.MethodDebugInformationTable = new MethodDebugInformationTableReader(rowCounts[(int)TableIndex.MethodDebugInformation], GetReferenceSize(rowCounts, TableIndex.Document), blobHeapRefSize, metadataTablesMemoryBlock, totalRequiredSize); 761this.LocalScopeTable = new LocalScopeTableReader(rowCounts[(int)TableIndex.LocalScope], IsDeclaredSorted(TableMask.LocalScope), methodRefSizeCombined, GetReferenceSize(rowCounts, TableIndex.ImportScope), GetReferenceSize(rowCounts, TableIndex.LocalVariable), GetReferenceSize(rowCounts, TableIndex.LocalConstant), metadataTablesMemoryBlock, totalRequiredSize); 764this.LocalVariableTable = new LocalVariableTableReader(rowCounts[(int)TableIndex.LocalVariable], stringHeapRefSize, metadataTablesMemoryBlock, totalRequiredSize); 767this.LocalConstantTable = new LocalConstantTableReader(rowCounts[(int)TableIndex.LocalConstant], stringHeapRefSize, blobHeapRefSize, metadataTablesMemoryBlock, totalRequiredSize); 770this.ImportScopeTable = new ImportScopeTableReader(rowCounts[(int)TableIndex.ImportScope], GetReferenceSize(rowCounts, TableIndex.ImportScope), blobHeapRefSize, metadataTablesMemoryBlock, totalRequiredSize); 773this.StateMachineMethodTable = new StateMachineMethodTableReader(rowCounts[(int)TableIndex.StateMachineMethod], IsDeclaredSorted(TableMask.StateMachineMethod), methodRefSizeCombined, metadataTablesMemoryBlock, totalRequiredSize); 776this.CustomDebugInformationTable = new CustomDebugInformationTableReader(rowCounts[(int)TableIndex.CustomDebugInformation], IsDeclaredSorted(TableMask.CustomDebugInformation), hasCustomDebugInformationRefSizeCombined, guidHeapRefSize, blobHeapRefSize, metadataTablesMemoryBlock, totalRequiredSize); 785private static int[] CombineRowCounts(int[] local, int[] external, TableIndex firstLocalTableIndex)
System\Reflection\Metadata\PortablePdb\Tables.Debug.cs (3)
156Throw.TableNotSorted(TableIndex.LocalScope); 356Throw.TableNotSorted(TableIndex.StateMachineMethod); 465Throw.TableNotSorted(TableIndex.CustomDebugInformation);
System\Reflection\Throw.cs (2)
207internal static void TableNotSorted(TableIndex tableIndex) 213internal static void InvalidOperation_TableNotSorted(TableIndex tableIndex)
System.Reflection.MetadataLoadContext (5)
System\Reflection\TypeLoading\Modules\Ecma\EcmaModule.MetadataTables.cs (5)
20Interlocked.CompareExchange(ref _lazyTypeDefTable, CreateTable<EcmaDefinitionType>(TableIndex.TypeDef), null) ?? 41Interlocked.CompareExchange(ref field, CreateTable<RoDefinitionType>(TableIndex.TypeRef), null) ?? 46Interlocked.CompareExchange(ref field, CreateTable<EcmaGenericParameterType>(TableIndex.GenericParam), null) ?? 51Interlocked.CompareExchange(ref field, CreateTable<RoAssembly>(TableIndex.AssemblyRef), null) ?? 54private MetadataTable<T, EcmaModule> CreateTable<T>(TableIndex tableIndex) where T : class