Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
SignatureHeader.cs
Go to the documentation of this file.
1
using
System.Diagnostics.CodeAnalysis
;
2
using
System.Text
;
3
4
namespace
System.Reflection.Metadata
;
5
6
public
struct
SignatureHeader
:
IEquatable
<SignatureHeader>
7
{
8
private
readonly
byte
_rawValue
;
9
10
public
const
byte
CallingConventionOrKindMask
= 15;
11
12
public
byte
RawValue
=>
_rawValue
;
13
14
public
SignatureCallingConvention
CallingConvention
15
{
16
get
17
{
18
int
num =
_rawValue
& 0xF;
19
if
(num > 5 && num != 9)
20
{
21
return
SignatureCallingConvention
.Default;
22
}
23
return
(
SignatureCallingConvention
)num;
24
}
25
}
26
27
public
SignatureKind
Kind
28
{
29
get
30
{
31
int
num =
_rawValue
& 0xF;
32
if
(num <= 5 || num == 9)
33
{
34
return
SignatureKind
.Method;
35
}
36
return
(
SignatureKind
)num;
37
}
38
}
39
40
public
SignatureAttributes
Attributes
=> (
SignatureAttributes
)(
_rawValue
& 0xFFFFFFF0u);
41
42
public
bool
HasExplicitThis
=> (
_rawValue
& 0x40) != 0;
43
44
public
bool
IsInstance
=> (
_rawValue
& 0x20) != 0;
45
46
public
bool
IsGeneric
=> (
_rawValue
& 0x10) != 0;
47
48
public
SignatureHeader
(
byte
rawValue)
49
{
50
_rawValue
= rawValue;
51
}
52
53
public
SignatureHeader
(
SignatureKind
kind,
SignatureCallingConvention
convention,
SignatureAttributes
attributes)
54
: this((byte)((uint)kind | (uint)convention | (uint)attributes))
55
{
56
}
57
58
public
override
bool
Equals
([NotNullWhen(
true
)]
object
?
obj
)
59
{
60
if
(
obj
is
SignatureHeader
other
)
61
{
62
return
Equals
(
other
);
63
}
64
return
false
;
65
}
66
67
public
bool
Equals
(
SignatureHeader
other
)
68
{
69
return
_rawValue
==
other
._rawValue;
70
}
71
72
public
override
int
GetHashCode
()
73
{
74
return
_rawValue
;
75
}
76
77
public
static
bool
operator ==
(
SignatureHeader
left,
SignatureHeader
right)
78
{
79
return
left._rawValue == right.
_rawValue
;
80
}
81
82
public
static
bool
operator !=
(
SignatureHeader
left,
SignatureHeader
right)
83
{
84
return
left._rawValue != right.
_rawValue
;
85
}
86
87
public
override
string
ToString
()
88
{
89
StringBuilder
stringBuilder =
new
StringBuilder
();
90
stringBuilder.
Append
(
Kind
.ToString());
91
if
(
Kind
==
SignatureKind
.Method)
92
{
93
stringBuilder.
Append
(
','
);
94
stringBuilder.
Append
(CallingConvention.ToString());
95
}
96
if
(
Attributes
!= 0)
97
{
98
stringBuilder.
Append
(
','
);
99
stringBuilder.
Append
(
Attributes
.ToString());
100
}
101
return
stringBuilder.
ToString
();
102
}
103
}
System.Text.StringBuilder.ToString
override string ToString()
Definition
StringBuilder.cs:679
System.Text.StringBuilder.Append
StringBuilder Append(char value, int repeatCount)
Definition
StringBuilder.cs:744
System.Text.StringBuilder
Definition
StringBuilder.cs:14
System.IEquatable
Definition
IEquatable.cs:4
System.Diagnostics.CodeAnalysis
Definition
AllowNullAttribute.cs:1
System.Reflection.Metadata.SignatureKind
SignatureKind
Definition
SignatureKind.cs:4
System.Reflection.Metadata.SignatureCallingConvention
SignatureCallingConvention
Definition
SignatureCallingConvention.cs:4
System.Reflection.Metadata.SignatureAttributes
SignatureAttributes
Definition
SignatureAttributes.cs:5
System.Reflection.Metadata
Definition
AssemblyExtensions.cs:4
System.Text
Definition
ConsoleEncoding.cs:1
System.ExceptionArgument.other
@ other
System.ExceptionArgument.obj
@ obj
System.Reflection.Metadata.SignatureHeader.SignatureHeader
SignatureHeader(SignatureKind kind, SignatureCallingConvention convention, SignatureAttributes attributes)
Definition
SignatureHeader.cs:53
System.Reflection.Metadata.SignatureHeader.Equals
bool Equals(SignatureHeader other)
Definition
SignatureHeader.cs:67
System.Reflection.Metadata.SignatureHeader.ToString
override string ToString()
Definition
SignatureHeader.cs:87
System.Reflection.Metadata.SignatureHeader.operator==
static bool operator==(SignatureHeader left, SignatureHeader right)
Definition
SignatureHeader.cs:77
System.Reflection.Metadata.SignatureHeader.SignatureHeader
SignatureHeader(byte rawValue)
Definition
SignatureHeader.cs:48
System.Reflection.Metadata.SignatureHeader.HasExplicitThis
bool HasExplicitThis
Definition
SignatureHeader.cs:42
System.Reflection.Metadata.SignatureHeader.operator!=
static bool operator!=(SignatureHeader left, SignatureHeader right)
Definition
SignatureHeader.cs:82
System.Reflection.Metadata.SignatureHeader.Equals
override bool Equals([NotNullWhen(true)] object? obj)
Definition
SignatureHeader.cs:58
System.Reflection.Metadata.SignatureHeader.Attributes
SignatureAttributes Attributes
Definition
SignatureHeader.cs:40
System.Reflection.Metadata.SignatureHeader._rawValue
readonly byte _rawValue
Definition
SignatureHeader.cs:8
System.Reflection.Metadata.SignatureHeader.CallingConventionOrKindMask
const byte CallingConventionOrKindMask
Definition
SignatureHeader.cs:10
System.Reflection.Metadata.SignatureHeader.GetHashCode
override int GetHashCode()
Definition
SignatureHeader.cs:72
System.Reflection.Metadata.SignatureHeader.IsGeneric
bool IsGeneric
Definition
SignatureHeader.cs:46
System.Reflection.Metadata.SignatureHeader.IsInstance
bool IsInstance
Definition
SignatureHeader.cs:44
System.Reflection.Metadata.SignatureHeader.Kind
SignatureKind Kind
Definition
SignatureHeader.cs:28
System.Reflection.Metadata.SignatureHeader.RawValue
byte RawValue
Definition
SignatureHeader.cs:12
System.Reflection.Metadata.SignatureHeader
Definition
SignatureHeader.cs:7
source
System.Reflection.Metadata
System.Reflection.Metadata
SignatureHeader.cs
Generated by
1.10.0