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
currentGenericContext
GenericContextThe current generic context to use.
is32Bit
boolDetermines whether memory addresses are 32 bit or 64 bit wide.
TypeMemoryLayoutDetector(bool)
Creates a new instance of the TypeMemoryLayoutDetector.
public TypeMemoryLayoutDetector(bool is32Bit)
Parameters
is32Bit
boolDetermines 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
signature
ArrayTypeSignatureThe 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
signature
BoxedTypeSignatureThe 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
signature
ByReferenceTypeSignatureThe 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
signature
CorLibTypeSignatureThe 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
signature
CustomModifierTypeSignatureThe 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
signature
FunctionPointerTypeSignatureThe 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
signature
GenericInstanceTypeSignatureThe 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
signature
GenericParameterSignatureThe 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
signature
PinnedTypeSignatureThe 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
signature
PointerTypeSignatureThe 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
signature
SentinelTypeSignatureThe 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
signature
SzArrayTypeSignatureThe 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
type
ITypeDefOrRefThe type to visit.
Returns
- TypeMemoryLayout
The implied memory layout.
VisitTypeDefOrRef(TypeDefOrRefSignature)
Visits an instance of a TypeDefOrRefSignature.
public TypeMemoryLayout VisitTypeDefOrRef(TypeDefOrRefSignature signature)
Parameters
signature
TypeDefOrRefSignatureThe signature to visit.
Returns
- TypeMemoryLayout
The result provided by the visitor.