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