Table of Contents

Struct AllocationResult

Namespace
Echo.Platforms.AsmResolver.Emulation.Invocation
Assembly
Echo.Platforms.AsmResolver.dll

Describes the result of an allocation of an object.

public readonly struct AllocationResult
Inherited Members

Properties

Address

When ResultType is StepOver, gets the address of the object that was allocated or constructed.

public BitVector? Address { get; }

Property Value

BitVector

ExceptionObject

When ResultType is Exception, gets the handle to the exception object that was thrown.

public ObjectHandle ExceptionObject { get; }

Property Value

ObjectHandle

IsInconclusive

Gets a value indicating whether the invocation was inconclusive and not handled yet.

public bool IsInconclusive { get; }

Property Value

bool

IsSuccess

Determines whether the invocation was successful.

public bool IsSuccess { get; }

Property Value

bool

ResultType

Gets the type of result this object contains.

public AllocationResultType ResultType { get; }

Property Value

AllocationResultType

Methods

Allocated(BitVector)

Constructs a new conclusive allocation result, where the object was successfully allocated but not yet initialized yet.

public static AllocationResult Allocated(BitVector address)

Parameters

address BitVector

The address of the allocated object.

Returns

AllocationResult

Exception(ObjectHandle)

Constructs a new failed allocation result with the provided pointer to an exception object describing the error that occurred.

public static AllocationResult Exception(ObjectHandle exceptionObject)

Parameters

exceptionObject ObjectHandle

The handle to the exception object that was thrown.

Returns

AllocationResult

FullyConstructed(BitVector)

Constructs a new conclusive allocation result, where the object was successfully allocated and is also fully initialized by a constructor.

public static AllocationResult FullyConstructed(BitVector address)

Parameters

address BitVector

The address of the allocated object.

Returns

AllocationResult

Inconclusive()

Constructs a new inconclusive allocation result, where the allocation was not handled yet.

public static AllocationResult Inconclusive()

Returns

AllocationResult