Class 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.
  • Field Details

  • Constructor Details

    • ASMOperation

      public ASMOperation(ASM asm, String name)
  • Method Details

    • getName

      public String getName()
      Specified by:
      getName in class Operation
    • setContext

      public void setContext(String context)
    • getContextSignature

      public String getContextSignature()
      Specified by:
      getContextSignature in class Operation
    • addParameter

      public void addParameter(ASMParameter parameter)
    • getParameters

      public List getParameters()
      Specified by:
      getParameters in class Operation
    • 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()
      Specified by:
      getSignature in class Operation
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • exec

      public ASMOclAny exec(StackFrame frame)
      Specified by:
      exec in class Operation
    • 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()
    • 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