Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
DocumentTableReader.cs
Go to the documentation of this file.
1
using
System.Reflection.Internal
;
2
3
namespace
System.Reflection.Metadata.Ecma335
;
4
5
internal
readonly
struct
DocumentTableReader
6
{
7
internal
readonly
int
NumberOfRows
;
8
9
private
readonly
bool
_isGuidHeapRefSizeSmall
;
10
11
private
readonly
bool
_isBlobHeapRefSizeSmall
;
12
13
private
readonly
int
_hashAlgorithmOffset
;
14
15
private
readonly
int
_hashOffset
;
16
17
private
readonly
int
_languageOffset
;
18
19
internal
readonly
int
RowSize
;
20
21
internal
readonly
MemoryBlock
Block
;
22
23
internal
DocumentTableReader
(
int
numberOfRows,
int
guidHeapRefSize,
int
blobHeapRefSize,
MemoryBlock
containingBlock,
int
containingBlockOffset)
24
{
25
NumberOfRows
= numberOfRows;
26
_isGuidHeapRefSizeSmall
= guidHeapRefSize == 2;
27
_isBlobHeapRefSizeSmall
= blobHeapRefSize == 2;
28
_hashAlgorithmOffset
= blobHeapRefSize;
29
_hashOffset
=
_hashAlgorithmOffset
+ guidHeapRefSize;
30
_languageOffset
=
_hashOffset
+ blobHeapRefSize;
31
RowSize
=
_languageOffset
+ guidHeapRefSize;
32
Block
= containingBlock.
GetMemoryBlockAt
(containingBlockOffset,
RowSize
* numberOfRows);
33
}
34
35
internal
DocumentNameBlobHandle
GetName
(
DocumentHandle
handle
)
36
{
37
int
offset
= (handle.RowId - 1) *
RowSize
;
38
return
DocumentNameBlobHandle
.
FromOffset
(
Block
.
PeekHeapReference
(
offset
,
_isBlobHeapRefSizeSmall
));
39
}
40
41
internal
GuidHandle
GetHashAlgorithm
(
DocumentHandle
handle
)
42
{
43
int
num = (handle.RowId - 1) *
RowSize
;
44
return
GuidHandle
.
FromIndex
(
Block
.
PeekHeapReference
(num +
_hashAlgorithmOffset
,
_isGuidHeapRefSizeSmall
));
45
}
46
47
internal
BlobHandle
GetHash
(
DocumentHandle
handle
)
48
{
49
int
num = (handle.RowId - 1) *
RowSize
;
50
return
BlobHandle
.
FromOffset
(
Block
.
PeekHeapReference
(num +
_hashOffset
,
_isBlobHeapRefSizeSmall
));
51
}
52
53
internal
GuidHandle
GetLanguage
(
DocumentHandle
handle
)
54
{
55
int
num = (handle.RowId - 1) *
RowSize
;
56
return
GuidHandle
.
FromIndex
(
Block
.
PeekHeapReference
(num +
_languageOffset
,
_isGuidHeapRefSizeSmall
));
57
}
58
}
System.Reflection.Internal
Definition
AbstractMemoryBlock.cs:4
System.Reflection.Metadata.Ecma335
Definition
ArrayShapeEncoder.cs:3
System.ExceptionArgument.offset
@ offset
System.ExceptionArgument.handle
@ handle
System.Reflection.Internal.MemoryBlock.GetMemoryBlockAt
unsafe MemoryBlock GetMemoryBlockAt(int offset, int length)
Definition
MemoryBlock.cs:102
System.Reflection.Internal.MemoryBlock.PeekHeapReference
int PeekHeapReference(int offset, bool smallRefSize)
Definition
MemoryBlock.cs:201
System.Reflection.Internal.MemoryBlock
Definition
MemoryBlock.cs:11
System.Reflection.Metadata.BlobHandle.FromOffset
static BlobHandle FromOffset(int heapOffset)
Definition
BlobHandle.cs:34
System.Reflection.Metadata.BlobHandle
Definition
BlobHandle.cs:6
System.Reflection.Metadata.DocumentHandle
Definition
DocumentHandle.cs:4
System.Reflection.Metadata.DocumentNameBlobHandle.FromOffset
static DocumentNameBlobHandle FromOffset(int heapOffset)
Definition
DocumentNameBlobHandle.cs:16
System.Reflection.Metadata.DocumentNameBlobHandle
Definition
DocumentNameBlobHandle.cs:6
System.Reflection.Metadata.Ecma335.DocumentTableReader.GetName
DocumentNameBlobHandle GetName(DocumentHandle handle)
Definition
DocumentTableReader.cs:35
System.Reflection.Metadata.Ecma335.DocumentTableReader._languageOffset
readonly int _languageOffset
Definition
DocumentTableReader.cs:17
System.Reflection.Metadata.Ecma335.DocumentTableReader.DocumentTableReader
DocumentTableReader(int numberOfRows, int guidHeapRefSize, int blobHeapRefSize, MemoryBlock containingBlock, int containingBlockOffset)
Definition
DocumentTableReader.cs:23
System.Reflection.Metadata.Ecma335.DocumentTableReader.GetHashAlgorithm
GuidHandle GetHashAlgorithm(DocumentHandle handle)
Definition
DocumentTableReader.cs:41
System.Reflection.Metadata.Ecma335.DocumentTableReader.GetHash
BlobHandle GetHash(DocumentHandle handle)
Definition
DocumentTableReader.cs:47
System.Reflection.Metadata.Ecma335.DocumentTableReader.RowSize
readonly int RowSize
Definition
DocumentTableReader.cs:19
System.Reflection.Metadata.Ecma335.DocumentTableReader._isBlobHeapRefSizeSmall
readonly bool _isBlobHeapRefSizeSmall
Definition
DocumentTableReader.cs:11
System.Reflection.Metadata.Ecma335.DocumentTableReader._hashAlgorithmOffset
readonly int _hashAlgorithmOffset
Definition
DocumentTableReader.cs:13
System.Reflection.Metadata.Ecma335.DocumentTableReader.Block
readonly MemoryBlock Block
Definition
DocumentTableReader.cs:21
System.Reflection.Metadata.Ecma335.DocumentTableReader._isGuidHeapRefSizeSmall
readonly bool _isGuidHeapRefSizeSmall
Definition
DocumentTableReader.cs:9
System.Reflection.Metadata.Ecma335.DocumentTableReader.NumberOfRows
readonly int NumberOfRows
Definition
DocumentTableReader.cs:7
System.Reflection.Metadata.Ecma335.DocumentTableReader._hashOffset
readonly int _hashOffset
Definition
DocumentTableReader.cs:15
System.Reflection.Metadata.Ecma335.DocumentTableReader.GetLanguage
GuidHandle GetLanguage(DocumentHandle handle)
Definition
DocumentTableReader.cs:53
System.Reflection.Metadata.Ecma335.DocumentTableReader
Definition
DocumentTableReader.cs:6
System.Reflection.Metadata.GuidHandle.FromIndex
static GuidHandle FromIndex(int heapIndex)
Definition
GuidHandle.cs:18
System.Reflection.Metadata.GuidHandle
Definition
GuidHandle.cs:6
source
System.Reflection.Metadata
System.Reflection.Metadata.Ecma335
DocumentTableReader.cs
Generated by
1.10.0