Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
LocalConstantTableReader.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
LocalConstantTableReader
6
{
7
internal
readonly
int
NumberOfRows
;
8
9
private
readonly
bool
_isStringHeapRefSizeSmall
;
10
11
private
readonly
bool
_isBlobHeapRefSizeSmall
;
12
13
private
readonly
int
_signatureOffset
;
14
15
internal
readonly
int
RowSize
;
16
17
internal
readonly
MemoryBlock
Block
;
18
19
internal
LocalConstantTableReader
(
int
numberOfRows,
int
stringHeapRefSize,
int
blobHeapRefSize,
MemoryBlock
containingBlock,
int
containingBlockOffset)
20
{
21
NumberOfRows
= numberOfRows;
22
_isStringHeapRefSizeSmall
= stringHeapRefSize == 2;
23
_isBlobHeapRefSizeSmall
= blobHeapRefSize == 2;
24
_signatureOffset
= stringHeapRefSize;
25
RowSize
=
_signatureOffset
+ blobHeapRefSize;
26
Block
= containingBlock.
GetMemoryBlockAt
(containingBlockOffset,
RowSize
* numberOfRows);
27
}
28
29
internal
StringHandle
GetName
(
LocalConstantHandle
handle
)
30
{
31
int
offset
= (handle.RowId - 1) *
RowSize
;
32
return
StringHandle
.
FromOffset
(
Block
.
PeekHeapReference
(
offset
,
_isStringHeapRefSizeSmall
));
33
}
34
35
internal
BlobHandle
GetSignature
(
LocalConstantHandle
handle
)
36
{
37
int
num = (handle.RowId - 1) *
RowSize
;
38
return
BlobHandle
.
FromOffset
(
Block
.
PeekHeapReference
(num +
_signatureOffset
,
_isBlobHeapRefSizeSmall
));
39
}
40
}
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.Ecma335.LocalConstantTableReader.RowSize
readonly int RowSize
Definition
LocalConstantTableReader.cs:15
System.Reflection.Metadata.Ecma335.LocalConstantTableReader.GetName
StringHandle GetName(LocalConstantHandle handle)
Definition
LocalConstantTableReader.cs:29
System.Reflection.Metadata.Ecma335.LocalConstantTableReader.NumberOfRows
readonly int NumberOfRows
Definition
LocalConstantTableReader.cs:7
System.Reflection.Metadata.Ecma335.LocalConstantTableReader._signatureOffset
readonly int _signatureOffset
Definition
LocalConstantTableReader.cs:13
System.Reflection.Metadata.Ecma335.LocalConstantTableReader._isStringHeapRefSizeSmall
readonly bool _isStringHeapRefSizeSmall
Definition
LocalConstantTableReader.cs:9
System.Reflection.Metadata.Ecma335.LocalConstantTableReader._isBlobHeapRefSizeSmall
readonly bool _isBlobHeapRefSizeSmall
Definition
LocalConstantTableReader.cs:11
System.Reflection.Metadata.Ecma335.LocalConstantTableReader.LocalConstantTableReader
LocalConstantTableReader(int numberOfRows, int stringHeapRefSize, int blobHeapRefSize, MemoryBlock containingBlock, int containingBlockOffset)
Definition
LocalConstantTableReader.cs:19
System.Reflection.Metadata.Ecma335.LocalConstantTableReader.GetSignature
BlobHandle GetSignature(LocalConstantHandle handle)
Definition
LocalConstantTableReader.cs:35
System.Reflection.Metadata.Ecma335.LocalConstantTableReader.Block
readonly MemoryBlock Block
Definition
LocalConstantTableReader.cs:17
System.Reflection.Metadata.Ecma335.LocalConstantTableReader
Definition
LocalConstantTableReader.cs:6
System.Reflection.Metadata.LocalConstantHandle
Definition
LocalConstantHandle.cs:6
System.Reflection.Metadata.StringHandle.FromOffset
static StringHandle FromOffset(int heapOffset)
Definition
StringHandle.cs:98
System.Reflection.Metadata.StringHandle
Definition
StringHandle.cs:6
source
System.Reflection.Metadata
System.Reflection.Metadata.Ecma335
LocalConstantTableReader.cs
Generated by
1.10.0