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

# Class AbstractStackFrame

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

Direct Known Subclasses:
  `StackFrame`

public abstract class AbstractStackFrame extends Object
Abstract Stack Frame definition.

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`class`
`AbstractStackFrame.StackSequence`
A Sequence of `AbstractStackFrame`.

## Field Summary

Fields
Modifier and Type
Field
Description
`protected AbstractStackFrame`
`caller`
`protected ExecEnv`
`execEnv`
The execution environment.
`protected Object[]`
`localVars`
The local variables list.
`protected Operation`
`operation`

## Constructor Summary

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

## Method Summary

Modifier and Type
Method
Description
`AbstractStackFrame`
`enter()`
Makes the tool enter the frame.
`ASMModule`
`getAsmModule()`
`AbstractStackFrame`
`getCaller()`
`ExecEnv`
`getExecEnv()`
`Map<String,Object>`
`getLocalVariables()`
Returns the local variables map.
`Object[]`
`getLocalVars()`
`abstract int`
`getLocation()`
Returns the current location.
`Operation`
`getOperation()`
`String`
`getOpName()`
`String`
`getSourceLocation()`
`AbstractStackFrame.StackSequence`
`getStack()`
Gets a list of the stacks.
`void`
`leave()`
Makes the tool leave the frame.
`abstract AbstractStackFrame`
`newFrame(Operation frameOperation)`
Returns a new frame for the given operation.
`void`
`setLocalVars(Object[] localVars)`

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

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

## Field Details

### execEnv

protected ExecEnv execEnv
The execution environment.

### caller

protected AbstractStackFrame caller

### operation

protected Operation operation

### localVars

protected Object[] localVars
The local variables list.

## Constructor Details

### AbstractStackFrame

public AbstractStackFrame(ExecEnv execEnv, ASMModule asmModule, Operation operation)
Creates a new `AbstractStackFrame` with the given parameters.

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

### AbstractStackFrame

protected AbstractStackFrame(AbstractStackFrame caller, Operation frameOperation)
Creates a new StackFrame.

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

### AbstractStackFrame

protected AbstractStackFrame(ExecEnv execEnv)
Creates an empty StackFrame which refers to its `ExecEnv`.

Parameters:
  `execEnv` - the `ExecEnv`

## Method Details

### newFrame

public abstract AbstractStackFrame newFrame(Operation frameOperation)
Returns a new frame for the given operation.

Parameters:
  `frameOperation` - the frame operation
Returns:
  a new frame for the given operation

### getAsmModule

public ASMModule getAsmModule()

### getLocalVars

public Object[] getLocalVars()

### setLocalVars

public void setLocalVars(Object[] localVars)

### getExecEnv

public ExecEnv getExecEnv()

### getOperation

public Operation getOperation()

### getCaller

public AbstractStackFrame getCaller()

### getLocalVariables

public Map<String,Object> getLocalVariables()
Returns the local variables map.

Returns:
  the local variables map

### enter

public AbstractStackFrame enter()
Makes the tool enter the frame.

Returns:
  self

### leave

public void leave()
Makes the tool leave the frame.

### getStack

public AbstractStackFrame.StackSequence getStack()
Gets a list of the stacks.

Returns:
  the Stack list

### getSourceLocation

public String getSourceLocation()

### getOpName

public String getOpName()

### getLocation

public abstract int getLocation()
Returns the current location.

Returns:
  the current location