Table of Contents

Struct InvocationResult

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

Describes the result of an invocation of an external method.

public readonly struct InvocationResult
Inherited Members

Properties

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 InvocationResultType ResultType { get; }

Property Value

InvocationResultType

Value

When ResultType is StepOver, gets the value that the method returned (if available).

public BitVector? Value { get; }

Property Value

BitVector

Methods

Exception(ObjectHandle)

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

public static InvocationResult Exception(ObjectHandle exceptionObject)

Parameters

exceptionObject ObjectHandle

The handle to the exception object that was thrown.

Returns

InvocationResult

The result.

FullyHandled()

Constructs a new conclusive invocation result, where the invocation was fully emulated by the invoker.

public static InvocationResult FullyHandled()

Returns

InvocationResult

Inconclusive()

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

public static InvocationResult Inconclusive()

Returns

InvocationResult

StepIn()

Constructs a new conclusive invocation result, where the invocation was handled as a step-in action.

public static InvocationResult StepIn()

Returns

InvocationResult

StepOver(BitVector?)

Constructs a new conclusive invocation result, where the invocation was fully handled by the invoker and a result was produced.

public static InvocationResult StepOver(BitVector? value)

Parameters

value BitVector

The result that was produced by the method, or null if the method does not return a value.

Returns

InvocationResult