Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
StandaloneSignature.cs
Go to the documentation of this file.
1
using
System.Collections.Immutable
;
2
using
System.Reflection.Metadata.Ecma335
;
3
4
namespace
System.Reflection.Metadata
;
5
6
public
readonly
struct
StandaloneSignature
7
{
8
private
readonly
MetadataReader
_reader
;
9
10
private
readonly
int
_rowId
;
11
12
private
StandaloneSignatureHandle
Handle
=>
StandaloneSignatureHandle
.
FromRowId
(
_rowId
);
13
14
public
BlobHandle
Signature
=>
_reader
.
StandAloneSigTable
.
GetSignature
(
_rowId
);
15
16
internal
StandaloneSignature
(
MetadataReader
reader,
StandaloneSignatureHandle
handle
)
17
{
18
_reader
= reader;
19
_rowId
=
handle
.RowId;
20
}
21
22
public
MethodSignature<TType>
DecodeMethodSignature<TType, TGenericContext>
(
ISignatureTypeProvider<TType, TGenericContext>
provider, TGenericContext genericContext)
23
{
24
SignatureDecoder<TType, TGenericContext>
signatureDecoder =
new
SignatureDecoder<TType, TGenericContext>
(provider,
_reader
, genericContext);
25
BlobReader
blobReader =
_reader
.
GetBlobReader
(
Signature
);
26
return
signatureDecoder.
DecodeMethodSignature
(ref blobReader);
27
}
28
29
public
ImmutableArray<TType>
DecodeLocalSignature<TType, TGenericContext>
(
ISignatureTypeProvider<TType, TGenericContext>
provider, TGenericContext genericContext)
30
{
31
SignatureDecoder<TType, TGenericContext>
signatureDecoder =
new
SignatureDecoder<TType, TGenericContext>
(provider,
_reader
, genericContext);
32
BlobReader
blobReader =
_reader
.
GetBlobReader
(
Signature
);
33
return
signatureDecoder.
DecodeLocalSignature
(ref blobReader);
34
}
35
36
public
CustomAttributeHandleCollection
GetCustomAttributes
()
37
{
38
return
new
CustomAttributeHandleCollection
(
_reader
,
Handle
);
39
}
40
41
public
StandaloneSignatureKind
GetKind
()
42
{
43
return
_reader
.
GetBlobReader
(
Signature
).
ReadSignatureHeader
().
Kind
switch
44
{
45
SignatureKind.Method =>
StandaloneSignatureKind
.Method,
46
SignatureKind.LocalVariables =>
StandaloneSignatureKind
.LocalVariables,
47
_ =>
throw
new
BadImageFormatException
(),
48
};
49
}
50
}
System.BadImageFormatException
Definition
BadImageFormatException.cs:10
System.Collections.Immutable.ImmutableArray
Definition
ImmutableArray.cs:223
System.Reflection.Metadata.MetadataReader.GetBlobReader
BlobReader GetBlobReader(BlobHandle handle)
Definition
MetadataReader.cs:944
System.Reflection.Metadata.MetadataReader.StandAloneSigTable
StandAloneSigTableReader StandAloneSigTable
Definition
MetadataReader.cs:109
System.Reflection.Metadata.MetadataReader
Definition
MetadataReader.cs:12
System.Signature
Definition
Signature.cs:8
System.Reflection.Metadata.ISignatureTypeProvider
Definition
ISignatureTypeProvider.cs:4
System.Collections.Immutable
Definition
AllocFreeConcurrentStack.cs:4
System.Reflection.Metadata.Ecma335
Definition
ArrayShapeEncoder.cs:3
System.Reflection.Metadata.StandaloneSignatureKind
StandaloneSignatureKind
Definition
StandaloneSignatureKind.cs:4
System.Reflection.Metadata
Definition
AssemblyExtensions.cs:4
System.ExceptionArgument.handle
@ handle
System.Reflection.Metadata.BlobHandle
Definition
BlobHandle.cs:6
System.Reflection.Metadata.BlobReader.ReadSignatureHeader
SignatureHeader ReadSignatureHeader()
Definition
BlobReader.cs:239
System.Reflection.Metadata.BlobReader
Definition
BlobReader.cs:10
System.Reflection.Metadata.CustomAttributeHandleCollection
Definition
CustomAttributeHandleCollection.cs:7
System.Reflection.Metadata.Ecma335.SignatureDecoder.DecodeLocalSignature
ImmutableArray< TType > DecodeLocalSignature(ref BlobReader blobReader)
Definition
SignatureDecoder.cs:166
System.Reflection.Metadata.Ecma335.SignatureDecoder.DecodeMethodSignature
MethodSignature< TType > DecodeMethodSignature(ref BlobReader blobReader)
Definition
SignatureDecoder.cs:118
System.Reflection.Metadata.Ecma335.SignatureDecoder
Definition
SignatureDecoder.cs:6
System.Reflection.Metadata.Ecma335.StandAloneSigTableReader.GetSignature
BlobHandle GetSignature(int rowId)
Definition
StandAloneSigTableReader.cs:26
System.Reflection.Metadata.Handle
Definition
Handle.cs:6
System.Reflection.Metadata.MethodSignature
Definition
MethodSignature.cs:6
System.Reflection.Metadata.SignatureHeader.Kind
SignatureKind Kind
Definition
SignatureHeader.cs:28
System.Reflection.Metadata.StandaloneSignatureHandle.FromRowId
static StandaloneSignatureHandle FromRowId(int rowId)
Definition
StandaloneSignatureHandle.cs:16
System.Reflection.Metadata.StandaloneSignatureHandle
Definition
StandaloneSignatureHandle.cs:4
System.Reflection.Metadata.StandaloneSignature.GetCustomAttributes
CustomAttributeHandleCollection GetCustomAttributes()
Definition
StandaloneSignature.cs:36
System.Reflection.Metadata.StandaloneSignature._reader
readonly MetadataReader _reader
Definition
StandaloneSignature.cs:8
System.Reflection.Metadata.StandaloneSignature.StandaloneSignature
StandaloneSignature(MetadataReader reader, StandaloneSignatureHandle handle)
Definition
StandaloneSignature.cs:16
System.Reflection.Metadata.StandaloneSignature.GetKind
StandaloneSignatureKind GetKind()
Definition
StandaloneSignature.cs:41
System.Reflection.Metadata.StandaloneSignature.DecodeLocalSignature< TType, TGenericContext >
ImmutableArray< TType > DecodeLocalSignature< TType, TGenericContext >(ISignatureTypeProvider< TType, TGenericContext > provider, TGenericContext genericContext)
Definition
StandaloneSignature.cs:29
System.Reflection.Metadata.StandaloneSignature.DecodeMethodSignature< TType, TGenericContext >
MethodSignature< TType > DecodeMethodSignature< TType, TGenericContext >(ISignatureTypeProvider< TType, TGenericContext > provider, TGenericContext genericContext)
Definition
StandaloneSignature.cs:22
System.Reflection.Metadata.StandaloneSignature._rowId
readonly int _rowId
Definition
StandaloneSignature.cs:10
System.Reflection.Metadata.StandaloneSignature
Definition
StandaloneSignature.cs:7
source
System.Reflection.Metadata
System.Reflection.Metadata
StandaloneSignature.cs
Generated by
1.10.0