Debugger

esmeta.web.Debugger
class Debugger(st: State) extends Interpreter

debugger extension of IR interpreter

Attributes

Graph
Supertypes
class Interpreter
class Object
trait Matchable
class Any

Members list

Type members

Classlikes

trait Breakpoint

breakpoints used in debugger

breakpoints used in debugger

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
case class EsBreakpoint(line: Int, var enabled: Boolean) extends Breakpoint

breakpoints by ECMAScript code line

breakpoints by ECMAScript code line

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Breakpoint
class Object
trait Matchable
class Any
Show all
case class SpecBreakpoint(fid: Int, steps: List[Int], var enabled: Boolean) extends Breakpoint

breakpoints by spec steps

breakpoints by spec steps

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Breakpoint
class Object
trait Matchable
class Any
Show all
enum StepResult

step result

step result

Attributes

Supertypes
trait Enum
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Value members

Concrete methods

final def addBreak(data: (Boolean, Int, List[Int], Boolean)): Unit
def callStackInfo: List[(Int, String, List[Int], List[(String, String)])]

call stack information

call stack information

Attributes

final def continue: StepResult
def ctxtInfo(cid: Int): (Int, Int, String, List[(String, Boolean, String)], String, String, (Int, Int))

context information

context information

Attributes

final def esStep: StepResult
final def esStepOut: StepResult
final def esStepOver: StepResult
override def eval(node: Node): Unit

transition for nodes

transition for nodes

Attributes

Definition Classes
def heapInfo: Map[String, String]

heap information

heap information

Attributes

final def rmBreak(idx: Int): Unit
final def rmBreakAll: Unit
final def specStep: StepResult
final def specStepOut: StepResult
override def step: Boolean

step

step

Attributes

Definition Classes
final def stepUntil(pred: => Boolean): StepResult
final def toggleBreak(idx: Int): Unit
final def toggleBreakAll: Unit

Inherited methods

def eval(ref: Ref): RefTarget

transition for references

transition for references

Attributes

Inherited from:
Interpreter
def eval(expr: Expr): Value

transition for expressions

transition for expressions

Attributes

Inherited from:
Interpreter
def eval(call: Call): Unit

transition for calls

transition for calls

Attributes

Inherited from:
Interpreter
def eval(inst: NormalInst): Unit

transition for normal instructions

transition for normal instructions

Attributes

Inherited from:
Interpreter
def eval(cursor: Cursor): Boolean

transition for cursors

transition for cursors

Attributes

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

get initial local variables

get initial local variables

Attributes

Inherited from:
Interpreter
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

Inherited from:
Interpreter
def moveExit: Unit

set return value and move to the exit node

set return value and move to the exit node

Attributes

Inherited from:
Interpreter
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

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

short circuit evaluation

short circuit evaluation

Attributes

Inherited from:
Interpreter

Inherited fields

lazy val ITER_CYCLE: Int

iteration cycle

iteration cycle

Attributes

Inherited from:
Interpreter
val detail: Boolean

Attributes

Inherited from:
Interpreter
lazy val esParser: ESParser

ECMAScript parser

ECMAScript parser

Attributes

Inherited from:
Interpreter
val log: Boolean

Attributes

Inherited from:
Interpreter
val logPW: Option[PrintWriter]

Attributes

Inherited from:
Interpreter
lazy val result: State

final state

final state

Attributes

Inherited from:
Interpreter
lazy val startTime: Long

initial time

initial time

Attributes

Inherited from:
Interpreter
val timeLimit: Option[Int]

Attributes

Inherited from:
Interpreter

Extensions

Extensions

extension (ctxt: Context)
def astOpt: Option[Ast]

ast of current context

ast of current context

Attributes

def esLocOpt: Option[(Int, Int)]

location of ECMAScript code

location of ECMAScript code

Attributes

def isEsCall: Boolean

check if es call

check if es call

Attributes

extension (cursor: Cursor)
def instOpt: Option[Inst]

get ir instruction of current cursor

get ir instruction of current cursor

Attributes

def langOpt: Option[Syntax]

get syntax object of current cursor

get syntax object of current cursor

Attributes

def stepsOpt: Option[List[Int]]

get location in spec of current cursor

get location in spec of current cursor

Attributes

extension (func: Func)
def isRuntimeSDO: Boolean

check whether it is runtime SDO

check whether it is runtime SDO

Attributes