Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
FieldDefinition.cs
Go to the documentation of this file.
1
using
System.Reflection.Metadata.Ecma335
;
2
3
namespace
System.Reflection.Metadata
;
4
5
public
readonly
struct
FieldDefinition
6
{
7
private
readonly
MetadataReader
_reader
;
8
9
private
readonly uint
_treatmentAndRowId
;
10
11
private
int
RowId
=> (int)(
_treatmentAndRowId
& 0xFFFFFF);
12
13
private
FieldDefTreatment
Treatment
=> (
FieldDefTreatment
)(
_treatmentAndRowId
>> 24);
14
15
private
FieldDefinitionHandle
Handle
=>
FieldDefinitionHandle
.
FromRowId
(
RowId
);
16
17
public
StringHandle
Name
18
{
19
get
20
{
21
if
(
Treatment
==
FieldDefTreatment
.None)
22
{
23
return
_reader
.
FieldTable
.
GetName
(
Handle
);
24
}
25
return
GetProjectedName
();
26
}
27
}
28
29
public
FieldAttributes
Attributes
30
{
31
get
32
{
33
if
(
Treatment
==
FieldDefTreatment
.None)
34
{
35
return
_reader
.
FieldTable
.
GetFlags
(
Handle
);
36
}
37
return
GetProjectedFlags
();
38
}
39
}
40
41
public
BlobHandle
Signature
42
{
43
get
44
{
45
if
(
Treatment
==
FieldDefTreatment
.None)
46
{
47
return
_reader
.
FieldTable
.
GetSignature
(
Handle
);
48
}
49
return
GetProjectedSignature
();
50
}
51
}
52
53
internal
FieldDefinition
(
MetadataReader
reader, uint treatmentAndRowId)
54
{
55
_reader
= reader;
56
_treatmentAndRowId
= treatmentAndRowId;
57
}
58
59
public
TType
DecodeSignature<TType, TGenericContext>
(
ISignatureTypeProvider<TType, TGenericContext>
provider, TGenericContext genericContext)
60
{
61
SignatureDecoder<TType, TGenericContext>
signatureDecoder =
new
SignatureDecoder<TType, TGenericContext>
(provider,
_reader
, genericContext);
62
BlobReader
blobReader =
_reader
.
GetBlobReader
(
Signature
);
63
return
signatureDecoder.
DecodeFieldSignature
(ref blobReader);
64
}
65
66
public
TypeDefinitionHandle
GetDeclaringType
()
67
{
68
return
_reader
.
GetDeclaringType
(
Handle
);
69
}
70
71
public
ConstantHandle
GetDefaultValue
()
72
{
73
return
_reader
.
ConstantTable
.
FindConstant
(
Handle
);
74
}
75
76
public
int
GetRelativeVirtualAddress
()
77
{
78
int
num =
_reader
.
FieldRvaTable
.
FindFieldRvaRowId
(
Handle
.
RowId
);
79
if
(num == 0)
80
{
81
return
0;
82
}
83
return
_reader
.
FieldRvaTable
.
GetRva
(num);
84
}
85
86
public
int
GetOffset
()
87
{
88
int
num =
_reader
.
FieldLayoutTable
.
FindFieldLayoutRowId
(
Handle
);
89
if
(num == 0)
90
{
91
return
-1;
92
}
93
uint
offset
=
_reader
.
FieldLayoutTable
.
GetOffset
(num);
94
if
(
offset
>
int
.
MaxValue
)
95
{
96
return
-1;
97
}
98
return
(
int
)
offset
;
99
}
100
101
public
BlobHandle
GetMarshallingDescriptor
()
102
{
103
int
num =
_reader
.
FieldMarshalTable
.
FindFieldMarshalRowId
(
Handle
);
104
if
(num == 0)
105
{
106
return
default
(
BlobHandle
);
107
}
108
return
_reader
.
FieldMarshalTable
.
GetNativeType
(num);
109
}
110
111
public
CustomAttributeHandleCollection
GetCustomAttributes
()
112
{
113
return
new
CustomAttributeHandleCollection
(
_reader
,
Handle
);
114
}
115
116
private
StringHandle
GetProjectedName
()
117
{
118
return
_reader
.
FieldTable
.
GetName
(
Handle
);
119
}
120
121
private
FieldAttributes
GetProjectedFlags
()
122
{
123
FieldAttributes
flags =
_reader
.
FieldTable
.
GetFlags
(
Handle
);
124
if
(
Treatment
==
FieldDefTreatment
.EnumValue)
125
{
126
return
(flags & ~
FieldAttributes
.FieldAccessMask) |
FieldAttributes
.Public;
127
}
128
return
flags;
129
}
130
131
private
BlobHandle
GetProjectedSignature
()
132
{
133
return
_reader
.
FieldTable
.
GetSignature
(
Handle
);
134
}
135
}
System.Reflection.Metadata.MetadataReader.FieldTable
FieldTableReader FieldTable
Definition
MetadataReader.cs:83
System.Reflection.Metadata.MetadataReader.ConstantTable
ConstantTableReader ConstantTable
Definition
MetadataReader.cs:97
System.Reflection.Metadata.MetadataReader.FieldMarshalTable
FieldMarshalTableReader FieldMarshalTable
Definition
MetadataReader.cs:101
System.Reflection.Metadata.MetadataReader.GetDeclaringType
TypeDefinitionHandle GetDeclaringType(MethodDefinitionHandle methodDef)
Definition
MetadataReader.cs:1159
System.Reflection.Metadata.MetadataReader.FieldRvaTable
FieldRVATableReader FieldRvaTable
Definition
MetadataReader.cs:133
System.Reflection.Metadata.MetadataReader.GetBlobReader
BlobReader GetBlobReader(BlobHandle handle)
Definition
MetadataReader.cs:944
System.Reflection.Metadata.MetadataReader.FieldLayoutTable
FieldLayoutTableReader FieldLayoutTable
Definition
MetadataReader.cs:107
System.Reflection.Metadata.MetadataReader
Definition
MetadataReader.cs:12
System.Signature
Definition
Signature.cs:8
System.Reflection.Metadata.ISignatureTypeProvider
Definition
ISignatureTypeProvider.cs:4
System.Reflection.Metadata.Ecma335.FieldDefTreatment
FieldDefTreatment
Definition
FieldDefTreatment.cs:5
System.Reflection.Metadata.Ecma335
Definition
ArrayShapeEncoder.cs:3
System.Reflection.Metadata
Definition
AssemblyExtensions.cs:4
System.Reflection.PInvokeAttributes.MaxValue
@ MaxValue
System.Reflection.FieldAttributes
FieldAttributes
Definition
FieldAttributes.cs:5
System.ExceptionArgument.offset
@ offset
System.Reflection.Metadata.BlobHandle
Definition
BlobHandle.cs:6
System.Reflection.Metadata.BlobReader
Definition
BlobReader.cs:10
System.Reflection.Metadata.ConstantHandle
Definition
ConstantHandle.cs:4
System.Reflection.Metadata.CustomAttributeHandleCollection
Definition
CustomAttributeHandleCollection.cs:7
System.Reflection.Metadata.Ecma335.ConstantTableReader.FindConstant
ConstantHandle FindConstant(EntityHandle parentHandle)
Definition
ConstantTableReader.cs:57
System.Reflection.Metadata.Ecma335.FieldLayoutTableReader.FindFieldLayoutRowId
int FindFieldLayoutRowId(FieldDefinitionHandle handle)
Definition
FieldLayoutTableReader.cs:33
System.Reflection.Metadata.Ecma335.FieldLayoutTableReader.GetOffset
uint GetOffset(int rowId)
Definition
FieldLayoutTableReader.cs:39
System.Reflection.Metadata.Ecma335.FieldMarshalTableReader.GetNativeType
BlobHandle GetNativeType(int rowId)
Definition
FieldMarshalTableReader.cs:42
System.Reflection.Metadata.Ecma335.FieldMarshalTableReader.FindFieldMarshalRowId
int FindFieldMarshalRowId(EntityHandle handle)
Definition
FieldMarshalTableReader.cs:48
System.Reflection.Metadata.Ecma335.FieldRVATableReader.FindFieldRvaRowId
int FindFieldRvaRowId(int fieldDefRowId)
Definition
FieldRVATableReader.cs:39
System.Reflection.Metadata.Ecma335.FieldRVATableReader.GetRva
int GetRva(int rowId)
Definition
FieldRVATableReader.cs:33
System.Reflection.Metadata.Ecma335.FieldTableReader.GetFlags
FieldAttributes GetFlags(FieldDefinitionHandle handle)
Definition
FieldTableReader.cs:41
System.Reflection.Metadata.Ecma335.FieldTableReader.GetSignature
BlobHandle GetSignature(FieldDefinitionHandle handle)
Definition
FieldTableReader.cs:47
System.Reflection.Metadata.Ecma335.FieldTableReader.GetName
StringHandle GetName(FieldDefinitionHandle handle)
Definition
FieldTableReader.cs:35
System.Reflection.Metadata.Ecma335.SignatureDecoder.DecodeFieldSignature
TType DecodeFieldSignature(ref BlobReader blobReader)
Definition
SignatureDecoder.cs:173
System.Reflection.Metadata.Ecma335.SignatureDecoder
Definition
SignatureDecoder.cs:6
System.Reflection.Metadata.FieldDefinitionHandle.FromRowId
static FieldDefinitionHandle FromRowId(int rowId)
Definition
FieldDefinitionHandle.cs:16
System.Reflection.Metadata.FieldDefinitionHandle
Definition
FieldDefinitionHandle.cs:4
System.Reflection.Metadata.FieldDefinition.Attributes
FieldAttributes Attributes
Definition
FieldDefinition.cs:30
System.Reflection.Metadata.FieldDefinition._treatmentAndRowId
readonly uint _treatmentAndRowId
Definition
FieldDefinition.cs:9
System.Reflection.Metadata.FieldDefinition.GetCustomAttributes
CustomAttributeHandleCollection GetCustomAttributes()
Definition
FieldDefinition.cs:111
System.Reflection.Metadata.FieldDefinition.GetProjectedFlags
FieldAttributes GetProjectedFlags()
Definition
FieldDefinition.cs:121
System.Reflection.Metadata.FieldDefinition.Name
StringHandle Name
Definition
FieldDefinition.cs:18
System.Reflection.Metadata.FieldDefinition.GetMarshallingDescriptor
BlobHandle GetMarshallingDescriptor()
Definition
FieldDefinition.cs:101
System.Reflection.Metadata.FieldDefinition.Treatment
FieldDefTreatment Treatment
Definition
FieldDefinition.cs:13
System.Reflection.Metadata.FieldDefinition.GetProjectedName
StringHandle GetProjectedName()
Definition
FieldDefinition.cs:116
System.Reflection.Metadata.FieldDefinition.RowId
int RowId
Definition
FieldDefinition.cs:11
System.Reflection.Metadata.FieldDefinition.GetOffset
int GetOffset()
Definition
FieldDefinition.cs:86
System.Reflection.Metadata.FieldDefinition.GetDefaultValue
ConstantHandle GetDefaultValue()
Definition
FieldDefinition.cs:71
System.Reflection.Metadata.FieldDefinition.GetRelativeVirtualAddress
int GetRelativeVirtualAddress()
Definition
FieldDefinition.cs:76
System.Reflection.Metadata.FieldDefinition.FieldDefinition
FieldDefinition(MetadataReader reader, uint treatmentAndRowId)
Definition
FieldDefinition.cs:53
System.Reflection.Metadata.FieldDefinition.GetProjectedSignature
BlobHandle GetProjectedSignature()
Definition
FieldDefinition.cs:131
System.Reflection.Metadata.FieldDefinition.GetDeclaringType
TypeDefinitionHandle GetDeclaringType()
Definition
FieldDefinition.cs:66
System.Reflection.Metadata.FieldDefinition._reader
readonly MetadataReader _reader
Definition
FieldDefinition.cs:7
System.Reflection.Metadata.FieldDefinition.DecodeSignature< TType, TGenericContext >
TType DecodeSignature< TType, TGenericContext >(ISignatureTypeProvider< TType, TGenericContext > provider, TGenericContext genericContext)
Definition
FieldDefinition.cs:59
System.Reflection.Metadata.FieldDefinition
Definition
FieldDefinition.cs:6
System.Reflection.Metadata.Handle.RowId
int RowId
Definition
Handle.cs:15
System.Reflection.Metadata.Handle
Definition
Handle.cs:6
System.Reflection.Metadata.StringHandle
Definition
StringHandle.cs:6
System.Reflection.Metadata.TypeDefinitionHandle
Definition
TypeDefinitionHandle.cs:4
source
System.Reflection.Metadata
System.Reflection.Metadata
FieldDefinition.cs
Generated by
1.10.0