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 java.lang.Object

Abstract Stack Frame definition.

### Nested Class Summary

Nested Classes
`class` `AbstractStackFrame.StackSequence` A Sequence of `AbstractStackFrame`.

### Field Summary

Fields
`protected AbstractStackFrame` `caller`
`protected ExecEnv` `execEnv` The execution environment.
`protected java.lang.Object[]` `localVars` The local variables list.
`protected Operation` `operation`

### Constructor Summary

Constructors
`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

All Methods Instance Methods Abstract Methods Concrete Methods
`AbstractStackFrame` `enter()` Makes the tool enter the frame.
`ASMModule` `getAsmModule()`
`AbstractStackFrame` `getCaller()`
`ExecEnv` `getExecEnv()`
`java.util.Map<java.lang.String,​java.lang.Object>` `getLocalVariables()` Returns the local variables map.
`java.lang.Object[]` `getLocalVars()`
`abstract int` `getLocation()` Returns the current location.
`Operation` `getOperation()`
`java.lang.String` `getOpName()`
`java.lang.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​(java.lang.Object[] localVars)`

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

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

### Field Detail

#### execEnv

    protected ExecEnv execEnv

The execution environment.

#### caller

    protected AbstractStackFrame caller

#### operation

    protected Operation operation

#### localVars

    protected java.lang.Object[] localVars

The local variables list.

### Constructor Detail

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

#### 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 java.lang.Object[] getLocalVars()

#### setLocalVars

    public void setLocalVars​(java.lang.Object[] localVars)

#### getExecEnv

    public ExecEnv getExecEnv()

#### getOperation

    public Operation getOperation()

#### getCaller

    public AbstractStackFrame getCaller()

#### getLocalVariables

    public java.util.Map<java.lang.String,​java.lang.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 java.lang.String getSourceLocation()

#### getOpName

    public java.lang.String getOpName()

#### getLocation

    public abstract int getLocation()

Returns the current location.

Returns:
  the current location