Package org.eclipse.m2m.atl.engine.vm
Class ASMOperation
- java.lang.Object
-
- org.eclipse.m2m.atl.engine.vm.nativelib.ASMNativeObject
-
- org.eclipse.m2m.atl.engine.vm.nativelib.ASMOclAny
-
- org.eclipse.m2m.atl.engine.vm.Operation
-
- org.eclipse.m2m.atl.engine.vm.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.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
ASMOperation.Label
class
ASMOperation.LineNumberEntry
class
ASMOperation.LocalVariableEntry
-
Field Summary
Fields Modifier and Type Field Description static ASMOclType
myType
-
Fields inherited from class org.eclipse.m2m.atl.engine.vm.nativelib.ASMNativeObject
nativeImpl
-
-
Constructor Summary
Constructors Constructor Description ASMOperation(ASM asm, java.lang.String name)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addInstruction(ASMInstruction instruction)
void
addLabel(java.lang.String labelName)
void
addLabeledInstruction(ASMInstructionWithOperand instruction, java.lang.String labelName)
void
addLineNumberEntry(java.lang.String id, int begin, int end)
void
addLocalVariableEntry(int slot, java.lang.String name, int begin, int end)
void
addParameter(ASMParameter parameter)
void
addVariableInstruction(ASMInstructionWithOperand instruction, java.lang.String varId)
void
beginLineNumberEntry(java.lang.String id)
int
beginLocalVariableEntry(java.lang.String id, java.lang.String name)
void
endLineNumberEntry(java.lang.String id)
int
endLocalVariableEntry(java.lang.String id)
ASMOclAny
exec(StackFrame frame)
ASM
getASM()
java.lang.String
getContextSignature()
ASMOclType
getContextType()
java.util.List
getInstructions()
java.util.List
getLineNumberTable()
java.util.List
getLocalVariableTable()
java.lang.String
getName()
java.util.List
getParameters()
ASMOclType
getReturnType()
java.lang.String
getSignature()
java.lang.String
resolveLineNumber(int l)
java.lang.String
resolveVariableName(int slot, int l)
void
setContext(java.lang.String context)
void
setContextType(ASMOclType contextType)
java.lang.String
toString()
-
Methods inherited from class org.eclipse.m2m.atl.engine.vm.nativelib.ASMOclAny
asBag, asSequence, asSet, check, debug, findOperation, findOperation, getHelper, getNamedTargetFromSource, getOclAnyType, getType, invoke, invoke, invokeSuper, isHelper, oclIsKindOf, oclIsTypeOf, oclIsUndefined, oclType, operatorEQ, operatorNE, output, refGetValue, refImmediateComposite, refImmediateComposite, refInvokeOperation, refSetValue, refUnsetValue, set, setType, toString, unset
-
Methods inherited from class org.eclipse.m2m.atl.engine.vm.nativelib.ASMNativeObject
getNativeImpl
-
-
-
-
Field Detail
-
myType
public static ASMOclType myType
-
-
Constructor Detail
-
ASMOperation
public ASMOperation(ASM asm, java.lang.String name)
-
-
Method Detail
-
setContext
public void setContext(java.lang.String context)
-
getContextSignature
public java.lang.String getContextSignature()
- Specified by:
getContextSignature
in classOperation
-
addParameter
public void addParameter(ASMParameter parameter)
-
getParameters
public java.util.List getParameters()
- Specified by:
getParameters
in classOperation
-
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()
- Specified by:
getSignature
in classOperation
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
exec
public ASMOclAny exec(StackFrame frame)
-
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)
-
getReturnType
public ASMOclType getReturnType()
- Specified by:
getReturnType
in classOperation
-
getContextType
public ASMOclType getContextType()
- Specified by:
getContextType
in classOperation
-
-