Package org.eclipse.m2m.atl.engine.emfvm

## Class StackFrame

- java.lang.Object
- - org.eclipse.m2m.atl.engine.emfvm.lib.AbstractStackFrame
  - - org.eclipse.m2m.atl.engine.emfvm.StackFrame

    public class StackFrame
    extends AbstractStackFrame

The Stack Frame implementation.

### Nested Class Summary

### Nested classes/interfaces inherited from class org.eclipse.m2m.atl.engine.emfvm.lib.AbstractStackFrame

`AbstractStackFrame.StackSequence`

### Field Summary

### Fields inherited from class org.eclipse.m2m.atl.engine.emfvm.lib.AbstractStackFrame

`caller, execEnv, localVars, operation`

### Constructor Summary

Constructors
`` `StackFrame​(ExecEnv execEnv)` Creates an empty StackFrame which refers to its `ExecEnv`.
`` `StackFrame​(ExecEnv execEnv, ASMModule asmModule, Operation operation)` Creates a new `StackFrame` with the given parameters.
`protected` `StackFrame​(StackFrame caller, Operation operation)` Creates a new StackFrame.

### Method Summary

All Methods Instance Methods Concrete Methods
`int` `getLocation()` Returns the current location.
`int` `getPc()`
`protected java.lang.String` `getStringLocation()` Returns the current location.
`AbstractStackFrame` `newFrame​(Operation operation)` Returns a new frame for the given operation.
`java.lang.String` `resolveVariableName​(int slot)` Returns the variable name at the given slot.
`void` `setPc​(int pc)`
`java.lang.String` `toString()`

### Methods inherited from class org.eclipse.m2m.atl.engine.emfvm.lib.AbstractStackFrame

`enter, getAsmModule, getCaller, getExecEnv, getLocalVariables, getLocalVars, getOperation, getOpName, getSourceLocation, getStack, leave, setLocalVars`

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

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

### Constructor Detail

#### StackFrame

    public StackFrame​(ExecEnv execEnv,
                      ASMModule asmModule,
                      Operation operation)

Creates a new `StackFrame` with the given parameters.

Parameters:
  `execEnv` - the execution environment
  `asmModule` - the transformation module
  `operation` - the main operation

#### StackFrame

    protected StackFrame​(StackFrame caller,
                         Operation operation)

Creates a new StackFrame.

Parameters:
  `caller` - the parent stack frame
  `operation` - the operation

#### StackFrame

    public StackFrame​(ExecEnv execEnv)

Creates an empty StackFrame which refers to its `ExecEnv`.

Parameters:
  `execEnv` - the `ExecEnv`

### Method Detail

#### newFrame

    public AbstractStackFrame newFrame​(Operation operation)

Returns a new frame for the given operation.

Specified by:
  `newFrame` in class `AbstractStackFrame`
Parameters:
  `operation` - the frame operation
Returns:
  a new frame for the given operation
See Also:
  `AbstractStackFrame.newFrame(org.eclipse.m2m.atl.engine.emfvm.lib.Operation)`

#### getStringLocation

    protected java.lang.String getStringLocation()

Returns the current location.

Returns:
  the current location

#### getLocation

    public int getLocation()

Returns the current location.

Specified by:
  `getLocation` in class `AbstractStackFrame`
Returns:
  the current location
See Also:
  `AbstractStackFrame.getLocation()`

#### resolveVariableName

    public java.lang.String resolveVariableName​(int slot)

Returns the variable name at the given slot.

Parameters:
  `slot` - the slot
Returns:
  the variable name at the given slot

#### toString

    public java.lang.String toString()

Overrides:
  `toString` in class `java.lang.Object`
See Also:
  `Object.toString()`

#### getPc

    public int getPc()

#### setPc

    public void setPc​(int pc)