Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
MemberRefTableReader.cs
Go to the documentation of this file.
2
4
5internal struct MemberRefTableReader
6{
7 internal int NumberOfRows;
8
9 private readonly bool _IsMemberRefParentRefSizeSmall;
10
11 private readonly bool _IsStringHeapRefSizeSmall;
12
13 private readonly bool _IsBlobHeapRefSizeSmall;
14
15 private readonly int _ClassOffset;
16
17 private readonly int _NameOffset;
18
19 private readonly int _SignatureOffset;
20
21 internal readonly int RowSize;
22
24
25 internal MemberRefTableReader(int numberOfRows, int memberRefParentRefSize, int stringHeapRefSize, int blobHeapRefSize, MemoryBlock containingBlock, int containingBlockOffset)
26 {
27 NumberOfRows = numberOfRows;
28 _IsMemberRefParentRefSizeSmall = memberRefParentRefSize == 2;
29 _IsStringHeapRefSizeSmall = stringHeapRefSize == 2;
30 _IsBlobHeapRefSizeSmall = blobHeapRefSize == 2;
31 _ClassOffset = 0;
32 _NameOffset = _ClassOffset + memberRefParentRefSize;
33 _SignatureOffset = _NameOffset + stringHeapRefSize;
34 RowSize = _SignatureOffset + blobHeapRefSize;
35 Block = containingBlock.GetMemoryBlockAt(containingBlockOffset, RowSize * numberOfRows);
36 }
37
43
49
55}
static EntityHandle ConvertToHandle(uint memberRef)
unsafe MemoryBlock GetMemoryBlockAt(int offset, int length)
int PeekHeapReference(int offset, bool smallRefSize)
uint PeekTaggedReference(int offset, bool smallRefSize)
static BlobHandle FromOffset(int heapOffset)
Definition BlobHandle.cs:34
StringHandle GetName(MemberReferenceHandle handle)
BlobHandle GetSignature(MemberReferenceHandle handle)
EntityHandle GetClass(MemberReferenceHandle handle)
MemberRefTableReader(int numberOfRows, int memberRefParentRefSize, int stringHeapRefSize, int blobHeapRefSize, MemoryBlock containingBlock, int containingBlockOffset)
static StringHandle FromOffset(int heapOffset)