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.ObjectThe 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 classASMOperation.LabelclassASMOperation.LineNumberEntryclassASMOperation.LocalVariableEntry
-
Constructor Summary
Constructors Constructor Description ASMOperation(ASM asm, java.lang.String name)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddInstruction(ASMInstruction instruction)voidaddLabel(java.lang.String labelName)voidaddLabeledInstruction(ASMInstructionWithOperand instruction, java.lang.String labelName)voidaddLineNumberEntry(java.lang.String id, int begin, int end)voidaddLocalVariableEntry(int slot, java.lang.String name, int begin, int end)voidaddParameter(ASMParameter parameter)voidaddVariableInstruction(ASMInstructionWithOperand instruction, java.lang.String varId)voidbeginLineNumberEntry(java.lang.String id)intbeginLocalVariableEntry(java.lang.String id, java.lang.String name)voidendLineNumberEntry(java.lang.String id)intendLocalVariableEntry(java.lang.String id)ASMgetASM()java.lang.StringgetContextSignature()java.util.ListgetInstructions()java.util.ListgetLineNumberTable()java.util.ListgetLocalVariableTable()java.lang.StringgetName()protected static intgetNbArgs(java.lang.String s)protected static java.lang.StringgetOpName(java.lang.String s)java.util.ListgetParameters()java.lang.StringgetSignature()java.lang.StringresolveLineNumber(int l)java.lang.StringresolveVariableName(int slot, int l)voidsetContext(java.lang.String context)java.lang.StringtoString()
-
-
-
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:
toStringin classjava.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()
-
-