Table of Contents

Class IsInstHandler

Namespace
Echo.Platforms.AsmResolver.Emulation.Dispatch.ObjectModel
Assembly
Echo.Platforms.AsmResolver.dll

Implements a CIL instruction handler for isinst operations.

[DispatcherTableEntry(new CilCode[] { CilCode.Isinst })]
public class IsInstHandler : CastOpCodeHandlerBase, ICilOpCodeHandler
Inheritance
IsInstHandler
Implements
Inherited Members

Methods

HandleFailedCast(CilExecutionContext, TypeSignature, TypeSignature)

Handles the case when the pushed value is incompatible with the type specified in the instruction.

protected override CilDispatchResult HandleFailedCast(CilExecutionContext context, TypeSignature originalType, TypeSignature targetType)

Parameters

context CilExecutionContext

The context to evaluate the instruction in.

originalType TypeSignature

The type of the pushed object.

targetType TypeSignature

The type that the object was attempted to be converted to.

Returns

CilDispatchResult

The final dispatcher result.

HandleSuccessfulCast(CilExecutionContext, ObjectHandle, TypeSignature)

Handles the case when the pushed value is compatible with the type specified in the instruction.

protected override CilDispatchResult HandleSuccessfulCast(CilExecutionContext context, ObjectHandle handle, TypeSignature targetType)

Parameters

context CilExecutionContext

The context to evaluate the instruction in.

handle ObjectHandle

The address of the object.

targetType TypeSignature

The type to convert the object to to.

Returns

CilDispatchResult

The final dispatcher result.