Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
EntityHandle.cs
Go to the documentation of this file.
1
using
System.Diagnostics.CodeAnalysis
;
2
3
namespace
System.Reflection.Metadata
;
4
5
public
readonly
struct
EntityHandle
:
IEquatable
<EntityHandle>
6
{
7
private
readonly uint
_vToken
;
8
9
public
static
readonly
ModuleDefinitionHandle
ModuleDefinition
=
new
ModuleDefinitionHandle
(1);
10
11
public
static
readonly
AssemblyDefinitionHandle
AssemblyDefinition
=
new
AssemblyDefinitionHandle
(1);
12
13
internal
uint
Type
=>
_vToken
& 0x7F000000u;
14
15
internal
uint
VType
=>
_vToken
& 0xFF000000u;
16
17
internal
bool
IsVirtual
=> (
_vToken
& 0x80000000u) != 0;
18
19
public
bool
IsNil
=> (
_vToken
& 0x80FFFFFFu) == 0;
20
21
internal
int
RowId
=> (int)(
_vToken
& 0xFFFFFF);
22
23
internal
uint
SpecificHandleValue
=>
_vToken
& 0x80FFFFFFu;
24
25
public
HandleKind
Kind
=> (
HandleKind
)(
Type
>> 24);
26
27
internal
int
Token => (int)
_vToken
;
28
29
internal
EntityHandle
(uint vToken)
30
{
31
_vToken
= vToken;
32
}
33
34
public
static
implicit
operator
Handle
(
EntityHandle
handle
)
35
{
36
return
Handle
.
FromVToken
(
handle
._vToken);
37
}
38
39
public
static
explicit
operator
EntityHandle
(
Handle
handle
)
40
{
41
if
(
handle
.IsHeapHandle)
42
{
43
Throw
.
InvalidCast
();
44
}
45
return
new
EntityHandle
(
handle
.EntityHandleValue);
46
}
47
48
public
override
bool
Equals
([NotNullWhen(
true
)]
object
?
obj
)
49
{
50
if
(
obj
is
EntityHandle
other
)
51
{
52
return
Equals
(
other
);
53
}
54
return
false
;
55
}
56
57
public
bool
Equals
(
EntityHandle
other
)
58
{
59
return
_vToken
==
other
._vToken;
60
}
61
62
public
override
int
GetHashCode
()
63
{
64
return
(
int
)
_vToken
;
65
}
66
67
public
static
bool
operator ==
(
EntityHandle
left,
EntityHandle
right)
68
{
69
return
left.
Equals
(right);
70
}
71
72
public
static
bool
operator !=
(
EntityHandle
left,
EntityHandle
right)
73
{
74
return
!left.
Equals
(right);
75
}
76
77
internal
static
int
Compare
(
EntityHandle
left,
EntityHandle
right)
78
{
79
return
left.
_vToken
.CompareTo(right.
_vToken
);
80
}
81
}
System.Reflection.Throw.InvalidCast
static void InvalidCast()
Definition
Throw.cs:12
System.Reflection.Throw
Definition
Throw.cs:9
System.Type
Definition
Type.cs:14
System.IEquatable
Definition
IEquatable.cs:4
System.Diagnostics.CodeAnalysis
Definition
AllowNullAttribute.cs:1
System.Reflection.Metadata.HandleKind
HandleKind
Definition
HandleKind.cs:4
System.Reflection.Metadata
Definition
AssemblyExtensions.cs:4
System.ExceptionArgument.other
@ other
System.ExceptionArgument.obj
@ obj
System.ExceptionArgument.handle
@ handle
System.Reflection.Metadata.AssemblyDefinitionHandle
Definition
AssemblyDefinitionHandle.cs:4
System.Reflection.Metadata.AssemblyDefinition
Definition
AssemblyDefinition.cs:4
System.Reflection.Metadata.EntityHandle.RowId
int RowId
Definition
EntityHandle.cs:21
System.Reflection.Metadata.EntityHandle.Kind
HandleKind Kind
Definition
EntityHandle.cs:25
System.Reflection.Metadata.EntityHandle.operator==
static bool operator==(EntityHandle left, EntityHandle right)
Definition
EntityHandle.cs:67
System.Reflection.Metadata.EntityHandle.IsVirtual
bool IsVirtual
Definition
EntityHandle.cs:17
System.Reflection.Metadata.EntityHandle.IsNil
bool IsNil
Definition
EntityHandle.cs:19
System.Reflection.Metadata.EntityHandle._vToken
readonly uint _vToken
Definition
EntityHandle.cs:7
System.Reflection.Metadata.EntityHandle.Equals
bool Equals(EntityHandle other)
Definition
EntityHandle.cs:57
System.Reflection.Metadata.EntityHandle.operator!=
static bool operator!=(EntityHandle left, EntityHandle right)
Definition
EntityHandle.cs:72
System.Reflection.Metadata.EntityHandle.Compare
static int Compare(EntityHandle left, EntityHandle right)
Definition
EntityHandle.cs:77
System.Reflection.Metadata.EntityHandle.GetHashCode
override int GetHashCode()
Definition
EntityHandle.cs:62
System.Reflection.Metadata.EntityHandle.SpecificHandleValue
uint SpecificHandleValue
Definition
EntityHandle.cs:23
System.Reflection.Metadata.EntityHandle.VType
uint VType
Definition
EntityHandle.cs:15
System.Reflection.Metadata.EntityHandle.EntityHandle
EntityHandle(uint vToken)
Definition
EntityHandle.cs:29
System.Reflection.Metadata.EntityHandle.Equals
override bool Equals([NotNullWhen(true)] object? obj)
Definition
EntityHandle.cs:48
System.Reflection.Metadata.EntityHandle
Definition
EntityHandle.cs:6
System.Reflection.Metadata.Handle.FromVToken
static Handle FromVToken(uint vToken)
Definition
Handle.cs:52
System.Reflection.Metadata.Handle
Definition
Handle.cs:6
System.Reflection.Metadata.ModuleDefinitionHandle
Definition
ModuleDefinitionHandle.cs:4
System.Reflection.Metadata.ModuleDefinition
Definition
ModuleDefinition.cs:4
source
System.Reflection.Metadata
System.Reflection.Metadata
EntityHandle.cs
Generated by
1.10.0