Class TypeMemoryLayoutDetector
- Namespace
- AsmResolver.DotNet.Memory
- Assembly
- AsmResolver.DotNet.dll
Provides an implementation of a type visitor that walks a type signature or definition and determines its memory layout.
public class TypeMemoryLayoutDetector : ITypeSignatureVisitor<TypeMemoryLayout>
- Inheritance
-
TypeMemoryLayoutDetector
- Implements
- Inherited Members
Constructors
TypeMemoryLayoutDetector(GenericContext, bool)
Creates a new instance of the TypeMemoryLayoutDetector.
public TypeMemoryLayoutDetector(GenericContext currentGenericContext, bool is32Bit)
Parameters
currentGenericContextGenericContextThe current generic context to use.
is32BitboolDetermines whether memory addresses are 32 bit or 64 bit wide.
TypeMemoryLayoutDetector(bool)
Creates a new instance of the TypeMemoryLayoutDetector.
public TypeMemoryLayoutDetector(bool is32Bit)
Parameters
is32BitboolDetermines whether memory addresses are 32 bit or 64 bit wide.
Methods
VisitArrayType(ArrayTypeSignature)
Visits an instance of an ArrayTypeSignature.
public TypeMemoryLayout VisitArrayType(ArrayTypeSignature signature)
Parameters
signatureArrayTypeSignatureThe signature to visit.
Returns
- TypeMemoryLayout
The result provided by the visitor.
VisitBoxedType(BoxedTypeSignature)
Visits an instance of a BoxedTypeSignature.
public TypeMemoryLayout VisitBoxedType(BoxedTypeSignature signature)
Parameters
signatureBoxedTypeSignatureThe signature to visit.
Returns
- TypeMemoryLayout
The result provided by the visitor.
VisitByReferenceType(ByReferenceTypeSignature)
Visits an instance of a ByReferenceTypeSignature.
public TypeMemoryLayout VisitByReferenceType(ByReferenceTypeSignature signature)
Parameters
signatureByReferenceTypeSignatureThe signature to visit.
Returns
- TypeMemoryLayout
The result provided by the visitor.
VisitCorLibType(CorLibTypeSignature)
Visits an instance of a CorLibTypeSignature.
public TypeMemoryLayout VisitCorLibType(CorLibTypeSignature signature)
Parameters
signatureCorLibTypeSignatureThe signature to visit.
Returns
- TypeMemoryLayout
The result provided by the visitor.
VisitCustomModifierType(CustomModifierTypeSignature)
Visits an instance of a CustomModifierTypeSignature.
public TypeMemoryLayout VisitCustomModifierType(CustomModifierTypeSignature signature)
Parameters
signatureCustomModifierTypeSignatureThe signature to visit.
Returns
- TypeMemoryLayout
The result provided by the visitor.
VisitFunctionPointerType(FunctionPointerTypeSignature)
Visits an instance of a FunctionPointerTypeSignature.
public TypeMemoryLayout VisitFunctionPointerType(FunctionPointerTypeSignature signature)
Parameters
signatureFunctionPointerTypeSignatureThe signature to visit.
Returns
- TypeMemoryLayout
The result provided by the visitor.
VisitGenericInstanceType(GenericInstanceTypeSignature)
Visits an instance of a GenericInstanceTypeSignature.
public TypeMemoryLayout VisitGenericInstanceType(GenericInstanceTypeSignature signature)
Parameters
signatureGenericInstanceTypeSignatureThe signature to visit.
Returns
- TypeMemoryLayout
The result provided by the visitor.
VisitGenericParameter(GenericParameterSignature)
Visits an instance of a GenericParameterSignature.
public TypeMemoryLayout VisitGenericParameter(GenericParameterSignature signature)
Parameters
signatureGenericParameterSignatureThe signature to visit.
Returns
- TypeMemoryLayout
The result provided by the visitor.
VisitPinnedType(PinnedTypeSignature)
Visits an instance of a PinnedTypeSignature.
public TypeMemoryLayout VisitPinnedType(PinnedTypeSignature signature)
Parameters
signaturePinnedTypeSignatureThe signature to visit.
Returns
- TypeMemoryLayout
The result provided by the visitor.
VisitPointerType(PointerTypeSignature)
Visits an instance of a PointerTypeSignature.
public TypeMemoryLayout VisitPointerType(PointerTypeSignature signature)
Parameters
signaturePointerTypeSignatureThe signature to visit.
Returns
- TypeMemoryLayout
The result provided by the visitor.
VisitSentinelType(SentinelTypeSignature)
Visits an instance of a SentinelTypeSignature.
public TypeMemoryLayout VisitSentinelType(SentinelTypeSignature signature)
Parameters
signatureSentinelTypeSignatureThe signature to visit.
Returns
- TypeMemoryLayout
The result provided by the visitor.
VisitSzArrayType(SzArrayTypeSignature)
Visits an instance of a SzArrayTypeSignature.
public TypeMemoryLayout VisitSzArrayType(SzArrayTypeSignature signature)
Parameters
signatureSzArrayTypeSignatureThe signature to visit.
Returns
- TypeMemoryLayout
The result provided by the visitor.
VisitTypeDefOrRef(ITypeDefOrRef)
Visits an instance of a ITypeDefOrRef class.
public TypeMemoryLayout VisitTypeDefOrRef(ITypeDefOrRef type)
Parameters
typeITypeDefOrRefThe type to visit.
Returns
- TypeMemoryLayout
The implied memory layout.
VisitTypeDefOrRef(TypeDefOrRefSignature)
Visits an instance of a TypeDefOrRefSignature.
public TypeMemoryLayout VisitTypeDefOrRef(TypeDefOrRefSignature signature)
Parameters
signatureTypeDefOrRefSignatureThe signature to visit.
Returns
- TypeMemoryLayout
The result provided by the visitor.