Interpreter

esmeta.interpreter.Interpreter
See theInterpreter companion object
class Interpreter(val st: State, val log: Boolean, val detail: Boolean, val logPW: Option[PrintWriter], val timeLimit: Option[Int])

extensible helper of IR interpreter with a CFG

Attributes

Companion
object
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Interp
class Debugger

Members list

Value members

Concrete methods

def eval(cursor: Cursor): Boolean

transition for cursors

transition for cursors

Attributes

def eval(node: Node): Unit

transition for nodes

transition for nodes

Attributes

def eval(inst: NormalInst): Unit

transition for normal instructions

transition for normal instructions

Attributes

def eval(call: Call): Unit

transition for calls

transition for calls

Attributes

def eval(expr: Expr): Value

transition for expressions

transition for expressions

Attributes

def eval(ref: Ref): RefTarget

transition for references

transition for references

Attributes

def getLocals(params: List[Param], args: List[Value], caller: Call, callee: Callable): Map[Local, Value]

get initial local variables

get initial local variables

Attributes

def moveBranch(branch: Branch, cond: Boolean): Unit

set return value and move to the exit node

set return value and move to the exit node

Attributes

def moveExit: Unit

set return value and move to the exit node

set return value and move to the exit node

Attributes

def setCallResult(x: Var, value: Value): Unit

define call result to state and move to next

define call result to state and move to next

Attributes

def shortCircuit(bop: BOp, left: Expr, right: Expr): Value

short circuit evaluation

short circuit evaluation

Attributes

def step: Boolean

step

step

Attributes

Concrete fields

lazy val ITER_CYCLE: Int

iteration cycle

iteration cycle

Attributes

val detail: Boolean
lazy val esParser: ESParser

ECMAScript parser

ECMAScript parser

Attributes

val log: Boolean
val logPW: Option[PrintWriter]
lazy val result: State

final state

final state

Attributes

val st: State
lazy val startTime: Long

initial time

initial time

Attributes

val timeLimit: Option[Int]