Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
ExportedTypeTableReader.cs
Go to the documentation of this file.
2
4
5internal readonly struct ExportedTypeTableReader
6{
7 internal readonly int NumberOfRows;
8
9 private readonly bool _IsImplementationRefSizeSmall;
10
11 private readonly bool _IsStringHeapRefSizeSmall;
12
13 private readonly int _FlagsOffset;
14
15 private readonly int _TypeDefIdOffset;
16
17 private readonly int _TypeNameOffset;
18
19 private readonly int _TypeNamespaceOffset;
20
21 private readonly int _ImplementationOffset;
22
23 internal readonly int RowSize;
24
25 internal readonly MemoryBlock Block;
26
27 internal ExportedTypeTableReader(int numberOfRows, int implementationRefSize, int stringHeapRefSize, MemoryBlock containingBlock, int containingBlockOffset)
28 {
29 NumberOfRows = numberOfRows;
30 _IsImplementationRefSizeSmall = implementationRefSize == 2;
31 _IsStringHeapRefSizeSmall = stringHeapRefSize == 2;
32 _FlagsOffset = 0;
35 _TypeNamespaceOffset = _TypeNameOffset + stringHeapRefSize;
36 _ImplementationOffset = _TypeNamespaceOffset + stringHeapRefSize;
37 RowSize = _ImplementationOffset + implementationRefSize;
38 Block = containingBlock.GetMemoryBlockAt(containingBlockOffset, RowSize * numberOfRows);
39 }
40
41 internal StringHandle GetTypeName(int rowId)
42 {
43 int num = (rowId - 1) * RowSize;
45 }
46
52
58
64
65 internal TypeAttributes GetFlags(int rowId)
66 {
67 int num = (rowId - 1) * RowSize;
69 }
70
71 internal int GetTypeDefId(int rowId)
72 {
73 int num = (rowId - 1) * RowSize;
74 return Block.PeekInt32(num + _TypeDefIdOffset);
75 }
76
77 internal int GetNamespace(int rowId)
78 {
79 int num = (rowId - 1) * RowSize;
81 }
82}
static EntityHandle ConvertToHandle(uint implementation)
int PeekReference(int offset, bool smallRefSize)
unsafe MemoryBlock GetMemoryBlockAt(int offset, int length)
int PeekHeapReference(int offset, bool smallRefSize)
unsafe uint PeekUInt32(int offset)
uint PeekTaggedReference(int offset, bool smallRefSize)
ExportedTypeTableReader(int numberOfRows, int implementationRefSize, int stringHeapRefSize, MemoryBlock containingBlock, int containingBlockOffset)
static NamespaceDefinitionHandle FromFullNameOffset(int stringHeapOffset)
static StringHandle FromOffset(int heapOffset)