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.
  • 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:
    • 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()