Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
FieldPtrTableReader.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
FieldPtrTableReader
6
{
7
internal
readonly
int
NumberOfRows
;
8
9
private
readonly
bool
_IsFieldTableRowRefSizeSmall
;
10
11
private
readonly
int
_FieldOffset
;
12
13
internal
readonly
int
RowSize
;
14
15
internal
readonly
MemoryBlock
Block
;
16
17
internal
FieldPtrTableReader
(
int
numberOfRows,
int
fieldTableRowRefSize,
MemoryBlock
containingBlock,
int
containingBlockOffset)
18
{
19
NumberOfRows
= numberOfRows;
20
_IsFieldTableRowRefSizeSmall
= fieldTableRowRefSize == 2;
21
_FieldOffset
= 0;
22
RowSize
=
_FieldOffset
+ fieldTableRowRefSize;
23
Block
= containingBlock.
GetMemoryBlockAt
(containingBlockOffset,
RowSize
* numberOfRows);
24
}
25
26
internal
FieldDefinitionHandle
GetFieldFor
(
int
rowId)
27
{
28
int
num = (rowId - 1) *
RowSize
;
29
return
FieldDefinitionHandle
.
FromRowId
(
Block
.
PeekReference
(num +
_FieldOffset
,
_IsFieldTableRowRefSizeSmall
));
30
}
31
32
internal
int
GetRowIdForFieldDefRow
(
int
fieldDefRowId)
33
{
34
return
Block
.
LinearSearchReference
(
RowSize
,
_FieldOffset
, (uint)fieldDefRowId,
_IsFieldTableRowRefSizeSmall
) + 1;
35
}
36
}
System.Reflection.Internal
Definition
AbstractMemoryBlock.cs:4
System.Reflection.Metadata.Ecma335
Definition
ArrayShapeEncoder.cs:3
System.Reflection.Internal.MemoryBlock.PeekReference
int PeekReference(int offset, bool smallRefSize)
Definition
MemoryBlock.cs:187
System.Reflection.Internal.MemoryBlock.GetMemoryBlockAt
unsafe MemoryBlock GetMemoryBlockAt(int offset, int length)
Definition
MemoryBlock.cs:102
System.Reflection.Internal.MemoryBlock.LinearSearchReference
int LinearSearchReference(int rowSize, int referenceOffset, uint referenceValue, bool isReferenceSmall)
Definition
MemoryBlock.cs:598
System.Reflection.Internal.MemoryBlock
Definition
MemoryBlock.cs:11
System.Reflection.Metadata.Ecma335.FieldPtrTableReader._FieldOffset
readonly int _FieldOffset
Definition
FieldPtrTableReader.cs:11
System.Reflection.Metadata.Ecma335.FieldPtrTableReader.NumberOfRows
readonly int NumberOfRows
Definition
FieldPtrTableReader.cs:7
System.Reflection.Metadata.Ecma335.FieldPtrTableReader.GetFieldFor
FieldDefinitionHandle GetFieldFor(int rowId)
Definition
FieldPtrTableReader.cs:26
System.Reflection.Metadata.Ecma335.FieldPtrTableReader.RowSize
readonly int RowSize
Definition
FieldPtrTableReader.cs:13
System.Reflection.Metadata.Ecma335.FieldPtrTableReader.Block
readonly MemoryBlock Block
Definition
FieldPtrTableReader.cs:15
System.Reflection.Metadata.Ecma335.FieldPtrTableReader.GetRowIdForFieldDefRow
int GetRowIdForFieldDefRow(int fieldDefRowId)
Definition
FieldPtrTableReader.cs:32
System.Reflection.Metadata.Ecma335.FieldPtrTableReader._IsFieldTableRowRefSizeSmall
readonly bool _IsFieldTableRowRefSizeSmall
Definition
FieldPtrTableReader.cs:9
System.Reflection.Metadata.Ecma335.FieldPtrTableReader.FieldPtrTableReader
FieldPtrTableReader(int numberOfRows, int fieldTableRowRefSize, MemoryBlock containingBlock, int containingBlockOffset)
Definition
FieldPtrTableReader.cs:17
System.Reflection.Metadata.Ecma335.FieldPtrTableReader
Definition
FieldPtrTableReader.cs:6
System.Reflection.Metadata.FieldDefinitionHandle.FromRowId
static FieldDefinitionHandle FromRowId(int rowId)
Definition
FieldDefinitionHandle.cs:16
System.Reflection.Metadata.FieldDefinitionHandle
Definition
FieldDefinitionHandle.cs:4
source
System.Reflection.Metadata
System.Reflection.Metadata.Ecma335
FieldPtrTableReader.cs
Generated by
1.10.0