diff options
author | Dennis Wagelaar | 2018-01-08 14:07:52 +0000 |
---|---|---|
committer | Dennis Wagelaar | 2018-01-08 14:09:55 +0000 |
commit | 3eed509aa69167c06b3c55992fabdcef21db2a84 (patch) | |
tree | 2bb716708f8f84b78ff66a78d342021181c929e6 /plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m | |
parent | d8ba2bbe174181d03c42b440c93afdfca6fa9801 (diff) | |
download | org.eclipse.atl-3eed509aa69167c06b3c55992fabdcef21db2a84.tar.gz org.eclipse.atl-3eed509aa69167c06b3c55992fabdcef21db2a84.tar.xz org.eclipse.atl-3eed509aa69167c06b3c55992fabdcef21db2a84.zip |
415863: Support (multiple) virtual dispatch for lazy rules
Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=415863
Diffstat (limited to 'plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m')
110 files changed, 650 insertions, 700 deletions
diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/BranchInstruction.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/BranchInstruction.java index 038f264b..98683969 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/BranchInstruction.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/BranchInstruction.java @@ -20,11 +20,11 @@ package org.eclipse.m2m.atl.emftvm; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.BranchInstruction#getOffset <em>Offset</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.BranchInstruction#getTarget <em>Target</em>}</li> * </ul> - * </p> * * @see org.eclipse.m2m.atl.emftvm.EmftvmPackage#getBranchInstruction() * @model abstract="true" diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/CodeBlock.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/CodeBlock.java index 29abf5b8..d1acd5ad 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/CodeBlock.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/CodeBlock.java @@ -26,6 +26,7 @@ import org.eclipse.m2m.atl.emftvm.util.StackFrame; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.CodeBlock#getMaxLocals <em>Max Locals</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.CodeBlock#getMaxStack <em>Max Stack</em>}</li> @@ -42,7 +43,6 @@ import org.eclipse.m2m.atl.emftvm.util.StackFrame; * <li>{@link org.eclipse.m2m.atl.emftvm.CodeBlock#getParentFrame <em>Parent Frame</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.CodeBlock#getBindingFor <em>Binding For</em>}</li> * </ul> - * </p> * * @see org.eclipse.m2m.atl.emftvm.EmftvmPackage#getCodeBlock() * @model diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/CodeBlockInstruction.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/CodeBlockInstruction.java index 2bf033be..01717fff 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/CodeBlockInstruction.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/CodeBlockInstruction.java @@ -20,11 +20,11 @@ package org.eclipse.m2m.atl.emftvm; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.CodeBlockInstruction#getCbIndex <em>Cb Index</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.CodeBlockInstruction#getCodeBlock <em>Code Block</em>}</li> * </ul> - * </p> * * @see org.eclipse.m2m.atl.emftvm.EmftvmPackage#getCodeBlockInstruction() * @model abstract="true" diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/ConstantTag.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/ConstantTag.java index 722b2123..8be3daea 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/ConstantTag.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/ConstantTag.java @@ -306,6 +306,8 @@ public enum ConstantTag implements Enumerator { * @param literal the literal string value * @return the '<em><b>Constant Tag</b></em>' literal with the specified literal value. * <!-- end-user-doc --> + * @param literal the literal. + * @return the matching enumerator or <code>null</code>. * @generated */ public static ConstantTag get(String literal) { @@ -324,6 +326,8 @@ public enum ConstantTag implements Enumerator { * @param name the literal name * @return the '<em><b>Constant Tag</b></em>' literal with the specified name. * <!-- end-user-doc --> + * @param name the name. + * @return the matching enumerator or <code>null</code>. * @generated */ public static ConstantTag getByName(String name) { @@ -342,6 +346,8 @@ public enum ConstantTag implements Enumerator { * @param value the literal integer value * @return the '<em><b>Constant Tag</b></em>' literal with the specified integer value. * <!-- end-user-doc --> + * @param value the integer value. + * @return the matching enumerator or <code>null</code>. * @generated */ public static ConstantTag get(int value) { diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/ExecEnv.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/ExecEnv.java index c6e44af2..d8979042 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/ExecEnv.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/ExecEnv.java @@ -33,6 +33,7 @@ import org.eclipse.m2m.atl.emftvm.util.VMMonitor; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.ExecEnv#getMetaModels <em>Meta Models</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.ExecEnv#getInputModels <em>Input Models</em>}</li> @@ -45,7 +46,6 @@ import org.eclipse.m2m.atl.emftvm.util.VMMonitor; * <li>{@link org.eclipse.m2m.atl.emftvm.ExecEnv#isJitDisabled <em>Jit Disabled</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.ExecEnv#getCurrentPhase <em>Current Phase</em>}</li> * </ul> - * </p> * * @see org.eclipse.m2m.atl.emftvm.EmftvmPackage#getExecEnv() * @model @@ -676,7 +676,7 @@ public interface ExecEnv extends EObject { * Returns all rules registered in this {@link ExecEnv}. * @return all rules registered in this {@link ExecEnv}. * <!-- end-user-doc --> - * @model kind="operation" dataType="org.eclipse.m2m.atl.emftvm.LazyList<org.eclipse.m2m.atl.emftvm.Rule>" + * @model kind="operation" dataType="org.eclipse.m2m.atl.emftvm.LazyList<org.eclipse.m2m.atl.emftvm.Rule>" * @generated */ LazyList<Rule> getRules(); diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Feature.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Feature.java index 1844c91a..957a9e47 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Feature.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Feature.java @@ -21,6 +21,7 @@ import org.eclipse.emf.ecore.EClassifier; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.Feature#isStatic <em>Static</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.Feature#getEContext <em>EContext</em>}</li> @@ -28,7 +29,6 @@ import org.eclipse.emf.ecore.EClassifier; * <li>{@link org.eclipse.m2m.atl.emftvm.Feature#getContext <em>Context</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.Feature#getContextModel <em>Context Model</em>}</li> * </ul> - * </p> * * @see org.eclipse.m2m.atl.emftvm.EmftvmPackage#getFeature() * @model abstract="true" diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/FeatureTag.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/FeatureTag.java index 9b771216..3617923b 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/FeatureTag.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/FeatureTag.java @@ -208,6 +208,8 @@ public enum FeatureTag implements Enumerator { * @param literal the literal value * @return the '<em><b>Feature Tag</b></em>' literal with the specified literal value. * <!-- end-user-doc --> + * @param literal the literal. + * @return the matching enumerator or <code>null</code>. * @generated */ public static FeatureTag get(String literal) { @@ -226,6 +228,8 @@ public enum FeatureTag implements Enumerator { * @param name the literal name * @return the '<em><b>Feature Tag</b></em>' literal with the specified name. * <!-- end-user-doc --> + * @param name the name. + * @return the matching enumerator or <code>null</code>. * @generated */ public static FeatureTag getByName(String name) { @@ -244,6 +248,8 @@ public enum FeatureTag implements Enumerator { * @param value the literal integer value * @return the '<em><b>Feature Tag</b></em>' literal with the specified integer value. * <!-- end-user-doc --> + * @param value the integer value. + * @return the matching enumerator or <code>null</code>. * @generated */ public static FeatureTag get(int value) { diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Field.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Field.java index ea449765..09e0f3bf 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Field.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Field.java @@ -22,12 +22,12 @@ import org.eclipse.m2m.atl.emftvm.util.StackFrame; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.Field#getStaticValue <em>Static Value</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.Field#getInitialiser <em>Initialiser</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.Field#getRule <em>Rule</em>}</li> * </ul> - * </p> * * @see org.eclipse.m2m.atl.emftvm.EmftvmPackage#getField() * @model diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/FieldInstruction.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/FieldInstruction.java index b46a2ccb..4539b524 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/FieldInstruction.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/FieldInstruction.java @@ -20,10 +20,10 @@ package org.eclipse.m2m.atl.emftvm; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.FieldInstruction#getFieldname <em>Fieldname</em>}</li> * </ul> - * </p> * * @see org.eclipse.m2m.atl.emftvm.EmftvmPackage#getFieldInstruction() * @model abstract="true" diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Findtype.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Findtype.java index b5c3c111..b1bb8d32 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Findtype.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Findtype.java @@ -20,11 +20,11 @@ package org.eclipse.m2m.atl.emftvm; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.Findtype#getModelname <em>Modelname</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.Findtype#getTypename <em>Typename</em>}</li> * </ul> - * </p> * * @see org.eclipse.m2m.atl.emftvm.EmftvmPackage#getFindtype() * @model diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Ifte.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Ifte.java index e4240543..75711d62 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Ifte.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Ifte.java @@ -20,13 +20,13 @@ package org.eclipse.m2m.atl.emftvm; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.Ifte#getThenCbIndex <em>Then Cb Index</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.Ifte#getElseCbIndex <em>Else Cb Index</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.Ifte#getThenCb <em>Then Cb</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.Ifte#getElseCb <em>Else Cb</em>}</li> * </ul> - * </p> * * @see org.eclipse.m2m.atl.emftvm.EmftvmPackage#getIfte() * @model diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/InputRuleElement.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/InputRuleElement.java index 1949db59..c5c880cd 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/InputRuleElement.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/InputRuleElement.java @@ -22,12 +22,12 @@ import org.eclipse.emf.ecore.EObject; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.InputRuleElement#getBinding <em>Binding</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.InputRuleElement#getInputFor <em>Input For</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.InputRuleElement#isMapsToSelf <em>Maps To Self</em>}</li> * </ul> - * </p> * * @see org.eclipse.m2m.atl.emftvm.EmftvmPackage#getInputRuleElement() * @model @@ -122,7 +122,7 @@ public interface InputRuleElement extends RuleElement { * @param env the execution environment context * @return a new {@link Iterable} of possible match values for this rule element. * <!-- end-user-doc --> - * @model dataType="org.eclipse.m2m.atl.emftvm.EJavaIterable<org.eclipse.emf.ecore.EObject>" + * @model dataType="org.eclipse.m2m.atl.emftvm.EJavaIterable<org.eclipse.emf.ecore.EObject>" * @generated */ Iterable<EObject> createIterable(ExecEnv env); diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Instruction.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Instruction.java index d1e1d55e..f8890e10 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Instruction.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Instruction.java @@ -21,6 +21,7 @@ import org.eclipse.emf.ecore.EObject; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.Instruction#getOwningBlock <em>Owning Block</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.Instruction#getOpcode <em>Opcode</em>}</li> @@ -29,7 +30,6 @@ import org.eclipse.emf.ecore.EObject; * <li>{@link org.eclipse.m2m.atl.emftvm.Instruction#getStackLevel <em>Stack Level</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.Instruction#getLineNumber <em>Line Number</em>}</li> * </ul> - * </p> * * @see org.eclipse.m2m.atl.emftvm.EmftvmPackage#getInstruction() * @model abstract="true" diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/InvokeInstruction.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/InvokeInstruction.java index 9796ae1e..d4c1c553 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/InvokeInstruction.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/InvokeInstruction.java @@ -20,10 +20,10 @@ package org.eclipse.m2m.atl.emftvm; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.InvokeInstruction#getArgcount <em>Argcount</em>}</li> * </ul> - * </p> * * @see org.eclipse.m2m.atl.emftvm.EmftvmPackage#getInvokeInstruction() * @model abstract="true" diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/InvokeOperationInstruction.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/InvokeOperationInstruction.java index ed4af3d8..d50ee27b 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/InvokeOperationInstruction.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/InvokeOperationInstruction.java @@ -22,10 +22,10 @@ import java.lang.reflect.Method; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.InvokeOperationInstruction#getOpname <em>Opname</em>}</li> * </ul> - * </p> * * @see org.eclipse.m2m.atl.emftvm.EmftvmPackage#getInvokeOperationInstruction() * @model abstract="true" diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/LineNumber.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/LineNumber.java index f81410b5..ad36a71e 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/LineNumber.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/LineNumber.java @@ -22,6 +22,7 @@ import org.eclipse.emf.ecore.EObject; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.LineNumber#getStartLine <em>Start Line</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.LineNumber#getStartColumn <em>Start Column</em>}</li> @@ -32,7 +33,6 @@ import org.eclipse.emf.ecore.EObject; * <li>{@link org.eclipse.m2m.atl.emftvm.LineNumber#getOwningBlock <em>Owning Block</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.LineNumber#getInstructions <em>Instructions</em>}</li> * </ul> - * </p> * * @see org.eclipse.m2m.atl.emftvm.EmftvmPackage#getLineNumber() * @model diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/LocalVariable.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/LocalVariable.java index bbf23523..710fa7df 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/LocalVariable.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/LocalVariable.java @@ -20,6 +20,7 @@ package org.eclipse.m2m.atl.emftvm; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.LocalVariable#getSlot <em>Slot</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.LocalVariable#getOwningBlock <em>Owning Block</em>}</li> @@ -28,7 +29,6 @@ package org.eclipse.m2m.atl.emftvm; * <li>{@link org.eclipse.m2m.atl.emftvm.LocalVariable#getStartInstructionIndex <em>Start Instruction Index</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.LocalVariable#getEndInstructionIndex <em>End Instruction Index</em>}</li> * </ul> - * </p> * * @see org.eclipse.m2m.atl.emftvm.EmftvmPackage#getLocalVariable() * @model diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/LocalVariableInstruction.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/LocalVariableInstruction.java index 4bfe819c..c1d79d24 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/LocalVariableInstruction.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/LocalVariableInstruction.java @@ -20,13 +20,13 @@ package org.eclipse.m2m.atl.emftvm; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.LocalVariableInstruction#getCbOffset <em>Cb Offset</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.LocalVariableInstruction#getSlot <em>Slot</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.LocalVariableInstruction#getLocalVariableIndex <em>Local Variable Index</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.LocalVariableInstruction#getLocalVariable <em>Local Variable</em>}</li> * </ul> - * </p> * * @see org.eclipse.m2m.atl.emftvm.EmftvmPackage#getLocalVariableInstruction() * @model abstract="true" diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Match.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Match.java index b7ffe37d..3c55c3e8 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Match.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Match.java @@ -20,10 +20,10 @@ package org.eclipse.m2m.atl.emftvm; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.Match#getRulename <em>Rulename</em>}</li> * </ul> - * </p> * * @see org.eclipse.m2m.atl.emftvm.EmftvmPackage#getMatch() * @model diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Model.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Model.java index db496e4b..f9d406f8 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Model.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Model.java @@ -24,11 +24,11 @@ import org.eclipse.m2m.atl.emftvm.util.LazyList; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.Model#getResource <em>Resource</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.Model#isAllowInterModelReferences <em>Allow Inter Model References</em>}</li> * </ul> - * </p> * * @see org.eclipse.m2m.atl.emftvm.EmftvmPackage#getModel() * @model @@ -94,7 +94,7 @@ public interface Model extends EObject { * @param type the metaclass for which to find the instances * @return all instances of the given <code>type</code>. * <!-- end-user-doc --> - * @model dataType="org.eclipse.m2m.atl.emftvm.LazyList<org.eclipse.emf.ecore.EObject>" + * @model dataType="org.eclipse.m2m.atl.emftvm.LazyList<org.eclipse.emf.ecore.EObject>" * @generated */ LazyList<EObject> allInstancesOf(EClass type); diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/ModelDeclaration.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/ModelDeclaration.java index 9bd99708..434a82b1 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/ModelDeclaration.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/ModelDeclaration.java @@ -21,6 +21,7 @@ import org.eclipse.emf.ecore.EObject; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.ModelDeclaration#getModelName <em>Model Name</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.ModelDeclaration#getMetaModelName <em>Meta Model Name</em>}</li> @@ -28,7 +29,6 @@ import org.eclipse.emf.ecore.EObject; * <li>{@link org.eclipse.m2m.atl.emftvm.ModelDeclaration#getInoutModelFor <em>Inout Model For</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.ModelDeclaration#getOutputModelFor <em>Output Model For</em>}</li> * </ul> - * </p> * * @see org.eclipse.m2m.atl.emftvm.EmftvmPackage#getModelDeclaration() * @model diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/ModelDeclarationTag.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/ModelDeclarationTag.java index a26e2d87..724cdd2e 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/ModelDeclarationTag.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/ModelDeclarationTag.java @@ -130,6 +130,8 @@ public enum ModelDeclarationTag implements Enumerator { * @param literal the literal string value * @return the '<em><b>Model Declaration Tag</b></em>' literal with the specified literal value. * <!-- end-user-doc --> + * @param literal the literal. + * @return the matching enumerator or <code>null</code>. * @generated */ public static ModelDeclarationTag get(String literal) { @@ -148,6 +150,8 @@ public enum ModelDeclarationTag implements Enumerator { * @param name the literal name * @return the '<em><b>Model Declaration Tag</b></em>' literal with the specified name. * <!-- end-user-doc --> + * @param name the name. + * @return the matching enumerator or <code>null</code>. * @generated */ public static ModelDeclarationTag getByName(String name) { @@ -166,6 +170,8 @@ public enum ModelDeclarationTag implements Enumerator { * @param value the literal integer value * @return the '<em><b>Model Declaration Tag</b></em>' literal with the specified integer value. * <!-- end-user-doc --> + * @param value the integer value. + * @return the matching enumerator or <code>null</code>. * @generated */ public static ModelDeclarationTag get(int value) { diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Module.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Module.java index a80d140d..1cdf5295 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Module.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Module.java @@ -21,6 +21,7 @@ import org.eclipse.emf.common.util.EList; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.Module#getSourceName <em>Source Name</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.Module#getFeatures <em>Features</em>}</li> @@ -31,7 +32,6 @@ import org.eclipse.emf.common.util.EList; * <li>{@link org.eclipse.m2m.atl.emftvm.Module#getInoutModels <em>Inout Models</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.Module#getOutputModels <em>Output Models</em>}</li> * </ul> - * </p> * * @see org.eclipse.m2m.atl.emftvm.EmftvmPackage#getModule() * @model diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/NamedElement.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/NamedElement.java index 3c5713c7..d3294e22 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/NamedElement.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/NamedElement.java @@ -21,10 +21,10 @@ import org.eclipse.emf.ecore.EObject; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.NamedElement#getName <em>Name</em>}</li> * </ul> - * </p> * * @see org.eclipse.m2m.atl.emftvm.EmftvmPackage#getNamedElement() * @model abstract="true" diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/New.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/New.java index 72295401..e8cd1a18 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/New.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/New.java @@ -20,10 +20,10 @@ package org.eclipse.m2m.atl.emftvm; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.New#getModelname <em>Modelname</em>}</li> * </ul> - * </p> * * @see org.eclipse.m2m.atl.emftvm.EmftvmPackage#getNew() * @model diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Opcode.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Opcode.java index 145401b1..c99735b1 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Opcode.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Opcode.java @@ -1310,6 +1310,8 @@ public enum Opcode implements Enumerator { * @param literal the literal string value * @return the '<em><b>Opcode</b></em>' literal with the specified literal value. * <!-- end-user-doc --> + * @param literal the literal. + * @return the matching enumerator or <code>null</code>. * @generated */ public static Opcode get(String literal) { @@ -1328,6 +1330,8 @@ public enum Opcode implements Enumerator { * @param name the literal name * @return the '<em><b>Opcode</b></em>' literal with the specified name. * <!-- end-user-doc --> + * @param name the name. + * @return the matching enumerator or <code>null</code>. * @generated */ public static Opcode getByName(String name) { @@ -1346,6 +1350,8 @@ public enum Opcode implements Enumerator { * @param value the literal integer value * @return the '<em><b>Opcode</b></em>' literal with the specified integer value. * <!-- end-user-doc --> + * @param value the integer value. + * @return the matching enumerator or <code>null</code>. * @generated */ public static Opcode get(int value) { diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Operation.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Operation.java index 0acfe0dc..7f61c200 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Operation.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Operation.java @@ -21,12 +21,12 @@ import org.eclipse.emf.common.util.EList; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.Operation#getParameters <em>Parameters</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.Operation#isQuery <em>Query</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.Operation#getBody <em>Body</em>}</li> * </ul> - * </p> * * @see org.eclipse.m2m.atl.emftvm.EmftvmPackage#getOperation() * @model diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/OutputRuleElement.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/OutputRuleElement.java index a5711a8c..4dbbe350 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/OutputRuleElement.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/OutputRuleElement.java @@ -22,11 +22,11 @@ import org.eclipse.emf.common.util.EList; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.OutputRuleElement#getMapsTo <em>Maps To</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.OutputRuleElement#getOutputFor <em>Output For</em>}</li> * </ul> - * </p> * * @see org.eclipse.m2m.atl.emftvm.EmftvmPackage#getOutputRuleElement() * @model diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Parameter.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Parameter.java index 0eddf36a..fde564aa 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Parameter.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Parameter.java @@ -20,10 +20,10 @@ package org.eclipse.m2m.atl.emftvm; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.Parameter#getOperation <em>Operation</em>}</li> * </ul> - * </p> * * @see org.eclipse.m2m.atl.emftvm.EmftvmPackage#getParameter() * @model diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Push.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Push.java index 72bd8a82..56d7c09d 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Push.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Push.java @@ -20,6 +20,7 @@ package org.eclipse.m2m.atl.emftvm; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.Push#getValue <em>Value</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.Push#getStringValue <em>String Value</em>}</li> @@ -32,7 +33,6 @@ package org.eclipse.m2m.atl.emftvm; * <li>{@link org.eclipse.m2m.atl.emftvm.Push#getLongValue <em>Long Value</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.Push#getEnumValue <em>Enum Value</em>}</li> * </ul> - * </p> * * @see org.eclipse.m2m.atl.emftvm.EmftvmPackage#getPush() * @model diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Rule.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Rule.java index 4942b3ab..a5f29c22 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Rule.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/Rule.java @@ -27,6 +27,7 @@ import org.eclipse.m2m.atl.emftvm.util.VMException; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.Rule#getModule <em>Module</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.Rule#getMode <em>Mode</em>}</li> @@ -46,7 +47,6 @@ import org.eclipse.m2m.atl.emftvm.util.VMException; * <li>{@link org.eclipse.m2m.atl.emftvm.Rule#isLeaf <em>Leaf</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.Rule#isWithLeaves <em>With Leaves</em>}</li> * </ul> - * </p> * * @see org.eclipse.m2m.atl.emftvm.EmftvmPackage#getRule() * @model @@ -549,7 +549,7 @@ public interface Rule extends NamedElement { /** * <!-- begin-user-doc --> - * Matches this rule only (without suoer-rules) for <code>valuesMap</code>. + * Matches this rule only (without super-rules) for <code>valuesMap</code>. * Call {@link #compileState()} before calling this method. * @param frame the stack frame in which to execute the matcher * @param valuesMap the values to match against @@ -626,25 +626,23 @@ public interface Rule extends NamedElement { /** * <!-- begin-user-doc --> - * Applies {@link #getRule()} to <code>trace</code> + * Applies this rule to <code>trace</code> * @param frame the stack frame in which to execute the applier and post-apply - * @param trace the source and target values to which to apply the rule + * @param valuesMap the source and target values to which to apply the rule * @return the rule application result * <!-- end-user-doc --> * @model frameDataType="org.eclipse.m2m.atl.emftvm.StackFrame" * @generated */ - Object applyOne(StackFrame frame, TraceLink trace); + Object applyOne(StackFrame frame, Map<String, Object> valuesMap); /** - * <!-- begin-user-doc --> - * Applies this rule for the given <code>trace</code>. Call {@link #compileState()} before calling this method. - * - * @param frame - * the stack frame context - * @param trace - * the trace link to apply the rule for - * @return the application result + * <!-- begin-user-doc --> + * Applies this rule for the given <code>trace</code>. + * Call {@link #compileState()} before calling this method. + * @param frame the stack frame context + * @param trace the trace link to apply the rule for + * @return the application result * <!-- end-user-doc --> * @model frameDataType="org.eclipse.m2m.atl.emftvm.StackFrame" * @generated @@ -652,15 +650,15 @@ public interface Rule extends NamedElement { Object applyFor(StackFrame frame, TraceLink trace); /** - * <!-- begin-user-doc --> + * <!-- begin-user-doc --> * Post-applies this rule for the given <code>trace</code>. Call {@link #compileState()} before calling this * method. - * + * * @param frame * the stack frame context * @param trace * the trace link to post-apply the rule for - * @return the post-application result + * @return the post-application result * <!-- end-user-doc --> * @model frameDataType="org.eclipse.m2m.atl.emftvm.StackFrame" * @generated @@ -674,7 +672,7 @@ public interface Rule extends NamedElement { * Call {@link #compileState()} before calling this method. * @return the transitive closure of super-rules. * <!-- end-user-doc --> - * @model kind="operation" dataType="org.eclipse.m2m.atl.emftvm.LazySet<org.eclipse.m2m.atl.emftvm.Rule>" + * @model kind="operation" dataType="org.eclipse.m2m.atl.emftvm.LazySet<org.eclipse.m2m.atl.emftvm.Rule>" * @generated */ LazySet<Rule> getAllESuperRules(); @@ -734,7 +732,7 @@ public interface Rule extends NamedElement { /** * <!-- begin-user-doc --> * Finds the {@link InputRuleElement} with the given name within the rule inheritance hierarchy depth-first. - * + * * @param name * the input element name * @return the {@link InputRuleElement} with the given name or <code>null</code> @@ -744,4 +742,22 @@ public interface Rule extends NamedElement { */ InputRuleElement findInputElement(String name); + /** + * <!-- begin-user-doc --> + * + * Returns the unique rule application trace for <code>values</code>, if + * applicable. + * + * @param frame + * the stack frame context + * @param values + * the source values for the trace + * @return the unique rule application trace, or <code>null</code> + * + * <!-- end-user-doc --> + * @model frameDataType="org.eclipse.m2m.atl.emftvm.StackFrame" valuesDataType="org.eclipse.m2m.atl.emftvm.EJavaObjectArray" + * @generated + */ + TraceLink getUniqueTrace(StackFrame frame, Object[] values); + } // Rule diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/RuleElement.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/RuleElement.java index 4a91808c..cd9cb7af 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/RuleElement.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/RuleElement.java @@ -21,11 +21,11 @@ import org.eclipse.emf.common.util.EList; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.RuleElement#getModels <em>Models</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.RuleElement#getEModels <em>EModels</em>}</li> * </ul> - * </p> * * @see org.eclipse.m2m.atl.emftvm.EmftvmPackage#getRuleElement() * @model abstract="true" diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/RuleMode.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/RuleMode.java index 85e138e2..d71b81ac 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/RuleMode.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/RuleMode.java @@ -130,6 +130,8 @@ public enum RuleMode implements Enumerator { * @param literal the literal string value * @return the '<em><b>Rule Mode</b></em>' literal with the specified literal value. * <!-- end-user-doc --> + * @param literal the literal. + * @return the matching enumerator or <code>null</code>. * @generated */ public static RuleMode get(String literal) { @@ -148,6 +150,8 @@ public enum RuleMode implements Enumerator { * @param name the literal name * @return the '<em><b>Rule Mode</b></em>' literal with the specified name. * <!-- end-user-doc --> + * @param name the name. + * @return the matching enumerator or <code>null</code>. * @generated */ public static RuleMode getByName(String name) { @@ -166,6 +170,8 @@ public enum RuleMode implements Enumerator { * @param value the literal integer value * @return the '<em><b>Rule Mode</b></em>' literal with the specified integer value. * <!-- end-user-doc --> + * @param value the integer value. + * @return the matching enumerator or <code>null</code>. * @generated */ public static RuleMode get(int value) { diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/TypedElement.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/TypedElement.java index 477813f7..4e3ef171 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/TypedElement.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/TypedElement.java @@ -21,12 +21,12 @@ import org.eclipse.emf.ecore.EClassifier; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.TypedElement#getEType <em>EType</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.TypedElement#getType <em>Type</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.TypedElement#getTypeModel <em>Type Model</em>}</li> * </ul> - * </p> * * @see org.eclipse.m2m.atl.emftvm.EmftvmPackage#getTypedElement() * @model abstract="true" diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/AddImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/AddImpl.java index 0283cb6f..86f508b0 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/AddImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/AddImpl.java @@ -22,8 +22,6 @@ import org.eclipse.m2m.atl.emftvm.Opcode; * An implementation of the model object '<em><b>Add</b></em>'. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> * <!-- end-user-doc --> - * <p> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/AllinstImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/AllinstImpl.java index 65d44ab9..9b7089fe 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/AllinstImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/AllinstImpl.java @@ -22,8 +22,6 @@ import org.eclipse.m2m.atl.emftvm.Opcode; * An implementation of the model object '<em><b>Allinst</b></em>'. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> * <!-- end-user-doc --> - * <p> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/AllinstInImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/AllinstInImpl.java index d87a8060..e525a4e0 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/AllinstInImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/AllinstInImpl.java @@ -22,8 +22,6 @@ import org.eclipse.m2m.atl.emftvm.Opcode; * An implementation of the model object '<em><b>Allinst in</b></em>'. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> * <!-- end-user-doc --> - * <p> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/AndImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/AndImpl.java index f9b5875e..7acb7430 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/AndImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/AndImpl.java @@ -22,8 +22,6 @@ import org.eclipse.m2m.atl.emftvm.Opcode; * An implementation of the model object '<em><b>And</b></em>'. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> * <!-- end-user-doc --> - * <p> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/BranchInstructionImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/BranchInstructionImpl.java index 5108cfd1..aa17c623 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/BranchInstructionImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/BranchInstructionImpl.java @@ -28,11 +28,11 @@ import org.eclipse.m2m.atl.emftvm.Instruction; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.BranchInstructionImpl#getOffset <em>Offset</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.BranchInstructionImpl#getTarget <em>Target</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/CodeBlockImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/CodeBlockImpl.java index 6c0e41d8..c6e2cb89 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/CodeBlockImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/CodeBlockImpl.java @@ -109,6 +109,7 @@ import org.eclipse.m2m.atl.emftvm.util.VMMonitor; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.CodeBlockImpl#getMaxLocals <em>Max Locals</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.CodeBlockImpl#getMaxStack <em>Max Stack</em>}</li> @@ -125,7 +126,6 @@ import org.eclipse.m2m.atl.emftvm.util.VMMonitor; * <li>{@link org.eclipse.m2m.atl.emftvm.impl.CodeBlockImpl#getParentFrame <em>Parent Frame</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.CodeBlockImpl#getBindingFor <em>Binding For</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/CodeBlockInstructionImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/CodeBlockInstructionImpl.java index 8a2f1700..7d0d6da4 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/CodeBlockInstructionImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/CodeBlockInstructionImpl.java @@ -27,11 +27,11 @@ import org.eclipse.m2m.atl.emftvm.EmftvmPackage; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.CodeBlockInstructionImpl#getCbIndex <em>Cb Index</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.CodeBlockInstructionImpl#getCodeBlock <em>Code Block</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/DeleteImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/DeleteImpl.java index 29857d79..4f563452 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/DeleteImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/DeleteImpl.java @@ -22,8 +22,6 @@ import org.eclipse.m2m.atl.emftvm.Opcode; * An implementation of the model object '<em><b>Delete</b></em>'. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> * <!-- end-user-doc --> - * <p> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/DupImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/DupImpl.java index 9abbc2d2..deb74ce6 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/DupImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/DupImpl.java @@ -22,8 +22,6 @@ import org.eclipse.m2m.atl.emftvm.Opcode; * An implementation of the model object '<em><b>Dup</b></em>'. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> * <!-- end-user-doc --> - * <p> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/DupX1Impl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/DupX1Impl.java index f837d27a..5966763c 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/DupX1Impl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/DupX1Impl.java @@ -22,8 +22,6 @@ import org.eclipse.m2m.atl.emftvm.Opcode; * An implementation of the model object '<em><b>Dup x1</b></em>'. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> * <!-- end-user-doc --> - * <p> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/EmftvmPackageImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/EmftvmPackageImpl.java index fb63727a..6982ac6d 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/EmftvmPackageImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/EmftvmPackageImpl.java @@ -3772,7 +3772,12 @@ public class EmftvmPackageImpl extends EPackageImpl implements EmftvmPackage { op = addEOperation(ruleEClass, theEcorePackage.getEJavaObject(), "applyOne", 0, 1, IS_UNIQUE, IS_ORDERED); addEParameter(op, this.getStackFrame(), "frame", 0, 1, IS_UNIQUE, IS_ORDERED); - addEParameter(op, theTracePackage.getTraceLink(), "trace", 0, 1, IS_UNIQUE, IS_ORDERED); + g1 = createEGenericType(ecorePackage.getEMap()); + g2 = createEGenericType(theEcorePackage.getEString()); + g1.getETypeArguments().add(g2); + g2 = createEGenericType(ecorePackage.getEJavaObject()); + g1.getETypeArguments().add(g2); + addEParameter(op, g1, "valuesMap", 0, 1, IS_UNIQUE, IS_ORDERED); op = addEOperation(ruleEClass, theEcorePackage.getEJavaObject(), "applyFor", 0, 1, IS_UNIQUE, IS_ORDERED); addEParameter(op, this.getStackFrame(), "frame", 0, 1, IS_UNIQUE, IS_ORDERED); @@ -3804,6 +3809,10 @@ public class EmftvmPackageImpl extends EPackageImpl implements EmftvmPackage { op = addEOperation(ruleEClass, this.getInputRuleElement(), "findInputElement", 0, 1, IS_UNIQUE, IS_ORDERED); addEParameter(op, theEcorePackage.getEString(), "name", 0, 1, IS_UNIQUE, IS_ORDERED); + op = addEOperation(ruleEClass, theTracePackage.getTraceLink(), "getUniqueTrace", 0, 1, IS_UNIQUE, IS_ORDERED); + addEParameter(op, this.getStackFrame(), "frame", 0, 1, IS_UNIQUE, IS_ORDERED); + addEParameter(op, this.getEJavaObjectArray(), "values", 0, 1, IS_UNIQUE, IS_ORDERED); + initEClass(ruleElementEClass, RuleElement.class, "RuleElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getRuleElement_Models(), theEcorePackage.getEString(), "models", null, 0, -1, RuleElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getRuleElement_EModels(), this.getModel(), null, "eModels", null, 0, -1, RuleElement.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED); diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/EnditerateImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/EnditerateImpl.java index 7d6835b3..8849ce2b 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/EnditerateImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/EnditerateImpl.java @@ -22,8 +22,6 @@ import org.eclipse.m2m.atl.emftvm.Opcode; * An implementation of the model object '<em><b>Enditerate</b></em>'. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> * <!-- end-user-doc --> - * <p> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/ExecEnvImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/ExecEnvImpl.java index d0cb408a..745f1be7 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/ExecEnvImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/ExecEnvImpl.java @@ -94,6 +94,7 @@ import org.eclipse.m2m.atl.emftvm.util.VMMonitor; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.ExecEnvImpl#getMetaModels <em>Meta Models</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.ExecEnvImpl#getInputModels <em>Input Models</em>}</li> @@ -106,7 +107,6 @@ import org.eclipse.m2m.atl.emftvm.util.VMMonitor; * <li>{@link org.eclipse.m2m.atl.emftvm.impl.ExecEnvImpl#isJitDisabled <em>Jit Disabled</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.ExecEnvImpl#getCurrentPhase <em>Current Phase</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/FeatureImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/FeatureImpl.java index 0bff4f18..7e6d3574 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/FeatureImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/FeatureImpl.java @@ -31,6 +31,7 @@ import org.eclipse.m2m.atl.emftvm.util.EMFTVMUtil; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.FeatureImpl#isStatic <em>Static</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.FeatureImpl#getEContext <em>EContext</em>}</li> @@ -38,7 +39,6 @@ import org.eclipse.m2m.atl.emftvm.util.EMFTVMUtil; * <li>{@link org.eclipse.m2m.atl.emftvm.impl.FeatureImpl#getContext <em>Context</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.FeatureImpl#getContextModel <em>Context Model</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/FieldImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/FieldImpl.java index 5fefa045..6f7e33e4 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/FieldImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/FieldImpl.java @@ -38,12 +38,12 @@ import org.eclipse.m2m.atl.emftvm.util.VMException; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.FieldImpl#getStaticValue <em>Static Value</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.FieldImpl#getInitialiser <em>Initialiser</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.FieldImpl#getRule <em>Rule</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/FieldInstructionImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/FieldInstructionImpl.java index 974830b4..de3c7ce0 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/FieldInstructionImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/FieldInstructionImpl.java @@ -25,10 +25,10 @@ import org.eclipse.m2m.atl.emftvm.FieldInstruction; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.FieldInstructionImpl#getFieldname <em>Fieldname</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/FindtypeImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/FindtypeImpl.java index c1402ffa..6086fdc2 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/FindtypeImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/FindtypeImpl.java @@ -26,11 +26,11 @@ import org.eclipse.m2m.atl.emftvm.Opcode; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.FindtypeImpl#getModelname <em>Modelname</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.FindtypeImpl#getTypename <em>Typename</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/FindtypeSImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/FindtypeSImpl.java index 2741c05c..26824689 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/FindtypeSImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/FindtypeSImpl.java @@ -22,8 +22,6 @@ import org.eclipse.m2m.atl.emftvm.Opcode; * An implementation of the model object '<em><b>Findtype s</b></em>'. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> * <!-- end-user-doc --> - * <p> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/GetImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/GetImpl.java index 398fb901..27f08b2b 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/GetImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/GetImpl.java @@ -22,8 +22,6 @@ import org.eclipse.m2m.atl.emftvm.Opcode; * An implementation of the model object '<em><b>Get</b></em>'. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> * <!-- end-user-doc --> - * <p> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/GetStaticImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/GetStaticImpl.java index 9e1629a2..a47a52e4 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/GetStaticImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/GetStaticImpl.java @@ -22,8 +22,6 @@ import org.eclipse.m2m.atl.emftvm.Opcode; * An implementation of the model object '<em><b>Get static</b></em>'. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> * <!-- end-user-doc --> - * <p> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/GetSuperImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/GetSuperImpl.java index 9ec27308..a4ac6222 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/GetSuperImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/GetSuperImpl.java @@ -13,8 +13,6 @@ import org.eclipse.m2m.atl.emftvm.Opcode; * An implementation of the model object '<em><b>Get Super</b></em>'. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> * <!-- end-user-doc --> - * <p> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/GetTransImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/GetTransImpl.java index 41e2654f..8f3f222c 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/GetTransImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/GetTransImpl.java @@ -22,8 +22,6 @@ import org.eclipse.m2m.atl.emftvm.Opcode; * An implementation of the model object '<em><b>Get trans</b></em>'. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> * <!-- end-user-doc --> - * <p> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/GetcbImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/GetcbImpl.java index ec5f5954..9503dccc 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/GetcbImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/GetcbImpl.java @@ -22,8 +22,6 @@ import org.eclipse.m2m.atl.emftvm.Opcode; * An implementation of the model object '<em><b>Getcb</b></em>'. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> * <!-- end-user-doc --> - * <p> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/GetenvImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/GetenvImpl.java index 3ad752c8..f64c75fd 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/GetenvImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/GetenvImpl.java @@ -21,8 +21,6 @@ import org.eclipse.m2m.atl.emftvm.Opcode; * An implementation of the model object '<em><b>Getenv</b></em>'. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> * <!-- end-user-doc --> - * <p> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/GetenvtypeImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/GetenvtypeImpl.java index 86e0964e..0830eed3 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/GetenvtypeImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/GetenvtypeImpl.java @@ -22,8 +22,6 @@ import org.eclipse.m2m.atl.emftvm.Opcode; * An implementation of the model object '<em><b>Getenvtype</b></em>'. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> * <!-- end-user-doc --> - * <p> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/GotoImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/GotoImpl.java index 1e3ddb92..c36adb12 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/GotoImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/GotoImpl.java @@ -22,8 +22,6 @@ import org.eclipse.m2m.atl.emftvm.Opcode; * An implementation of the model object '<em><b>Goto</b></em>'. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> * <!-- end-user-doc --> - * <p> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/IfImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/IfImpl.java index 3359dcfb..76687fd4 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/IfImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/IfImpl.java @@ -22,8 +22,6 @@ import org.eclipse.m2m.atl.emftvm.Opcode; * An implementation of the model object '<em><b>If</b></em>'. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> * <!-- end-user-doc --> - * <p> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/IfnImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/IfnImpl.java index a16b170a..57679f7e 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/IfnImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/IfnImpl.java @@ -22,8 +22,6 @@ import org.eclipse.m2m.atl.emftvm.Opcode; * An implementation of the model object '<em><b>Ifn</b></em>'. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> * <!-- end-user-doc --> - * <p> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/IfteImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/IfteImpl.java index 2428bd9b..bf28e4e6 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/IfteImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/IfteImpl.java @@ -28,13 +28,13 @@ import org.eclipse.m2m.atl.emftvm.Opcode; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.IfteImpl#getThenCbIndex <em>Then Cb Index</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.IfteImpl#getElseCbIndex <em>Else Cb Index</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.IfteImpl#getThenCb <em>Then Cb</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.IfteImpl#getElseCb <em>Else Cb</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/ImpliesImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/ImpliesImpl.java index 2e028c28..8c57e2d9 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/ImpliesImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/ImpliesImpl.java @@ -22,8 +22,6 @@ import org.eclipse.m2m.atl.emftvm.Opcode; * An implementation of the model object '<em><b>Implies</b></em>'. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> * <!-- end-user-doc --> - * <p> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/InputRuleElementImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/InputRuleElementImpl.java index b7527090..0104a81a 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/InputRuleElementImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/InputRuleElementImpl.java @@ -35,12 +35,12 @@ import org.eclipse.m2m.atl.emftvm.util.LazyList; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.InputRuleElementImpl#getBinding <em>Binding</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.InputRuleElementImpl#getInputFor <em>Input For</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.InputRuleElementImpl#isMapsToSelf <em>Maps To Self</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/InsertImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/InsertImpl.java index 1d3d674d..07ed5011 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/InsertImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/InsertImpl.java @@ -22,8 +22,6 @@ import org.eclipse.m2m.atl.emftvm.Opcode; * An implementation of the model object '<em><b>Insert</b></em>'. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> * <!-- end-user-doc --> - * <p> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/InstructionImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/InstructionImpl.java index b5ac0bc6..ae7d0bd9 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/InstructionImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/InstructionImpl.java @@ -34,6 +34,7 @@ import org.eclipse.m2m.atl.emftvm.Opcode; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.InstructionImpl#getOwningBlock <em>Owning Block</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.InstructionImpl#getOpcode <em>Opcode</em>}</li> @@ -42,7 +43,6 @@ import org.eclipse.m2m.atl.emftvm.Opcode; * <li>{@link org.eclipse.m2m.atl.emftvm.impl.InstructionImpl#getStackLevel <em>Stack Level</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.InstructionImpl#getLineNumber <em>Line Number</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/InvokeAllCbsImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/InvokeAllCbsImpl.java index 7be443f1..7ed598c8 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/InvokeAllCbsImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/InvokeAllCbsImpl.java @@ -23,8 +23,6 @@ import org.eclipse.m2m.atl.emftvm.Opcode; * An implementation of the model object '<em><b>Invoke all cbs</b></em>'. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> * <!-- end-user-doc --> - * <p> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/InvokeCbImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/InvokeCbImpl.java index f46c17a6..9ba7201e 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/InvokeCbImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/InvokeCbImpl.java @@ -28,10 +28,10 @@ import org.eclipse.m2m.atl.emftvm.Opcode; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.InvokeCbImpl#getArgcount <em>Argcount</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/InvokeCbSImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/InvokeCbSImpl.java index d75cc3e3..32398647 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/InvokeCbSImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/InvokeCbSImpl.java @@ -22,8 +22,6 @@ import org.eclipse.m2m.atl.emftvm.Opcode; * An implementation of the model object '<em><b>Invoke cb s</b></em>'. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> * <!-- end-user-doc --> - * <p> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/InvokeImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/InvokeImpl.java index 9798be68..5e6e8835 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/InvokeImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/InvokeImpl.java @@ -22,8 +22,6 @@ import org.eclipse.m2m.atl.emftvm.Opcode; * An implementation of the model object '<em><b>Invoke</b></em>'. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> * <!-- end-user-doc --> - * <p> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/InvokeInstructionImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/InvokeInstructionImpl.java index 28087e7e..212af60f 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/InvokeInstructionImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/InvokeInstructionImpl.java @@ -25,10 +25,10 @@ import org.eclipse.m2m.atl.emftvm.InvokeInstruction; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.InvokeInstructionImpl#getArgcount <em>Argcount</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/InvokeOperationInstructionImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/InvokeOperationInstructionImpl.java index 57e831fd..2c2f6471 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/InvokeOperationInstructionImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/InvokeOperationInstructionImpl.java @@ -27,10 +27,10 @@ import org.eclipse.m2m.atl.emftvm.InvokeOperationInstruction; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.InvokeOperationInstructionImpl#getOpname <em>Opname</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/InvokeStaticImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/InvokeStaticImpl.java index db8abb14..82a9dd4a 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/InvokeStaticImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/InvokeStaticImpl.java @@ -22,8 +22,6 @@ import org.eclipse.m2m.atl.emftvm.Opcode; * An implementation of the model object '<em><b>Invoke static</b></em>'. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> * <!-- end-user-doc --> - * <p> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/InvokeSuperImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/InvokeSuperImpl.java index 3cdc1be8..a94b6fee 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/InvokeSuperImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/InvokeSuperImpl.java @@ -22,8 +22,6 @@ import org.eclipse.m2m.atl.emftvm.Opcode; * An implementation of the model object '<em><b>Invoke super</b></em>'. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> * <!-- end-user-doc --> - * <p> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/IsnullImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/IsnullImpl.java index b2690ed7..e2e992fa 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/IsnullImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/IsnullImpl.java @@ -22,8 +22,6 @@ import org.eclipse.m2m.atl.emftvm.Opcode; * An implementation of the model object '<em><b>Isnull</b></em>'. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> * <!-- end-user-doc --> - * <p> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/IterateImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/IterateImpl.java index cc3d0477..4a4f959f 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/IterateImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/IterateImpl.java @@ -22,8 +22,6 @@ import org.eclipse.m2m.atl.emftvm.Opcode; * An implementation of the model object '<em><b>Iterate</b></em>'. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> * <!-- end-user-doc --> - * <p> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/LineNumberImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/LineNumberImpl.java index 7f21ac75..bf90dd27 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/LineNumberImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/LineNumberImpl.java @@ -35,6 +35,7 @@ import org.eclipse.m2m.atl.emftvm.LineNumber; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.LineNumberImpl#getStartLine <em>Start Line</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.LineNumberImpl#getStartColumn <em>Start Column</em>}</li> @@ -45,7 +46,6 @@ import org.eclipse.m2m.atl.emftvm.LineNumber; * <li>{@link org.eclipse.m2m.atl.emftvm.impl.LineNumberImpl#getOwningBlock <em>Owning Block</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.LineNumberImpl#getInstructions <em>Instructions</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/LoadImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/LoadImpl.java index 2f851662..6e236fe3 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/LoadImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/LoadImpl.java @@ -22,8 +22,6 @@ import org.eclipse.m2m.atl.emftvm.Opcode; * An implementation of the model object '<em><b>Load</b></em>'. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> * <!-- end-user-doc --> - * <p> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/LocalVariableImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/LocalVariableImpl.java index d291d239..9080b42c 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/LocalVariableImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/LocalVariableImpl.java @@ -34,6 +34,7 @@ import org.eclipse.m2m.atl.emftvm.LocalVariable; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.LocalVariableImpl#getSlot <em>Slot</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.LocalVariableImpl#getOwningBlock <em>Owning Block</em>}</li> @@ -42,7 +43,6 @@ import org.eclipse.m2m.atl.emftvm.LocalVariable; * <li>{@link org.eclipse.m2m.atl.emftvm.impl.LocalVariableImpl#getStartInstructionIndex <em>Start Instruction Index</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.LocalVariableImpl#getEndInstructionIndex <em>End Instruction Index</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/LocalVariableInstructionImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/LocalVariableInstructionImpl.java index 79c5698b..8d0776e2 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/LocalVariableInstructionImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/LocalVariableInstructionImpl.java @@ -28,13 +28,13 @@ import org.eclipse.m2m.atl.emftvm.LocalVariableInstruction; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.LocalVariableInstructionImpl#getCbOffset <em>Cb Offset</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.LocalVariableInstructionImpl#getSlot <em>Slot</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.LocalVariableInstructionImpl#getLocalVariableIndex <em>Local Variable Index</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.LocalVariableInstructionImpl#getLocalVariable <em>Local Variable</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/MatchImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/MatchImpl.java index 0562aad7..6d63483e 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/MatchImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/MatchImpl.java @@ -26,10 +26,10 @@ import org.eclipse.m2m.atl.emftvm.Opcode; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.MatchImpl#getRulename <em>Rulename</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/MatchSImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/MatchSImpl.java index d7385369..8d165794 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/MatchSImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/MatchSImpl.java @@ -22,8 +22,6 @@ import org.eclipse.m2m.atl.emftvm.Opcode; * An implementation of the model object '<em><b>Match s</b></em>'. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> * <!-- end-user-doc --> - * <p> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/MetamodelImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/MetamodelImpl.java index 680e44c9..a01d5827 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/MetamodelImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/MetamodelImpl.java @@ -36,8 +36,6 @@ import org.eclipse.m2m.atl.emftvm.util.EMFTVMUtil; * An implementation of the model object '<em><b>Metamodel</b></em>'. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> * <!-- end-user-doc --> - * <p> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/ModelDeclarationImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/ModelDeclarationImpl.java index ff0b80ba..dee08ad5 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/ModelDeclarationImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/ModelDeclarationImpl.java @@ -30,6 +30,7 @@ import org.eclipse.m2m.atl.emftvm.Module; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.ModelDeclarationImpl#getModelName <em>Model Name</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.ModelDeclarationImpl#getMetaModelName <em>Meta Model Name</em>}</li> @@ -37,7 +38,6 @@ import org.eclipse.m2m.atl.emftvm.Module; * <li>{@link org.eclipse.m2m.atl.emftvm.impl.ModelDeclarationImpl#getInoutModelFor <em>Inout Model For</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.ModelDeclarationImpl#getOutputModelFor <em>Output Model For</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/ModelImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/ModelImpl.java index a20ee741..00bfac49 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/ModelImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/ModelImpl.java @@ -38,11 +38,11 @@ import org.eclipse.m2m.atl.emftvm.util.ResourceIterable; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.ModelImpl#getResource <em>Resource</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.ModelImpl#isAllowInterModelReferences <em>Allow Inter Model References</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/ModuleImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/ModuleImpl.java index 78066781..a6b00b59 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/ModuleImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/ModuleImpl.java @@ -38,6 +38,7 @@ import org.eclipse.m2m.atl.emftvm.Rule; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.ModuleImpl#getSourceName <em>Source Name</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.ModuleImpl#getFeatures <em>Features</em>}</li> @@ -48,7 +49,6 @@ import org.eclipse.m2m.atl.emftvm.Rule; * <li>{@link org.eclipse.m2m.atl.emftvm.impl.ModuleImpl#getInoutModels <em>Inout Models</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.ModuleImpl#getOutputModels <em>Output Models</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/NamedElementImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/NamedElementImpl.java index a9b2c5f6..2fb02081 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/NamedElementImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/NamedElementImpl.java @@ -26,10 +26,10 @@ import org.eclipse.m2m.atl.emftvm.NamedElement; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.NamedElementImpl#getName <em>Name</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/NewImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/NewImpl.java index a0866faa..5a306018 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/NewImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/NewImpl.java @@ -26,10 +26,10 @@ import org.eclipse.m2m.atl.emftvm.Opcode; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.NewImpl#getModelname <em>Modelname</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/NewSImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/NewSImpl.java index 39cf40c8..217d7174 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/NewSImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/NewSImpl.java @@ -22,8 +22,6 @@ import org.eclipse.m2m.atl.emftvm.Opcode; * An implementation of the model object '<em><b>New s</b></em>'. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> * <!-- end-user-doc --> - * <p> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/NotImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/NotImpl.java index 72b266c6..47a092ae 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/NotImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/NotImpl.java @@ -22,8 +22,6 @@ import org.eclipse.m2m.atl.emftvm.Opcode; * An implementation of the model object '<em><b>Not</b></em>'. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> * <!-- end-user-doc --> - * <p> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/OperationImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/OperationImpl.java index aa070ae9..15d4e315 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/OperationImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/OperationImpl.java @@ -35,12 +35,12 @@ import org.eclipse.m2m.atl.emftvm.util.EMFTVMUtil; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.OperationImpl#getParameters <em>Parameters</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.OperationImpl#isQuery <em>Query</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.OperationImpl#getBody <em>Body</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/OrImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/OrImpl.java index 4bd968b0..ec5ba5cb 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/OrImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/OrImpl.java @@ -22,8 +22,6 @@ import org.eclipse.m2m.atl.emftvm.Or; * An implementation of the model object '<em><b>Or</b></em>'. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> * <!-- end-user-doc --> - * <p> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/OutputRuleElementImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/OutputRuleElementImpl.java index c65db145..706db739 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/OutputRuleElementImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/OutputRuleElementImpl.java @@ -34,11 +34,11 @@ import org.eclipse.m2m.atl.emftvm.Rule; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.OutputRuleElementImpl#getMapsTo <em>Maps To</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.OutputRuleElementImpl#getOutputFor <em>Output For</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/ParameterImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/ParameterImpl.java index 930d88bd..02e64c40 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/ParameterImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/ParameterImpl.java @@ -29,10 +29,10 @@ import org.eclipse.m2m.atl.emftvm.Parameter; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.ParameterImpl#getOperation <em>Operation</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/PopImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/PopImpl.java index 858945c3..f05d3e85 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/PopImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/PopImpl.java @@ -22,8 +22,6 @@ import org.eclipse.m2m.atl.emftvm.Pop; * An implementation of the model object '<em><b>Pop</b></em>'. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> * <!-- end-user-doc --> - * <p> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/PushImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/PushImpl.java index 162df6e1..fc2d1ad2 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/PushImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/PushImpl.java @@ -27,6 +27,7 @@ import org.eclipse.m2m.atl.emftvm.util.EnumLiteral; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.PushImpl#getValue <em>Value</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.PushImpl#getStringValue <em>String Value</em>}</li> @@ -39,7 +40,6 @@ import org.eclipse.m2m.atl.emftvm.util.EnumLiteral; * <li>{@link org.eclipse.m2m.atl.emftvm.impl.PushImpl#getLongValue <em>Long Value</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.PushImpl#getEnumValue <em>Enum Value</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/PushfImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/PushfImpl.java index 4b2838b2..18ae92a6 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/PushfImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/PushfImpl.java @@ -22,8 +22,6 @@ import org.eclipse.m2m.atl.emftvm.Pushf; * An implementation of the model object '<em><b>Pushf</b></em>'. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> * <!-- end-user-doc --> - * <p> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/PushtImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/PushtImpl.java index ee6d6d44..cf930161 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/PushtImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/PushtImpl.java @@ -22,8 +22,6 @@ import org.eclipse.m2m.atl.emftvm.Pusht; * An implementation of the model object '<em><b>Pusht</b></em>'. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> * <!-- end-user-doc --> - * <p> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/RemoveImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/RemoveImpl.java index 3995299e..85c1f8cf 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/RemoveImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/RemoveImpl.java @@ -22,8 +22,6 @@ import org.eclipse.m2m.atl.emftvm.Remove; * An implementation of the model object '<em><b>Remove</b></em>'. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> * <!-- end-user-doc --> - * <p> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/ReturnImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/ReturnImpl.java index 1de7673a..203220ab 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/ReturnImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/ReturnImpl.java @@ -22,8 +22,6 @@ import org.eclipse.m2m.atl.emftvm.Return; * An implementation of the model object '<em><b>Return</b></em>'. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> * <!-- end-user-doc --> - * <p> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/RuleElementImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/RuleElementImpl.java index 02afc685..f1ee792d 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/RuleElementImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/RuleElementImpl.java @@ -29,11 +29,11 @@ import org.eclipse.m2m.atl.emftvm.RuleElement; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.RuleElementImpl#getModels <em>Models</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.RuleElementImpl#getEModels <em>EModels</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/RuleImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/RuleImpl.java index 6f921d74..c69636ad 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/RuleImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/RuleImpl.java @@ -1,5 +1,6 @@ /******************************************************************************* * Copyright (c) 2011 Vrije Universiteit Brussel. + * Copyright (c) 2017-2018 Dennis Wagelaar. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -68,6 +69,7 @@ import org.eclipse.m2m.atl.emftvm.util.VMException; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.RuleImpl#getModule <em>Module</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.RuleImpl#getMode <em>Mode</em>}</li> @@ -87,7 +89,6 @@ import org.eclipse.m2m.atl.emftvm.util.VMException; * <li>{@link org.eclipse.m2m.atl.emftvm.impl.RuleImpl#isLeaf <em>Leaf</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.RuleImpl#isWithLeaves <em>With Leaves</em>}</li> * </ul> - * </p> * * @generated */ @@ -135,16 +136,60 @@ public class RuleImpl extends NamedElementImpl implements Rule { * @param values the source values to match against * @return <code>true</code> iff this rule matches against <code>values</code> */ - public abstract boolean matchFor(final StackFrame frame, final Map<String, Object> valuesMap, + public abstract boolean matchFor(final StackFrame frame, final Map<String, Object> valuesMap, final Object[] values); /** - * Matches - * @param frame - * @param values - * @return + * Returns the unique rule application trace for <code>values</code>, if applicable. + * @param frame the stack frame context + * @param values the source values for the trace + * @return the unique rule application trace, or <code>null</code> */ - public abstract Object matchManual(final StackFrame frame, final Object[] values); + public TraceLink getUniqueTrace(final StackFrame frame, final Object[] values) { + for (final Rule subRule : getESubRules()) { + final TraceLink subTraceLink = subRule.getUniqueTrace(frame, values); + if (subTraceLink != null) { + return subTraceLink; + } + } + return null; + } + + /** + * Applies {@link #getRule()} to <code>trace</code> + * + * @param frame + * the stack frame in which to execute the applier and post-apply + * @param trace + * the trace link with values to which to apply the rule + * @return the rule application result + */ + public Object applyOne(final StackFrame frame, final TraceLink trace) { + Object result = null; + for (final Rule rule : getAllESuperRules()) { + if (rule.getApplier() != null) { + result = rule.applyFor(frame, trace); + } else { + rule.applyFor(frame, trace); + } + if (rule.getPostApply() != null) { + result = rule.postApplyFor(frame, trace); + } else { + rule.postApplyFor(frame, trace); + } + } + if (getApplier() != null) { + result = applierCbState.applyFor(frame, trace); + } else { + applierCbState.applyFor(frame, trace); + } + if (getPostApply() != null) { + result = applierCbState.postApplyFor(frame, trace); + } else { + applierCbState.postApplyFor(frame, trace); + } + return result; + } } /** @@ -176,54 +221,6 @@ public class RuleImpl extends NamedElementImpl implements Rule { * {@inheritDoc} */ @Override - public Object matchManual(final StackFrame frame, final Object[] values) { - assert !isUnique(); - final Map<String, Object> valuesMap = createValuesMap(values); - if (matchOne(frame, valuesMap)) { - final Set<Rule> matchedRules = matchManualSubRules(RuleImpl.this, frame, valuesMap); - final int size = matchedRules.size(); - switch (size) { - case 0: - //TODO should not work for abstract rules - return applyOne(frame, createTrace(frame, valuesMap)); - case 1: - return matchedRules.iterator().next().applyOne(frame, createTrace(frame, valuesMap)); - default: - throw new VMException(frame, String.format("More than one matching sub-rule found for %s: %s", - RuleImpl.this, matchedRules)); - } - } else { - return null; - } - } - - /** - * TODO - * @param rule - * @param frame - * @param valuesMap - * @return - */ - private Set<Rule> matchManualSubRules(final Rule rule, final StackFrame frame, final Map<String, Object> valuesMap) { - final Set<Rule> matchedRules = new HashSet<Rule>(); - for (Rule subRule : rule.getESubRules()) { - if (subRule.matchOneOnly(frame, valuesMap)) { - Set<Rule> matchedSubRules = matchManualSubRules(subRule, frame, valuesMap); - if (!matchedSubRules.isEmpty()) { - matchedRules.addAll(matchedSubRules); - } else { - //TODO not for abstract rules - matchedRules.add(subRule); - } - } - } - return matchedRules; - } - - /** - * {@inheritDoc} - */ - @Override public boolean matchFor(final StackFrame frame, final Object[] values) { assert !isUnique(); return matcherCbState.matchFor(frame, values); @@ -233,7 +230,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { * {@inheritDoc} */ @Override - public boolean matchFor(final StackFrame frame, final Map<String, Object> valuesMap, + public boolean matchFor(final StackFrame frame, final Map<String, Object> valuesMap, final Object[] values) { assert !isUnique(); return matcherCbState.matchFor(frame, valuesMap, values); @@ -259,7 +256,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { } else { final SourceElementList sel = TraceFactory.eINSTANCE.createSourceElementList(); final EList<SourceElement> ses = sel.getSourceElements(); - for (InputRuleElement re : inputElements) { + for (final InputRuleElement re : inputElements) { ses.add(trace.getSourceElement(re.getName(), false)); } sel.setUniqueFor(tr); @@ -290,31 +287,6 @@ public class RuleImpl extends NamedElementImpl implements Rule { * {@inheritDoc} */ @Override - public Object matchManual(final StackFrame frame, final Object[] values) { - assert isUnique(); - final Map<TraceLink, Object> uniqueResults = frame.getEnv().getUniqueResults(); - // Reuse existing application result for unique rules - TraceLink trace = getUniqueTrace(frame, values); - if (trace != null) { - return uniqueResults.get(trace); - } - // Otherwise match as normal - final Map<String, Object> valuesMap = createValuesMap(values); - if (matchOne(frame, valuesMap)) { - trace = createTrace(frame, valuesMap); - final Object resultValue = applyTo(frame, trace); - // Store unique result for later retrieval - uniqueResults.put(trace, resultValue); - return resultValue; - } else { - return null; - } - } - - /** - * {@inheritDoc} - */ - @Override public boolean matchFor(final StackFrame frame, final Object[] values) { assert isUnique(); // Don't match if values have previously matched @@ -338,7 +310,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { * {@inheritDoc} */ @Override - public boolean matchFor(final StackFrame frame, final Map<String, Object> valuesMap, + public boolean matchFor(final StackFrame frame, final Map<String, Object> valuesMap, final Object[] values) { assert isUnique(); // Don't match if values have previously matched @@ -359,12 +331,10 @@ public class RuleImpl extends NamedElementImpl implements Rule { } /** - * Returns the unique rule application trace for <code>values</code>, if applicable. - * @param frame the stack frame context - * @param values the source values for the trace - * @return the unique rule application trace, or <code>null</code> + * {@inheritDoc} */ - private TraceLink getUniqueTrace(final StackFrame frame, final Object[] values) { + @Override + public TraceLink getUniqueTrace(final StackFrame frame, final Object[] values) { final TracedRule tr = frame.getEnv().getTraces().getLinksByRule(getName(), false); if (tr != null) { if (values.length == 1) { @@ -379,7 +349,18 @@ public class RuleImpl extends NamedElementImpl implements Rule { } } } - return null; + return super.getUniqueTrace(frame, values); + } + + /** + * {@inheritDoc} + */ + @Override + public Object applyOne(final StackFrame frame, final TraceLink trace) { + final Object resultValue = super.applyOne(frame, trace); + // Store unique result for later retrieval + frame.getEnv().getUniqueResults().put(trace, resultValue); + return resultValue; } } @@ -413,7 +394,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> */ protected class DefaultOffState extends DefaultState { - + /** * {@inheritDoc} */ @@ -430,13 +411,13 @@ public class RuleImpl extends NamedElementImpl implements Rule { return false; } } - + /** * {@link DefaultState} class for rules with {@link Rule#isDefault()} set to <code>true</code>. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> */ protected class DefaultOnState extends DefaultState { - + /** * {@inheritDoc} */ @@ -469,7 +450,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> */ protected abstract class SuperRulesState { - + /** * Matches {@link #getRule()}. * @param frame the stack frame in which to execute the matcher @@ -495,7 +476,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> */ protected class WithoutSuperRulesState extends SuperRulesState { - + /** * {@inheritDoc} */ @@ -523,7 +504,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { // Create value iterables and initial value array final EList<InputRuleElement> allInputs = getInputElements(); final List<Iterable<EObject>> iterables = new ArrayList<Iterable<EObject>>(allInputs.size()); - for (InputRuleElement re : allInputs) { + for (final InputRuleElement re : allInputs) { if (re.getBinding() != null) { // Skip bound elements until all non-bound values have been set iterables.add(null); @@ -535,33 +516,34 @@ public class RuleImpl extends NamedElementImpl implements Rule { iterableMap = null; } } - + /** * {@link SuperRulesState} class for rules with {@link Rule#getESuperRules()}. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> */ protected class WithSuperRulesState extends SuperRulesState { - + /** * {@inheritDoc} */ + @Override public boolean match(final StackFrame frame) { final EList<Rule> superRules = getESuperRules(); assert !superRules.isEmpty(); // Retrieve super-rule matches final List<TracedRule> superMatches = new ArrayList<TracedRule>(superRules.size()); final TraceLinkSet matches = frame.getEnv().getMatches(); - for (Rule superRule : superRules) { - TracedRule superMatch = matches.getLinksByRule(superRule.getName(), false); + for (final Rule superRule : superRules) { + final TracedRule superMatch = matches.getLinksByRule(superRule.getName(), false); assert superMatch != null; superMatches.add(superMatch); } // Do the matching - return matchFor(frame, - new LinkedHashMap<String, Object>(getInputElements().size()), - 0, - superMatches, - iterableMap, + return matchFor(frame, + new LinkedHashMap<String, Object>(getInputElements().size()), + 0, + superMatches, + iterableMap, new LinkedHashMap<TracedRule, TraceLink>(superRules.size())); } @@ -575,17 +557,17 @@ public class RuleImpl extends NamedElementImpl implements Rule { // Retrieve super-rule matches final List<TracedRule> superMatches = new ArrayList<TracedRule>(superRules.size()); final TraceLinkSet matches = frame.getEnv().getMatches(); - for (Rule superRule : superRules) { - TracedRule superMatch = matches.getLinksByRule(superRule.getName(), false); + for (final Rule superRule : superRules) { + final TracedRule superMatch = matches.getLinksByRule(superRule.getName(), false); assert superMatch != null; superMatches.add(superMatch); } // Do the matching - return matchOneFor(frame, - new LinkedHashMap<String, Object>(getInputElements().size()), - 0, - superMatches, - iterableMap, + return matchOneFor(frame, + new LinkedHashMap<String, Object>(getInputElements().size()), + 0, + superMatches, + iterableMap, new HashMap<TracedRule, TraceLink>(superRules.size())); } @@ -596,15 +578,15 @@ public class RuleImpl extends NamedElementImpl implements Rule { public void compileIterables(final ExecEnv env) { // Collect input element names for all super-rules final java.util.Set<String> superRuleElementNames = new HashSet<String>(); - for (Rule rule : getAllESuperRules()) { - for (RuleElement re : rule.getInputElements()) { + for (final Rule rule : getAllESuperRules()) { + for (final RuleElement re : rule.getInputElements()) { superRuleElementNames.add(re.getName()); } } // Create iterables for all new input elements final Map<String, Iterable<EObject>> iterables = new LinkedHashMap<String, Iterable<EObject>>(); - for (InputRuleElement re : getInputElements()) { - String name = re.getName(); + for (final InputRuleElement re : getInputElements()) { + final String name = re.getName(); if (!superRuleElementNames.contains(name) && re.getBinding() == null) { // Skip bound elements until all non-bound values have been set iterables.put(name, re.createIterable(env)); @@ -620,7 +602,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> */ protected abstract class RuleModeState { - + /** * Matches {@link #getRule()} for the automatic single stage, if applicable. * @param frame the stack frame in which to execute the matcher @@ -651,7 +633,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { throw new VMException(frame, String.format( "Rule %s is not a manual rule", this)); } - + /** * Matches this rule against <code>values</code>, * and records a match in {@link ExecEnv#getMatches()} in case of a match. @@ -673,7 +655,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { * @param values the source values to match against * @return <code>true</code> iff this rule matches against <code>values</code> */ - public abstract boolean matchFor(StackFrame frame, Map<String, Object> valuesMap, + public abstract boolean matchFor(StackFrame frame, Map<String, Object> valuesMap, Object[] values); } @@ -682,14 +664,63 @@ public class RuleImpl extends NamedElementImpl implements Rule { * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> */ protected class ManualState extends RuleModeState { - + /** * {@inheritDoc} */ @Override public Object matchManual(final StackFrame frame, final Object[] values) { assert getMode() == RuleMode.MANUAL; - return uniqueState.matchManual(frame, values); + // Reuse existing application result for unique rules + final TraceLink trace = getUniqueTrace(frame, values); + if (trace != null) { + return frame.getEnv().getUniqueResults().get(trace); + } + // Otherwise match as normal + final Map<String, Object> valuesMap = createValuesMap(values); + if (matchOne(frame, valuesMap)) { + final Set<Rule> matchedRules = matchManualSubRules(RuleImpl.this, frame, valuesMap); + switch (matchedRules.size()) { + case 0: + return isAbstract() ? null : applyOne(frame, valuesMap); + case 1: + final Rule subRule = matchedRules.iterator().next(); + assert !subRule.isAbstract(); + return subRule.applyOne(frame, valuesMap); + default: + throw new VMException(frame, String.format("More than one matching sub-rule found for %s: %s", + RuleImpl.this, matchedRules)); + } + } else { + return null; + } + } + + /** + * Matches the sub-rules of the given rule manually. + * + * @param rule + * the rule for which to match the sub-rules + * @param frame + * the stack frame context + * @param valuesMap + * the map of all values, including super-rule elements + * @return the matching (non-abstract) sub-rules + */ + protected Set<Rule> matchManualSubRules(final Rule rule, final StackFrame frame, + final Map<String, Object> valuesMap) { + final Set<Rule> matchedRules = new HashSet<Rule>(); + for (final Rule subRule : rule.getESubRules()) { + if (subRule.matchOneOnly(frame, valuesMap)) { + final Set<Rule> matchedSubRules = matchManualSubRules(subRule, frame, valuesMap); + if (!matchedSubRules.isEmpty()) { + matchedRules.addAll(matchedSubRules); + } else if (!subRule.isAbstract()) { + matchedRules.add(subRule); + } + } + } + return matchedRules; } /** @@ -698,7 +729,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { @Override public boolean matchFor(final StackFrame frame, final Object[] values) { assert getMode() == RuleMode.MANUAL; - throw new VMException(frame, + throw new VMException(frame, "matchFor(StackFrame, EObject[]) should not be used for manual rules"); } @@ -709,7 +740,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { public boolean matchFor(final StackFrame frame, final Map<String, Object> valuesMap, final Object[] values) { assert getMode() == RuleMode.MANUAL; - throw new VMException(frame, + throw new VMException(frame, "matchFor(StackFrame, Map<String, EObject>, EObject[]) should not be used for manual rules"); } } @@ -719,7 +750,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> */ protected class AutomaticSingleState extends RuleModeState { - + /** * {@inheritDoc} */ @@ -742,7 +773,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { * {@inheritDoc} */ @Override - public boolean matchFor(final StackFrame frame, final Map<String, Object> valuesMap, + public boolean matchFor(final StackFrame frame, final Map<String, Object> valuesMap, final Object[] values) { assert getMode() == RuleMode.AUTOMATIC_SINGLE; return matcherCbState.matchFor(frame, valuesMap, values); @@ -782,7 +813,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { assert getMode() == RuleMode.AUTOMATIC_RECURSIVE; return uniqueState.matchFor(frame, valuesMap, values); } - + } /** @@ -847,7 +878,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { final TraceLinkSet matches = env.getMatches(); matches.getRules().clear(); matches.getDefaultSourceElements().clear(); - for (Rule rule : getAllESuperRules()) { + for (final Rule rule : getAllESuperRules()) { rule.applyFor(frame, trace); rule.postApplyFor(frame, trace); } @@ -911,7 +942,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> */ protected abstract class AbstractState { - + /** * Creates trace elements for the recorded matches for this rule. * @param frame the stack frame context @@ -987,16 +1018,16 @@ public class RuleImpl extends NamedElementImpl implements Rule { final TraceLinkSet traces = env.getTraces(); traces.getRules().add(tr); // Remove overridden matches - for (Iterator<TraceLink> links = tr.getLinks().iterator(); links.hasNext();) { - TraceLink trace = links.next(); + for (final Iterator<TraceLink> links = tr.getLinks().iterator(); links.hasNext();) { + final TraceLink trace = links.next(); if (trace.isOverridden()) { links.remove(); // This match is overridden by a sub-rule } else { createAllUniqueMappings(trace); - boolean defaultMappingSet = completeTraceFor(frame, trace); + final boolean defaultMappingSet = completeTraceFor(frame, trace); // Mark default/unique source elements if applicable if (!defaultMappingSet) { - EList<SourceElement> ses = trace.getSourceElements(); + final EList<SourceElement> ses = trace.getSourceElements(); defaultState.createDefaultMapping(traces, ses); } } @@ -1013,9 +1044,9 @@ public class RuleImpl extends NamedElementImpl implements Rule { if (tr == null) { throw new VMException(frame, String.format("Cannot apply %s; no traces exist", RuleImpl.this)); } - for (TraceLink trace : tr.getLinks()) { + for (final TraceLink trace : tr.getLinks()) { assert !trace.isOverridden(); - for (Rule rule : getAllESuperRules()) { + for (final Rule rule : getAllESuperRules()) { rule.applyFor(frame, trace); } applierCbState.applyFor(frame, trace); @@ -1032,9 +1063,9 @@ public class RuleImpl extends NamedElementImpl implements Rule { if (tr == null) { throw new VMException(frame, String.format("Cannot post-apply %s; no traces exist", RuleImpl.this)); } - for (TraceLink trace : tr.getLinks()) { + for (final TraceLink trace : tr.getLinks()) { assert !trace.isOverridden(); - for (Rule rule : getAllESuperRules()) { + for (final Rule rule : getAllESuperRules()) { rule.postApplyFor(frame, trace); } applierCbState.postApplyFor(frame, trace); @@ -1060,8 +1091,8 @@ public class RuleImpl extends NamedElementImpl implements Rule { final TraceLink match = TraceFactory.eINSTANCE.createTraceLink(); final EList<SourceElement> ses = match.getSourceElements(); int i = 0; - for (InputRuleElement re : getInputElements()) { - SourceElement se = TraceFactory.eINSTANCE.createSourceElement(); + for (final InputRuleElement re : getInputElements()) { + final SourceElement se = TraceFactory.eINSTANCE.createSourceElement(); se.setName(re.getName()); se.setRuntimeObject(values[i++]); se.setMapsToSelf(re.isMapsToSelf()); @@ -1079,16 +1110,16 @@ public class RuleImpl extends NamedElementImpl implements Rule { * @param values the source values to match against * @return <code>true</code> iff this rule matches against <code>values</code> */ - public boolean matchFor(final StackFrame frame, final Map<String, Object> valuesMap, + public boolean matchFor(final StackFrame frame, final Map<String, Object> valuesMap, final Object[] values) { final TraceLink match = TraceFactory.eINSTANCE.createTraceLink(); final EList<SourceElement> ses = match.getSourceElements(); // Add all values for the match, not just the ones specified in the rule signature - for (Entry<String, Object> v : valuesMap.entrySet()) { - SourceElement se = TraceFactory.eINSTANCE.createSourceElement(); + for (final Entry<String, Object> v : valuesMap.entrySet()) { + final SourceElement se = TraceFactory.eINSTANCE.createSourceElement(); se.setName(v.getKey()); se.setRuntimeObject(v.getValue()); - InputRuleElement re = findInputElement(v.getKey()); + final InputRuleElement re = findInputElement(v.getKey()); se.setMapsToSelf(re == null ? false : re.isMapsToSelf()); ses.add(se); } @@ -1140,7 +1171,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { } /** - * Base class for code that depends on whether the rule has a + * Base class for code that depends on whether the rule has a * {@link Rule#getApplier()} code block and/or a {@link Rule#getPostApply()} code block. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> */ @@ -1148,7 +1179,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { /** * Applies this rule for the given <code>trace</code>. - * + * * @param frame * the stack frame context * @param trace @@ -1159,7 +1190,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { /** * Post-applies this rule for the given <code>trace</code>. - * + * * @param frame * the stack frame context * @param trace @@ -1541,7 +1572,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { */ protected boolean withLeaves = WITH_LEAVES_EDEFAULT; /** - * Field storage and lookup. + * Field storage and lookup. */ protected FieldContainer fieldContainer = new FieldContainer(); @@ -1690,7 +1721,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { * @generated */ public void setMode(RuleMode newMode) { - RuleMode oldMode = mode; + final RuleMode oldMode = mode; mode = newMode == null ? MODE_EDEFAULT : newMode; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, EmftvmPackage.RULE__MODE, oldMode, mode)); @@ -1765,10 +1796,10 @@ public class RuleImpl extends NamedElementImpl implements Rule { * @generated */ public NotificationChain basicSetMatcher(CodeBlock newMatcher, NotificationChain msgs) { - CodeBlock oldMatcher = matcher; + final CodeBlock oldMatcher = matcher; matcher = newMatcher; if (eNotificationRequired()) { - ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EmftvmPackage.RULE__MATCHER, oldMatcher, newMatcher); + final ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EmftvmPackage.RULE__MATCHER, oldMatcher, newMatcher); if (msgs == null) msgs = notification; else msgs.add(notification); } return msgs; @@ -1811,10 +1842,10 @@ public class RuleImpl extends NamedElementImpl implements Rule { * @generated */ public NotificationChain basicSetApplier(CodeBlock newApplier, NotificationChain msgs) { - CodeBlock oldApplier = applier; + final CodeBlock oldApplier = applier; applier = newApplier; if (eNotificationRequired()) { - ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EmftvmPackage.RULE__APPLIER, oldApplier, newApplier); + final ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EmftvmPackage.RULE__APPLIER, oldApplier, newApplier); if (msgs == null) msgs = notification; else msgs.add(notification); } return msgs; @@ -1857,10 +1888,10 @@ public class RuleImpl extends NamedElementImpl implements Rule { * @generated */ public NotificationChain basicSetPostApply(CodeBlock newPostApply, NotificationChain msgs) { - CodeBlock oldPostApply = postApply; + final CodeBlock oldPostApply = postApply; postApply = newPostApply; if (eNotificationRequired()) { - ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EmftvmPackage.RULE__POST_APPLY, oldPostApply, newPostApply); + final ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EmftvmPackage.RULE__POST_APPLY, oldPostApply, newPostApply); if (msgs == null) msgs = notification; else msgs.add(notification); } return msgs; @@ -1916,7 +1947,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { * @generated */ public void setAbstract(boolean newAbstract) { - boolean oldAbstract = abstract_; + final boolean oldAbstract = abstract_; abstract_ = newAbstract; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, EmftvmPackage.RULE__ABSTRACT, oldAbstract, abstract_)); @@ -1952,7 +1983,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { * @generated */ public void setDefault(boolean newDefault) { - boolean oldDefault = default_; + final boolean oldDefault = default_; default_ = newDefault; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, EmftvmPackage.RULE__DEFAULT, oldDefault, default_)); @@ -1975,7 +2006,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { * @generated */ public void setDistinctElements(boolean newDistinctElements) { - boolean oldDistinctElements = distinctElements; + final boolean oldDistinctElements = distinctElements; distinctElements = newDistinctElements; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, EmftvmPackage.RULE__DISTINCT_ELEMENTS, oldDistinctElements, distinctElements)); @@ -1998,7 +2029,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { * @generated */ public void setUnique(boolean newUnique) { - boolean oldUnique = unique; + final boolean oldUnique = unique; unique = newUnique; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, EmftvmPackage.RULE__UNIQUE, oldUnique, unique)); @@ -2027,7 +2058,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { public boolean isWithLeaves() { if (!withLeavesSet) { withLeaves = false; - for (Rule subRule : getESubRules()) { + for (final Rule subRule : getESubRules()) { if (subRule.isLeaf() || subRule.isWithLeaves()) { withLeaves = true; break; @@ -2122,7 +2153,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { * @generated NOT */ public boolean matchOne(final StackFrame frame, final Map<String, Object> valuesMap) { - for (Rule superRule : getESuperRules()) { + for (final Rule superRule : getESuperRules()) { if (!superRule.matchOne(frame, valuesMap)) { return false; } @@ -2144,14 +2175,14 @@ public class RuleImpl extends NamedElementImpl implements Rule { final EList<InputRuleElement> inputs = getInputElements(); for (int index = 0; index < inputs.size(); index++) { - InputRuleElement re = inputs.get(index); - Object value = valuesMap.get(re.getName()); + final InputRuleElement re = inputs.get(index); + final Object value = valuesMap.get(re.getName()); if (value == null) { throw new VMException(frame, String.format( - "Cannot match rule input element %s against null value for %s", + "Cannot match rule input element %s against null value for %s", re, this)); } - EClassifier eType = re.getEType(); + final EClassifier eType = re.getEType(); if (eType instanceof EEnum) { // Fix for Bug # 441027 if (!(value instanceof EnumLiteral)) { @@ -2160,7 +2191,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { } else if (!eType.isInstance(value)) { return false; } - EList<Model> inmodels = re.getEModels(); + final EList<Model> inmodels = re.getEModels(); if (!inmodels.isEmpty() && !(value instanceof EObject && inmodels.contains(env.getModelOf((EObject) value)))) { return false; } @@ -2169,7 +2200,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { } // Check bound values - CodeBlock binding = re.getBinding(); + final CodeBlock binding = re.getBinding(); if (binding != null) { final Object bvalue = binding.execute(frame.getSubFrame(binding, values)); if (bvalue == null) { @@ -2210,18 +2241,18 @@ public class RuleImpl extends NamedElementImpl implements Rule { boolean defaultMappingSet = false; final ExecEnv env = frame.getEnv(); final int seSize = trace.getSourceElements().size(); - for (OutputRuleElement ore : getOutputElements()) { - String oreName = ore.getName(); + for (final OutputRuleElement ore : getOutputElements()) { + final String oreName = ore.getName(); // If there is *any* target element with the same name, it overrides us if (trace.getTargetElement(oreName) != null) { continue; } - TargetElement te = TraceFactory.eINSTANCE.createTargetElement(); + final TargetElement te = TraceFactory.eINSTANCE.createTargetElement(); te.setName(oreName); te.setTargetOf(trace); - EList<SourceElement> teMapsTo = te.getMapsTo(); - for (InputRuleElement source : ore.getMapsTo()) { - SourceElement mapsTo = trace.getSourceElement(source.getName(), false); + final EList<SourceElement> teMapsTo = te.getMapsTo(); + for (final InputRuleElement source : ore.getMapsTo()) { + final SourceElement mapsTo = trace.getSourceElement(source.getName(), false); assert mapsTo != null; teMapsTo.add(mapsTo); } @@ -2232,17 +2263,17 @@ public class RuleImpl extends NamedElementImpl implements Rule { EClass type; try { type = (EClass)env.findType(ore.getTypeModel(), ore.getType()); - } catch (ClassNotFoundException e) { + } catch (final ClassNotFoundException e) { throw new VMException(frame); } - EList<Model> models = ore.getEModels(); + final EList<Model> models = ore.getEModels(); assert models.size() == 1; te.setObject(models.get(0).newElement(type)); assert te.getObject() != null; assert te.getObject().eResource() != null; assert te.getObject().eResource() == models.get(0).getResource(); } - for (Rule superRule : getESuperRules()) { + for (final Rule superRule : getESuperRules()) { defaultMappingSet |= superRule.completeTraceFor(frame, trace); } return defaultMappingSet; @@ -2284,31 +2315,8 @@ public class RuleImpl extends NamedElementImpl implements Rule { * <!-- end-user-doc --> * @generated NOT */ - public Object applyOne(final StackFrame frame, final TraceLink trace) { - Object result = null; - for (Rule rule : getAllESuperRules()) { - if (rule.getApplier() != null) { - result = rule.applyFor(frame, trace); - } else { - rule.applyFor(frame, trace); - } - if (rule.getPostApply() != null) { - result = rule.postApplyFor(frame, trace); - } else { - rule.postApplyFor(frame, trace); - } - } - if (getApplier() != null) { - result = applierCbState.applyFor(frame, trace); - } else { - applierCbState.applyFor(frame, trace); - } - if (getPostApply() != null) { - result = applierCbState.postApplyFor(frame, trace); - } else { - applierCbState.postApplyFor(frame, trace); - } - return result; + public Object applyOne(final StackFrame frame, Map<String, Object> valuesMap) { + return uniqueState.applyOne(frame, createTrace(frame, valuesMap)); } /** @@ -2341,7 +2349,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { if (allESuperRules == null) { final EList<Rule> eSuperRules = getESuperRules(); LazySet<Rule> superRules = new LazySet<Rule>(); - for (Rule rule : eSuperRules) { + for (final Rule rule : eSuperRules) { superRules = superRules.union(rule.getAllESuperRules()); } superRules = superRules.union(new LazySet<Rule>(eSuperRules)); @@ -2422,7 +2430,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { * @generated NOT */ public InputRuleElement findInputElement(final String name) { - for (InputRuleElement ire : getInputElements()) { + for (final InputRuleElement ire : getInputElements()) { if (name.equals(ire.getName())) { return ire; } @@ -2439,38 +2447,48 @@ public class RuleImpl extends NamedElementImpl implements Rule { * <!-- begin-user-doc. --> * {@inheritDoc} * <!-- end-user-doc --> + * @generated NOT + */ + public TraceLink getUniqueTrace(final StackFrame frame, final Object[] values) { + return uniqueState.getUniqueTrace(frame, values); + } + + /** + * <!-- begin-user-doc. --> + * {@inheritDoc} + * <!-- end-user-doc --> * @generated */ @SuppressWarnings("unchecked") @Override public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) { switch (featureID) { - case EmftvmPackage.RULE__MODULE: - if (eInternalContainer() != null) - msgs = eBasicRemoveFromContainer(msgs); - return basicSetModule((Module)otherEnd, msgs); - case EmftvmPackage.RULE__INPUT_ELEMENTS: - return ((InternalEList<InternalEObject>)(InternalEList<?>)getInputElements()).basicAdd(otherEnd, msgs); - case EmftvmPackage.RULE__OUTPUT_ELEMENTS: - return ((InternalEList<InternalEObject>)(InternalEList<?>)getOutputElements()).basicAdd(otherEnd, msgs); - case EmftvmPackage.RULE__ESUPER_RULES: - return ((InternalEList<InternalEObject>)(InternalEList<?>)getESuperRules()).basicAdd(otherEnd, msgs); - case EmftvmPackage.RULE__ESUB_RULES: - return ((InternalEList<InternalEObject>)(InternalEList<?>)getESubRules()).basicAdd(otherEnd, msgs); - case EmftvmPackage.RULE__MATCHER: - if (matcher != null) - msgs = ((InternalEObject)matcher).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EmftvmPackage.RULE__MATCHER, null, msgs); - return basicSetMatcher((CodeBlock)otherEnd, msgs); - case EmftvmPackage.RULE__APPLIER: - if (applier != null) - msgs = ((InternalEObject)applier).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EmftvmPackage.RULE__APPLIER, null, msgs); - return basicSetApplier((CodeBlock)otherEnd, msgs); - case EmftvmPackage.RULE__POST_APPLY: - if (postApply != null) - msgs = ((InternalEObject)postApply).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EmftvmPackage.RULE__POST_APPLY, null, msgs); - return basicSetPostApply((CodeBlock)otherEnd, msgs); - case EmftvmPackage.RULE__FIELDS: - return ((InternalEList<InternalEObject>)(InternalEList<?>)getFields()).basicAdd(otherEnd, msgs); + case EmftvmPackage.RULE__MODULE: + if (eInternalContainer() != null) + msgs = eBasicRemoveFromContainer(msgs); + return basicSetModule((Module)otherEnd, msgs); + case EmftvmPackage.RULE__INPUT_ELEMENTS: + return ((InternalEList<InternalEObject>)(InternalEList<?>)getInputElements()).basicAdd(otherEnd, msgs); + case EmftvmPackage.RULE__OUTPUT_ELEMENTS: + return ((InternalEList<InternalEObject>)(InternalEList<?>)getOutputElements()).basicAdd(otherEnd, msgs); + case EmftvmPackage.RULE__ESUPER_RULES: + return ((InternalEList<InternalEObject>)(InternalEList<?>)getESuperRules()).basicAdd(otherEnd, msgs); + case EmftvmPackage.RULE__ESUB_RULES: + return ((InternalEList<InternalEObject>)(InternalEList<?>)getESubRules()).basicAdd(otherEnd, msgs); + case EmftvmPackage.RULE__MATCHER: + if (matcher != null) + msgs = ((InternalEObject)matcher).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EmftvmPackage.RULE__MATCHER, null, msgs); + return basicSetMatcher((CodeBlock)otherEnd, msgs); + case EmftvmPackage.RULE__APPLIER: + if (applier != null) + msgs = ((InternalEObject)applier).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EmftvmPackage.RULE__APPLIER, null, msgs); + return basicSetApplier((CodeBlock)otherEnd, msgs); + case EmftvmPackage.RULE__POST_APPLY: + if (postApply != null) + msgs = ((InternalEObject)postApply).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EmftvmPackage.RULE__POST_APPLY, null, msgs); + return basicSetPostApply((CodeBlock)otherEnd, msgs); + case EmftvmPackage.RULE__FIELDS: + return ((InternalEList<InternalEObject>)(InternalEList<?>)getFields()).basicAdd(otherEnd, msgs); } return super.eInverseAdd(otherEnd, featureID, msgs); } @@ -2484,24 +2502,24 @@ public class RuleImpl extends NamedElementImpl implements Rule { @Override public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { switch (featureID) { - case EmftvmPackage.RULE__MODULE: - return basicSetModule(null, msgs); - case EmftvmPackage.RULE__INPUT_ELEMENTS: - return ((InternalEList<?>)getInputElements()).basicRemove(otherEnd, msgs); - case EmftvmPackage.RULE__OUTPUT_ELEMENTS: - return ((InternalEList<?>)getOutputElements()).basicRemove(otherEnd, msgs); - case EmftvmPackage.RULE__ESUPER_RULES: - return ((InternalEList<?>)getESuperRules()).basicRemove(otherEnd, msgs); - case EmftvmPackage.RULE__ESUB_RULES: - return ((InternalEList<?>)getESubRules()).basicRemove(otherEnd, msgs); - case EmftvmPackage.RULE__MATCHER: - return basicSetMatcher(null, msgs); - case EmftvmPackage.RULE__APPLIER: - return basicSetApplier(null, msgs); - case EmftvmPackage.RULE__POST_APPLY: - return basicSetPostApply(null, msgs); - case EmftvmPackage.RULE__FIELDS: - return ((InternalEList<?>)getFields()).basicRemove(otherEnd, msgs); + case EmftvmPackage.RULE__MODULE: + return basicSetModule(null, msgs); + case EmftvmPackage.RULE__INPUT_ELEMENTS: + return ((InternalEList<?>)getInputElements()).basicRemove(otherEnd, msgs); + case EmftvmPackage.RULE__OUTPUT_ELEMENTS: + return ((InternalEList<?>)getOutputElements()).basicRemove(otherEnd, msgs); + case EmftvmPackage.RULE__ESUPER_RULES: + return ((InternalEList<?>)getESuperRules()).basicRemove(otherEnd, msgs); + case EmftvmPackage.RULE__ESUB_RULES: + return ((InternalEList<?>)getESubRules()).basicRemove(otherEnd, msgs); + case EmftvmPackage.RULE__MATCHER: + return basicSetMatcher(null, msgs); + case EmftvmPackage.RULE__APPLIER: + return basicSetApplier(null, msgs); + case EmftvmPackage.RULE__POST_APPLY: + return basicSetPostApply(null, msgs); + case EmftvmPackage.RULE__FIELDS: + return ((InternalEList<?>)getFields()).basicRemove(otherEnd, msgs); } return super.eInverseRemove(otherEnd, featureID, msgs); } @@ -2515,8 +2533,8 @@ public class RuleImpl extends NamedElementImpl implements Rule { @Override public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) { switch (eContainerFeatureID()) { - case EmftvmPackage.RULE__MODULE: - return eInternalContainer().eInverseRemove(this, EmftvmPackage.MODULE__RULES, Module.class, msgs); + case EmftvmPackage.RULE__MODULE: + return eInternalContainer().eInverseRemove(this, EmftvmPackage.MODULE__RULES, Module.class, msgs); } return super.eBasicRemoveFromContainerFeature(msgs); } @@ -2530,40 +2548,40 @@ public class RuleImpl extends NamedElementImpl implements Rule { @Override public Object eGet(int featureID, boolean resolve, boolean coreType) { switch (featureID) { - case EmftvmPackage.RULE__MODULE: - return getModule(); - case EmftvmPackage.RULE__MODE: - return getMode(); - case EmftvmPackage.RULE__INPUT_ELEMENTS: - return getInputElements(); - case EmftvmPackage.RULE__OUTPUT_ELEMENTS: - return getOutputElements(); - case EmftvmPackage.RULE__ESUPER_RULES: - return getESuperRules(); - case EmftvmPackage.RULE__ESUB_RULES: - return getESubRules(); - case EmftvmPackage.RULE__MATCHER: - return getMatcher(); - case EmftvmPackage.RULE__APPLIER: - return getApplier(); - case EmftvmPackage.RULE__POST_APPLY: - return getPostApply(); - case EmftvmPackage.RULE__SUPER_RULES: - return getSuperRules(); - case EmftvmPackage.RULE__ABSTRACT: - return isAbstract(); - case EmftvmPackage.RULE__FIELDS: - return getFields(); - case EmftvmPackage.RULE__DEFAULT: - return isDefault(); - case EmftvmPackage.RULE__DISTINCT_ELEMENTS: - return isDistinctElements(); - case EmftvmPackage.RULE__UNIQUE: - return isUnique(); - case EmftvmPackage.RULE__LEAF: - return isLeaf(); - case EmftvmPackage.RULE__WITH_LEAVES: - return isWithLeaves(); + case EmftvmPackage.RULE__MODULE: + return getModule(); + case EmftvmPackage.RULE__MODE: + return getMode(); + case EmftvmPackage.RULE__INPUT_ELEMENTS: + return getInputElements(); + case EmftvmPackage.RULE__OUTPUT_ELEMENTS: + return getOutputElements(); + case EmftvmPackage.RULE__ESUPER_RULES: + return getESuperRules(); + case EmftvmPackage.RULE__ESUB_RULES: + return getESubRules(); + case EmftvmPackage.RULE__MATCHER: + return getMatcher(); + case EmftvmPackage.RULE__APPLIER: + return getApplier(); + case EmftvmPackage.RULE__POST_APPLY: + return getPostApply(); + case EmftvmPackage.RULE__SUPER_RULES: + return getSuperRules(); + case EmftvmPackage.RULE__ABSTRACT: + return isAbstract(); + case EmftvmPackage.RULE__FIELDS: + return getFields(); + case EmftvmPackage.RULE__DEFAULT: + return isDefault(); + case EmftvmPackage.RULE__DISTINCT_ELEMENTS: + return isDistinctElements(); + case EmftvmPackage.RULE__UNIQUE: + return isUnique(); + case EmftvmPackage.RULE__LEAF: + return isLeaf(); + case EmftvmPackage.RULE__WITH_LEAVES: + return isWithLeaves(); } return super.eGet(featureID, resolve, coreType); } @@ -2578,57 +2596,57 @@ public class RuleImpl extends NamedElementImpl implements Rule { @Override public void eSet(int featureID, Object newValue) { switch (featureID) { - case EmftvmPackage.RULE__MODULE: - setModule((Module)newValue); - return; - case EmftvmPackage.RULE__MODE: - setMode((RuleMode)newValue); - return; - case EmftvmPackage.RULE__INPUT_ELEMENTS: - getInputElements().clear(); - getInputElements().addAll((Collection<? extends InputRuleElement>)newValue); - return; - case EmftvmPackage.RULE__OUTPUT_ELEMENTS: - getOutputElements().clear(); - getOutputElements().addAll((Collection<? extends OutputRuleElement>)newValue); - return; - case EmftvmPackage.RULE__ESUPER_RULES: - getESuperRules().clear(); - getESuperRules().addAll((Collection<? extends Rule>)newValue); - return; - case EmftvmPackage.RULE__ESUB_RULES: - getESubRules().clear(); - getESubRules().addAll((Collection<? extends Rule>)newValue); - return; - case EmftvmPackage.RULE__MATCHER: - setMatcher((CodeBlock)newValue); - return; - case EmftvmPackage.RULE__APPLIER: - setApplier((CodeBlock)newValue); - return; - case EmftvmPackage.RULE__POST_APPLY: - setPostApply((CodeBlock)newValue); - return; - case EmftvmPackage.RULE__SUPER_RULES: - getSuperRules().clear(); - getSuperRules().addAll((Collection<? extends String>)newValue); - return; - case EmftvmPackage.RULE__ABSTRACT: - setAbstract((Boolean)newValue); - return; - case EmftvmPackage.RULE__FIELDS: - getFields().clear(); - getFields().addAll((Collection<? extends Field>)newValue); - return; - case EmftvmPackage.RULE__DEFAULT: - setDefault((Boolean)newValue); - return; - case EmftvmPackage.RULE__DISTINCT_ELEMENTS: - setDistinctElements((Boolean)newValue); - return; - case EmftvmPackage.RULE__UNIQUE: - setUnique((Boolean)newValue); - return; + case EmftvmPackage.RULE__MODULE: + setModule((Module)newValue); + return; + case EmftvmPackage.RULE__MODE: + setMode((RuleMode)newValue); + return; + case EmftvmPackage.RULE__INPUT_ELEMENTS: + getInputElements().clear(); + getInputElements().addAll((Collection<? extends InputRuleElement>)newValue); + return; + case EmftvmPackage.RULE__OUTPUT_ELEMENTS: + getOutputElements().clear(); + getOutputElements().addAll((Collection<? extends OutputRuleElement>)newValue); + return; + case EmftvmPackage.RULE__ESUPER_RULES: + getESuperRules().clear(); + getESuperRules().addAll((Collection<? extends Rule>)newValue); + return; + case EmftvmPackage.RULE__ESUB_RULES: + getESubRules().clear(); + getESubRules().addAll((Collection<? extends Rule>)newValue); + return; + case EmftvmPackage.RULE__MATCHER: + setMatcher((CodeBlock)newValue); + return; + case EmftvmPackage.RULE__APPLIER: + setApplier((CodeBlock)newValue); + return; + case EmftvmPackage.RULE__POST_APPLY: + setPostApply((CodeBlock)newValue); + return; + case EmftvmPackage.RULE__SUPER_RULES: + getSuperRules().clear(); + getSuperRules().addAll((Collection<? extends String>)newValue); + return; + case EmftvmPackage.RULE__ABSTRACT: + setAbstract((Boolean)newValue); + return; + case EmftvmPackage.RULE__FIELDS: + getFields().clear(); + getFields().addAll((Collection<? extends Field>)newValue); + return; + case EmftvmPackage.RULE__DEFAULT: + setDefault((Boolean)newValue); + return; + case EmftvmPackage.RULE__DISTINCT_ELEMENTS: + setDistinctElements((Boolean)newValue); + return; + case EmftvmPackage.RULE__UNIQUE: + setUnique((Boolean)newValue); + return; } super.eSet(featureID, newValue); } @@ -2642,51 +2660,51 @@ public class RuleImpl extends NamedElementImpl implements Rule { @Override public void eUnset(int featureID) { switch (featureID) { - case EmftvmPackage.RULE__MODULE: - setModule((Module)null); - return; - case EmftvmPackage.RULE__MODE: - setMode(MODE_EDEFAULT); - return; - case EmftvmPackage.RULE__INPUT_ELEMENTS: - getInputElements().clear(); - return; - case EmftvmPackage.RULE__OUTPUT_ELEMENTS: - getOutputElements().clear(); - return; - case EmftvmPackage.RULE__ESUPER_RULES: - getESuperRules().clear(); - return; - case EmftvmPackage.RULE__ESUB_RULES: - getESubRules().clear(); - return; - case EmftvmPackage.RULE__MATCHER: - setMatcher((CodeBlock)null); - return; - case EmftvmPackage.RULE__APPLIER: - setApplier((CodeBlock)null); - return; - case EmftvmPackage.RULE__POST_APPLY: - setPostApply((CodeBlock)null); - return; - case EmftvmPackage.RULE__SUPER_RULES: - getSuperRules().clear(); - return; - case EmftvmPackage.RULE__ABSTRACT: - setAbstract(ABSTRACT_EDEFAULT); - return; - case EmftvmPackage.RULE__FIELDS: - getFields().clear(); - return; - case EmftvmPackage.RULE__DEFAULT: - setDefault(DEFAULT_EDEFAULT); - return; - case EmftvmPackage.RULE__DISTINCT_ELEMENTS: - setDistinctElements(DISTINCT_ELEMENTS_EDEFAULT); - return; - case EmftvmPackage.RULE__UNIQUE: - setUnique(UNIQUE_EDEFAULT); - return; + case EmftvmPackage.RULE__MODULE: + setModule((Module)null); + return; + case EmftvmPackage.RULE__MODE: + setMode(MODE_EDEFAULT); + return; + case EmftvmPackage.RULE__INPUT_ELEMENTS: + getInputElements().clear(); + return; + case EmftvmPackage.RULE__OUTPUT_ELEMENTS: + getOutputElements().clear(); + return; + case EmftvmPackage.RULE__ESUPER_RULES: + getESuperRules().clear(); + return; + case EmftvmPackage.RULE__ESUB_RULES: + getESubRules().clear(); + return; + case EmftvmPackage.RULE__MATCHER: + setMatcher((CodeBlock)null); + return; + case EmftvmPackage.RULE__APPLIER: + setApplier((CodeBlock)null); + return; + case EmftvmPackage.RULE__POST_APPLY: + setPostApply((CodeBlock)null); + return; + case EmftvmPackage.RULE__SUPER_RULES: + getSuperRules().clear(); + return; + case EmftvmPackage.RULE__ABSTRACT: + setAbstract(ABSTRACT_EDEFAULT); + return; + case EmftvmPackage.RULE__FIELDS: + getFields().clear(); + return; + case EmftvmPackage.RULE__DEFAULT: + setDefault(DEFAULT_EDEFAULT); + return; + case EmftvmPackage.RULE__DISTINCT_ELEMENTS: + setDistinctElements(DISTINCT_ELEMENTS_EDEFAULT); + return; + case EmftvmPackage.RULE__UNIQUE: + setUnique(UNIQUE_EDEFAULT); + return; } super.eUnset(featureID); } @@ -2700,40 +2718,40 @@ public class RuleImpl extends NamedElementImpl implements Rule { @Override public boolean eIsSet(int featureID) { switch (featureID) { - case EmftvmPackage.RULE__MODULE: - return getModule() != null; - case EmftvmPackage.RULE__MODE: - return mode != MODE_EDEFAULT; - case EmftvmPackage.RULE__INPUT_ELEMENTS: - return inputElements != null && !inputElements.isEmpty(); - case EmftvmPackage.RULE__OUTPUT_ELEMENTS: - return outputElements != null && !outputElements.isEmpty(); - case EmftvmPackage.RULE__ESUPER_RULES: - return eSuperRules != null && !eSuperRules.isEmpty(); - case EmftvmPackage.RULE__ESUB_RULES: - return eSubRules != null && !eSubRules.isEmpty(); - case EmftvmPackage.RULE__MATCHER: - return matcher != null; - case EmftvmPackage.RULE__APPLIER: - return applier != null; - case EmftvmPackage.RULE__POST_APPLY: - return postApply != null; - case EmftvmPackage.RULE__SUPER_RULES: - return superRules != null && !superRules.isEmpty(); - case EmftvmPackage.RULE__ABSTRACT: - return abstract_ != ABSTRACT_EDEFAULT; - case EmftvmPackage.RULE__FIELDS: - return fields != null && !fields.isEmpty(); - case EmftvmPackage.RULE__DEFAULT: - return default_ != DEFAULT_EDEFAULT; - case EmftvmPackage.RULE__DISTINCT_ELEMENTS: - return distinctElements != DISTINCT_ELEMENTS_EDEFAULT; - case EmftvmPackage.RULE__UNIQUE: - return unique != UNIQUE_EDEFAULT; - case EmftvmPackage.RULE__LEAF: - return leaf != LEAF_EDEFAULT; - case EmftvmPackage.RULE__WITH_LEAVES: - return withLeaves != WITH_LEAVES_EDEFAULT; + case EmftvmPackage.RULE__MODULE: + return getModule() != null; + case EmftvmPackage.RULE__MODE: + return mode != MODE_EDEFAULT; + case EmftvmPackage.RULE__INPUT_ELEMENTS: + return inputElements != null && !inputElements.isEmpty(); + case EmftvmPackage.RULE__OUTPUT_ELEMENTS: + return outputElements != null && !outputElements.isEmpty(); + case EmftvmPackage.RULE__ESUPER_RULES: + return eSuperRules != null && !eSuperRules.isEmpty(); + case EmftvmPackage.RULE__ESUB_RULES: + return eSubRules != null && !eSubRules.isEmpty(); + case EmftvmPackage.RULE__MATCHER: + return matcher != null; + case EmftvmPackage.RULE__APPLIER: + return applier != null; + case EmftvmPackage.RULE__POST_APPLY: + return postApply != null; + case EmftvmPackage.RULE__SUPER_RULES: + return superRules != null && !superRules.isEmpty(); + case EmftvmPackage.RULE__ABSTRACT: + return abstract_ != ABSTRACT_EDEFAULT; + case EmftvmPackage.RULE__FIELDS: + return fields != null && !fields.isEmpty(); + case EmftvmPackage.RULE__DEFAULT: + return default_ != DEFAULT_EDEFAULT; + case EmftvmPackage.RULE__DISTINCT_ELEMENTS: + return distinctElements != DISTINCT_ELEMENTS_EDEFAULT; + case EmftvmPackage.RULE__UNIQUE: + return unique != UNIQUE_EDEFAULT; + case EmftvmPackage.RULE__LEAF: + return leaf != LEAF_EDEFAULT; + case EmftvmPackage.RULE__WITH_LEAVES: + return withLeaves != WITH_LEAVES_EDEFAULT; } return super.eIsSet(featureID); } @@ -2747,7 +2765,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { public String toString() { if (eIsProxy()) return super.toString(); - StringBuffer result = new StringBuffer(); + final StringBuffer result = new StringBuffer(); if (abstract_) { result.append("abstract "); } @@ -2926,7 +2944,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { * @return <code>true</code> iff the rule matches */ private boolean matchFor( - final StackFrame frame, + final StackFrame frame, final Map<String, Object> values, final int index, final List<TracedRule> superMatches, final Map<String, Iterable<EObject>> iterables, @@ -2934,43 +2952,43 @@ public class RuleImpl extends NamedElementImpl implements Rule { boolean result = false; final int superSize = superMatches.size(); if (index < superSize) { - // create copy to distinguish pre-existing source elements from the ones added here + // create copy to distinguish pre-existing source elements from the ones added here final Map<String, Object> newValues = new LinkedHashMap<String, Object>(values); final TracedRule tr = superMatches.get(index); MATCH: - for (TraceLink match : tr.getLinks()) { - for (SourceElement se : match.getSourceElements()) { - String seName = se.getName(); - EObject seValue = se.getObject(); - if (values.containsKey(seName)) { - if (values.get(seName) != seValue) { - continue MATCH; // go to next match, as elements of the same name must be identical + for (final TraceLink match : tr.getLinks()) { + for (final SourceElement se : match.getSourceElements()) { + final String seName = se.getName(); + final EObject seValue = se.getObject(); + if (values.containsKey(seName)) { + if (values.get(seName) != seValue) { + continue MATCH; // go to next match, as elements of the same name must be identical + } + } else if (isDistinctElements() && values.containsValue(seValue)) { + continue MATCH; // all elements in this rule are distinct + } else { + newValues.put(seName, seValue); } - } else if (isDistinctElements() && values.containsValue(seValue)) { - continue MATCH; // all elements in this rule are distinct - } else { - newValues.put(seName, seValue); } - } - for (RuleElement re : getInputElements()) { - String reName = re.getName(); - // Not all rule input elements exist in newValues! - if (newValues.containsKey(reName) - && !re.getEType().isInstance(newValues.get(reName))) { - // go to next match, as elements must conform to sub-rule type - continue MATCH; + for (final RuleElement re : getInputElements()) { + final String reName = re.getName(); + // Not all rule input elements exist in newValues! + if (newValues.containsKey(reName) + && !re.getEType().isInstance(newValues.get(reName))) { + // go to next match, as elements must conform to sub-rule type + continue MATCH; + } } + currentMatches.put(tr, match); + result |= matchFor(frame, newValues, index + 1, superMatches, iterables, currentMatches); } - currentMatches.put(tr, match); - result |= matchFor(frame, newValues, index + 1, superMatches, iterables, currentMatches); - } } else if (!iterables.isEmpty()) { result = matchFor(frame, values, iterables, new ArrayList<String>(iterables.keySet()), 0); } else { result = matchFor(frame, values, createValuesArray(values), 0); if (result) { // Schedule selected parent matches for removal - for (TraceLink link : currentMatches.values()) { + for (final TraceLink link : currentMatches.values()) { link.setOverridden(true); } } @@ -2988,7 +3006,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { * @return <code>true</code> iff the rule matches */ private boolean matchFor( - final StackFrame frame, + final StackFrame frame, final Map<String, Object> values, final Map<String, Iterable<EObject>> iterables, final List<String> keys, @@ -2998,7 +3016,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { boolean result = false; final String key = keys.get(keyIndex); assert !values.containsKey(key); - for (EObject o : iterables.get(key)) { + for (final EObject o : iterables.get(key)) { assert frame.getEnv().getModelOf(o) != null; if (isDistinctElements() && values.containsValue(o)) { continue; // all elements in this rule are distinct @@ -3032,8 +3050,8 @@ public class RuleImpl extends NamedElementImpl implements Rule { if (newIndex < values.length) { boolean result = false; - - for (EObject o : iterables.get(newIndex)) { + + for (final EObject o : iterables.get(newIndex)) { assert frame.getEnv().getModelOf(o) != null; if (!distinctState.checkDistinct(values, newIndex, o)) { continue; // all elements in this rule are distinct @@ -3042,7 +3060,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { result |= matchFor(frame, values, newIndex + 1, iterables); values[newIndex] = null; } - + return result; } else { return matchFor(frame, values, 0); @@ -3082,7 +3100,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { } } else if (value instanceof Collection<?>) { boolean result = false; - for (EObject v : (Collection<EObject>)value) { + for (final EObject v : (Collection<EObject>)value) { if (!ire.getEType().isInstance(v) || !distinctState.checkDistinct(values, values.length - 1, v)) { continue; // all elements in this rule are distinct } @@ -3095,7 +3113,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { if (!ire.getEType().isInstance(value) || !distinctState.checkDistinct(values, values.length - 1, value)) { return false; // all elements in this rule are distinct } - values[index] = (EObject)value; + values[index] = value; final boolean result = matchFor(frame, values, index + 1); values[index] = null; return result; @@ -3118,7 +3136,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { * @return <code>true</code> iff <code>rule</code> matches against <code>values</code> */ @SuppressWarnings("unchecked") - private boolean matchFor(final StackFrame frame, final Map<String, Object> valuesMap, + private boolean matchFor(final StackFrame frame, final Map<String, Object> valuesMap, final Object[] values, final int index) { // Assign bound input element values final EList<InputRuleElement> inputs = getInputElements(); @@ -3144,8 +3162,8 @@ public class RuleImpl extends NamedElementImpl implements Rule { } else if (value instanceof Collection<?>) { final String key = ire.getName(); boolean result = false; - for (EObject v : (Collection<EObject>)value) { - if (!ire.getEType().isInstance(v) || + for (final EObject v : (Collection<EObject>)value) { + if (!ire.getEType().isInstance(v) || (isDistinctElements() && valuesMap.containsValue(v))) { continue; // all elements in this rule are distinct } @@ -3157,13 +3175,13 @@ public class RuleImpl extends NamedElementImpl implements Rule { } return result; } else { - if (!ire.getEType().isInstance(value) || + if (!ire.getEType().isInstance(value) || (isDistinctElements() && valuesMap.containsValue(value))) { return false; // all elements in this rule are distinct } final String key = ire.getName(); - values[index] = (EObject)value; - valuesMap.put(key, (EObject)value); + values[index] = value; + valuesMap.put(key, value); final boolean result = matchFor(frame, valuesMap, values, index + 1); valuesMap.remove(key); values[index] = null; @@ -3188,45 +3206,45 @@ public class RuleImpl extends NamedElementImpl implements Rule { * @return <code>true</code> iff the rule matches */ private boolean matchOneFor( - final StackFrame frame, + final StackFrame frame, final Map<String, Object> values, final int index, final List<TracedRule> superMatches, final Map<String, Iterable<EObject>> iterables, final Map<TracedRule, TraceLink> currentMatches) { final int superSize = superMatches.size(); if (index < superSize) { - // create copy to distinguish pre-existing source elements from the ones added here + // create copy to distinguish pre-existing source elements from the ones added here final Map<String, Object> newValues = new LinkedHashMap<String, Object>(values); final TracedRule tr = superMatches.get(index); MATCH: - for (TraceLink match : tr.getLinks()) { - for (SourceElement se : match.getSourceElements()) { - String seName = se.getName(); - EObject seValue = se.getObject(); - if (values.containsKey(seName)) { - if (values.get(seName) != seValue) { - continue MATCH; // go to next match, as elements of the same name must be identical + for (final TraceLink match : tr.getLinks()) { + for (final SourceElement se : match.getSourceElements()) { + final String seName = se.getName(); + final EObject seValue = se.getObject(); + if (values.containsKey(seName)) { + if (values.get(seName) != seValue) { + continue MATCH; // go to next match, as elements of the same name must be identical + } + } else if (isDistinctElements() && values.containsValue(seValue)) { + continue MATCH; // all elements in this rule are distinct + } else { + newValues.put(seName, seValue); } - } else if (isDistinctElements() && values.containsValue(seValue)) { - continue MATCH; // all elements in this rule are distinct - } else { - newValues.put(seName, seValue); } - } - for (RuleElement re : getInputElements()) { - String reName = re.getName(); - // Not all rule input elements exist in newValues! - if (newValues.containsKey(reName) - && !re.getEType().isInstance(newValues.get(reName))) { - // go to next match, as elements must conform to sub-rule type - continue MATCH; + for (final RuleElement re : getInputElements()) { + final String reName = re.getName(); + // Not all rule input elements exist in newValues! + if (newValues.containsKey(reName) + && !re.getEType().isInstance(newValues.get(reName))) { + // go to next match, as elements must conform to sub-rule type + continue MATCH; + } + } + currentMatches.put(tr, match); + if (matchOneFor(frame, newValues, index + 1, superMatches, iterables, currentMatches)) { + return true; } } - currentMatches.put(tr, match); - if (matchOneFor(frame, newValues, index + 1, superMatches, iterables, currentMatches)) { - return true; - } - } return false; } else if (!iterables.isEmpty()) { return matchOneFor(frame, values, iterables, new ArrayList<String>(iterables.keySet()), 0); @@ -3235,7 +3253,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { result = matchOneFor(frame, values, createValuesArray(values), 0); if (result) { // Schedule selected parent matches for removal - for (TraceLink link : currentMatches.values()) { + for (final TraceLink link : currentMatches.values()) { link.setOverridden(true); } } @@ -3251,7 +3269,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { * @param keyIndex */ private boolean matchOneFor( - final StackFrame frame, + final StackFrame frame, final Map<String, Object> values, final Map<String, Iterable<EObject>> iterables, final List<String> keys, @@ -3260,7 +3278,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { if (keyIndex < size) { final String key = keys.get(keyIndex); assert !values.containsKey(key); - for (EObject o : iterables.get(key)) { + for (final EObject o : iterables.get(key)) { assert frame.getEnv().getModelOf(o) != null; if (isDistinctElements() && values.containsValue(o)) { continue; // all elements in this rule are distinct @@ -3286,7 +3304,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { * @param index the current index of <code>values</code> and <code>iterables</code> * @param iterables the collections over which to iterate */ - private boolean matchOneFor(final StackFrame frame, final EObject[] values, final int index, + private boolean matchOneFor(final StackFrame frame, final EObject[] values, final int index, final List<Iterable<EObject>> iterables) { assert values.length == iterables.size(); int newIndex = index; @@ -3295,7 +3313,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { } if (newIndex < values.length) { - for (EObject o : iterables.get(newIndex)) { + for (final EObject o : iterables.get(newIndex)) { assert frame.getEnv().getModelOf(o) != null; if (!distinctState.checkDistinct(values, newIndex, o)) { continue; @@ -3344,7 +3362,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { } } } else if (value instanceof Collection<?>) { - for (EObject v : (Collection<EObject>)value) { + for (final EObject v : (Collection<EObject>)value) { if (!ire.getEType().isInstance(v) || !distinctState.checkDistinct(values, values.length - 1, v)) { continue; // all elements in this rule are distinct } @@ -3382,7 +3400,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { * @return <code>true</code> iff <code>rule</code> matches against <code>values</code> */ @SuppressWarnings("unchecked") - private boolean matchOneFor(final StackFrame frame, final Map<String, Object> valuesMap, + private boolean matchOneFor(final StackFrame frame, final Map<String, Object> valuesMap, final Object[] values, final int index) { // Assign bound input element values final EList<InputRuleElement> inputs = getInputElements(); @@ -3407,8 +3425,8 @@ public class RuleImpl extends NamedElementImpl implements Rule { } } else if (value instanceof Collection<?>) { final String key = ire.getName(); - for (EObject v : (Collection<EObject>)value) { - if (!ire.getEType().isInstance(v) || + for (final EObject v : (Collection<EObject>)value) { + if (!ire.getEType().isInstance(v) || (isDistinctElements() && valuesMap.containsValue(v))) { continue; // all elements in this rule are distinct } @@ -3423,13 +3441,13 @@ public class RuleImpl extends NamedElementImpl implements Rule { } return false; } else { - if (!ire.getEType().isInstance(value) || + if (!ire.getEType().isInstance(value) || (isDistinctElements() && valuesMap.containsValue(value))) { return false; // all elements in this rule are distinct } final String key = ire.getName(); - values[index] = (EObject)value; - valuesMap.put(key, (EObject)value); + values[index] = value; + valuesMap.put(key, value); final boolean result = matchOneFor(frame, valuesMap, values, index + 1); valuesMap.remove(key); values[index] = null; @@ -3438,7 +3456,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { } return matchOneFor(frame, valuesMap, values, index + 1); } - + // Match values return uniqueState.matchFor(frame, valuesMap, values); } @@ -3452,7 +3470,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { final EList<InputRuleElement> allInput = getInputElements(); final Object[] valuesArray = new Object[allInput.size()]; int i = 0; - for (InputRuleElement re : allInput) { + for (final InputRuleElement re : allInput) { valuesArray[i++] = values.get(re.getName()); // null values allowed, as long as they are later filled in by bound elements assert getMode() == RuleMode.MANUAL || re.getBinding() != null || valuesArray[i - 1] != null; @@ -3471,7 +3489,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { final Map<String, Object> valuesMap = new LinkedHashMap<String, Object>(allInput.size()); assert allInput.size() == values.length; int i = 0; - for (RuleElement re : allInput) { + for (final RuleElement re : allInput) { valuesMap.put(re.getName(), values[i++]); assert getMode() == RuleMode.MANUAL || values[i - 1] != null; } @@ -3493,8 +3511,8 @@ public class RuleImpl extends NamedElementImpl implements Rule { tr.getLinks().add(trace); final EList<SourceElement> ses = trace.getSourceElements(); //Add all values for the trace, not just the ones specified in the rule signature - for (Entry<String, Object> v : values.entrySet()) { - SourceElement se = TraceFactory.eINSTANCE.createSourceElement(); + for (final Entry<String, Object> v : values.entrySet()) { + final SourceElement se = TraceFactory.eINSTANCE.createSourceElement(); se.setName(v.getKey()); se.setRuntimeObject(v.getValue()); ses.add(se); @@ -3524,8 +3542,8 @@ public class RuleImpl extends NamedElementImpl implements Rule { "Cannot create a trace for rule %s; no matches exist", this)); } - for (Iterator<TraceLink> links = tr.getLinks().iterator(); links.hasNext();) { - TraceLink trace = links.next(); + for (final Iterator<TraceLink> links = tr.getLinks().iterator(); links.hasNext();) { + final TraceLink trace = links.next(); if (trace.isOverridden()) { links.remove(); // This match is overridden by a sub-rule continue; @@ -3534,7 +3552,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { final TracedRule ntr = traces.getLinksByRule(ruleName, true); ntr.getLinks().add(trace); uniqueState.createUniqueMapping(trace); - for (Rule rule : getAllESuperRules()) { + for (final Rule rule : getAllESuperRules()) { rule.createUniqueMapping(trace); } final boolean defaultMappingSet = completeTraceFor(frame, trace); @@ -3549,39 +3567,6 @@ public class RuleImpl extends NamedElementImpl implements Rule { } /** - * Applies {@link #getRule()} to <code>trace</code> - * @param frame the stack frame in which to execute the applier and post-apply - * @param trace the source and target values to which to apply the rule - * @return the rule application result - */ - private Object applyTo(final StackFrame frame, final TraceLink trace) { - Object result = null; - for (Rule rule : getAllESuperRules()) { - if (rule.getApplier() != null) { - result = rule.applyFor(frame, trace); - } else { - rule.applyFor(frame, trace); - } - if (rule.getPostApply() != null) { - result = rule.postApplyFor(frame, trace); - } else { - rule.postApplyFor(frame, trace); - } - } - if (getApplier() != null) { - result = applierCbState.applyFor(frame, trace); - } else { - applierCbState.applyFor(frame, trace); - } - if (getPostApply() != null) { - result = applierCbState.postApplyFor(frame, trace); - } else { - applierCbState.postApplyFor(frame, trace); - } - return result; - } - - /** * Creates applier invocation arguments for this rule from <code>trace</code>. * @param trace the trace element with source and target values * @return applier invocation arguments for <code>rule</code> @@ -3592,11 +3577,11 @@ public class RuleImpl extends NamedElementImpl implements Rule { final Object[] args = new Object[1 + input.size() + output.size()]; args[0] = trace; int i = 1; - for (InputRuleElement ire : input) { + for (final InputRuleElement ire : input) { args[i++] = trace.getSourceElement(ire.getName(), false).getRuntimeObject(); assert args[i - 1] != null; } - for (OutputRuleElement ore : output) { + for (final OutputRuleElement ore : output) { args[i++] = trace.getTargetElement(ore.getName()).getObject(); assert args[i - 1] != null; } @@ -3610,7 +3595,7 @@ public class RuleImpl extends NamedElementImpl implements Rule { * @param trace the trace element with source values */ private void createAllUniqueMappings(final TraceLink trace) { - for (Rule rule : getAllESuperRules()) { + for (final Rule rule : getAllESuperRules()) { rule.createUniqueMapping(trace); } uniqueState.createUniqueMapping(trace); diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/SetImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/SetImpl.java index 8b9402fc..52a40d7d 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/SetImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/SetImpl.java @@ -22,8 +22,6 @@ import org.eclipse.m2m.atl.emftvm.Set; * An implementation of the model object '<em><b>Set</b></em>'. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> * <!-- end-user-doc --> - * <p> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/SetStaticImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/SetStaticImpl.java index 36324959..90edab13 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/SetStaticImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/SetStaticImpl.java @@ -22,8 +22,6 @@ import org.eclipse.m2m.atl.emftvm.SetStatic; * An implementation of the model object '<em><b>Set static</b></em>'. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> * <!-- end-user-doc --> - * <p> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/StoreImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/StoreImpl.java index c1875ce8..d642db01 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/StoreImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/StoreImpl.java @@ -22,8 +22,6 @@ import org.eclipse.m2m.atl.emftvm.Store; * An implementation of the model object '<em><b>Store</b></em>'. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> * <!-- end-user-doc --> - * <p> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/SwapImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/SwapImpl.java index 25124427..27f426f2 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/SwapImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/SwapImpl.java @@ -22,8 +22,6 @@ import org.eclipse.m2m.atl.emftvm.Swap; * An implementation of the model object '<em><b>Swap</b></em>'. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> * <!-- end-user-doc --> - * <p> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/SwapX1Impl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/SwapX1Impl.java index 0aaf0778..370bdf7d 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/SwapX1Impl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/SwapX1Impl.java @@ -22,8 +22,6 @@ import org.eclipse.m2m.atl.emftvm.SwapX1; * An implementation of the model object '<em><b>Swap x1</b></em>'. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> * <!-- end-user-doc --> - * <p> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/TypedElementImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/TypedElementImpl.java index ae1f8fb8..ada09bd8 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/TypedElementImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/TypedElementImpl.java @@ -28,12 +28,12 @@ import org.eclipse.m2m.atl.emftvm.util.EMFTVMUtil; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.TypedElementImpl#getEType <em>EType</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.TypedElementImpl#getType <em>Type</em>}</li> * <li>{@link org.eclipse.m2m.atl.emftvm.impl.TypedElementImpl#getTypeModel <em>Type Model</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/XorImpl.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/XorImpl.java index f0fb25b4..de15cc81 100644 --- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/XorImpl.java +++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/impl/XorImpl.java @@ -22,8 +22,6 @@ import org.eclipse.m2m.atl.emftvm.Xor; * An implementation of the model object '<em><b>Xor</b></em>'. * @author <a href="mailto:dennis.wagelaar@vub.ac.be">Dennis Wagelaar</a> * <!-- end-user-doc --> - * <p> - * </p> * * @generated */ |