Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
MemberReference.cs
Go to the documentation of this file.
2
4
5public readonly struct MemberReference
6{
7 private readonly MetadataReader _reader;
8
9 private readonly uint _treatmentAndRowId;
10
11 private int RowId => (int)(_treatmentAndRowId & 0xFFFFFF);
12
14
16
18 {
19 get
20 {
21 if (Treatment == MemberRefTreatment.None)
22 {
24 }
25 return GetProjectedParent();
26 }
27 }
28
30 {
31 get
32 {
33 if (Treatment == MemberRefTreatment.None)
34 {
36 }
37 return GetProjectedName();
38 }
39 }
40
42 {
43 get
44 {
45 if (Treatment == MemberRefTreatment.None)
46 {
48 }
49 return GetProjectedSignature();
50 }
51 }
52
53 internal MemberReference(MetadataReader reader, uint treatmentAndRowId)
54 {
55 _reader = reader;
56 _treatmentAndRowId = treatmentAndRowId;
57 }
58
60 {
63 return signatureDecoder.DecodeFieldSignature(ref blobReader);
64 }
65
67 {
70 return signatureDecoder.DecodeMethodSignature(ref blobReader);
71 }
72
74 {
76 {
77 SignatureKind.Method => MemberReferenceKind.Method,
78 SignatureKind.Field => MemberReferenceKind.Field,
79 _ => throw new BadImageFormatException(),
80 };
81 }
82
87
92
101
106}
BlobReader GetBlobReader(BlobHandle handle)
StringHandle GetName(MemberReferenceHandle handle)
BlobHandle GetSignature(MemberReferenceHandle handle)
EntityHandle GetClass(MemberReferenceHandle handle)
MethodSignature< TType > DecodeMethodSignature(ref BlobReader blobReader)
TType DecodeFieldSignature(ref BlobReader blobReader)
static MemberReferenceHandle FromRowId(int rowId)
CustomAttributeHandleCollection GetCustomAttributes()
MemberReference(MetadataReader reader, uint treatmentAndRowId)
MethodSignature< TType > DecodeMethodSignature< TType, TGenericContext >(ISignatureTypeProvider< TType, TGenericContext > provider, TGenericContext genericContext)
TType DecodeFieldSignature< TType, TGenericContext >(ISignatureTypeProvider< TType, TGenericContext > provider, TGenericContext genericContext)
static StringHandle FromVirtualIndex(VirtualIndex virtualIndex)