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
`ASMExecEnv​(ASMModule asm, Debugger debugger)`
`ASMExecEnv​(ASMModule asm, Debugger debugger, boolean cacheAttributeHelperResults)`

### Method Summary

All Methods Instance Methods Concrete Methods
`ASMModule` `getASMModule()`
`ASMOclAny` `getHelperValue​(StackFrame frame, ASMOclAny element, java.lang.String name)`
`Operation` `getOperation​(ASMOclType type, java.lang.String name)`
`java.util.Collection` `getOperations​(ASMOclType type)`
`boolean` `isHelper​(ASMOclType type, java.lang.String name)`
`boolean` `isWeavingHelper​(ASMOclType type, java.lang.String name)`
`void` `registerAttributeHelper​(ASMOclType type, java.lang.String name, Operation oper)`
`void` `registerOperations​(ASM currentAsm)`
`void` `registerWeavingHelper​(ASMOclType type, java.lang.String name, java.lang.String persistTo)`
`void` `setHelperValue​(StackFrame frame, ASMOclAny element, java.lang.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 Detail

#### ASMExecEnv

    public ASMExecEnv​(ASMModule asm,
                      Debugger debugger)

#### ASMExecEnv

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

### Method Detail

#### getASMModule

    public ASMModule getASMModule()

#### registerOperations

    public void registerOperations​(ASM currentAsm)

#### getOperations

    public java.util.Collection getOperations​(ASMOclType type)

#### getOperation

    public Operation getOperation​(ASMOclType type,
                                  java.lang.String name)

#### terminated

    public void terminated()

#### registerWeavingHelper

    public void registerWeavingHelper​(ASMOclType type,
                                      java.lang.String name,
                                      java.lang.String persistTo)

#### registerAttributeHelper

    public void registerAttributeHelper​(ASMOclType type,
                                        java.lang.String name,
                                        Operation oper)

#### isHelper

    public boolean isHelper​(ASMOclType type,
                            java.lang.String name)

#### isWeavingHelper

    public boolean isWeavingHelper​(ASMOclType type,
                                   java.lang.String name)

#### getHelperValue

    public ASMOclAny getHelperValue​(StackFrame frame,
                                    ASMOclAny element,
                                    java.lang.String name)

#### setHelperValue

    public void setHelperValue​(StackFrame frame,
                               ASMOclAny element,
                               java.lang.String name,
                               ASMOclAny value)