Table of Contents

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 GenericContext

The current generic context to use.

is32Bit bool

Determines 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 bool

Determines 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 ArrayTypeSignature

The 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 BoxedTypeSignature

The 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 ByReferenceTypeSignature

The 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 CorLibTypeSignature

The 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 CustomModifierTypeSignature

The 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 FunctionPointerTypeSignature

The 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 GenericInstanceTypeSignature

The 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 GenericParameterSignature

The 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 PinnedTypeSignature

The 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 PointerTypeSignature

The 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 SentinelTypeSignature

The 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 SzArrayTypeSignature

The 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 ITypeDefOrRef

The type to visit.

Returns

TypeMemoryLayout

The implied memory layout.

VisitTypeDefOrRef(TypeDefOrRefSignature)

Visits an instance of a TypeDefOrRefSignature.

public TypeMemoryLayout VisitTypeDefOrRef(TypeDefOrRefSignature signature)

Parameters

signature TypeDefOrRefSignature

The signature to visit.

Returns

TypeMemoryLayout

The result provided by the visitor.