org.eclipse.m2m.atl.engine.vm
Class ASMExecEnv

java.lang.Object
  extended by org.eclipse.m2m.atl.engine.vm.ExecEnv
      extended by 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
ASMExecEnv(ASMModule asm, Debugger debugger)
           
ASMExecEnv(ASMModule asm, Debugger debugger, boolean cacheAttributeHelperResults)
           
 
Method Summary
 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)

Copyright 2007 IBM Corporation and others.
All Rights Reserved.