cadenza / cadenza.jit / Code

Code

abstract class Code : Node, InstrumentableNode

Types

Ann

class Ann : Code

App

class App : Code

Arg

class Arg : Code

CallBuiltin

abstract class CallBuiltin : Code

If

class If : Code

Lam

class Lam : Code

LitBigInt

class LitBigInt : Code

LitBool

class LitBool : Code

LitInt

class LitInt : Code

Var

abstract class Var : Code

Constructors

<init>

Code(loc: Loc? = null)

Properties

loc

val loc: Loc?

Functions

createWrapper

open fun createWrapper(probe: ProbeNode): WrapperNode

execute

abstract fun execute(frame: VirtualFrame): Any?

executeAny

open fun executeAny(frame: VirtualFrame): Any?

executeBoolean

open fun executeBoolean(frame: VirtualFrame): Boolean

executeClosure

open fun executeClosure(frame: VirtualFrame): Closure

executeInteger

open fun executeInteger(frame: VirtualFrame): Int

executeUnit

open fun executeUnit(frame: VirtualFrame): Unit

getSourceSection

open fun getSourceSection(): SourceSection?

hasTag

open fun hasTag(tag: Class<out Tag>?): Boolean

isInstrumentable

open fun isInstrumentable(): Boolean

Companion Object Functions

lam

fun lam(callTarget: RootCallTarget, type: Type, loc: Loc? = null): Lam
fun lam(arity: Int, callTarget: RootCallTarget, type: Type, loc: Loc? = null): Lam
fun lam(closureFrameDescriptor: FrameDescriptor, captureSteps: Array<FrameBuilder>, callTarget: RootCallTarget, type: Type, loc: Loc? = null): Lam
fun lam(closureFrameDescriptor: FrameDescriptor?, captureSteps: Array<FrameBuilder>, arity: Int, callTarget: RootCallTarget, type: Type, loc: Loc? = null): Lam

var

fun var(slot: FrameSlot, loc: Loc? = null): Var