Package org.eclipse.m2m.atl.engine.vm

# Class ASMExecEnv

java.lang.Object
org.eclipse.m2m.atl.engine.vm.ExecEnv
org.eclipse.m2m.atl.engine.vm.ASMExecEnv

public class ASMExecEnv extends ExecEnv
An ASMExecEnv is an execution environment for ATL Stack Machine programs. It holds: * the only call Stack of the machine (no multi-thread support required), * the Map of models used by the program, * the Map of program-specific operations and attribute helpers. This permits several transformations to be launched in sequence without altering one another.

## Field Summary

### Fields inherited from class org.eclipse.m2m.atl.engine.vm.ExecEnv

`globalVariables`

## Constructor Summary

Constructors
Constructor
Description
`ASMExecEnv(ASMModule asm, Debugger debugger)`
`ASMExecEnv(ASMModule asm, Debugger debugger, boolean cacheAttributeHelperResults)`

## Method Summary

Modifier and Type
Method
Description
`ASMModule`
`getASMModule()`
`ASMOclAny`
`getHelperValue(StackFrame frame, ASMOclAny element, String name)`
`Operation`
`getOperation(ASMOclType type, String name)`
`Collection`
`getOperations(ASMOclType type)`
`boolean`
`isHelper(ASMOclType type, String name)`
`boolean`
`isWeavingHelper(ASMOclType type, String name)`
`void`
`registerAttributeHelper(ASMOclType type, String name, Operation oper)`
`void`
`registerOperations(ASM currentAsm)`
`void`
`registerWeavingHelper(ASMOclType type, String name, String persistTo)`
`void`
`setHelperValue(StackFrame frame, ASMOclAny element, String name, ASMOclAny value)`
`void`
`terminated()`

### Methods inherited from class org.eclipse.m2m.atl.engine.vm.ExecEnv

`addModel, addModel, addPermission, checkPermission, empty, getDebugger, getModel, getModels, getStack, getVariable, peek, pop, printStackTrace, push`

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

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

## Constructor Details

### ASMExecEnv

public ASMExecEnv(ASMModule asm, Debugger debugger)

### ASMExecEnv

public ASMExecEnv(ASMModule asm, Debugger debugger, boolean cacheAttributeHelperResults)

## Method Details

### getASMModule

public ASMModule getASMModule()

### registerOperations

public void registerOperations(ASM currentAsm)

### getOperations

public Collection getOperations(ASMOclType type)

### getOperation

public Operation getOperation(ASMOclType type, String name)

### terminated

public void terminated()

### registerWeavingHelper

public void registerWeavingHelper(ASMOclType type, String name, String persistTo)

### registerAttributeHelper

public void registerAttributeHelper(ASMOclType type, String name, Operation oper)

### isHelper

public boolean isHelper(ASMOclType type, String name)

### isWeavingHelper

public boolean isWeavingHelper(ASMOclType type, String name)

### getHelperValue

public ASMOclAny getHelperValue(StackFrame frame, ASMOclAny element, String name)

### setHelperValue

public void setHelperValue(StackFrame frame, ASMOclAny element, String name, ASMOclAny value)