Package org.eclipse.m2m.atl.engine.asm

## Class ASMOperation

- java.lang.Object
- - org.eclipse.m2m.atl.engine.asm.ASMOperation

    public class ASMOperation
    extends java.lang.Object

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`

### Constructor Summary

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

### Method Summary

All Methods Static 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)`
`ASM` `getASM()`
`java.lang.String` `getContextSignature()`
`java.util.List` `getInstructions()`
`java.util.List` `getLineNumberTable()`
`java.util.List` `getLocalVariableTable()`
`java.lang.String` `getName()`
`protected static int` `getNbArgs​(java.lang.String s)`
`protected static java.lang.String` `getOpName​(java.lang.String s)`
`java.util.List` `getParameters()`
`java.lang.String` `getSignature()`
`java.lang.String` `resolveLineNumber​(int l)`
`java.lang.String` `resolveVariableName​(int slot, int l)`
`void` `setContext​(java.lang.String context)`
`java.lang.String` `toString()`

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

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

### Constructor Detail

#### ASMOperation

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

### Method Detail

#### getName

    public java.lang.String getName()

#### setContext

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

#### getContextSignature

    public java.lang.String getContextSignature()

#### addParameter

    public void addParameter​(ASMParameter parameter)

#### getParameters

    public java.util.List getParameters()

#### 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()

#### toString

    public java.lang.String toString()

Overrides:
  `toString` in class `java.lang.Object`
See Also:
  `Object.toString()`

#### getNbArgs

    protected static int getNbArgs​(java.lang.String s)

#### getOpName

    protected static java.lang.String getOpName​(java.lang.String s)

#### 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()