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
Modifier
Constructor
Description
``
`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

Modifier and Type
Method
Description
`int`
`getLocation()`
Returns the current location.
`int`
`getPc()`
`protected String`
`getStringLocation()`
Returns the current location.
`AbstractStackFrame`
`newFrame(Operation operation)`
Returns a new frame for the given operation.
`String`
`resolveVariableName(int slot)`
Returns the variable name at the given slot.
`void`
`setPc(int pc)`
`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 Details

### 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 Details

### 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 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 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 String toString()

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

### getPc

public int getPc()

### setPc

public void setPc(int pc)