Package org.eclipse.m2m.atl.debug.core

# Class AtlStackFrame

java.lang.Object
org.eclipse.core.runtime.PlatformObject
org.eclipse.m2m.atl.debug.core.AtlDebugElement
org.eclipse.m2m.atl.debug.core.AtlStackFrame

All Implemented Interfaces:
  `org.eclipse.core.runtime.IAdaptable`, `org.eclipse.debug.core.model.IDebugElement`, `org.eclipse.debug.core.model.IStackFrame`, `org.eclipse.debug.core.model.IStep`, `org.eclipse.debug.core.model.ISuspendResume`, `org.eclipse.debug.core.model.ITerminate`

public class AtlStackFrame extends AtlDebugElement implements org.eclipse.debug.core.model.IStackFrame
This class implements IStackFrame It contains a stackframe.

## Field Summary

### Fields inherited from class org.eclipse.m2m.atl.debug.core.AtlDebugElement

`fTarget`

## Constructor Summary

Constructors
Constructor
Description
`AtlStackFrame(AtlThread thread, ObjectReference stackFrame, AtlNbCharFile atlnbcharfile, org.eclipse.core.resources.IFile sourcefile)`
Creates a new AtlStackFrame for Eclipse-based debugging.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`canResume()`
`boolean`
`canStepInto()`
`boolean`
`canStepOver()`
`boolean`
`canStepReturn()`
`boolean`
`canSuspend()`
`boolean`
`canTerminate()`
`int`
`getCharEnd()`
`int`
`getCharStart()`
`org.eclipse.debug.core.model.IDebugTarget`
`getDebugTarget()`
`org.eclipse.core.resources.IStorage`
`getDisassembled()`
Returns the disassembled IStorage.
`org.eclipse.debug.core.ILaunch`
`getLaunch()`
`int`
`getLineNumber()`
`String`
`getName()`
`org.eclipse.debug.core.model.IRegisterGroup[]`
`getRegisterGroups()`
`org.eclipse.core.resources.IFile`
`getSourcefile()`
Returns the ATL source code file that is being executed in this stack frame.
`ObjectReference`
`getStackFrame()`
`org.eclipse.debug.core.model.IThread`
`getThread()`
`org.eclipse.debug.core.model.IVariable[]`
`getVariables()`
`boolean`
`hasRegisterGroups()`
`boolean`
`hasVariables()`
`boolean`
`isStepping()`
`boolean`
`isSuspended()`
`boolean`
`isTerminated()`
`void`
`resume()`
`void`
`stepInto()`
`void`
`stepOver()`
`void`
`stepReturn()`
`void`
`suspend()`
`void`
`terminate()`

### Methods inherited from class org.eclipse.m2m.atl.debug.core.AtlDebugElement

`abort, getAdapter, getModelIdentifier`

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

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

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

`getAdapter`

### Methods inherited from interface org.eclipse.debug.core.model.IDebugElement

`getModelIdentifier`

## Constructor Details

### AtlStackFrame

public AtlStackFrame(AtlThread thread, ObjectReference stackFrame, AtlNbCharFile atlnbcharfile, org.eclipse.core.resources.IFile sourcefile)
Creates a new AtlStackFrame for Eclipse-based debugging.

Parameters:
  `thread` - The ATL execution thread
  `stackFrame` - The ASMStackFrame to encapsulate
  `atlnbcharfile` - The source code lookup helper
  `sourcefile` - The file containing the source code

## Method Details

### getThread

public org.eclipse.debug.core.model.IThread getThread()

Specified by:
  `getThread` in interface `org.eclipse.debug.core.model.IStackFrame`
See Also:
  - `IStackFrame.getThread()`

### getVariables

public org.eclipse.debug.core.model.IVariable[] getVariables() throws org.eclipse.debug.core.DebugException

Specified by:
  `getVariables` in interface `org.eclipse.debug.core.model.IStackFrame`
Throws:
  `org.eclipse.debug.core.DebugException`
See Also:
  - `IStackFrame.getVariables()`

### hasVariables

public boolean hasVariables() throws org.eclipse.debug.core.DebugException

Specified by:
  `hasVariables` in interface `org.eclipse.debug.core.model.IStackFrame`
Throws:
  `org.eclipse.debug.core.DebugException`
See Also:
  - `IStackFrame.hasVariables()`

### getLineNumber

public int getLineNumber() throws org.eclipse.debug.core.DebugException

Specified by:
  `getLineNumber` in interface `org.eclipse.debug.core.model.IStackFrame`
Throws:
  `org.eclipse.debug.core.DebugException`
See Also:
  - `IStackFrame.getLineNumber()`

### getCharStart

public int getCharStart() throws org.eclipse.debug.core.DebugException

Specified by:
  `getCharStart` in interface `org.eclipse.debug.core.model.IStackFrame`
Throws:
  `org.eclipse.debug.core.DebugException`
See Also:
  - `IStackFrame.getCharStart()`

### getCharEnd

public int getCharEnd() throws org.eclipse.debug.core.DebugException

Specified by:
  `getCharEnd` in interface `org.eclipse.debug.core.model.IStackFrame`
Throws:
  `org.eclipse.debug.core.DebugException`
See Also:
  - `IStackFrame.getCharEnd()`

### getName

public String getName() throws org.eclipse.debug.core.DebugException

Specified by:
  `getName` in interface `org.eclipse.debug.core.model.IStackFrame`
Throws:
  `org.eclipse.debug.core.DebugException`
See Also:
  - `IStackFrame.getName()`

### getRegisterGroups

public org.eclipse.debug.core.model.IRegisterGroup[] getRegisterGroups() throws org.eclipse.debug.core.DebugException

Specified by:
  `getRegisterGroups` in interface `org.eclipse.debug.core.model.IStackFrame`
Throws:
  `org.eclipse.debug.core.DebugException`
See Also:
  - `IStackFrame.getRegisterGroups()`

### hasRegisterGroups

public boolean hasRegisterGroups() throws org.eclipse.debug.core.DebugException

Specified by:
  `hasRegisterGroups` in interface `org.eclipse.debug.core.model.IStackFrame`
Throws:
  `org.eclipse.debug.core.DebugException`
See Also:
  - `IStackFrame.hasRegisterGroups()`

### getDebugTarget

public org.eclipse.debug.core.model.IDebugTarget getDebugTarget()

Specified by:
  `getDebugTarget` in interface `org.eclipse.debug.core.model.IDebugElement`
Overrides:
  `getDebugTarget` in class `AtlDebugElement`
See Also:
  - `AtlDebugElement.getDebugTarget()`

### getLaunch

public org.eclipse.debug.core.ILaunch getLaunch()

Specified by:
  `getLaunch` in interface `org.eclipse.debug.core.model.IDebugElement`
Overrides:
  `getLaunch` in class `AtlDebugElement`
See Also:
  - `AtlDebugElement.getLaunch()`

### canStepInto

public boolean canStepInto()

Specified by:
  `canStepInto` in interface `org.eclipse.debug.core.model.IStep`
See Also:
  - `IStep.canStepInto()`

### canStepOver

public boolean canStepOver()

Specified by:
  `canStepOver` in interface `org.eclipse.debug.core.model.IStep`
See Also:
  - `IStep.canStepOver()`

### canStepReturn

public boolean canStepReturn()

Specified by:
  `canStepReturn` in interface `org.eclipse.debug.core.model.IStep`
See Also:
  - `IStep.canStepReturn()`

### isStepping

public boolean isStepping()

Specified by:
  `isStepping` in interface `org.eclipse.debug.core.model.IStep`
See Also:
  - `IStep.isStepping()`

### stepInto

public void stepInto() throws org.eclipse.debug.core.DebugException

Specified by:
  `stepInto` in interface `org.eclipse.debug.core.model.IStep`
Throws:
  `org.eclipse.debug.core.DebugException`
See Also:
  - `IStep.stepInto()`

### stepOver

public void stepOver() throws org.eclipse.debug.core.DebugException

Specified by:
  `stepOver` in interface `org.eclipse.debug.core.model.IStep`
Throws:
  `org.eclipse.debug.core.DebugException`
See Also:
  - `IStep.stepOver()`

### stepReturn

public void stepReturn() throws org.eclipse.debug.core.DebugException

Specified by:
  `stepReturn` in interface `org.eclipse.debug.core.model.IStep`
Throws:
  `org.eclipse.debug.core.DebugException`
See Also:
  - `IStep.stepReturn()`

### canResume

public boolean canResume()

Specified by:
  `canResume` in interface `org.eclipse.debug.core.model.ISuspendResume`
See Also:
  - `ISuspendResume.canResume()`

### canSuspend

public boolean canSuspend()

Specified by:
  `canSuspend` in interface `org.eclipse.debug.core.model.ISuspendResume`
See Also:
  - `ISuspendResume.canSuspend()`

### isSuspended

public boolean isSuspended()

Specified by:
  `isSuspended` in interface `org.eclipse.debug.core.model.ISuspendResume`
See Also:
  - `ISuspendResume.isSuspended()`

### resume

public void resume() throws org.eclipse.debug.core.DebugException

Specified by:
  `resume` in interface `org.eclipse.debug.core.model.ISuspendResume`
Throws:
  `org.eclipse.debug.core.DebugException`
See Also:
  - `ISuspendResume.resume()`

### suspend

public void suspend() throws org.eclipse.debug.core.DebugException

Specified by:
  `suspend` in interface `org.eclipse.debug.core.model.ISuspendResume`
Throws:
  `org.eclipse.debug.core.DebugException`
See Also:
  - `ISuspendResume.suspend()`

### canTerminate

public boolean canTerminate()

Specified by:
  `canTerminate` in interface `org.eclipse.debug.core.model.ITerminate`
See Also:
  - `ITerminate.canTerminate()`

### isTerminated

public boolean isTerminated()

Specified by:
  `isTerminated` in interface `org.eclipse.debug.core.model.ITerminate`
See Also:
  - `ITerminate.isTerminated()`

### terminate

public void terminate() throws org.eclipse.debug.core.DebugException

Specified by:
  `terminate` in interface `org.eclipse.debug.core.model.ITerminate`
Throws:
  `org.eclipse.debug.core.DebugException`
See Also:
  - `ITerminate.terminate()`

### getDisassembled

public org.eclipse.core.resources.IStorage getDisassembled()
Returns the disassembled IStorage.

Returns:
  the disassembled IStorage

### getStackFrame

public ObjectReference getStackFrame()

### getSourcefile

public org.eclipse.core.resources.IFile getSourcefile()
Returns the ATL source code file that is being executed in this stack frame.

Returns:
  The ATL source code file that is being executed in this stack frame