Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
UserStringHeap.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
UserStringHeap
6
{
7
internal
readonly
MemoryBlock
Block
;
8
9
public
UserStringHeap
(
MemoryBlock
block)
10
{
11
Block
= block;
12
}
13
14
internal
string
GetString
(
UserStringHandle
handle
)
15
{
16
if
(!
Block
.
PeekHeapValueOffsetAndSize
(
handle
.GetHeapOffset(), out var
offset
, out var size))
17
{
18
return
string
.Empty;
19
}
20
return
Block
.
PeekUtf16
(
offset
, size & -2);
21
}
22
23
internal
UserStringHandle
GetNextHandle
(
UserStringHandle
handle
)
24
{
25
if
(!
Block
.
PeekHeapValueOffsetAndSize
(
handle
.GetHeapOffset(), out var
offset
, out var size))
26
{
27
return
default
(
UserStringHandle
);
28
}
29
int
num =
offset
+ size;
30
if
(num >=
Block
.
Length
)
31
{
32
return
default
(
UserStringHandle
);
33
}
34
return
UserStringHandle
.
FromOffset
(num);
35
}
36
}
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.Length
readonly int Length
Definition
MemoryBlock.cs:23
System.Reflection.Internal.MemoryBlock.PeekUtf16
unsafe string PeekUtf16(int offset, int byteCount)
Definition
MemoryBlock.cs:226
System.Reflection.Internal.MemoryBlock.PeekHeapValueOffsetAndSize
bool PeekHeapValueOffsetAndSize(int index, out int offset, out int size)
Definition
MemoryBlock.cs:655
System.Reflection.Internal.MemoryBlock
Definition
MemoryBlock.cs:11
System.Reflection.Metadata.Ecma335.UserStringHeap.GetString
string GetString(UserStringHandle handle)
Definition
UserStringHeap.cs:14
System.Reflection.Metadata.Ecma335.UserStringHeap.UserStringHeap
UserStringHeap(MemoryBlock block)
Definition
UserStringHeap.cs:9
System.Reflection.Metadata.Ecma335.UserStringHeap.GetNextHandle
UserStringHandle GetNextHandle(UserStringHandle handle)
Definition
UserStringHeap.cs:23
System.Reflection.Metadata.Ecma335.UserStringHeap.Block
readonly MemoryBlock Block
Definition
UserStringHeap.cs:7
System.Reflection.Metadata.Ecma335.UserStringHeap
Definition
UserStringHeap.cs:6
System.Reflection.Metadata.UserStringHandle.FromOffset
static UserStringHandle FromOffset(int heapOffset)
Definition
UserStringHandle.cs:14
System.Reflection.Metadata.UserStringHandle
Definition
UserStringHandle.cs:4
source
System.Reflection.Metadata
System.Reflection.Metadata.Ecma335
UserStringHeap.cs
Generated by
1.10.0