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

# Class ASMOperation

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

public class ASMOperation extends 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
Modifier and Type
Class
Description
`protected class`
`ASMOperation.Label`
`class`
`ASMOperation.LineNumberEntry`
`class`
`ASMOperation.LocalVariableEntry`

## Constructor Summary

Constructors
Constructor
Description
`ASMOperation(ASM asm, String name)`

## Method Summary

Modifier and Type
Method
Description
`void`
`addInstruction(ASMInstruction instruction)`
`void`
`addLabel(String labelName)`
`void`
`addLabeledInstruction(ASMInstructionWithOperand instruction, String labelName)`
`void`
`addLineNumberEntry(String id, int begin, int end)`
`void`
`addLocalVariableEntry(int slot, String name, int begin, int end)`
`void`
`addParameter(ASMParameter parameter)`
`void`
`addVariableInstruction(ASMInstructionWithOperand instruction, String varId)`
`void`
`beginLineNumberEntry(String id)`
`int`
`beginLocalVariableEntry(String id, String name)`
`void`
`endLineNumberEntry(String id)`
`int`
`endLocalVariableEntry(String id)`
`ASM`
`getASM()`
`String`
`getContextSignature()`
`List`
`getInstructions()`
`List`
`getLineNumberTable()`
`List`
`getLocalVariableTable()`
`String`
`getName()`
`protected static int`
`getNbArgs(String s)`
`protected static String`
`getOpName(String s)`
`List`
`getParameters()`
`String`
`getSignature()`
`String`
`resolveLineNumber(int l)`
`String`
`resolveVariableName(int slot, int l)`
`void`
`setContext(String context)`
`String`
`toString()`

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

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

## Constructor Details

### ASMOperation

public ASMOperation(ASM asm, String name)

## Method Details

### getName

public String getName()

### setContext

public void setContext(String context)

### getContextSignature

public String getContextSignature()

### addParameter

public void addParameter(ASMParameter parameter)

### getParameters

public List getParameters()

### addInstruction

public void addInstruction(ASMInstruction instruction)

### addLabeledInstruction

public void addLabeledInstruction(ASMInstructionWithOperand instruction, String labelName)

### getInstructions

public List getInstructions()

### addLabel

public void addLabel(String labelName)

### addVariableInstruction

public void addVariableInstruction(ASMInstructionWithOperand instruction, String varId)

### getSignature

public String getSignature()

### toString

public String toString()

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

### getNbArgs

protected static int getNbArgs(String s)

### getOpName

protected static String getOpName(String s)

### beginLineNumberEntry

public void beginLineNumberEntry(String id)

### endLineNumberEntry

public void endLineNumberEntry(String id)

### addLineNumberEntry

public void addLineNumberEntry(String id, int begin, int end)

### getLineNumberTable

public List getLineNumberTable()

### resolveLineNumber

public String resolveLineNumber(int l)

### beginLocalVariableEntry

public int beginLocalVariableEntry(String id, String name)

### endLocalVariableEntry

public int endLocalVariableEntry(String id)

### addLocalVariableEntry

public void addLocalVariableEntry(int slot, String name, int begin, int end)

### getLocalVariableTable

public List getLocalVariableTable()

### resolveVariableName

public String resolveVariableName(int slot, int l)

### getASM

public ASM getASM()