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.
    • 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)
      • addParameter

        public void addParameter​(ASMParameter parameter)
      • 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)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • 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)