org.eclipse.ease.lang.javascript.rhino.debugger

## Class RhinoDebuggerEngine

- java.lang.Object
- - org.eclipse.core.runtime.PlatformObject
  - - org.eclipse.core.internal.jobs.InternalJob
    - - org.eclipse.core.runtime.jobs.Job
      - - org.eclipse.ease.AbstractScriptEngine
        - - org.eclipse.ease.lang.javascript.rhino.RhinoScriptEngine
          - - org.eclipse.ease.lang.javascript.rhino.debugger.RhinoDebuggerEngine

All Implemented Interfaces:
  Comparable, IAdaptable, IDebugEngine, IScriptEngine

    public class RhinoDebuggerEngine
    extends RhinoScriptEngine
    implements IDebugEngine

A script engine to execute/debug JavaScript code on a Rhino interpreter.

### Field Summary

### Fields inherited from class org.eclipse.ease.lang.javascript.rhino.RhinoScriptEngine

`ENGINE_ID`

### Fields inherited from class org.eclipse.core.runtime.jobs.Job

`ASYNC_FINISH, BUILD, DECORATE, INTERACTIVE, LONG, NONE, RUNNING, SHORT, SLEEPING, WAITING`

### Constructor Summary

Constructors
Constructor and Description
`RhinoDebuggerEngine()` Creates a new Rhino Debugger interpreter.

### Method Summary

Methods
`List<IScriptDebugFrame>` `getStackTrace()` Get the current stack trace.
`void` `setOptimizationLevel(int level)`
`void` `setupDebugger(ILaunch launch, boolean suspendOnStartup, boolean suspendOnScriptLoad, boolean showDynamicCode)`

### Methods inherited from class org.eclipse.ease.lang.javascript.rhino.RhinoScriptEngine

`getContext, getSaveVariableName, getScope, registerJar, reset, setDebugger, terminateCurrent`

### Methods inherited from class org.eclipse.ease.AbstractScriptEngine

`addExecutionListener, executeAsync, executeSync, extractArguments, getDescription, getErrorStream, getExecutedFile, getInputStream, getOutputStream, getTerminateOnIdle, getVariable, getVariables, hasVariable, inject, injectUI, isIdle, removeExecutionListener, removeVariable, setCloseStreamsOnTerminate, setEngineDescription, setErrorStream, setInputStream, setOutputStream, setTerminateOnIdle, setVariable, terminate`

### Methods inherited from class org.eclipse.core.runtime.jobs.Job

`addJobChangeListener, belongsTo, cancel, create, done, getJobManager, getName, getPriority, getProperty, getResult, getRule, getState, getThread, isBlocking, isSystem, isUser, join, removeJobChangeListener, schedule, schedule, setName, setPriority, setProgressGroup, setProperty, setRule, setSystem, setThread, setUser, shouldRun, shouldSchedule, sleep, toString, wakeUp, wakeUp, yieldRule`

### Methods inherited from class org.eclipse.core.internal.jobs.InternalJob

`compareTo`

### Methods inherited from class org.eclipse.core.runtime.PlatformObject

`getAdapter`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface org.eclipse.ease.IScriptEngine

`addExecutionListener, executeAsync, executeSync, getDescription, getErrorStream, getExecutedFile, getInputStream, getName, getOutputStream, getSaveVariableName, getTerminateOnIdle, getVariable, getVariables, hasVariable, inject, injectUI, isIdle, registerJar, removeExecutionListener, removeVariable, reset, schedule, setCloseStreamsOnTerminate, setErrorStream, setInputStream, setOutputStream, setTerminateOnIdle, setVariable, terminate, terminateCurrent`

### Methods inherited from interface org.eclipse.core.runtime.IAdaptable

`getAdapter`

### Constructor Detail

#### RhinoDebuggerEngine

    public RhinoDebuggerEngine()

Creates a new Rhino Debugger interpreter.

### Method Detail

#### setOptimizationLevel

    public void setOptimizationLevel(int level)

Overrides:
  `setOptimizationLevel` in class `RhinoScriptEngine`

#### setupDebugger

    public void setupDebugger(ILaunch launch,
                     boolean suspendOnStartup,
                     boolean suspendOnScriptLoad,
                     boolean showDynamicCode)

Specified by:
  `setupDebugger` in interface `IDebugEngine`

#### getStackTrace

    public List<IScriptDebugFrame> getStackTrace()

Description copied from interface: `IDebugEngine`
Get the current stack trace. A trace is a stack starting with the root file executed by the engine. Function calls and files (called via include command) will be put on top of that stack. Each entry may contain a pointer to the current line number executed. Traces might be created dynamically on demand or accumulated during execution depending on the underlying engine.

Specified by:
  `getStackTrace` in interface `IDebugEngine`
Overrides:
  `getStackTrace` in class `AbstractScriptEngine`
Returns:
  current stack trace