Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ DecodeTypeHandle()

TType System.Reflection.Metadata.Ecma335.SignatureDecoder< TType, TGenericContext >.DecodeTypeHandle ( ref BlobReader blobReader,
byte rawTypeKind,
bool allowTypeSpecifications )
inlineprivate

Definition at line 224 of file SignatureDecoder.cs.

225 {
226 EntityHandle entityHandle = blobReader.ReadTypeHandle();
227 if (!entityHandle.IsNil)
228 {
229 switch (entityHandle.Kind)
230 {
231 case HandleKind.TypeDefinition:
232 return _provider.GetTypeFromDefinition(_metadataReaderOpt, (TypeDefinitionHandle)entityHandle, rawTypeKind);
233 case HandleKind.TypeReference:
234 return _provider.GetTypeFromReference(_metadataReaderOpt, (TypeReferenceHandle)entityHandle, rawTypeKind);
235 case HandleKind.TypeSpecification:
236 if (!allowTypeSpecifications)
237 {
238 throw new BadImageFormatException(System.SR.NotTypeDefOrRefHandle);
239 }
240 return _provider.GetTypeFromSpecification(_metadataReaderOpt, _genericContext, (TypeSpecificationHandle)entityHandle, rawTypeKind);
241 }
242 }
243 throw new BadImageFormatException(System.SR.NotTypeDefOrRefOrSpecHandle);
244 }
static string NotTypeDefOrRefOrSpecHandle
Definition SR.cs:174
static string NotTypeDefOrRefHandle
Definition SR.cs:168
Definition SR.cs:7
readonly ISignatureTypeProvider< TType, TGenericContext > _provider

References System.Reflection.Metadata.Ecma335.SignatureDecoder< TType, TGenericContext >._genericContext, System.Reflection.Metadata.Ecma335.SignatureDecoder< TType, TGenericContext >._metadataReaderOpt, System.Reflection.Metadata.Ecma335.SignatureDecoder< TType, TGenericContext >._provider, System.Reflection.Metadata.EntityHandle.IsNil, System.Reflection.Metadata.EntityHandle.Kind, System.SR.NotTypeDefOrRefHandle, and System.SR.NotTypeDefOrRefOrSpecHandle.

Referenced by System.Reflection.Metadata.Ecma335.SignatureDecoder< TType, TGenericContext >.DecodeModifiedType(), and System.Reflection.Metadata.Ecma335.SignatureDecoder< TType, TGenericContext >.DecodeType().