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

## Class ASMOperation

- java.lang.Object
- - org.eclipse.m2m.atl.engine.vm.nativelib.ASMNativeObject
  - - org.eclipse.m2m.atl.engine.vm.nativelib.ASMOclAny
    - - org.eclipse.m2m.atl.engine.vm.Operation
      - - org.eclipse.m2m.atl.engine.vm.ASMOperation

    public class ASMOperation
    extends Operation

The line number table contains a list of IDs (startLine:startColumn-endLine:endColumn) of source elements associated to a range of asm instructions. This list is depth first (first the condition is found, then the if). However, it is entered root first... so it is a LIFO. To find the source element (and its location, IDs being positions) associated to an asm instruction, we just have to find the first range matching the instruction.

### Nested Class Summary

Nested Classes
`protected class` `ASMOperation.Label`
`class` `ASMOperation.LineNumberEntry`
`class` `ASMOperation.LocalVariableEntry`

### Field Summary

Fields
`static ASMOclType` `myType`

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

`nativeImpl`

### Constructor Summary

Constructors
`ASMOperation​(ASM asm, java.lang.String name)`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `addInstruction​(ASMInstruction instruction)`
`void` `addLabel​(java.lang.String labelName)`
`void` `addLabeledInstruction​(ASMInstructionWithOperand instruction, java.lang.String labelName)`
`void` `addLineNumberEntry​(java.lang.String id, int begin, int end)`
`void` `addLocalVariableEntry​(int slot, java.lang.String name, int begin, int end)`
`void` `addParameter​(ASMParameter parameter)`
`void` `addVariableInstruction​(ASMInstructionWithOperand instruction, java.lang.String varId)`
`void` `beginLineNumberEntry​(java.lang.String id)`
`int` `beginLocalVariableEntry​(java.lang.String id, java.lang.String name)`
`void` `endLineNumberEntry​(java.lang.String id)`
`int` `endLocalVariableEntry​(java.lang.String id)`
`ASMOclAny` `exec​(StackFrame frame)`
`ASM` `getASM()`
`java.lang.String` `getContextSignature()`
`ASMOclType` `getContextType()`
`java.util.List` `getInstructions()`
`java.util.List` `getLineNumberTable()`
`java.util.List` `getLocalVariableTable()`
`java.lang.String` `getName()`
`java.util.List` `getParameters()`
`ASMOclType` `getReturnType()`
`java.lang.String` `getSignature()`
`java.lang.String` `resolveLineNumber​(int l)`
`java.lang.String` `resolveVariableName​(int slot, int l)`
`void` `setContext​(java.lang.String context)`
`void` `setContextType​(ASMOclType contextType)`
`java.lang.String` `toString()`

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

`get`

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

`asBag, asSequence, asSet, check, debug, findOperation, findOperation, getHelper, getNamedTargetFromSource, getOclAnyType, getType, invoke, invoke, invokeSuper, isHelper, oclIsKindOf, oclIsTypeOf, oclIsUndefined, oclType, operatorEQ, operatorNE, output, refGetValue, refImmediateComposite, refImmediateComposite, refInvokeOperation, refSetValue, refUnsetValue, set, setType, toString, unset`

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

`getNativeImpl`

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

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

### Field Detail

#### myType

    public static ASMOclType myType

### Constructor Detail

#### ASMOperation

    public ASMOperation​(ASM asm,
                        java.lang.String name)

### Method Detail

#### getName

    public java.lang.String getName()

Specified by:
  `getName` in class `Operation`

#### setContext

    public void setContext​(java.lang.String context)

#### getContextSignature

    public java.lang.String getContextSignature()

Specified by:
  `getContextSignature` in class `Operation`

#### addParameter

    public void addParameter​(ASMParameter parameter)

#### getParameters

    public java.util.List getParameters()

Specified by:
  `getParameters` in class `Operation`

#### addInstruction

    public void addInstruction​(ASMInstruction instruction)

#### addLabeledInstruction

    public void addLabeledInstruction​(ASMInstructionWithOperand instruction,
                                      java.lang.String labelName)

#### getInstructions

    public java.util.List getInstructions()

#### addLabel

    public void addLabel​(java.lang.String labelName)

#### addVariableInstruction

    public void addVariableInstruction​(ASMInstructionWithOperand instruction,
                                       java.lang.String varId)

#### getSignature

    public java.lang.String getSignature()

Specified by:
  `getSignature` in class `Operation`

#### toString

    public java.lang.String toString()

Overrides:
  `toString` in class `java.lang.Object`

#### exec

    public ASMOclAny exec​(StackFrame frame)

Specified by:
  `exec` in class `Operation`

#### beginLineNumberEntry

    public void beginLineNumberEntry​(java.lang.String id)

#### endLineNumberEntry

    public void endLineNumberEntry​(java.lang.String id)

#### addLineNumberEntry

    public void addLineNumberEntry​(java.lang.String id,
                                   int begin,
                                   int end)

#### getLineNumberTable

    public java.util.List getLineNumberTable()

#### resolveLineNumber

    public java.lang.String resolveLineNumber​(int l)

#### beginLocalVariableEntry

    public int beginLocalVariableEntry​(java.lang.String id,
                                       java.lang.String name)

#### endLocalVariableEntry

    public int endLocalVariableEntry​(java.lang.String id)

#### addLocalVariableEntry

    public void addLocalVariableEntry​(int slot,
                                      java.lang.String name,
                                      int begin,
                                      int end)

#### getLocalVariableTable

    public java.util.List getLocalVariableTable()

#### resolveVariableName

    public java.lang.String resolveVariableName​(int slot,
                                                int l)

#### getASM

    public ASM getASM()

#### setContextType

    public void setContextType​(ASMOclType contextType)

#### getReturnType

    public ASMOclType getReturnType()

Specified by:
  `getReturnType` in class `Operation`

#### getContextType

    public ASMOclType getContextType()

Specified by:
  `getContextType` in class `Operation`