400 references to Table
Mono.Cecil (400)
Mono.Cecil.Cil\PortablePdb.cs (1)
405
var mdi = pdb_metadata.table_heap.GetTable<MethodDebugInformationTable> (
Table
.MethodDebugInformation);
Mono.Cecil.Metadata\Buffers.cs (6)
34
readonly Func<
Table
, int> counter;
50
int GetTableLength (
Table
table)
55
public TTable GetTable<TTable> (
Table
table) where TTable : MetadataTable, new ()
97
public void WriteRID (uint rid,
Table
table)
222
var table = GetTable<FieldRVATable> (
Table
.FieldRVA);
226
var field_idx_size = GetTable<FieldTable> (
Table
.Field).IsLarge ? 4 : 2;
Mono.Cecil.Metadata\PdbHeap.cs (1)
29
public bool HasTable (
Table
table)
Mono.Cecil.Metadata\TableHeap.cs (2)
90
public TableInformation this [
Table
table] {
99
public bool HasTable (
Table
table)
Mono.Cecil.Metadata\Utilities.cs (84)
564
public static int GetSize (this CodedIndex self, Func<
Table
, int> counter)
567
Table
[] tables;
572
tables = new [] {
Table
.TypeDef,
Table
.TypeRef,
Table
.TypeSpec };
576
tables = new [] {
Table
.Field,
Table
.Param,
Table
.Property };
581
Table
.Method,
Table
.Field,
Table
.TypeRef,
Table
.TypeDef,
Table
.Param,
Table
.InterfaceImpl,
Table
.MemberRef,
582
Table
.Module,
Table
.DeclSecurity,
Table
.Property,
Table
.Event,
Table
.StandAloneSig,
Table
.ModuleRef,
583
Table
.TypeSpec,
Table
.Assembly,
Table
.AssemblyRef,
Table
.File,
Table
.ExportedType,
584
Table
.ManifestResource,
Table
.GenericParam,
Table
.GenericParamConstraint,
Table
.MethodSpec,
589
tables = new [] {
Table
.Field,
Table
.Param };
593
tables = new [] {
Table
.TypeDef,
Table
.Method,
Table
.Assembly };
597
tables = new [] {
Table
.TypeDef,
Table
.TypeRef,
Table
.ModuleRef,
Table
.Method,
Table
.TypeSpec };
601
tables = new [] {
Table
.Event,
Table
.Property };
605
tables = new [] {
Table
.Method,
Table
.MemberRef };
609
tables = new [] {
Table
.Field,
Table
.Method };
613
tables = new [] {
Table
.File,
Table
.AssemblyRef,
Table
.ExportedType };
617
tables = new [] {
Table
.Method,
Table
.MemberRef };
621
tables = new [] {
Table
.Module,
Table
.ModuleRef,
Table
.AssemblyRef,
Table
.TypeRef };
625
tables = new [] {
Table
.TypeDef,
Table
.Method };
630
Table
.Method,
Table
.Field,
Table
.TypeRef,
Table
.TypeDef,
Table
.Param,
Table
.InterfaceImpl,
Table
.MemberRef,
631
Table
.Module,
Table
.DeclSecurity,
Table
.Property,
Table
.Event,
Table
.StandAloneSig,
Table
.ModuleRef,
632
Table
.TypeSpec,
Table
.Assembly,
Table
.AssemblyRef,
Table
.File,
Table
.ExportedType,
633
Table
.ManifestResource,
Table
.GenericParam,
Table
.GenericParamConstraint,
Table
.MethodSpec,
634
Table
.Document,
Table
.LocalScope,
Table
.LocalVariable,
Table
.LocalConstant,
Table
.ImportScope,
Mono.Cecil.PE\Image.cs (11)
60
readonly Func<
Table
, int> counter;
67
public bool HasTable (
Table
table)
72
public int GetTableLength (
Table
table)
77
public int GetTableIndexSize (
Table
table)
157
return HasTable (
Table
.Document)
158
|| HasTable (
Table
.MethodDebugInformation)
159
|| HasTable (
Table
.LocalScope)
160
|| HasTable (
Table
.LocalVariable)
161
|| HasTable (
Table
.LocalConstant)
162
|| HasTable (
Table
.StateMachineMethod)
163
|| HasTable (
Table
.CustomDebugInformation);
Mono.Cecil.PE\ImageReader.cs (92)
444
if (!image.PdbHeap.HasTable ((
Table
) i))
452
if (!heap.HasTable ((
Table
) i))
473
int GetTableIndexSize (
Table
table)
495
var
table = (
Table
) i;
501
case
Table
.Module:
506
case
Table
.TypeRef:
510
case
Table
.TypeDef:
514
+ GetTableIndexSize (
Table
.Field) // FieldList
515
+ GetTableIndexSize (
Table
.Method); // MethodList
517
case
Table
.FieldPtr:
518
size = GetTableIndexSize (
Table
.Field); // Field
520
case
Table
.Field:
525
case
Table
.MethodPtr:
526
size = GetTableIndexSize (
Table
.Method); // Method
528
case
Table
.Method:
532
+ GetTableIndexSize (
Table
.Param); // ParamList
534
case
Table
.ParamPtr:
535
size = GetTableIndexSize (
Table
.Param); // Param
537
case
Table
.Param:
541
case
Table
.InterfaceImpl:
542
size = GetTableIndexSize (
Table
.TypeDef) // Class
545
case
Table
.MemberRef:
550
case
Table
.Constant:
555
case
Table
.CustomAttribute:
560
case
Table
.FieldMarshal:
564
case
Table
.DeclSecurity:
569
case
Table
.ClassLayout:
571
+ GetTableIndexSize (
Table
.TypeDef); // Parent
573
case
Table
.FieldLayout:
575
+ GetTableIndexSize (
Table
.Field); // Field
577
case
Table
.StandAloneSig:
580
case
Table
.EventMap:
581
size = GetTableIndexSize (
Table
.TypeDef) // Parent
582
+ GetTableIndexSize (
Table
.Event); // EventList
584
case
Table
.EventPtr:
585
size = GetTableIndexSize (
Table
.Event); // Event
587
case
Table
.Event:
592
case
Table
.PropertyMap:
593
size = GetTableIndexSize (
Table
.TypeDef) // Parent
594
+ GetTableIndexSize (
Table
.Property); // PropertyList
596
case
Table
.PropertyPtr:
597
size = GetTableIndexSize (
Table
.Property); // Property
599
case
Table
.Property:
604
case
Table
.MethodSemantics:
606
+ GetTableIndexSize (
Table
.Method) // Method
609
case
Table
.MethodImpl:
610
size = GetTableIndexSize (
Table
.TypeDef) // Class
614
case
Table
.ModuleRef:
617
case
Table
.TypeSpec:
620
case
Table
.ImplMap:
624
+ GetTableIndexSize (
Table
.ModuleRef); // ImportScope
626
case
Table
.FieldRVA:
628
+ GetTableIndexSize (
Table
.Field); // Field
630
case
Table
.EncLog:
633
case
Table
.EncMap:
636
case
Table
.Assembly:
641
case
Table
.AssemblyProcessor:
644
case
Table
.AssemblyOS:
647
case
Table
.AssemblyRef:
652
case
Table
.AssemblyRefProcessor:
654
+ GetTableIndexSize (
Table
.AssemblyRef); // AssemblyRef
656
case
Table
.AssemblyRefOS:
658
+ GetTableIndexSize (
Table
.AssemblyRef); // AssemblyRef
660
case
Table
.File:
665
case
Table
.ExportedType:
670
case
Table
.ManifestResource:
675
case
Table
.NestedClass:
676
size = GetTableIndexSize (
Table
.TypeDef) // NestedClass
677
+ GetTableIndexSize (
Table
.TypeDef); // EnclosingClass
679
case
Table
.GenericParam:
684
case
Table
.MethodSpec:
688
case
Table
.GenericParamConstraint:
689
size = GetTableIndexSize (
Table
.GenericParam) // Owner
692
case
Table
.Document:
698
case
Table
.MethodDebugInformation:
699
size = GetTableIndexSize (
Table
.Document) // Document
702
case
Table
.LocalScope:
703
size = GetTableIndexSize (
Table
.Method) // Method
704
+ GetTableIndexSize (
Table
.ImportScope) // ImportScope
705
+ GetTableIndexSize (
Table
.LocalVariable) // VariableList
706
+ GetTableIndexSize (
Table
.LocalConstant) // ConstantList
709
case
Table
.LocalVariable:
714
case
Table
.LocalConstant:
718
case
Table
.ImportScope:
719
size = GetTableIndexSize (
Table
.ImportScope) // Parent
722
case
Table
.StateMachineMethod:
723
size = GetTableIndexSize (
Table
.Method) // MoveNextMethod
724
+ GetTableIndexSize (
Table
.Method); // KickOffMethod
726
case
Table
.CustomDebugInformation:
754
var
table = (
Table
) i;
Mono.Cecil\AssemblyReader.cs (119)
541
uint ReadTableIndex (
Table
table)
551
int MoveTo (
Table
table)
560
bool MoveTo (
Table
table, uint row)
573
if (MoveTo (
Table
.Assembly) == 0)
591
if (MoveTo (
Table
.Module) == 0)
607
int length = MoveTo (
Table
.AssemblyRef);
656
int length = MoveTo (
Table
.File);
694
int length = MoveTo (
Table
.ModuleRef);
714
int length = MoveTo (
Table
.File);
727
int length = MoveTo (
Table
.ManifestResource);
764
if (!MoveTo (
Table
.File, rid))
817
if (image.HasTable (
Table
.MethodPtr) || image.HasTable (
Table
.FieldPtr))
844
int length = MoveTo (
Table
.TypeDef);
911
var length = MoveTo (
Table
.NestedClass);
920
var nested = ReadTableIndex (
Table
.TypeDef);
921
var declaring = ReadTableIndex (
Table
.TypeDef);
945
if (!MoveTo (
Table
.TypeDef, rid))
962
type.fields_range = ReadListRange (rid,
Table
.TypeDef,
Table
.Field);
963
type.methods_range = ReadListRange (rid,
Table
.TypeDef,
Table
.Method);
980
Range ReadListRange (uint current_index,
Table
current,
Table
target)
1027
int length = MoveTo (
Table
.ClassLayout);
1035
var parent = ReadTableIndex (
Table
.TypeDef);
1064
if (!MoveTo (
Table
.TypeDef, rid))
1075
metadata.TypeReferences = new TypeReference [image.GetTableLength (
Table
.TypeRef)];
1113
if (!MoveTo (
Table
.TypeRef, rid))
1188
var length = image.GetTableLength (
Table
.TypeRef);
1200
if (!MoveTo (
Table
.TypeSpec, rid))
1251
int length = MoveTo (
Table
.InterfaceImpl);
1256
var type = ReadTableIndex (
Table
.TypeDef);
1277
if (!MoveTo (
Table
.FieldPtr, fields_range.Start)) {
1278
if (!MoveTo (
Table
.Field, fields_range.Start))
1284
ReadPointers (
Table
.FieldPtr,
Table
.Field, fields_range, fields, ReadField);
1313
metadata.Fields = new FieldDefinition [image.GetTableLength (
Table
.Field)];
1402
int length = MoveTo (
Table
.FieldRVA);
1408
var field = ReadTableIndex (
Table
.Field);
1432
int length = MoveTo (
Table
.FieldLayout);
1438
var field = ReadTableIndex (
Table
.Field);
1470
if (!MoveTo (
Table
.EventPtr, range.Start)) {
1471
if (!MoveTo (
Table
.Event, range.Start))
1477
ReadPointers (
Table
.EventPtr,
Table
.Event, range, events, ReadEvent);
1502
int length = MoveTo (
Table
.EventMap);
1507
var type_rid = ReadTableIndex (
Table
.TypeDef);
1508
Range events_range = ReadListRange (i,
Table
.EventMap,
Table
.Event);
1540
if (!MoveTo (
Table
.PropertyPtr, range.Start)) {
1541
if (!MoveTo (
Table
.Property, range.Start))
1546
ReadPointers (
Table
.PropertyPtr,
Table
.Property, range, properties, ReadProperty);
1584
int length = MoveTo (
Table
.PropertyMap);
1589
var type_rid = ReadTableIndex (
Table
.TypeDef);
1590
var properties_range = ReadListRange (i,
Table
.PropertyMap,
Table
.Property);
1684
int length = MoveTo (
Table
.MethodSemantics);
1690
var method_rid = ReadTableIndex (
Table
.Method);
1732
if (!MoveTo (
Table
.MethodPtr, methods_range.Start)) {
1733
if (!MoveTo (
Table
.Method, methods_range.Start))
1739
ReadPointers (
Table
.MethodPtr,
Table
.Method, methods_range, methods, ReadMethod);
1744
void ReadPointers<TMember> (
Table
ptr,
Table
table, Range range, Collection<TMember> members, Action<uint, Collection<TMember>> reader)
1767
metadata.Methods = new MethodDefinition [image.GetTableLength (
Table
.Method)];
1785
var param_range = ReadListRange (method_rid,
Table
.Method,
Table
.Param);
1804
if (!MoveTo (
Table
.ParamPtr, param_range.Start)) {
1805
if (!MoveTo (
Table
.Param, param_range.Start))
1817
MoveTo (
Table
.ParamPtr, range.Start + i);
1819
var rid = ReadTableIndex (
Table
.Param);
1821
MoveTo (
Table
.Param, rid);
1871
int length = MoveTo (
Table
.ImplMap);
1879
var scope = ReadTableIndex (
Table
.File);
1917
if (!MoveTo (
Table
.GenericParam, range.Start))
1940
Table
.GenericParam, () => {
1948
Dictionary<MetadataToken, Range []> InitializeRanges (
Table
table, Func<MetadataToken> get_next)
2030
var length = MoveTo (
Table
.GenericParamConstraint);
2036
ReadTableIndex (
Table
.GenericParam),
2082
var length = MoveTo (
Table
.MethodImpl);
2087
ReadTableIndex (
Table
.TypeDef);
2118
if (!MoveTo (
Table
.StandAloneSig, token.RID))
2134
if (!MoveTo (
Table
.StandAloneSig, local_var_token.RID))
2247
if (!MoveTo (
Table
.MethodSpec, rid))
2294
if (!MoveTo (
Table
.MemberRef, rid))
2369
metadata.MemberReferences = new MemberReference [image.GetTableLength (
Table
.MemberRef)];
2376
var length = image.GetTableLength (
Table
.MemberRef);
2398
var length = MoveTo (
Table
.Constant);
2419
if (!MoveTo (
Table
.StandAloneSig, token.RID))
2478
Table
.CustomAttribute, () => {
2519
if (!MoveTo (
Table
.CustomAttribute, range.Start))
2547
var length = image.TableHeap [
Table
.CustomAttribute].Length;
2589
var length = MoveTo (
Table
.FieldMarshal);
2631
Table
.DeclSecurity, () => {
2668
if (!MoveTo (
Table
.DeclSecurity, range.Start))
2727
var length = MoveTo (
Table
.ExportedType);
2791
if (!MoveTo (
Table
.File, token.RID))
2815
int length = MoveTo (
Table
.Document);
2848
if (!MoveTo (
Table
.MethodDebugInformation, method.MetadataToken.RID))
2851
var document_index = ReadTableIndex (
Table
.Document);
2879
int length = MoveTo (
Table
.LocalScope);
2884
var method = ReadTableIndex (
Table
.Method);
2885
var import = ReadTableIndex (
Table
.ImportScope);
2886
var variables = ReadListRange (i,
Table
.LocalScope,
Table
.LocalVariable);
2887
var constants = ReadListRange (i,
Table
.LocalScope,
Table
.LocalConstant);
2974
if (!MoveTo (
Table
.LocalVariable, rid))
2988
if (!MoveTo (
Table
.LocalConstant, rid))
3024
var length = MoveTo (
Table
.ImportScope);
3029
ReadTableIndex (
Table
.ImportScope);
3041
MoveTo (
Table
.ImportScope);
3044
var parent = ReadTableIndex (
Table
.ImportScope);
3133
var length = MoveTo (
Table
.StateMachineMethod);
3138
metadata.StateMachineMethods.Add (ReadTableIndex (
Table
.Method), ReadTableIndex (
Table
.Method));
3157
var length = MoveTo (
Table
.CustomDebugInformation);
Mono.Cecil\AssemblyWriter.cs (78)
289
buffer.WriteRID (rows [i].Col5,
Table
.Field); // FieldList
290
buffer.WriteRID (rows [i].Col6,
Table
.Method); // MethodList
317
buffer.WriteRID (rows [i].Col6,
Table
.Param); // ParamList
339
buffer.WriteRID (rows [i].Col1,
Table
.TypeDef); // Class
436
buffer.WriteRID (rows [i].Col3,
Table
.TypeDef); // Parent
452
buffer.WriteRID (rows [i].Col2,
Table
.Field); // Parent
476
buffer.WriteRID (rows [i].Col1,
Table
.TypeDef); // Parent
477
buffer.WriteRID (rows [i].Col2,
Table
.Event); // EventList
499
buffer.WriteRID (rows [i].Col1,
Table
.TypeDef); // Parent
500
buffer.WriteRID (rows [i].Col2,
Table
.Property); // PropertyList
523
buffer.WriteRID (rows [i].Col2,
Table
.Method); // Method
539
buffer.WriteRID (rows [i].Col1,
Table
.TypeDef); // Class
572
buffer.WriteRID (rows [i].Col4,
Table
.ModuleRef); // ImportScope
591
buffer.WriteRID (rows [i].Col2,
Table
.Field); // Field
679
buffer.WriteRID (rows [i].Col1,
Table
.TypeDef); // NestedClass
680
buffer.WriteRID (rows [i].Col2,
Table
.TypeDef); // EnclosingClass
719
buffer.WriteRID (rows [i].Col1,
Table
.GenericParam); // Owner
743
buffer.WriteRID (rows [i].Col1,
Table
.Document); // Document
754
buffer.WriteRID (rows [i].Col1,
Table
.Method); // Method
755
buffer.WriteRID (rows [i].Col2,
Table
.ImportScope); // ImportScope
756
buffer.WriteRID (rows [i].Col3,
Table
.LocalVariable); // VariableList
757
buffer.WriteRID (rows [i].Col4,
Table
.LocalConstant); // ConstantList
792
buffer.WriteRID (rows [i].Col1,
Table
.ImportScope); // Parent
803
buffer.WriteRID (rows [i].Col1,
Table
.Method); // MoveNextMethod
804
buffer.WriteRID (rows [i].Col2,
Table
.Method); // KickoffMethod
911
this.type_ref_table = GetTable<TypeRefTable> (
Table
.TypeRef);
912
this.type_def_table = GetTable<TypeDefTable> (
Table
.TypeDef);
913
this.field_table = GetTable<FieldTable> (
Table
.Field);
914
this.method_table = GetTable<MethodTable> (
Table
.Method);
915
this.param_table = GetTable<ParamTable> (
Table
.Param);
916
this.iface_impl_table = GetTable<InterfaceImplTable> (
Table
.InterfaceImpl);
917
this.member_ref_table = GetTable<MemberRefTable> (
Table
.MemberRef);
918
this.constant_table = GetTable<ConstantTable> (
Table
.Constant);
919
this.custom_attribute_table = GetTable<CustomAttributeTable> (
Table
.CustomAttribute);
920
this.declsec_table = GetTable<DeclSecurityTable> (
Table
.DeclSecurity);
921
this.standalone_sig_table = GetTable<StandAloneSigTable> (
Table
.StandAloneSig);
922
this.event_map_table = GetTable<EventMapTable> (
Table
.EventMap);
923
this.event_table = GetTable<EventTable> (
Table
.Event);
924
this.property_map_table = GetTable<PropertyMapTable> (
Table
.PropertyMap);
925
this.property_table = GetTable<PropertyTable> (
Table
.Property);
926
this.typespec_table = GetTable<TypeSpecTable> (
Table
.TypeSpec);
927
this.method_spec_table = GetTable<MethodSpecTable> (
Table
.MethodSpec);
936
this.document_table = GetTable<DocumentTable> (
Table
.Document);
937
this.method_debug_information_table = GetTable<MethodDebugInformationTable> (
Table
.MethodDebugInformation);
938
this.local_scope_table = GetTable<LocalScopeTable> (
Table
.LocalScope);
939
this.local_variable_table = GetTable<LocalVariableTable> (
Table
.LocalVariable);
940
this.local_constant_table = GetTable<LocalConstantTable> (
Table
.LocalConstant);
941
this.import_scope_table = GetTable<ImportScopeTable> (
Table
.ImportScope);
942
this.state_machine_method_table = GetTable<StateMachineMethodTable> (
Table
.StateMachineMethod);
943
this.custom_debug_information_table = GetTable<CustomDebugInformationTable> (
Table
.CustomDebugInformation);
962
this.document_table = GetTable<DocumentTable> (
Table
.Document);
963
this.method_debug_information_table = GetTable<MethodDebugInformationTable> (
Table
.MethodDebugInformation);
964
this.local_scope_table = GetTable<LocalScopeTable> (
Table
.LocalScope);
965
this.local_variable_table = GetTable<LocalVariableTable> (
Table
.LocalVariable);
966
this.local_constant_table = GetTable<LocalConstantTable> (
Table
.LocalConstant);
967
this.import_scope_table = GetTable<ImportScopeTable> (
Table
.ImportScope);
968
this.state_machine_method_table = GetTable<StateMachineMethodTable> (
Table
.StateMachineMethod);
969
this.custom_debug_information_table = GetTable<CustomDebugInformationTable> (
Table
.CustomDebugInformation);
998
TTable GetTable<TTable> (
Table
table) where TTable : MetadataTable, new ()
1043
var table = GetTable<ModuleTable> (
Table
.Module);
1086
var table = GetTable<AssemblyTable> (
Table
.Assembly);
1106
var table = GetTable<FileTable> (
Table
.File);
1147
var table = GetTable<AssemblyRefTable> (
Table
.AssemblyRef);
1182
var table = GetTable<ModuleRefTable> (
Table
.ModuleRef);
1196
var table = GetTable<ManifestResourceTable> (
Table
.ManifestResource);
1231
var table = GetTable<FileTable> (
Table
.File);
1251
var table = GetTable<ExportedTypeTable> (
Table
.ExportedType);
1277
var file_table = GetTable<FileTable> (
Table
.File);
1532
var generic_param_table = GetTable<GenericParamTable> (
Table
.GenericParam);
1533
var generic_param_constraint_table = GetTable<GenericParamConstraintTable> (
Table
.GenericParamConstraint);
1595
var table = GetTable<ClassLayoutTable> (
Table
.ClassLayout);
1606
var nested_table = GetTable<NestedClassTable> (
Table
.NestedClass);
1652
var table = GetTable<FieldRVATable> (
Table
.FieldRVA);
1673
var table = GetTable<FieldLayoutTable> (
Table
.FieldLayout);
1744
var table = GetTable<ImplMapTable> (
Table
.ImplMap);
1755
var table = GetTable<MethodImplTable> (
Table
.MethodImpl);
1795
var table = GetTable<FieldMarshalTable> (
Table
.FieldMarshal);
1884
var table = GetTable<MethodSemanticsTable> (
Table
.MethodSemantics);
Mono.Cecil\ModuleDefinition.cs (5)
450
return HasImage && Image.HasTable (
Table
.AssemblyRef);
472
return HasImage && Image.HasTable (
Table
.ModuleRef);
495
return Image.HasTable (
Table
.ManifestResource) || Read (this, (_, reader) => reader.HasFileResource ());
532
return HasImage && Image.HasTable (
Table
.TypeDef);
554
return HasImage && Image.HasTable (
Table
.ExportedType);
Mono.Cecil\TypeSystem.cs (1)
310
if (module.HasImage && module.Read (module, (m, reader) => reader.image.GetTableLength (
Table
.AssemblyRef) > 0))