aboutsummaryrefslogtreecommitdiffstats
path: root/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language
diff options
context:
space:
mode:
Diffstat (limited to 'language-model/src/main/emf-gen/org/eclipse/viatra/solver/language')
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Argument.java52
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Assertion.java12
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/AssertionArgument.java18
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Constant.java18
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ConstantArgument.java44
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ConstantAssertionArgument.java44
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/IntConstant.java45
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/NodeAssertionArgument.java44
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/NodeValueAssertion.java67
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemFactory.java69
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemPackage.java763
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/RealConstant.java45
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/StringConstant.java44
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/VariableOrNodeArgument.java67
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ArgumentImpl.java211
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/AssertionArgumentImpl.java39
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/AssertionImpl.java66
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ConstantArgumentImpl.java182
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ConstantAssertionArgumentImpl.java182
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ConstantImpl.java39
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/IntConstantImpl.java164
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NodeAssertionArgumentImpl.java159
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NodeValueAssertionImpl.java247
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemFactoryImpl.java94
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemPackageImpl.java371
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/RealConstantImpl.java164
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/StringConstantImpl.java164
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/VariableOrNodeArgumentImpl.java251
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemAdapterFactory.java194
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemSwitch.java242
30 files changed, 3746 insertions, 355 deletions
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Argument.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Argument.java
index 4857b38a..a027e914 100644
--- a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Argument.java
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Argument.java
@@ -9,61 +9,11 @@ import org.eclipse.emf.ecore.EObject;
9 * A representation of the model object '<em><b>Argument</b></em>'. 9 * A representation of the model object '<em><b>Argument</b></em>'.
10 * <!-- end-user-doc --> 10 * <!-- end-user-doc -->
11 * 11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Argument#getVariableOrNode <em>Variable Or Node</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Argument#getSingletonVariable <em>Singleton Variable</em>}</li>
18 * </ul>
19 * 12 *
20 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getArgument() 13 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getArgument()
21 * @model 14 * @model abstract="true"
22 * @generated 15 * @generated
23 */ 16 */
24public interface Argument extends EObject { 17public interface Argument extends EObject {
25 /**
26 * Returns the value of the '<em><b>Variable Or Node</b></em>' reference.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Variable Or Node</em>' reference.
30 * @see #setVariableOrNode(VariableOrNode)
31 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getArgument_VariableOrNode()
32 * @model
33 * @generated
34 */
35 VariableOrNode getVariableOrNode();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.Argument#getVariableOrNode <em>Variable Or Node</em>}' reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Variable Or Node</em>' reference.
42 * @see #getVariableOrNode()
43 * @generated
44 */
45 void setVariableOrNode(VariableOrNode value);
46
47 /**
48 * Returns the value of the '<em><b>Singleton Variable</b></em>' containment reference.
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @return the value of the '<em>Singleton Variable</em>' containment reference.
52 * @see #setSingletonVariable(ImplicitVariable)
53 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getArgument_SingletonVariable()
54 * @model containment="true"
55 * @generated
56 */
57 ImplicitVariable getSingletonVariable();
58
59 /**
60 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.Argument#getSingletonVariable <em>Singleton Variable</em>}' containment reference.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @param value the new value of the '<em>Singleton Variable</em>' containment reference.
64 * @see #getSingletonVariable()
65 * @generated
66 */
67 void setSingletonVariable(ImplicitVariable value);
68 18
69} // Argument 19} // Argument
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Assertion.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Assertion.java
index 758212fb..16c7ecff 100644
--- a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Assertion.java
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Assertion.java
@@ -14,8 +14,8 @@ import org.eclipse.emf.common.util.EList;
14 * </p> 14 * </p>
15 * <ul> 15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Assertion#getRelation <em>Relation</em>}</li> 16 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Assertion#getRelation <em>Relation</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Assertion#getArguments <em>Arguments</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Assertion#getValue <em>Value</em>}</li> 17 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Assertion#getValue <em>Value</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Assertion#getArguments <em>Arguments</em>}</li>
19 * </ul> 19 * </ul>
20 * 20 *
21 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getAssertion() 21 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getAssertion()
@@ -46,16 +46,16 @@ public interface Assertion extends Statement {
46 void setRelation(Relation value); 46 void setRelation(Relation value);
47 47
48 /** 48 /**
49 * Returns the value of the '<em><b>Arguments</b></em>' reference list. 49 * Returns the value of the '<em><b>Arguments</b></em>' containment reference list.
50 * The list contents are of type {@link org.eclipse.viatra.solver.language.model.problem.Node}. 50 * The list contents are of type {@link org.eclipse.viatra.solver.language.model.problem.AssertionArgument}.
51 * <!-- begin-user-doc --> 51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc --> 52 * <!-- end-user-doc -->
53 * @return the value of the '<em>Arguments</em>' reference list. 53 * @return the value of the '<em>Arguments</em>' containment reference list.
54 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getAssertion_Arguments() 54 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getAssertion_Arguments()
55 * @model 55 * @model containment="true"
56 * @generated 56 * @generated
57 */ 57 */
58 EList<Node> getArguments(); 58 EList<AssertionArgument> getArguments();
59 59
60 /** 60 /**
61 * Returns the value of the '<em><b>Value</b></em>' attribute. 61 * Returns the value of the '<em><b>Value</b></em>' attribute.
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/AssertionArgument.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/AssertionArgument.java
new file mode 100644
index 00000000..054b34a2
--- /dev/null
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/AssertionArgument.java
@@ -0,0 +1,18 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5import org.eclipse.emf.ecore.EObject;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Assertion Argument</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getAssertionArgument()
14 * @model abstract="true"
15 * @generated
16 */
17public interface AssertionArgument extends EObject {
18} // AssertionArgument
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Constant.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Constant.java
new file mode 100644
index 00000000..89f12830
--- /dev/null
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Constant.java
@@ -0,0 +1,18 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5import org.eclipse.emf.ecore.EObject;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Constant</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getConstant()
14 * @model abstract="true"
15 * @generated
16 */
17public interface Constant extends EObject {
18} // Constant
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ConstantArgument.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ConstantArgument.java
new file mode 100644
index 00000000..96b631f0
--- /dev/null
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ConstantArgument.java
@@ -0,0 +1,44 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5/**
6 * <!-- begin-user-doc -->
7 * A representation of the model object '<em><b>Constant Argument</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 * <p>
11 * The following features are supported:
12 * </p>
13 * <ul>
14 * <li>{@link org.eclipse.viatra.solver.language.model.problem.ConstantArgument#getConstant <em>Constant</em>}</li>
15 * </ul>
16 *
17 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getConstantArgument()
18 * @model
19 * @generated
20 */
21public interface ConstantArgument extends Argument {
22 /**
23 * Returns the value of the '<em><b>Constant</b></em>' containment reference.
24 * <!-- begin-user-doc -->
25 * <!-- end-user-doc -->
26 * @return the value of the '<em>Constant</em>' containment reference.
27 * @see #setConstant(Constant)
28 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getConstantArgument_Constant()
29 * @model containment="true"
30 * @generated
31 */
32 Constant getConstant();
33
34 /**
35 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.ConstantArgument#getConstant <em>Constant</em>}' containment reference.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @param value the new value of the '<em>Constant</em>' containment reference.
39 * @see #getConstant()
40 * @generated
41 */
42 void setConstant(Constant value);
43
44} // ConstantArgument
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ConstantAssertionArgument.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ConstantAssertionArgument.java
new file mode 100644
index 00000000..fd40de62
--- /dev/null
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ConstantAssertionArgument.java
@@ -0,0 +1,44 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5/**
6 * <!-- begin-user-doc -->
7 * A representation of the model object '<em><b>Constant Assertion Argument</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 * <p>
11 * The following features are supported:
12 * </p>
13 * <ul>
14 * <li>{@link org.eclipse.viatra.solver.language.model.problem.ConstantAssertionArgument#getConstant <em>Constant</em>}</li>
15 * </ul>
16 *
17 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getConstantAssertionArgument()
18 * @model
19 * @generated
20 */
21public interface ConstantAssertionArgument extends AssertionArgument {
22 /**
23 * Returns the value of the '<em><b>Constant</b></em>' containment reference.
24 * <!-- begin-user-doc -->
25 * <!-- end-user-doc -->
26 * @return the value of the '<em>Constant</em>' containment reference.
27 * @see #setConstant(Constant)
28 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getConstantAssertionArgument_Constant()
29 * @model containment="true"
30 * @generated
31 */
32 Constant getConstant();
33
34 /**
35 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.ConstantAssertionArgument#getConstant <em>Constant</em>}' containment reference.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @param value the new value of the '<em>Constant</em>' containment reference.
39 * @see #getConstant()
40 * @generated
41 */
42 void setConstant(Constant value);
43
44} // ConstantAssertionArgument
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/IntConstant.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/IntConstant.java
new file mode 100644
index 00000000..8c42d183
--- /dev/null
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/IntConstant.java
@@ -0,0 +1,45 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5/**
6 * <!-- begin-user-doc -->
7 * A representation of the model object '<em><b>Int Constant</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 * <p>
11 * The following features are supported:
12 * </p>
13 * <ul>
14 * <li>{@link org.eclipse.viatra.solver.language.model.problem.IntConstant#getIntValue <em>Int Value</em>}</li>
15 * </ul>
16 *
17 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getIntConstant()
18 * @model
19 * @generated
20 */
21public interface IntConstant extends Constant {
22 /**
23 * Returns the value of the '<em><b>Int Value</b></em>' attribute.
24 * The default value is <code>"0"</code>.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @return the value of the '<em>Int Value</em>' attribute.
28 * @see #setIntValue(int)
29 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getIntConstant_IntValue()
30 * @model default="0"
31 * @generated
32 */
33 int getIntValue();
34
35 /**
36 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.IntConstant#getIntValue <em>Int Value</em>}' attribute.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @param value the new value of the '<em>Int Value</em>' attribute.
40 * @see #getIntValue()
41 * @generated
42 */
43 void setIntValue(int value);
44
45} // IntConstant
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/NodeAssertionArgument.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/NodeAssertionArgument.java
new file mode 100644
index 00000000..fd006405
--- /dev/null
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/NodeAssertionArgument.java
@@ -0,0 +1,44 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5/**
6 * <!-- begin-user-doc -->
7 * A representation of the model object '<em><b>Node Assertion Argument</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 * <p>
11 * The following features are supported:
12 * </p>
13 * <ul>
14 * <li>{@link org.eclipse.viatra.solver.language.model.problem.NodeAssertionArgument#getNode <em>Node</em>}</li>
15 * </ul>
16 *
17 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getNodeAssertionArgument()
18 * @model
19 * @generated
20 */
21public interface NodeAssertionArgument extends AssertionArgument {
22 /**
23 * Returns the value of the '<em><b>Node</b></em>' reference.
24 * <!-- begin-user-doc -->
25 * <!-- end-user-doc -->
26 * @return the value of the '<em>Node</em>' reference.
27 * @see #setNode(Node)
28 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getNodeAssertionArgument_Node()
29 * @model
30 * @generated
31 */
32 Node getNode();
33
34 /**
35 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.NodeAssertionArgument#getNode <em>Node</em>}' reference.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @param value the new value of the '<em>Node</em>' reference.
39 * @see #getNode()
40 * @generated
41 */
42 void setNode(Node value);
43
44} // NodeAssertionArgument
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/NodeValueAssertion.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/NodeValueAssertion.java
new file mode 100644
index 00000000..bfe5901a
--- /dev/null
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/NodeValueAssertion.java
@@ -0,0 +1,67 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5/**
6 * <!-- begin-user-doc -->
7 * A representation of the model object '<em><b>Node Value Assertion</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 * <p>
11 * The following features are supported:
12 * </p>
13 * <ul>
14 * <li>{@link org.eclipse.viatra.solver.language.model.problem.NodeValueAssertion#getNode <em>Node</em>}</li>
15 * <li>{@link org.eclipse.viatra.solver.language.model.problem.NodeValueAssertion#getValue <em>Value</em>}</li>
16 * </ul>
17 *
18 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getNodeValueAssertion()
19 * @model
20 * @generated
21 */
22public interface NodeValueAssertion extends Statement {
23 /**
24 * Returns the value of the '<em><b>Node</b></em>' reference.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @return the value of the '<em>Node</em>' reference.
28 * @see #setNode(Node)
29 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getNodeValueAssertion_Node()
30 * @model
31 * @generated
32 */
33 Node getNode();
34
35 /**
36 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.NodeValueAssertion#getNode <em>Node</em>}' reference.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @param value the new value of the '<em>Node</em>' reference.
40 * @see #getNode()
41 * @generated
42 */
43 void setNode(Node value);
44
45 /**
46 * Returns the value of the '<em><b>Value</b></em>' containment reference.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @return the value of the '<em>Value</em>' containment reference.
50 * @see #setValue(Constant)
51 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getNodeValueAssertion_Value()
52 * @model containment="true"
53 * @generated
54 */
55 Constant getValue();
56
57 /**
58 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.NodeValueAssertion#getValue <em>Value</em>}' containment reference.
59 * <!-- begin-user-doc -->
60 * <!-- end-user-doc -->
61 * @param value the new value of the '<em>Value</em>' containment reference.
62 * @see #getValue()
63 * @generated
64 */
65 void setValue(Constant value);
66
67} // NodeValueAssertion
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemFactory.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemFactory.java
index e4332d19..bb97cbc9 100644
--- a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemFactory.java
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemFactory.java
@@ -166,13 +166,13 @@ public interface ProblemFactory extends EFactory {
166 UnboundedMultiplicity createUnboundedMultiplicity(); 166 UnboundedMultiplicity createUnboundedMultiplicity();
167 167
168 /** 168 /**
169 * Returns a new object of class '<em>Argument</em>'. 169 * Returns a new object of class '<em>Variable Or Node Argument</em>'.
170 * <!-- begin-user-doc --> 170 * <!-- begin-user-doc -->
171 * <!-- end-user-doc --> 171 * <!-- end-user-doc -->
172 * @return a new object of class '<em>Argument</em>'. 172 * @return a new object of class '<em>Variable Or Node Argument</em>'.
173 * @generated 173 * @generated
174 */ 174 */
175 Argument createArgument(); 175 VariableOrNodeArgument createVariableOrNodeArgument();
176 176
177 /** 177 /**
178 * Returns a new object of class '<em>Enum Declaration</em>'. 178 * Returns a new object of class '<em>Enum Declaration</em>'.
@@ -184,6 +184,69 @@ public interface ProblemFactory extends EFactory {
184 EnumDeclaration createEnumDeclaration(); 184 EnumDeclaration createEnumDeclaration();
185 185
186 /** 186 /**
187 * Returns a new object of class '<em>Int Constant</em>'.
188 * <!-- begin-user-doc -->
189 * <!-- end-user-doc -->
190 * @return a new object of class '<em>Int Constant</em>'.
191 * @generated
192 */
193 IntConstant createIntConstant();
194
195 /**
196 * Returns a new object of class '<em>Real Constant</em>'.
197 * <!-- begin-user-doc -->
198 * <!-- end-user-doc -->
199 * @return a new object of class '<em>Real Constant</em>'.
200 * @generated
201 */
202 RealConstant createRealConstant();
203
204 /**
205 * Returns a new object of class '<em>String Constant</em>'.
206 * <!-- begin-user-doc -->
207 * <!-- end-user-doc -->
208 * @return a new object of class '<em>String Constant</em>'.
209 * @generated
210 */
211 StringConstant createStringConstant();
212
213 /**
214 * Returns a new object of class '<em>Constant Argument</em>'.
215 * <!-- begin-user-doc -->
216 * <!-- end-user-doc -->
217 * @return a new object of class '<em>Constant Argument</em>'.
218 * @generated
219 */
220 ConstantArgument createConstantArgument();
221
222 /**
223 * Returns a new object of class '<em>Node Assertion Argument</em>'.
224 * <!-- begin-user-doc -->
225 * <!-- end-user-doc -->
226 * @return a new object of class '<em>Node Assertion Argument</em>'.
227 * @generated
228 */
229 NodeAssertionArgument createNodeAssertionArgument();
230
231 /**
232 * Returns a new object of class '<em>Constant Assertion Argument</em>'.
233 * <!-- begin-user-doc -->
234 * <!-- end-user-doc -->
235 * @return a new object of class '<em>Constant Assertion Argument</em>'.
236 * @generated
237 */
238 ConstantAssertionArgument createConstantAssertionArgument();
239
240 /**
241 * Returns a new object of class '<em>Node Value Assertion</em>'.
242 * <!-- begin-user-doc -->
243 * <!-- end-user-doc -->
244 * @return a new object of class '<em>Node Value Assertion</em>'.
245 * @generated
246 */
247 NodeValueAssertion createNodeValueAssertion();
248
249 /**
187 * Returns the package supported by this factory. 250 * Returns the package supported by this factory.
188 * <!-- begin-user-doc --> 251 * <!-- begin-user-doc -->
189 * <!-- end-user-doc --> 252 * <!-- end-user-doc -->
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemPackage.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemPackage.java
index ec96501d..b711566a 100644
--- a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemPackage.java
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemPackage.java
@@ -813,22 +813,22 @@ public interface ProblemPackage extends EPackage {
813 int ASSERTION__RELATION = STATEMENT_FEATURE_COUNT + 0; 813 int ASSERTION__RELATION = STATEMENT_FEATURE_COUNT + 0;
814 814
815 /** 815 /**
816 * The feature id for the '<em><b>Arguments</b></em>' reference list. 816 * The feature id for the '<em><b>Value</b></em>' attribute.
817 * <!-- begin-user-doc --> 817 * <!-- begin-user-doc -->
818 * <!-- end-user-doc --> 818 * <!-- end-user-doc -->
819 * @generated 819 * @generated
820 * @ordered 820 * @ordered
821 */ 821 */
822 int ASSERTION__ARGUMENTS = STATEMENT_FEATURE_COUNT + 1; 822 int ASSERTION__VALUE = STATEMENT_FEATURE_COUNT + 1;
823 823
824 /** 824 /**
825 * The feature id for the '<em><b>Value</b></em>' attribute. 825 * The feature id for the '<em><b>Arguments</b></em>' containment reference list.
826 * <!-- begin-user-doc --> 826 * <!-- begin-user-doc -->
827 * <!-- end-user-doc --> 827 * <!-- end-user-doc -->
828 * @generated 828 * @generated
829 * @ordered 829 * @ordered
830 */ 830 */
831 int ASSERTION__VALUE = STATEMENT_FEATURE_COUNT + 2; 831 int ASSERTION__ARGUMENTS = STATEMENT_FEATURE_COUNT + 2;
832 832
833 /** 833 /**
834 * The number of structural features of the '<em>Assertion</em>' class. 834 * The number of structural features of the '<em>Assertion</em>' class.
@@ -1124,7 +1124,35 @@ public interface ProblemPackage extends EPackage {
1124 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getArgument() 1124 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getArgument()
1125 * @generated 1125 * @generated
1126 */ 1126 */
1127 int ARGUMENT = 23; 1127 int ARGUMENT = 31;
1128
1129 /**
1130 * The number of structural features of the '<em>Argument</em>' class.
1131 * <!-- begin-user-doc -->
1132 * <!-- end-user-doc -->
1133 * @generated
1134 * @ordered
1135 */
1136 int ARGUMENT_FEATURE_COUNT = 0;
1137
1138 /**
1139 * The number of operations of the '<em>Argument</em>' class.
1140 * <!-- begin-user-doc -->
1141 * <!-- end-user-doc -->
1142 * @generated
1143 * @ordered
1144 */
1145 int ARGUMENT_OPERATION_COUNT = 0;
1146
1147 /**
1148 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.VariableOrNodeArgumentImpl <em>Variable Or Node Argument</em>}' class.
1149 * <!-- begin-user-doc -->
1150 * <!-- end-user-doc -->
1151 * @see org.eclipse.viatra.solver.language.model.problem.impl.VariableOrNodeArgumentImpl
1152 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getVariableOrNodeArgument()
1153 * @generated
1154 */
1155 int VARIABLE_OR_NODE_ARGUMENT = 23;
1128 1156
1129 /** 1157 /**
1130 * The feature id for the '<em><b>Variable Or Node</b></em>' reference. 1158 * The feature id for the '<em><b>Variable Or Node</b></em>' reference.
@@ -1133,7 +1161,7 @@ public interface ProblemPackage extends EPackage {
1133 * @generated 1161 * @generated
1134 * @ordered 1162 * @ordered
1135 */ 1163 */
1136 int ARGUMENT__VARIABLE_OR_NODE = 0; 1164 int VARIABLE_OR_NODE_ARGUMENT__VARIABLE_OR_NODE = ARGUMENT_FEATURE_COUNT + 0;
1137 1165
1138 /** 1166 /**
1139 * The feature id for the '<em><b>Singleton Variable</b></em>' containment reference. 1167 * The feature id for the '<em><b>Singleton Variable</b></em>' containment reference.
@@ -1142,25 +1170,25 @@ public interface ProblemPackage extends EPackage {
1142 * @generated 1170 * @generated
1143 * @ordered 1171 * @ordered
1144 */ 1172 */
1145 int ARGUMENT__SINGLETON_VARIABLE = 1; 1173 int VARIABLE_OR_NODE_ARGUMENT__SINGLETON_VARIABLE = ARGUMENT_FEATURE_COUNT + 1;
1146 1174
1147 /** 1175 /**
1148 * The number of structural features of the '<em>Argument</em>' class. 1176 * The number of structural features of the '<em>Variable Or Node Argument</em>' class.
1149 * <!-- begin-user-doc --> 1177 * <!-- begin-user-doc -->
1150 * <!-- end-user-doc --> 1178 * <!-- end-user-doc -->
1151 * @generated 1179 * @generated
1152 * @ordered 1180 * @ordered
1153 */ 1181 */
1154 int ARGUMENT_FEATURE_COUNT = 2; 1182 int VARIABLE_OR_NODE_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 2;
1155 1183
1156 /** 1184 /**
1157 * The number of operations of the '<em>Argument</em>' class. 1185 * The number of operations of the '<em>Variable Or Node Argument</em>' class.
1158 * <!-- begin-user-doc --> 1186 * <!-- begin-user-doc -->
1159 * <!-- end-user-doc --> 1187 * <!-- end-user-doc -->
1160 * @generated 1188 * @generated
1161 * @ordered 1189 * @ordered
1162 */ 1190 */
1163 int ARGUMENT_OPERATION_COUNT = 0; 1191 int VARIABLE_OR_NODE_ARGUMENT_OPERATION_COUNT = ARGUMENT_OPERATION_COUNT + 0;
1164 1192
1165 /** 1193 /**
1166 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.EnumDeclarationImpl <em>Enum Declaration</em>}' class. 1194 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.EnumDeclarationImpl <em>Enum Declaration</em>}' class.
@@ -1209,6 +1237,330 @@ public interface ProblemPackage extends EPackage {
1209 int ENUM_DECLARATION_OPERATION_COUNT = RELATION_OPERATION_COUNT + 0; 1237 int ENUM_DECLARATION_OPERATION_COUNT = RELATION_OPERATION_COUNT + 0;
1210 1238
1211 /** 1239 /**
1240 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ConstantImpl <em>Constant</em>}' class.
1241 * <!-- begin-user-doc -->
1242 * <!-- end-user-doc -->
1243 * @see org.eclipse.viatra.solver.language.model.problem.impl.ConstantImpl
1244 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getConstant()
1245 * @generated
1246 */
1247 int CONSTANT = 26;
1248
1249 /**
1250 * The number of structural features of the '<em>Constant</em>' class.
1251 * <!-- begin-user-doc -->
1252 * <!-- end-user-doc -->
1253 * @generated
1254 * @ordered
1255 */
1256 int CONSTANT_FEATURE_COUNT = 0;
1257
1258 /**
1259 * The number of operations of the '<em>Constant</em>' class.
1260 * <!-- begin-user-doc -->
1261 * <!-- end-user-doc -->
1262 * @generated
1263 * @ordered
1264 */
1265 int CONSTANT_OPERATION_COUNT = 0;
1266
1267 /**
1268 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.IntConstantImpl <em>Int Constant</em>}' class.
1269 * <!-- begin-user-doc -->
1270 * <!-- end-user-doc -->
1271 * @see org.eclipse.viatra.solver.language.model.problem.impl.IntConstantImpl
1272 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getIntConstant()
1273 * @generated
1274 */
1275 int INT_CONSTANT = 27;
1276
1277 /**
1278 * The feature id for the '<em><b>Int Value</b></em>' attribute.
1279 * <!-- begin-user-doc -->
1280 * <!-- end-user-doc -->
1281 * @generated
1282 * @ordered
1283 */
1284 int INT_CONSTANT__INT_VALUE = CONSTANT_FEATURE_COUNT + 0;
1285
1286 /**
1287 * The number of structural features of the '<em>Int Constant</em>' class.
1288 * <!-- begin-user-doc -->
1289 * <!-- end-user-doc -->
1290 * @generated
1291 * @ordered
1292 */
1293 int INT_CONSTANT_FEATURE_COUNT = CONSTANT_FEATURE_COUNT + 1;
1294
1295 /**
1296 * The number of operations of the '<em>Int Constant</em>' class.
1297 * <!-- begin-user-doc -->
1298 * <!-- end-user-doc -->
1299 * @generated
1300 * @ordered
1301 */
1302 int INT_CONSTANT_OPERATION_COUNT = CONSTANT_OPERATION_COUNT + 0;
1303
1304 /**
1305 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.RealConstantImpl <em>Real Constant</em>}' class.
1306 * <!-- begin-user-doc -->
1307 * <!-- end-user-doc -->
1308 * @see org.eclipse.viatra.solver.language.model.problem.impl.RealConstantImpl
1309 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getRealConstant()
1310 * @generated
1311 */
1312 int REAL_CONSTANT = 28;
1313
1314 /**
1315 * The feature id for the '<em><b>Real Value</b></em>' attribute.
1316 * <!-- begin-user-doc -->
1317 * <!-- end-user-doc -->
1318 * @generated
1319 * @ordered
1320 */
1321 int REAL_CONSTANT__REAL_VALUE = CONSTANT_FEATURE_COUNT + 0;
1322
1323 /**
1324 * The number of structural features of the '<em>Real Constant</em>' class.
1325 * <!-- begin-user-doc -->
1326 * <!-- end-user-doc -->
1327 * @generated
1328 * @ordered
1329 */
1330 int REAL_CONSTANT_FEATURE_COUNT = CONSTANT_FEATURE_COUNT + 1;
1331
1332 /**
1333 * The number of operations of the '<em>Real Constant</em>' class.
1334 * <!-- begin-user-doc -->
1335 * <!-- end-user-doc -->
1336 * @generated
1337 * @ordered
1338 */
1339 int REAL_CONSTANT_OPERATION_COUNT = CONSTANT_OPERATION_COUNT + 0;
1340
1341 /**
1342 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.StringConstantImpl <em>String Constant</em>}' class.
1343 * <!-- begin-user-doc -->
1344 * <!-- end-user-doc -->
1345 * @see org.eclipse.viatra.solver.language.model.problem.impl.StringConstantImpl
1346 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getStringConstant()
1347 * @generated
1348 */
1349 int STRING_CONSTANT = 29;
1350
1351 /**
1352 * The feature id for the '<em><b>String Value</b></em>' attribute.
1353 * <!-- begin-user-doc -->
1354 * <!-- end-user-doc -->
1355 * @generated
1356 * @ordered
1357 */
1358 int STRING_CONSTANT__STRING_VALUE = CONSTANT_FEATURE_COUNT + 0;
1359
1360 /**
1361 * The number of structural features of the '<em>String Constant</em>' class.
1362 * <!-- begin-user-doc -->
1363 * <!-- end-user-doc -->
1364 * @generated
1365 * @ordered
1366 */
1367 int STRING_CONSTANT_FEATURE_COUNT = CONSTANT_FEATURE_COUNT + 1;
1368
1369 /**
1370 * The number of operations of the '<em>String Constant</em>' class.
1371 * <!-- begin-user-doc -->
1372 * <!-- end-user-doc -->
1373 * @generated
1374 * @ordered
1375 */
1376 int STRING_CONSTANT_OPERATION_COUNT = CONSTANT_OPERATION_COUNT + 0;
1377
1378 /**
1379 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ConstantArgumentImpl <em>Constant Argument</em>}' class.
1380 * <!-- begin-user-doc -->
1381 * <!-- end-user-doc -->
1382 * @see org.eclipse.viatra.solver.language.model.problem.impl.ConstantArgumentImpl
1383 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getConstantArgument()
1384 * @generated
1385 */
1386 int CONSTANT_ARGUMENT = 30;
1387
1388 /**
1389 * The feature id for the '<em><b>Constant</b></em>' containment reference.
1390 * <!-- begin-user-doc -->
1391 * <!-- end-user-doc -->
1392 * @generated
1393 * @ordered
1394 */
1395 int CONSTANT_ARGUMENT__CONSTANT = ARGUMENT_FEATURE_COUNT + 0;
1396
1397 /**
1398 * The number of structural features of the '<em>Constant Argument</em>' class.
1399 * <!-- begin-user-doc -->
1400 * <!-- end-user-doc -->
1401 * @generated
1402 * @ordered
1403 */
1404 int CONSTANT_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 1;
1405
1406 /**
1407 * The number of operations of the '<em>Constant Argument</em>' class.
1408 * <!-- begin-user-doc -->
1409 * <!-- end-user-doc -->
1410 * @generated
1411 * @ordered
1412 */
1413 int CONSTANT_ARGUMENT_OPERATION_COUNT = ARGUMENT_OPERATION_COUNT + 0;
1414
1415 /**
1416 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.AssertionArgumentImpl <em>Assertion Argument</em>}' class.
1417 * <!-- begin-user-doc -->
1418 * <!-- end-user-doc -->
1419 * @see org.eclipse.viatra.solver.language.model.problem.impl.AssertionArgumentImpl
1420 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getAssertionArgument()
1421 * @generated
1422 */
1423 int ASSERTION_ARGUMENT = 33;
1424
1425 /**
1426 * The number of structural features of the '<em>Assertion Argument</em>' class.
1427 * <!-- begin-user-doc -->
1428 * <!-- end-user-doc -->
1429 * @generated
1430 * @ordered
1431 */
1432 int ASSERTION_ARGUMENT_FEATURE_COUNT = 0;
1433
1434 /**
1435 * The number of operations of the '<em>Assertion Argument</em>' class.
1436 * <!-- begin-user-doc -->
1437 * <!-- end-user-doc -->
1438 * @generated
1439 * @ordered
1440 */
1441 int ASSERTION_ARGUMENT_OPERATION_COUNT = 0;
1442
1443 /**
1444 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.NodeAssertionArgumentImpl <em>Node Assertion Argument</em>}' class.
1445 * <!-- begin-user-doc -->
1446 * <!-- end-user-doc -->
1447 * @see org.eclipse.viatra.solver.language.model.problem.impl.NodeAssertionArgumentImpl
1448 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getNodeAssertionArgument()
1449 * @generated
1450 */
1451 int NODE_ASSERTION_ARGUMENT = 32;
1452
1453 /**
1454 * The feature id for the '<em><b>Node</b></em>' reference.
1455 * <!-- begin-user-doc -->
1456 * <!-- end-user-doc -->
1457 * @generated
1458 * @ordered
1459 */
1460 int NODE_ASSERTION_ARGUMENT__NODE = ASSERTION_ARGUMENT_FEATURE_COUNT + 0;
1461
1462 /**
1463 * The number of structural features of the '<em>Node Assertion Argument</em>' class.
1464 * <!-- begin-user-doc -->
1465 * <!-- end-user-doc -->
1466 * @generated
1467 * @ordered
1468 */
1469 int NODE_ASSERTION_ARGUMENT_FEATURE_COUNT = ASSERTION_ARGUMENT_FEATURE_COUNT + 1;
1470
1471 /**
1472 * The number of operations of the '<em>Node Assertion Argument</em>' class.
1473 * <!-- begin-user-doc -->
1474 * <!-- end-user-doc -->
1475 * @generated
1476 * @ordered
1477 */
1478 int NODE_ASSERTION_ARGUMENT_OPERATION_COUNT = ASSERTION_ARGUMENT_OPERATION_COUNT + 0;
1479
1480 /**
1481 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ConstantAssertionArgumentImpl <em>Constant Assertion Argument</em>}' class.
1482 * <!-- begin-user-doc -->
1483 * <!-- end-user-doc -->
1484 * @see org.eclipse.viatra.solver.language.model.problem.impl.ConstantAssertionArgumentImpl
1485 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getConstantAssertionArgument()
1486 * @generated
1487 */
1488 int CONSTANT_ASSERTION_ARGUMENT = 34;
1489
1490 /**
1491 * The feature id for the '<em><b>Constant</b></em>' containment reference.
1492 * <!-- begin-user-doc -->
1493 * <!-- end-user-doc -->
1494 * @generated
1495 * @ordered
1496 */
1497 int CONSTANT_ASSERTION_ARGUMENT__CONSTANT = ASSERTION_ARGUMENT_FEATURE_COUNT + 0;
1498
1499 /**
1500 * The number of structural features of the '<em>Constant Assertion Argument</em>' class.
1501 * <!-- begin-user-doc -->
1502 * <!-- end-user-doc -->
1503 * @generated
1504 * @ordered
1505 */
1506 int CONSTANT_ASSERTION_ARGUMENT_FEATURE_COUNT = ASSERTION_ARGUMENT_FEATURE_COUNT + 1;
1507
1508 /**
1509 * The number of operations of the '<em>Constant Assertion Argument</em>' class.
1510 * <!-- begin-user-doc -->
1511 * <!-- end-user-doc -->
1512 * @generated
1513 * @ordered
1514 */
1515 int CONSTANT_ASSERTION_ARGUMENT_OPERATION_COUNT = ASSERTION_ARGUMENT_OPERATION_COUNT + 0;
1516
1517 /**
1518 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.NodeValueAssertionImpl <em>Node Value Assertion</em>}' class.
1519 * <!-- begin-user-doc -->
1520 * <!-- end-user-doc -->
1521 * @see org.eclipse.viatra.solver.language.model.problem.impl.NodeValueAssertionImpl
1522 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getNodeValueAssertion()
1523 * @generated
1524 */
1525 int NODE_VALUE_ASSERTION = 35;
1526
1527 /**
1528 * The feature id for the '<em><b>Node</b></em>' reference.
1529 * <!-- begin-user-doc -->
1530 * <!-- end-user-doc -->
1531 * @generated
1532 * @ordered
1533 */
1534 int NODE_VALUE_ASSERTION__NODE = STATEMENT_FEATURE_COUNT + 0;
1535
1536 /**
1537 * The feature id for the '<em><b>Value</b></em>' containment reference.
1538 * <!-- begin-user-doc -->
1539 * <!-- end-user-doc -->
1540 * @generated
1541 * @ordered
1542 */
1543 int NODE_VALUE_ASSERTION__VALUE = STATEMENT_FEATURE_COUNT + 1;
1544
1545 /**
1546 * The number of structural features of the '<em>Node Value Assertion</em>' class.
1547 * <!-- begin-user-doc -->
1548 * <!-- end-user-doc -->
1549 * @generated
1550 * @ordered
1551 */
1552 int NODE_VALUE_ASSERTION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2;
1553
1554 /**
1555 * The number of operations of the '<em>Node Value Assertion</em>' class.
1556 * <!-- begin-user-doc -->
1557 * <!-- end-user-doc -->
1558 * @generated
1559 * @ordered
1560 */
1561 int NODE_VALUE_ASSERTION_OPERATION_COUNT = STATEMENT_OPERATION_COUNT + 0;
1562
1563 /**
1212 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.LogicValue <em>Logic Value</em>}' enum. 1564 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.LogicValue <em>Logic Value</em>}' enum.
1213 * <!-- begin-user-doc --> 1565 * <!-- begin-user-doc -->
1214 * <!-- end-user-doc --> 1566 * <!-- end-user-doc -->
@@ -1216,7 +1568,7 @@ public interface ProblemPackage extends EPackage {
1216 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getLogicValue() 1568 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getLogicValue()
1217 * @generated 1569 * @generated
1218 */ 1570 */
1219 int LOGIC_VALUE = 26; 1571 int LOGIC_VALUE = 36;
1220 1572
1221 /** 1573 /**
1222 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.Problem <em>Problem</em>}'. 1574 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.Problem <em>Problem</em>}'.
@@ -1611,10 +1963,10 @@ public interface ProblemPackage extends EPackage {
1611 EReference getAssertion_Relation(); 1963 EReference getAssertion_Relation();
1612 1964
1613 /** 1965 /**
1614 * Returns the meta object for the reference list '{@link org.eclipse.viatra.solver.language.model.problem.Assertion#getArguments <em>Arguments</em>}'. 1966 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.model.problem.Assertion#getArguments <em>Arguments</em>}'.
1615 * <!-- begin-user-doc --> 1967 * <!-- begin-user-doc -->
1616 * <!-- end-user-doc --> 1968 * <!-- end-user-doc -->
1617 * @return the meta object for the reference list '<em>Arguments</em>'. 1969 * @return the meta object for the containment reference list '<em>Arguments</em>'.
1618 * @see org.eclipse.viatra.solver.language.model.problem.Assertion#getArguments() 1970 * @see org.eclipse.viatra.solver.language.model.problem.Assertion#getArguments()
1619 * @see #getAssertion() 1971 * @see #getAssertion()
1620 * @generated 1972 * @generated
@@ -1790,6 +2142,38 @@ public interface ProblemPackage extends EPackage {
1790 EClass getUnboundedMultiplicity(); 2142 EClass getUnboundedMultiplicity();
1791 2143
1792 /** 2144 /**
2145 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.VariableOrNodeArgument <em>Variable Or Node Argument</em>}'.
2146 * <!-- begin-user-doc -->
2147 * <!-- end-user-doc -->
2148 * @return the meta object for class '<em>Variable Or Node Argument</em>'.
2149 * @see org.eclipse.viatra.solver.language.model.problem.VariableOrNodeArgument
2150 * @generated
2151 */
2152 EClass getVariableOrNodeArgument();
2153
2154 /**
2155 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.model.problem.VariableOrNodeArgument#getVariableOrNode <em>Variable Or Node</em>}'.
2156 * <!-- begin-user-doc -->
2157 * <!-- end-user-doc -->
2158 * @return the meta object for the reference '<em>Variable Or Node</em>'.
2159 * @see org.eclipse.viatra.solver.language.model.problem.VariableOrNodeArgument#getVariableOrNode()
2160 * @see #getVariableOrNodeArgument()
2161 * @generated
2162 */
2163 EReference getVariableOrNodeArgument_VariableOrNode();
2164
2165 /**
2166 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.model.problem.VariableOrNodeArgument#getSingletonVariable <em>Singleton Variable</em>}'.
2167 * <!-- begin-user-doc -->
2168 * <!-- end-user-doc -->
2169 * @return the meta object for the containment reference '<em>Singleton Variable</em>'.
2170 * @see org.eclipse.viatra.solver.language.model.problem.VariableOrNodeArgument#getSingletonVariable()
2171 * @see #getVariableOrNodeArgument()
2172 * @generated
2173 */
2174 EReference getVariableOrNodeArgument_SingletonVariable();
2175
2176 /**
1793 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.Argument <em>Argument</em>}'. 2177 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.Argument <em>Argument</em>}'.
1794 * <!-- begin-user-doc --> 2178 * <!-- begin-user-doc -->
1795 * <!-- end-user-doc --> 2179 * <!-- end-user-doc -->
@@ -1800,26 +2184,88 @@ public interface ProblemPackage extends EPackage {
1800 EClass getArgument(); 2184 EClass getArgument();
1801 2185
1802 /** 2186 /**
1803 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.model.problem.Argument#getVariableOrNode <em>Variable Or Node</em>}'. 2187 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.NodeAssertionArgument <em>Node Assertion Argument</em>}'.
1804 * <!-- begin-user-doc --> 2188 * <!-- begin-user-doc -->
1805 * <!-- end-user-doc --> 2189 * <!-- end-user-doc -->
1806 * @return the meta object for the reference '<em>Variable Or Node</em>'. 2190 * @return the meta object for class '<em>Node Assertion Argument</em>'.
1807 * @see org.eclipse.viatra.solver.language.model.problem.Argument#getVariableOrNode() 2191 * @see org.eclipse.viatra.solver.language.model.problem.NodeAssertionArgument
1808 * @see #getArgument()
1809 * @generated 2192 * @generated
1810 */ 2193 */
1811 EReference getArgument_VariableOrNode(); 2194 EClass getNodeAssertionArgument();
1812 2195
1813 /** 2196 /**
1814 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.model.problem.Argument#getSingletonVariable <em>Singleton Variable</em>}'. 2197 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.model.problem.NodeAssertionArgument#getNode <em>Node</em>}'.
1815 * <!-- begin-user-doc --> 2198 * <!-- begin-user-doc -->
1816 * <!-- end-user-doc --> 2199 * <!-- end-user-doc -->
1817 * @return the meta object for the containment reference '<em>Singleton Variable</em>'. 2200 * @return the meta object for the reference '<em>Node</em>'.
1818 * @see org.eclipse.viatra.solver.language.model.problem.Argument#getSingletonVariable() 2201 * @see org.eclipse.viatra.solver.language.model.problem.NodeAssertionArgument#getNode()
1819 * @see #getArgument() 2202 * @see #getNodeAssertionArgument()
1820 * @generated 2203 * @generated
1821 */ 2204 */
1822 EReference getArgument_SingletonVariable(); 2205 EReference getNodeAssertionArgument_Node();
2206
2207 /**
2208 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.AssertionArgument <em>Assertion Argument</em>}'.
2209 * <!-- begin-user-doc -->
2210 * <!-- end-user-doc -->
2211 * @return the meta object for class '<em>Assertion Argument</em>'.
2212 * @see org.eclipse.viatra.solver.language.model.problem.AssertionArgument
2213 * @generated
2214 */
2215 EClass getAssertionArgument();
2216
2217 /**
2218 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.ConstantAssertionArgument <em>Constant Assertion Argument</em>}'.
2219 * <!-- begin-user-doc -->
2220 * <!-- end-user-doc -->
2221 * @return the meta object for class '<em>Constant Assertion Argument</em>'.
2222 * @see org.eclipse.viatra.solver.language.model.problem.ConstantAssertionArgument
2223 * @generated
2224 */
2225 EClass getConstantAssertionArgument();
2226
2227 /**
2228 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.model.problem.ConstantAssertionArgument#getConstant <em>Constant</em>}'.
2229 * <!-- begin-user-doc -->
2230 * <!-- end-user-doc -->
2231 * @return the meta object for the containment reference '<em>Constant</em>'.
2232 * @see org.eclipse.viatra.solver.language.model.problem.ConstantAssertionArgument#getConstant()
2233 * @see #getConstantAssertionArgument()
2234 * @generated
2235 */
2236 EReference getConstantAssertionArgument_Constant();
2237
2238 /**
2239 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.NodeValueAssertion <em>Node Value Assertion</em>}'.
2240 * <!-- begin-user-doc -->
2241 * <!-- end-user-doc -->
2242 * @return the meta object for class '<em>Node Value Assertion</em>'.
2243 * @see org.eclipse.viatra.solver.language.model.problem.NodeValueAssertion
2244 * @generated
2245 */
2246 EClass getNodeValueAssertion();
2247
2248 /**
2249 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.model.problem.NodeValueAssertion#getNode <em>Node</em>}'.
2250 * <!-- begin-user-doc -->
2251 * <!-- end-user-doc -->
2252 * @return the meta object for the reference '<em>Node</em>'.
2253 * @see org.eclipse.viatra.solver.language.model.problem.NodeValueAssertion#getNode()
2254 * @see #getNodeValueAssertion()
2255 * @generated
2256 */
2257 EReference getNodeValueAssertion_Node();
2258
2259 /**
2260 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.model.problem.NodeValueAssertion#getValue <em>Value</em>}'.
2261 * <!-- begin-user-doc -->
2262 * <!-- end-user-doc -->
2263 * @return the meta object for the containment reference '<em>Value</em>'.
2264 * @see org.eclipse.viatra.solver.language.model.problem.NodeValueAssertion#getValue()
2265 * @see #getNodeValueAssertion()
2266 * @generated
2267 */
2268 EReference getNodeValueAssertion_Value();
1823 2269
1824 /** 2270 /**
1825 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.EnumDeclaration <em>Enum Declaration</em>}'. 2271 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.EnumDeclaration <em>Enum Declaration</em>}'.
@@ -1853,6 +2299,100 @@ public interface ProblemPackage extends EPackage {
1853 EClass getVariableOrNode(); 2299 EClass getVariableOrNode();
1854 2300
1855 /** 2301 /**
2302 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.Constant <em>Constant</em>}'.
2303 * <!-- begin-user-doc -->
2304 * <!-- end-user-doc -->
2305 * @return the meta object for class '<em>Constant</em>'.
2306 * @see org.eclipse.viatra.solver.language.model.problem.Constant
2307 * @generated
2308 */
2309 EClass getConstant();
2310
2311 /**
2312 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.IntConstant <em>Int Constant</em>}'.
2313 * <!-- begin-user-doc -->
2314 * <!-- end-user-doc -->
2315 * @return the meta object for class '<em>Int Constant</em>'.
2316 * @see org.eclipse.viatra.solver.language.model.problem.IntConstant
2317 * @generated
2318 */
2319 EClass getIntConstant();
2320
2321 /**
2322 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.model.problem.IntConstant#getIntValue <em>Int Value</em>}'.
2323 * <!-- begin-user-doc -->
2324 * <!-- end-user-doc -->
2325 * @return the meta object for the attribute '<em>Int Value</em>'.
2326 * @see org.eclipse.viatra.solver.language.model.problem.IntConstant#getIntValue()
2327 * @see #getIntConstant()
2328 * @generated
2329 */
2330 EAttribute getIntConstant_IntValue();
2331
2332 /**
2333 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.RealConstant <em>Real Constant</em>}'.
2334 * <!-- begin-user-doc -->
2335 * <!-- end-user-doc -->
2336 * @return the meta object for class '<em>Real Constant</em>'.
2337 * @see org.eclipse.viatra.solver.language.model.problem.RealConstant
2338 * @generated
2339 */
2340 EClass getRealConstant();
2341
2342 /**
2343 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.model.problem.RealConstant#getRealValue <em>Real Value</em>}'.
2344 * <!-- begin-user-doc -->
2345 * <!-- end-user-doc -->
2346 * @return the meta object for the attribute '<em>Real Value</em>'.
2347 * @see org.eclipse.viatra.solver.language.model.problem.RealConstant#getRealValue()
2348 * @see #getRealConstant()
2349 * @generated
2350 */
2351 EAttribute getRealConstant_RealValue();
2352
2353 /**
2354 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.StringConstant <em>String Constant</em>}'.
2355 * <!-- begin-user-doc -->
2356 * <!-- end-user-doc -->
2357 * @return the meta object for class '<em>String Constant</em>'.
2358 * @see org.eclipse.viatra.solver.language.model.problem.StringConstant
2359 * @generated
2360 */
2361 EClass getStringConstant();
2362
2363 /**
2364 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.model.problem.StringConstant#getStringValue <em>String Value</em>}'.
2365 * <!-- begin-user-doc -->
2366 * <!-- end-user-doc -->
2367 * @return the meta object for the attribute '<em>String Value</em>'.
2368 * @see org.eclipse.viatra.solver.language.model.problem.StringConstant#getStringValue()
2369 * @see #getStringConstant()
2370 * @generated
2371 */
2372 EAttribute getStringConstant_StringValue();
2373
2374 /**
2375 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.ConstantArgument <em>Constant Argument</em>}'.
2376 * <!-- begin-user-doc -->
2377 * <!-- end-user-doc -->
2378 * @return the meta object for class '<em>Constant Argument</em>'.
2379 * @see org.eclipse.viatra.solver.language.model.problem.ConstantArgument
2380 * @generated
2381 */
2382 EClass getConstantArgument();
2383
2384 /**
2385 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.model.problem.ConstantArgument#getConstant <em>Constant</em>}'.
2386 * <!-- begin-user-doc -->
2387 * <!-- end-user-doc -->
2388 * @return the meta object for the containment reference '<em>Constant</em>'.
2389 * @see org.eclipse.viatra.solver.language.model.problem.ConstantArgument#getConstant()
2390 * @see #getConstantArgument()
2391 * @generated
2392 */
2393 EReference getConstantArgument_Constant();
2394
2395 /**
1856 * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.model.problem.LogicValue <em>Logic Value</em>}'. 2396 * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.model.problem.LogicValue <em>Logic Value</em>}'.
1857 * <!-- begin-user-doc --> 2397 * <!-- begin-user-doc -->
1858 * <!-- end-user-doc --> 2398 * <!-- end-user-doc -->
@@ -2212,7 +2752,7 @@ public interface ProblemPackage extends EPackage {
2212 EReference ASSERTION__RELATION = eINSTANCE.getAssertion_Relation(); 2752 EReference ASSERTION__RELATION = eINSTANCE.getAssertion_Relation();
2213 2753
2214 /** 2754 /**
2215 * The meta object literal for the '<em><b>Arguments</b></em>' reference list feature. 2755 * The meta object literal for the '<em><b>Arguments</b></em>' containment reference list feature.
2216 * <!-- begin-user-doc --> 2756 * <!-- begin-user-doc -->
2217 * <!-- end-user-doc --> 2757 * <!-- end-user-doc -->
2218 * @generated 2758 * @generated
@@ -2364,6 +2904,33 @@ public interface ProblemPackage extends EPackage {
2364 EClass UNBOUNDED_MULTIPLICITY = eINSTANCE.getUnboundedMultiplicity(); 2904 EClass UNBOUNDED_MULTIPLICITY = eINSTANCE.getUnboundedMultiplicity();
2365 2905
2366 /** 2906 /**
2907 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.VariableOrNodeArgumentImpl <em>Variable Or Node Argument</em>}' class.
2908 * <!-- begin-user-doc -->
2909 * <!-- end-user-doc -->
2910 * @see org.eclipse.viatra.solver.language.model.problem.impl.VariableOrNodeArgumentImpl
2911 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getVariableOrNodeArgument()
2912 * @generated
2913 */
2914 EClass VARIABLE_OR_NODE_ARGUMENT = eINSTANCE.getVariableOrNodeArgument();
2915
2916 /**
2917 * The meta object literal for the '<em><b>Variable Or Node</b></em>' reference feature.
2918 * <!-- begin-user-doc -->
2919 * <!-- end-user-doc -->
2920 * @generated
2921 */
2922 EReference VARIABLE_OR_NODE_ARGUMENT__VARIABLE_OR_NODE = eINSTANCE.getVariableOrNodeArgument_VariableOrNode();
2923
2924 /**
2925 * The meta object literal for the '<em><b>Singleton Variable</b></em>' containment reference feature.
2926 * <!-- begin-user-doc -->
2927 * <!-- end-user-doc -->
2928 * @generated
2929 */
2930 EReference VARIABLE_OR_NODE_ARGUMENT__SINGLETON_VARIABLE = eINSTANCE
2931 .getVariableOrNodeArgument_SingletonVariable();
2932
2933 /**
2367 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ArgumentImpl <em>Argument</em>}' class. 2934 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ArgumentImpl <em>Argument</em>}' class.
2368 * <!-- begin-user-doc --> 2935 * <!-- begin-user-doc -->
2369 * <!-- end-user-doc --> 2936 * <!-- end-user-doc -->
@@ -2374,20 +2941,76 @@ public interface ProblemPackage extends EPackage {
2374 EClass ARGUMENT = eINSTANCE.getArgument(); 2941 EClass ARGUMENT = eINSTANCE.getArgument();
2375 2942
2376 /** 2943 /**
2377 * The meta object literal for the '<em><b>Variable Or Node</b></em>' reference feature. 2944 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.NodeAssertionArgumentImpl <em>Node Assertion Argument</em>}' class.
2378 * <!-- begin-user-doc --> 2945 * <!-- begin-user-doc -->
2379 * <!-- end-user-doc --> 2946 * <!-- end-user-doc -->
2947 * @see org.eclipse.viatra.solver.language.model.problem.impl.NodeAssertionArgumentImpl
2948 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getNodeAssertionArgument()
2380 * @generated 2949 * @generated
2381 */ 2950 */
2382 EReference ARGUMENT__VARIABLE_OR_NODE = eINSTANCE.getArgument_VariableOrNode(); 2951 EClass NODE_ASSERTION_ARGUMENT = eINSTANCE.getNodeAssertionArgument();
2383 2952
2384 /** 2953 /**
2385 * The meta object literal for the '<em><b>Singleton Variable</b></em>' containment reference feature. 2954 * The meta object literal for the '<em><b>Node</b></em>' reference feature.
2955 * <!-- begin-user-doc -->
2956 * <!-- end-user-doc -->
2957 * @generated
2958 */
2959 EReference NODE_ASSERTION_ARGUMENT__NODE = eINSTANCE.getNodeAssertionArgument_Node();
2960
2961 /**
2962 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.AssertionArgumentImpl <em>Assertion Argument</em>}' class.
2963 * <!-- begin-user-doc -->
2964 * <!-- end-user-doc -->
2965 * @see org.eclipse.viatra.solver.language.model.problem.impl.AssertionArgumentImpl
2966 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getAssertionArgument()
2967 * @generated
2968 */
2969 EClass ASSERTION_ARGUMENT = eINSTANCE.getAssertionArgument();
2970
2971 /**
2972 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ConstantAssertionArgumentImpl <em>Constant Assertion Argument</em>}' class.
2973 * <!-- begin-user-doc -->
2974 * <!-- end-user-doc -->
2975 * @see org.eclipse.viatra.solver.language.model.problem.impl.ConstantAssertionArgumentImpl
2976 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getConstantAssertionArgument()
2977 * @generated
2978 */
2979 EClass CONSTANT_ASSERTION_ARGUMENT = eINSTANCE.getConstantAssertionArgument();
2980
2981 /**
2982 * The meta object literal for the '<em><b>Constant</b></em>' containment reference feature.
2983 * <!-- begin-user-doc -->
2984 * <!-- end-user-doc -->
2985 * @generated
2986 */
2987 EReference CONSTANT_ASSERTION_ARGUMENT__CONSTANT = eINSTANCE.getConstantAssertionArgument_Constant();
2988
2989 /**
2990 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.NodeValueAssertionImpl <em>Node Value Assertion</em>}' class.
2991 * <!-- begin-user-doc -->
2992 * <!-- end-user-doc -->
2993 * @see org.eclipse.viatra.solver.language.model.problem.impl.NodeValueAssertionImpl
2994 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getNodeValueAssertion()
2995 * @generated
2996 */
2997 EClass NODE_VALUE_ASSERTION = eINSTANCE.getNodeValueAssertion();
2998
2999 /**
3000 * The meta object literal for the '<em><b>Node</b></em>' reference feature.
3001 * <!-- begin-user-doc -->
3002 * <!-- end-user-doc -->
3003 * @generated
3004 */
3005 EReference NODE_VALUE_ASSERTION__NODE = eINSTANCE.getNodeValueAssertion_Node();
3006
3007 /**
3008 * The meta object literal for the '<em><b>Value</b></em>' containment reference feature.
2386 * <!-- begin-user-doc --> 3009 * <!-- begin-user-doc -->
2387 * <!-- end-user-doc --> 3010 * <!-- end-user-doc -->
2388 * @generated 3011 * @generated
2389 */ 3012 */
2390 EReference ARGUMENT__SINGLETON_VARIABLE = eINSTANCE.getArgument_SingletonVariable(); 3013 EReference NODE_VALUE_ASSERTION__VALUE = eINSTANCE.getNodeValueAssertion_Value();
2391 3014
2392 /** 3015 /**
2393 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.EnumDeclarationImpl <em>Enum Declaration</em>}' class. 3016 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.EnumDeclarationImpl <em>Enum Declaration</em>}' class.
@@ -2418,6 +3041,88 @@ public interface ProblemPackage extends EPackage {
2418 EClass VARIABLE_OR_NODE = eINSTANCE.getVariableOrNode(); 3041 EClass VARIABLE_OR_NODE = eINSTANCE.getVariableOrNode();
2419 3042
2420 /** 3043 /**
3044 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ConstantImpl <em>Constant</em>}' class.
3045 * <!-- begin-user-doc -->
3046 * <!-- end-user-doc -->
3047 * @see org.eclipse.viatra.solver.language.model.problem.impl.ConstantImpl
3048 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getConstant()
3049 * @generated
3050 */
3051 EClass CONSTANT = eINSTANCE.getConstant();
3052
3053 /**
3054 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.IntConstantImpl <em>Int Constant</em>}' class.
3055 * <!-- begin-user-doc -->
3056 * <!-- end-user-doc -->
3057 * @see org.eclipse.viatra.solver.language.model.problem.impl.IntConstantImpl
3058 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getIntConstant()
3059 * @generated
3060 */
3061 EClass INT_CONSTANT = eINSTANCE.getIntConstant();
3062
3063 /**
3064 * The meta object literal for the '<em><b>Int Value</b></em>' attribute feature.
3065 * <!-- begin-user-doc -->
3066 * <!-- end-user-doc -->
3067 * @generated
3068 */
3069 EAttribute INT_CONSTANT__INT_VALUE = eINSTANCE.getIntConstant_IntValue();
3070
3071 /**
3072 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.RealConstantImpl <em>Real Constant</em>}' class.
3073 * <!-- begin-user-doc -->
3074 * <!-- end-user-doc -->
3075 * @see org.eclipse.viatra.solver.language.model.problem.impl.RealConstantImpl
3076 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getRealConstant()
3077 * @generated
3078 */
3079 EClass REAL_CONSTANT = eINSTANCE.getRealConstant();
3080
3081 /**
3082 * The meta object literal for the '<em><b>Real Value</b></em>' attribute feature.
3083 * <!-- begin-user-doc -->
3084 * <!-- end-user-doc -->
3085 * @generated
3086 */
3087 EAttribute REAL_CONSTANT__REAL_VALUE = eINSTANCE.getRealConstant_RealValue();
3088
3089 /**
3090 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.StringConstantImpl <em>String Constant</em>}' class.
3091 * <!-- begin-user-doc -->
3092 * <!-- end-user-doc -->
3093 * @see org.eclipse.viatra.solver.language.model.problem.impl.StringConstantImpl
3094 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getStringConstant()
3095 * @generated
3096 */
3097 EClass STRING_CONSTANT = eINSTANCE.getStringConstant();
3098
3099 /**
3100 * The meta object literal for the '<em><b>String Value</b></em>' attribute feature.
3101 * <!-- begin-user-doc -->
3102 * <!-- end-user-doc -->
3103 * @generated
3104 */
3105 EAttribute STRING_CONSTANT__STRING_VALUE = eINSTANCE.getStringConstant_StringValue();
3106
3107 /**
3108 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ConstantArgumentImpl <em>Constant Argument</em>}' class.
3109 * <!-- begin-user-doc -->
3110 * <!-- end-user-doc -->
3111 * @see org.eclipse.viatra.solver.language.model.problem.impl.ConstantArgumentImpl
3112 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getConstantArgument()
3113 * @generated
3114 */
3115 EClass CONSTANT_ARGUMENT = eINSTANCE.getConstantArgument();
3116
3117 /**
3118 * The meta object literal for the '<em><b>Constant</b></em>' containment reference feature.
3119 * <!-- begin-user-doc -->
3120 * <!-- end-user-doc -->
3121 * @generated
3122 */
3123 EReference CONSTANT_ARGUMENT__CONSTANT = eINSTANCE.getConstantArgument_Constant();
3124
3125 /**
2421 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.LogicValue <em>Logic Value</em>}' enum. 3126 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.LogicValue <em>Logic Value</em>}' enum.
2422 * <!-- begin-user-doc --> 3127 * <!-- begin-user-doc -->
2423 * <!-- end-user-doc --> 3128 * <!-- end-user-doc -->
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/RealConstant.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/RealConstant.java
new file mode 100644
index 00000000..7ece8fb9
--- /dev/null
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/RealConstant.java
@@ -0,0 +1,45 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5/**
6 * <!-- begin-user-doc -->
7 * A representation of the model object '<em><b>Real Constant</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 * <p>
11 * The following features are supported:
12 * </p>
13 * <ul>
14 * <li>{@link org.eclipse.viatra.solver.language.model.problem.RealConstant#getRealValue <em>Real Value</em>}</li>
15 * </ul>
16 *
17 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getRealConstant()
18 * @model
19 * @generated
20 */
21public interface RealConstant extends Constant {
22 /**
23 * Returns the value of the '<em><b>Real Value</b></em>' attribute.
24 * The default value is <code>"0.0"</code>.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @return the value of the '<em>Real Value</em>' attribute.
28 * @see #setRealValue(double)
29 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getRealConstant_RealValue()
30 * @model default="0.0"
31 * @generated
32 */
33 double getRealValue();
34
35 /**
36 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.RealConstant#getRealValue <em>Real Value</em>}' attribute.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @param value the new value of the '<em>Real Value</em>' attribute.
40 * @see #getRealValue()
41 * @generated
42 */
43 void setRealValue(double value);
44
45} // RealConstant
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/StringConstant.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/StringConstant.java
new file mode 100644
index 00000000..5a6c6ec8
--- /dev/null
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/StringConstant.java
@@ -0,0 +1,44 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5/**
6 * <!-- begin-user-doc -->
7 * A representation of the model object '<em><b>String Constant</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 * <p>
11 * The following features are supported:
12 * </p>
13 * <ul>
14 * <li>{@link org.eclipse.viatra.solver.language.model.problem.StringConstant#getStringValue <em>String Value</em>}</li>
15 * </ul>
16 *
17 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getStringConstant()
18 * @model
19 * @generated
20 */
21public interface StringConstant extends Constant {
22 /**
23 * Returns the value of the '<em><b>String Value</b></em>' attribute.
24 * <!-- begin-user-doc -->
25 * <!-- end-user-doc -->
26 * @return the value of the '<em>String Value</em>' attribute.
27 * @see #setStringValue(String)
28 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getStringConstant_StringValue()
29 * @model
30 * @generated
31 */
32 String getStringValue();
33
34 /**
35 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.StringConstant#getStringValue <em>String Value</em>}' attribute.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @param value the new value of the '<em>String Value</em>' attribute.
39 * @see #getStringValue()
40 * @generated
41 */
42 void setStringValue(String value);
43
44} // StringConstant
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/VariableOrNodeArgument.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/VariableOrNodeArgument.java
new file mode 100644
index 00000000..02032585
--- /dev/null
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/VariableOrNodeArgument.java
@@ -0,0 +1,67 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5/**
6 * <!-- begin-user-doc -->
7 * A representation of the model object '<em><b>Variable Or Node Argument</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 * <p>
11 * The following features are supported:
12 * </p>
13 * <ul>
14 * <li>{@link org.eclipse.viatra.solver.language.model.problem.VariableOrNodeArgument#getVariableOrNode <em>Variable Or Node</em>}</li>
15 * <li>{@link org.eclipse.viatra.solver.language.model.problem.VariableOrNodeArgument#getSingletonVariable <em>Singleton Variable</em>}</li>
16 * </ul>
17 *
18 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getVariableOrNodeArgument()
19 * @model
20 * @generated
21 */
22public interface VariableOrNodeArgument extends Argument {
23 /**
24 * Returns the value of the '<em><b>Variable Or Node</b></em>' reference.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @return the value of the '<em>Variable Or Node</em>' reference.
28 * @see #setVariableOrNode(VariableOrNode)
29 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getVariableOrNodeArgument_VariableOrNode()
30 * @model
31 * @generated
32 */
33 VariableOrNode getVariableOrNode();
34
35 /**
36 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.VariableOrNodeArgument#getVariableOrNode <em>Variable Or Node</em>}' reference.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @param value the new value of the '<em>Variable Or Node</em>' reference.
40 * @see #getVariableOrNode()
41 * @generated
42 */
43 void setVariableOrNode(VariableOrNode value);
44
45 /**
46 * Returns the value of the '<em><b>Singleton Variable</b></em>' containment reference.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @return the value of the '<em>Singleton Variable</em>' containment reference.
50 * @see #setSingletonVariable(ImplicitVariable)
51 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getVariableOrNodeArgument_SingletonVariable()
52 * @model containment="true"
53 * @generated
54 */
55 ImplicitVariable getSingletonVariable();
56
57 /**
58 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.VariableOrNodeArgument#getSingletonVariable <em>Singleton Variable</em>}' containment reference.
59 * <!-- begin-user-doc -->
60 * <!-- end-user-doc -->
61 * @param value the new value of the '<em>Singleton Variable</em>' containment reference.
62 * @see #getSingletonVariable()
63 * @generated
64 */
65 void setSingletonVariable(ImplicitVariable value);
66
67} // VariableOrNodeArgument
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ArgumentImpl.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ArgumentImpl.java
index f7d045ca..68b23c09 100644
--- a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ArgumentImpl.java
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ArgumentImpl.java
@@ -2,55 +2,20 @@
2 */ 2 */
3package org.eclipse.viatra.solver.language.model.problem.impl; 3package org.eclipse.viatra.solver.language.model.problem.impl;
4 4
5import org.eclipse.emf.common.notify.Notification;
6import org.eclipse.emf.common.notify.NotificationChain;
7
8import org.eclipse.emf.ecore.EClass; 5import org.eclipse.emf.ecore.EClass;
9import org.eclipse.emf.ecore.InternalEObject;
10
11import org.eclipse.emf.ecore.impl.ENotificationImpl;
12import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; 6import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
13 7
14import org.eclipse.viatra.solver.language.model.problem.Argument; 8import org.eclipse.viatra.solver.language.model.problem.Argument;
15import org.eclipse.viatra.solver.language.model.problem.ImplicitVariable;
16import org.eclipse.viatra.solver.language.model.problem.ProblemPackage; 9import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
17import org.eclipse.viatra.solver.language.model.problem.VariableOrNode;
18 10
19/** 11/**
20 * <!-- begin-user-doc --> 12 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Argument</b></em>'. 13 * An implementation of the model object '<em><b>Argument</b></em>'.
22 * <!-- end-user-doc --> 14 * <!-- end-user-doc -->
23 * <p>
24 * The following features are implemented:
25 * </p>
26 * <ul>
27 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ArgumentImpl#getVariableOrNode <em>Variable Or Node</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ArgumentImpl#getSingletonVariable <em>Singleton Variable</em>}</li>
29 * </ul>
30 * 15 *
31 * @generated 16 * @generated
32 */ 17 */
33public class ArgumentImpl extends MinimalEObjectImpl.Container implements Argument { 18public abstract class ArgumentImpl extends MinimalEObjectImpl.Container implements Argument {
34 /**
35 * The cached value of the '{@link #getVariableOrNode() <em>Variable Or Node</em>}' reference.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @see #getVariableOrNode()
39 * @generated
40 * @ordered
41 */
42 protected VariableOrNode variableOrNode;
43
44 /**
45 * The cached value of the '{@link #getSingletonVariable() <em>Singleton Variable</em>}' containment reference.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @see #getSingletonVariable()
49 * @generated
50 * @ordered
51 */
52 protected ImplicitVariable singletonVariable;
53
54 /** 19 /**
55 * <!-- begin-user-doc --> 20 * <!-- begin-user-doc -->
56 * <!-- end-user-doc --> 21 * <!-- end-user-doc -->
@@ -70,178 +35,4 @@ public class ArgumentImpl extends MinimalEObjectImpl.Container implements Argume
70 return ProblemPackage.Literals.ARGUMENT; 35 return ProblemPackage.Literals.ARGUMENT;
71 } 36 }
72 37
73 /**
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @generated
77 */
78 public VariableOrNode getVariableOrNode() {
79 if (variableOrNode != null && variableOrNode.eIsProxy()) {
80 InternalEObject oldVariableOrNode = (InternalEObject) variableOrNode;
81 variableOrNode = (VariableOrNode) eResolveProxy(oldVariableOrNode);
82 if (variableOrNode != oldVariableOrNode) {
83 if (eNotificationRequired())
84 eNotify(new ENotificationImpl(this, Notification.RESOLVE, ProblemPackage.ARGUMENT__VARIABLE_OR_NODE,
85 oldVariableOrNode, variableOrNode));
86 }
87 }
88 return variableOrNode;
89 }
90
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 public VariableOrNode basicGetVariableOrNode() {
97 return variableOrNode;
98 }
99
100 /**
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @generated
104 */
105 public void setVariableOrNode(VariableOrNode newVariableOrNode) {
106 VariableOrNode oldVariableOrNode = variableOrNode;
107 variableOrNode = newVariableOrNode;
108 if (eNotificationRequired())
109 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.ARGUMENT__VARIABLE_OR_NODE,
110 oldVariableOrNode, variableOrNode));
111 }
112
113 /**
114 * <!-- begin-user-doc -->
115 * <!-- end-user-doc -->
116 * @generated
117 */
118 public ImplicitVariable getSingletonVariable() {
119 return singletonVariable;
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 public NotificationChain basicSetSingletonVariable(ImplicitVariable newSingletonVariable, NotificationChain msgs) {
128 ImplicitVariable oldSingletonVariable = singletonVariable;
129 singletonVariable = newSingletonVariable;
130 if (eNotificationRequired()) {
131 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
132 ProblemPackage.ARGUMENT__SINGLETON_VARIABLE, oldSingletonVariable, newSingletonVariable);
133 if (msgs == null)
134 msgs = notification;
135 else
136 msgs.add(notification);
137 }
138 return msgs;
139 }
140
141 /**
142 * <!-- begin-user-doc -->
143 * <!-- end-user-doc -->
144 * @generated
145 */
146 public void setSingletonVariable(ImplicitVariable newSingletonVariable) {
147 if (newSingletonVariable != singletonVariable) {
148 NotificationChain msgs = null;
149 if (singletonVariable != null)
150 msgs = ((InternalEObject) singletonVariable).eInverseRemove(this,
151 EOPPOSITE_FEATURE_BASE - ProblemPackage.ARGUMENT__SINGLETON_VARIABLE, null, msgs);
152 if (newSingletonVariable != null)
153 msgs = ((InternalEObject) newSingletonVariable).eInverseAdd(this,
154 EOPPOSITE_FEATURE_BASE - ProblemPackage.ARGUMENT__SINGLETON_VARIABLE, null, msgs);
155 msgs = basicSetSingletonVariable(newSingletonVariable, msgs);
156 if (msgs != null)
157 msgs.dispatch();
158 } else if (eNotificationRequired())
159 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.ARGUMENT__SINGLETON_VARIABLE,
160 newSingletonVariable, newSingletonVariable));
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 @Override
169 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
170 switch (featureID) {
171 case ProblemPackage.ARGUMENT__SINGLETON_VARIABLE:
172 return basicSetSingletonVariable(null, msgs);
173 }
174 return super.eInverseRemove(otherEnd, featureID, msgs);
175 }
176
177 /**
178 * <!-- begin-user-doc -->
179 * <!-- end-user-doc -->
180 * @generated
181 */
182 @Override
183 public Object eGet(int featureID, boolean resolve, boolean coreType) {
184 switch (featureID) {
185 case ProblemPackage.ARGUMENT__VARIABLE_OR_NODE:
186 if (resolve)
187 return getVariableOrNode();
188 return basicGetVariableOrNode();
189 case ProblemPackage.ARGUMENT__SINGLETON_VARIABLE:
190 return getSingletonVariable();
191 }
192 return super.eGet(featureID, resolve, coreType);
193 }
194
195 /**
196 * <!-- begin-user-doc -->
197 * <!-- end-user-doc -->
198 * @generated
199 */
200 @Override
201 public void eSet(int featureID, Object newValue) {
202 switch (featureID) {
203 case ProblemPackage.ARGUMENT__VARIABLE_OR_NODE:
204 setVariableOrNode((VariableOrNode) newValue);
205 return;
206 case ProblemPackage.ARGUMENT__SINGLETON_VARIABLE:
207 setSingletonVariable((ImplicitVariable) newValue);
208 return;
209 }
210 super.eSet(featureID, newValue);
211 }
212
213 /**
214 * <!-- begin-user-doc -->
215 * <!-- end-user-doc -->
216 * @generated
217 */
218 @Override
219 public void eUnset(int featureID) {
220 switch (featureID) {
221 case ProblemPackage.ARGUMENT__VARIABLE_OR_NODE:
222 setVariableOrNode((VariableOrNode) null);
223 return;
224 case ProblemPackage.ARGUMENT__SINGLETON_VARIABLE:
225 setSingletonVariable((ImplicitVariable) null);
226 return;
227 }
228 super.eUnset(featureID);
229 }
230
231 /**
232 * <!-- begin-user-doc -->
233 * <!-- end-user-doc -->
234 * @generated
235 */
236 @Override
237 public boolean eIsSet(int featureID) {
238 switch (featureID) {
239 case ProblemPackage.ARGUMENT__VARIABLE_OR_NODE:
240 return variableOrNode != null;
241 case ProblemPackage.ARGUMENT__SINGLETON_VARIABLE:
242 return singletonVariable != null;
243 }
244 return super.eIsSet(featureID);
245 }
246
247} //ArgumentImpl 38} //ArgumentImpl
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/AssertionArgumentImpl.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/AssertionArgumentImpl.java
new file mode 100644
index 00000000..af41b241
--- /dev/null
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/AssertionArgumentImpl.java
@@ -0,0 +1,39 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
8
9import org.eclipse.viatra.solver.language.model.problem.AssertionArgument;
10import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
11
12/**
13 * <!-- begin-user-doc -->
14 * An implementation of the model object '<em><b>Assertion Argument</b></em>'.
15 * <!-- end-user-doc -->
16 *
17 * @generated
18 */
19public abstract class AssertionArgumentImpl extends MinimalEObjectImpl.Container implements AssertionArgument {
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected AssertionArgumentImpl() {
26 super();
27 }
28
29 /**
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @generated
33 */
34 @Override
35 protected EClass eStaticClass() {
36 return ProblemPackage.Literals.ASSERTION_ARGUMENT;
37 }
38
39} //AssertionArgumentImpl
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/AssertionImpl.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/AssertionImpl.java
index 5856a276..2567d57b 100644
--- a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/AssertionImpl.java
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/AssertionImpl.java
@@ -6,6 +6,7 @@ import java.util.Collection;
6 6
7import org.eclipse.emf.common.notify.Notification; 7import org.eclipse.emf.common.notify.Notification;
8 8
9import org.eclipse.emf.common.notify.NotificationChain;
9import org.eclipse.emf.common.util.EList; 10import org.eclipse.emf.common.util.EList;
10 11
11import org.eclipse.emf.ecore.EClass; 12import org.eclipse.emf.ecore.EClass;
@@ -14,11 +15,11 @@ import org.eclipse.emf.ecore.InternalEObject;
14import org.eclipse.emf.ecore.impl.ENotificationImpl; 15import org.eclipse.emf.ecore.impl.ENotificationImpl;
15import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; 16import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
16 17
17import org.eclipse.emf.ecore.util.EObjectResolvingEList; 18import org.eclipse.emf.ecore.util.EObjectContainmentEList;
18 19import org.eclipse.emf.ecore.util.InternalEList;
19import org.eclipse.viatra.solver.language.model.problem.Assertion; 20import org.eclipse.viatra.solver.language.model.problem.Assertion;
21import org.eclipse.viatra.solver.language.model.problem.AssertionArgument;
20import org.eclipse.viatra.solver.language.model.problem.LogicValue; 22import org.eclipse.viatra.solver.language.model.problem.LogicValue;
21import org.eclipse.viatra.solver.language.model.problem.Node;
22import org.eclipse.viatra.solver.language.model.problem.ProblemPackage; 23import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
23import org.eclipse.viatra.solver.language.model.problem.Relation; 24import org.eclipse.viatra.solver.language.model.problem.Relation;
24 25
@@ -31,8 +32,8 @@ import org.eclipse.viatra.solver.language.model.problem.Relation;
31 * </p> 32 * </p>
32 * <ul> 33 * <ul>
33 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.AssertionImpl#getRelation <em>Relation</em>}</li> 34 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.AssertionImpl#getRelation <em>Relation</em>}</li>
34 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.AssertionImpl#getArguments <em>Arguments</em>}</li>
35 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.AssertionImpl#getValue <em>Value</em>}</li> 35 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.AssertionImpl#getValue <em>Value</em>}</li>
36 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.AssertionImpl#getArguments <em>Arguments</em>}</li>
36 * </ul> 37 * </ul>
37 * 38 *
38 * @generated 39 * @generated
@@ -49,34 +50,34 @@ public class AssertionImpl extends MinimalEObjectImpl.Container implements Asser
49 protected Relation relation; 50 protected Relation relation;
50 51
51 /** 52 /**
52 * The cached value of the '{@link #getArguments() <em>Arguments</em>}' reference list. 53 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
53 * <!-- begin-user-doc --> 54 * <!-- begin-user-doc -->
54 * <!-- end-user-doc --> 55 * <!-- end-user-doc -->
55 * @see #getArguments() 56 * @see #getValue()
56 * @generated 57 * @generated
57 * @ordered 58 * @ordered
58 */ 59 */
59 protected EList<Node> arguments; 60 protected static final LogicValue VALUE_EDEFAULT = LogicValue.TRUE;
60 61
61 /** 62 /**
62 * The default value of the '{@link #getValue() <em>Value</em>}' attribute. 63 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
63 * <!-- begin-user-doc --> 64 * <!-- begin-user-doc -->
64 * <!-- end-user-doc --> 65 * <!-- end-user-doc -->
65 * @see #getValue() 66 * @see #getValue()
66 * @generated 67 * @generated
67 * @ordered 68 * @ordered
68 */ 69 */
69 protected static final LogicValue VALUE_EDEFAULT = LogicValue.TRUE; 70 protected LogicValue value = VALUE_EDEFAULT;
70 71
71 /** 72 /**
72 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute. 73 * The cached value of the '{@link #getArguments() <em>Arguments</em>}' containment reference list.
73 * <!-- begin-user-doc --> 74 * <!-- begin-user-doc -->
74 * <!-- end-user-doc --> 75 * <!-- end-user-doc -->
75 * @see #getValue() 76 * @see #getArguments()
76 * @generated 77 * @generated
77 * @ordered 78 * @ordered
78 */ 79 */
79 protected LogicValue value = VALUE_EDEFAULT; 80 protected EList<AssertionArgument> arguments;
80 81
81 /** 82 /**
82 * <!-- begin-user-doc --> 83 * <!-- begin-user-doc -->
@@ -142,9 +143,10 @@ public class AssertionImpl extends MinimalEObjectImpl.Container implements Asser
142 * <!-- end-user-doc --> 143 * <!-- end-user-doc -->
143 * @generated 144 * @generated
144 */ 145 */
145 public EList<Node> getArguments() { 146 public EList<AssertionArgument> getArguments() {
146 if (arguments == null) { 147 if (arguments == null) {
147 arguments = new EObjectResolvingEList<Node>(Node.class, this, ProblemPackage.ASSERTION__ARGUMENTS); 148 arguments = new EObjectContainmentEList<AssertionArgument>(AssertionArgument.class, this,
149 ProblemPackage.ASSERTION__ARGUMENTS);
148 } 150 }
149 return arguments; 151 return arguments;
150 } 152 }
@@ -154,6 +156,20 @@ public class AssertionImpl extends MinimalEObjectImpl.Container implements Asser
154 * <!-- end-user-doc --> 156 * <!-- end-user-doc -->
155 * @generated 157 * @generated
156 */ 158 */
159 @Override
160 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
161 switch (featureID) {
162 case ProblemPackage.ASSERTION__ARGUMENTS:
163 return ((InternalEList<?>) getArguments()).basicRemove(otherEnd, msgs);
164 }
165 return super.eInverseRemove(otherEnd, featureID, msgs);
166 }
167
168 /**
169 * <!-- begin-user-doc -->
170 * <!-- end-user-doc -->
171 * @generated
172 */
157 public LogicValue getValue() { 173 public LogicValue getValue() {
158 return value; 174 return value;
159 } 175 }
@@ -182,10 +198,10 @@ public class AssertionImpl extends MinimalEObjectImpl.Container implements Asser
182 if (resolve) 198 if (resolve)
183 return getRelation(); 199 return getRelation();
184 return basicGetRelation(); 200 return basicGetRelation();
185 case ProblemPackage.ASSERTION__ARGUMENTS:
186 return getArguments();
187 case ProblemPackage.ASSERTION__VALUE: 201 case ProblemPackage.ASSERTION__VALUE:
188 return getValue(); 202 return getValue();
203 case ProblemPackage.ASSERTION__ARGUMENTS:
204 return getArguments();
189 } 205 }
190 return super.eGet(featureID, resolve, coreType); 206 return super.eGet(featureID, resolve, coreType);
191 } 207 }
@@ -202,13 +218,13 @@ public class AssertionImpl extends MinimalEObjectImpl.Container implements Asser
202 case ProblemPackage.ASSERTION__RELATION: 218 case ProblemPackage.ASSERTION__RELATION:
203 setRelation((Relation) newValue); 219 setRelation((Relation) newValue);
204 return; 220 return;
205 case ProblemPackage.ASSERTION__ARGUMENTS:
206 getArguments().clear();
207 getArguments().addAll((Collection<? extends Node>) newValue);
208 return;
209 case ProblemPackage.ASSERTION__VALUE: 221 case ProblemPackage.ASSERTION__VALUE:
210 setValue((LogicValue) newValue); 222 setValue((LogicValue) newValue);
211 return; 223 return;
224 case ProblemPackage.ASSERTION__ARGUMENTS:
225 getArguments().clear();
226 getArguments().addAll((Collection<? extends AssertionArgument>) newValue);
227 return;
212 } 228 }
213 super.eSet(featureID, newValue); 229 super.eSet(featureID, newValue);
214 } 230 }
@@ -224,12 +240,12 @@ public class AssertionImpl extends MinimalEObjectImpl.Container implements Asser
224 case ProblemPackage.ASSERTION__RELATION: 240 case ProblemPackage.ASSERTION__RELATION:
225 setRelation((Relation) null); 241 setRelation((Relation) null);
226 return; 242 return;
227 case ProblemPackage.ASSERTION__ARGUMENTS:
228 getArguments().clear();
229 return;
230 case ProblemPackage.ASSERTION__VALUE: 243 case ProblemPackage.ASSERTION__VALUE:
231 setValue(VALUE_EDEFAULT); 244 setValue(VALUE_EDEFAULT);
232 return; 245 return;
246 case ProblemPackage.ASSERTION__ARGUMENTS:
247 getArguments().clear();
248 return;
233 } 249 }
234 super.eUnset(featureID); 250 super.eUnset(featureID);
235 } 251 }
@@ -244,10 +260,10 @@ public class AssertionImpl extends MinimalEObjectImpl.Container implements Asser
244 switch (featureID) { 260 switch (featureID) {
245 case ProblemPackage.ASSERTION__RELATION: 261 case ProblemPackage.ASSERTION__RELATION:
246 return relation != null; 262 return relation != null;
247 case ProblemPackage.ASSERTION__ARGUMENTS:
248 return arguments != null && !arguments.isEmpty();
249 case ProblemPackage.ASSERTION__VALUE: 263 case ProblemPackage.ASSERTION__VALUE:
250 return value != VALUE_EDEFAULT; 264 return value != VALUE_EDEFAULT;
265 case ProblemPackage.ASSERTION__ARGUMENTS:
266 return arguments != null && !arguments.isEmpty();
251 } 267 }
252 return super.eIsSet(featureID); 268 return super.eIsSet(featureID);
253 } 269 }
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ConstantArgumentImpl.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ConstantArgumentImpl.java
new file mode 100644
index 00000000..10798200
--- /dev/null
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ConstantArgumentImpl.java
@@ -0,0 +1,182 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import org.eclipse.emf.common.notify.Notification;
6import org.eclipse.emf.common.notify.NotificationChain;
7
8import org.eclipse.emf.ecore.EClass;
9import org.eclipse.emf.ecore.InternalEObject;
10
11import org.eclipse.emf.ecore.impl.ENotificationImpl;
12
13import org.eclipse.viatra.solver.language.model.problem.Constant;
14import org.eclipse.viatra.solver.language.model.problem.ConstantArgument;
15import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Constant Argument</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ConstantArgumentImpl#getConstant <em>Constant</em>}</li>
26 * </ul>
27 *
28 * @generated
29 */
30public class ConstantArgumentImpl extends ArgumentImpl implements ConstantArgument {
31 /**
32 * The cached value of the '{@link #getConstant() <em>Constant</em>}' containment reference.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @see #getConstant()
36 * @generated
37 * @ordered
38 */
39 protected Constant constant;
40
41 /**
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @generated
45 */
46 protected ConstantArgumentImpl() {
47 super();
48 }
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 @Override
56 protected EClass eStaticClass() {
57 return ProblemPackage.Literals.CONSTANT_ARGUMENT;
58 }
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 public Constant getConstant() {
66 return constant;
67 }
68
69 /**
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @generated
73 */
74 public NotificationChain basicSetConstant(Constant newConstant, NotificationChain msgs) {
75 Constant oldConstant = constant;
76 constant = newConstant;
77 if (eNotificationRequired()) {
78 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
79 ProblemPackage.CONSTANT_ARGUMENT__CONSTANT, oldConstant, newConstant);
80 if (msgs == null)
81 msgs = notification;
82 else
83 msgs.add(notification);
84 }
85 return msgs;
86 }
87
88 /**
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 */
93 public void setConstant(Constant newConstant) {
94 if (newConstant != constant) {
95 NotificationChain msgs = null;
96 if (constant != null)
97 msgs = ((InternalEObject) constant).eInverseRemove(this,
98 EOPPOSITE_FEATURE_BASE - ProblemPackage.CONSTANT_ARGUMENT__CONSTANT, null, msgs);
99 if (newConstant != null)
100 msgs = ((InternalEObject) newConstant).eInverseAdd(this,
101 EOPPOSITE_FEATURE_BASE - ProblemPackage.CONSTANT_ARGUMENT__CONSTANT, null, msgs);
102 msgs = basicSetConstant(newConstant, msgs);
103 if (msgs != null)
104 msgs.dispatch();
105 } else if (eNotificationRequired())
106 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.CONSTANT_ARGUMENT__CONSTANT,
107 newConstant, newConstant));
108 }
109
110 /**
111 * <!-- begin-user-doc -->
112 * <!-- end-user-doc -->
113 * @generated
114 */
115 @Override
116 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
117 switch (featureID) {
118 case ProblemPackage.CONSTANT_ARGUMENT__CONSTANT:
119 return basicSetConstant(null, msgs);
120 }
121 return super.eInverseRemove(otherEnd, featureID, msgs);
122 }
123
124 /**
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @generated
128 */
129 @Override
130 public Object eGet(int featureID, boolean resolve, boolean coreType) {
131 switch (featureID) {
132 case ProblemPackage.CONSTANT_ARGUMENT__CONSTANT:
133 return getConstant();
134 }
135 return super.eGet(featureID, resolve, coreType);
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 @Override
144 public void eSet(int featureID, Object newValue) {
145 switch (featureID) {
146 case ProblemPackage.CONSTANT_ARGUMENT__CONSTANT:
147 setConstant((Constant) newValue);
148 return;
149 }
150 super.eSet(featureID, newValue);
151 }
152
153 /**
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @generated
157 */
158 @Override
159 public void eUnset(int featureID) {
160 switch (featureID) {
161 case ProblemPackage.CONSTANT_ARGUMENT__CONSTANT:
162 setConstant((Constant) null);
163 return;
164 }
165 super.eUnset(featureID);
166 }
167
168 /**
169 * <!-- begin-user-doc -->
170 * <!-- end-user-doc -->
171 * @generated
172 */
173 @Override
174 public boolean eIsSet(int featureID) {
175 switch (featureID) {
176 case ProblemPackage.CONSTANT_ARGUMENT__CONSTANT:
177 return constant != null;
178 }
179 return super.eIsSet(featureID);
180 }
181
182} //ConstantArgumentImpl
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ConstantAssertionArgumentImpl.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ConstantAssertionArgumentImpl.java
new file mode 100644
index 00000000..6b5b3ed2
--- /dev/null
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ConstantAssertionArgumentImpl.java
@@ -0,0 +1,182 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import org.eclipse.emf.common.notify.Notification;
6import org.eclipse.emf.common.notify.NotificationChain;
7
8import org.eclipse.emf.ecore.EClass;
9import org.eclipse.emf.ecore.InternalEObject;
10
11import org.eclipse.emf.ecore.impl.ENotificationImpl;
12
13import org.eclipse.viatra.solver.language.model.problem.Constant;
14import org.eclipse.viatra.solver.language.model.problem.ConstantAssertionArgument;
15import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Constant Assertion Argument</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ConstantAssertionArgumentImpl#getConstant <em>Constant</em>}</li>
26 * </ul>
27 *
28 * @generated
29 */
30public class ConstantAssertionArgumentImpl extends AssertionArgumentImpl implements ConstantAssertionArgument {
31 /**
32 * The cached value of the '{@link #getConstant() <em>Constant</em>}' containment reference.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @see #getConstant()
36 * @generated
37 * @ordered
38 */
39 protected Constant constant;
40
41 /**
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @generated
45 */
46 protected ConstantAssertionArgumentImpl() {
47 super();
48 }
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 @Override
56 protected EClass eStaticClass() {
57 return ProblemPackage.Literals.CONSTANT_ASSERTION_ARGUMENT;
58 }
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 public Constant getConstant() {
66 return constant;
67 }
68
69 /**
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @generated
73 */
74 public NotificationChain basicSetConstant(Constant newConstant, NotificationChain msgs) {
75 Constant oldConstant = constant;
76 constant = newConstant;
77 if (eNotificationRequired()) {
78 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
79 ProblemPackage.CONSTANT_ASSERTION_ARGUMENT__CONSTANT, oldConstant, newConstant);
80 if (msgs == null)
81 msgs = notification;
82 else
83 msgs.add(notification);
84 }
85 return msgs;
86 }
87
88 /**
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 */
93 public void setConstant(Constant newConstant) {
94 if (newConstant != constant) {
95 NotificationChain msgs = null;
96 if (constant != null)
97 msgs = ((InternalEObject) constant).eInverseRemove(this,
98 EOPPOSITE_FEATURE_BASE - ProblemPackage.CONSTANT_ASSERTION_ARGUMENT__CONSTANT, null, msgs);
99 if (newConstant != null)
100 msgs = ((InternalEObject) newConstant).eInverseAdd(this,
101 EOPPOSITE_FEATURE_BASE - ProblemPackage.CONSTANT_ASSERTION_ARGUMENT__CONSTANT, null, msgs);
102 msgs = basicSetConstant(newConstant, msgs);
103 if (msgs != null)
104 msgs.dispatch();
105 } else if (eNotificationRequired())
106 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.CONSTANT_ASSERTION_ARGUMENT__CONSTANT,
107 newConstant, newConstant));
108 }
109
110 /**
111 * <!-- begin-user-doc -->
112 * <!-- end-user-doc -->
113 * @generated
114 */
115 @Override
116 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
117 switch (featureID) {
118 case ProblemPackage.CONSTANT_ASSERTION_ARGUMENT__CONSTANT:
119 return basicSetConstant(null, msgs);
120 }
121 return super.eInverseRemove(otherEnd, featureID, msgs);
122 }
123
124 /**
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @generated
128 */
129 @Override
130 public Object eGet(int featureID, boolean resolve, boolean coreType) {
131 switch (featureID) {
132 case ProblemPackage.CONSTANT_ASSERTION_ARGUMENT__CONSTANT:
133 return getConstant();
134 }
135 return super.eGet(featureID, resolve, coreType);
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 @Override
144 public void eSet(int featureID, Object newValue) {
145 switch (featureID) {
146 case ProblemPackage.CONSTANT_ASSERTION_ARGUMENT__CONSTANT:
147 setConstant((Constant) newValue);
148 return;
149 }
150 super.eSet(featureID, newValue);
151 }
152
153 /**
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @generated
157 */
158 @Override
159 public void eUnset(int featureID) {
160 switch (featureID) {
161 case ProblemPackage.CONSTANT_ASSERTION_ARGUMENT__CONSTANT:
162 setConstant((Constant) null);
163 return;
164 }
165 super.eUnset(featureID);
166 }
167
168 /**
169 * <!-- begin-user-doc -->
170 * <!-- end-user-doc -->
171 * @generated
172 */
173 @Override
174 public boolean eIsSet(int featureID) {
175 switch (featureID) {
176 case ProblemPackage.CONSTANT_ASSERTION_ARGUMENT__CONSTANT:
177 return constant != null;
178 }
179 return super.eIsSet(featureID);
180 }
181
182} //ConstantAssertionArgumentImpl
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ConstantImpl.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ConstantImpl.java
new file mode 100644
index 00000000..14be4fb4
--- /dev/null
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ConstantImpl.java
@@ -0,0 +1,39 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
8
9import org.eclipse.viatra.solver.language.model.problem.Constant;
10import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
11
12/**
13 * <!-- begin-user-doc -->
14 * An implementation of the model object '<em><b>Constant</b></em>'.
15 * <!-- end-user-doc -->
16 *
17 * @generated
18 */
19public abstract class ConstantImpl extends MinimalEObjectImpl.Container implements Constant {
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected ConstantImpl() {
26 super();
27 }
28
29 /**
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @generated
33 */
34 @Override
35 protected EClass eStaticClass() {
36 return ProblemPackage.Literals.CONSTANT;
37 }
38
39} //ConstantImpl
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/IntConstantImpl.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/IntConstantImpl.java
new file mode 100644
index 00000000..1a0da417
--- /dev/null
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/IntConstantImpl.java
@@ -0,0 +1,164 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import org.eclipse.emf.common.notify.Notification;
6
7import org.eclipse.emf.ecore.EClass;
8
9import org.eclipse.emf.ecore.impl.ENotificationImpl;
10
11import org.eclipse.viatra.solver.language.model.problem.IntConstant;
12import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
13
14/**
15 * <!-- begin-user-doc -->
16 * An implementation of the model object '<em><b>Int Constant</b></em>'.
17 * <!-- end-user-doc -->
18 * <p>
19 * The following features are implemented:
20 * </p>
21 * <ul>
22 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.IntConstantImpl#getIntValue <em>Int Value</em>}</li>
23 * </ul>
24 *
25 * @generated
26 */
27public class IntConstantImpl extends ConstantImpl implements IntConstant {
28 /**
29 * The default value of the '{@link #getIntValue() <em>Int Value</em>}' attribute.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @see #getIntValue()
33 * @generated
34 * @ordered
35 */
36 protected static final int INT_VALUE_EDEFAULT = 0;
37
38 /**
39 * The cached value of the '{@link #getIntValue() <em>Int Value</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @see #getIntValue()
43 * @generated
44 * @ordered
45 */
46 protected int intValue = INT_VALUE_EDEFAULT;
47
48 /**
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @generated
52 */
53 protected IntConstantImpl() {
54 super();
55 }
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 @Override
63 protected EClass eStaticClass() {
64 return ProblemPackage.Literals.INT_CONSTANT;
65 }
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 public int getIntValue() {
73 return intValue;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 public void setIntValue(int newIntValue) {
82 int oldIntValue = intValue;
83 intValue = newIntValue;
84 if (eNotificationRequired())
85 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.INT_CONSTANT__INT_VALUE, oldIntValue,
86 intValue));
87 }
88
89 /**
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @generated
93 */
94 @Override
95 public Object eGet(int featureID, boolean resolve, boolean coreType) {
96 switch (featureID) {
97 case ProblemPackage.INT_CONSTANT__INT_VALUE:
98 return getIntValue();
99 }
100 return super.eGet(featureID, resolve, coreType);
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 @Override
109 public void eSet(int featureID, Object newValue) {
110 switch (featureID) {
111 case ProblemPackage.INT_CONSTANT__INT_VALUE:
112 setIntValue((Integer) newValue);
113 return;
114 }
115 super.eSet(featureID, newValue);
116 }
117
118 /**
119 * <!-- begin-user-doc -->
120 * <!-- end-user-doc -->
121 * @generated
122 */
123 @Override
124 public void eUnset(int featureID) {
125 switch (featureID) {
126 case ProblemPackage.INT_CONSTANT__INT_VALUE:
127 setIntValue(INT_VALUE_EDEFAULT);
128 return;
129 }
130 super.eUnset(featureID);
131 }
132
133 /**
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 */
138 @Override
139 public boolean eIsSet(int featureID) {
140 switch (featureID) {
141 case ProblemPackage.INT_CONSTANT__INT_VALUE:
142 return intValue != INT_VALUE_EDEFAULT;
143 }
144 return super.eIsSet(featureID);
145 }
146
147 /**
148 * <!-- begin-user-doc -->
149 * <!-- end-user-doc -->
150 * @generated
151 */
152 @Override
153 public String toString() {
154 if (eIsProxy())
155 return super.toString();
156
157 StringBuilder result = new StringBuilder(super.toString());
158 result.append(" (intValue: ");
159 result.append(intValue);
160 result.append(')');
161 return result.toString();
162 }
163
164} //IntConstantImpl
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NodeAssertionArgumentImpl.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NodeAssertionArgumentImpl.java
new file mode 100644
index 00000000..27a702fd
--- /dev/null
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NodeAssertionArgumentImpl.java
@@ -0,0 +1,159 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import org.eclipse.emf.common.notify.Notification;
6
7import org.eclipse.emf.ecore.EClass;
8import org.eclipse.emf.ecore.InternalEObject;
9
10import org.eclipse.emf.ecore.impl.ENotificationImpl;
11
12import org.eclipse.viatra.solver.language.model.problem.Node;
13import org.eclipse.viatra.solver.language.model.problem.NodeAssertionArgument;
14import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
15
16/**
17 * <!-- begin-user-doc -->
18 * An implementation of the model object '<em><b>Node Assertion Argument</b></em>'.
19 * <!-- end-user-doc -->
20 * <p>
21 * The following features are implemented:
22 * </p>
23 * <ul>
24 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.NodeAssertionArgumentImpl#getNode <em>Node</em>}</li>
25 * </ul>
26 *
27 * @generated
28 */
29public class NodeAssertionArgumentImpl extends AssertionArgumentImpl implements NodeAssertionArgument {
30 /**
31 * The cached value of the '{@link #getNode() <em>Node</em>}' reference.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @see #getNode()
35 * @generated
36 * @ordered
37 */
38 protected Node node;
39
40 /**
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @generated
44 */
45 protected NodeAssertionArgumentImpl() {
46 super();
47 }
48
49 /**
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @generated
53 */
54 @Override
55 protected EClass eStaticClass() {
56 return ProblemPackage.Literals.NODE_ASSERTION_ARGUMENT;
57 }
58
59 /**
60 * <!-- begin-user-doc -->
61 * <!-- end-user-doc -->
62 * @generated
63 */
64 public Node getNode() {
65 if (node != null && node.eIsProxy()) {
66 InternalEObject oldNode = (InternalEObject) node;
67 node = (Node) eResolveProxy(oldNode);
68 if (node != oldNode) {
69 if (eNotificationRequired())
70 eNotify(new ENotificationImpl(this, Notification.RESOLVE,
71 ProblemPackage.NODE_ASSERTION_ARGUMENT__NODE, oldNode, node));
72 }
73 }
74 return node;
75 }
76
77 /**
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @generated
81 */
82 public Node basicGetNode() {
83 return node;
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 public void setNode(Node newNode) {
92 Node oldNode = node;
93 node = newNode;
94 if (eNotificationRequired())
95 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.NODE_ASSERTION_ARGUMENT__NODE, oldNode,
96 node));
97 }
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 @Override
105 public Object eGet(int featureID, boolean resolve, boolean coreType) {
106 switch (featureID) {
107 case ProblemPackage.NODE_ASSERTION_ARGUMENT__NODE:
108 if (resolve)
109 return getNode();
110 return basicGetNode();
111 }
112 return super.eGet(featureID, resolve, coreType);
113 }
114
115 /**
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 */
120 @Override
121 public void eSet(int featureID, Object newValue) {
122 switch (featureID) {
123 case ProblemPackage.NODE_ASSERTION_ARGUMENT__NODE:
124 setNode((Node) newValue);
125 return;
126 }
127 super.eSet(featureID, newValue);
128 }
129
130 /**
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @generated
134 */
135 @Override
136 public void eUnset(int featureID) {
137 switch (featureID) {
138 case ProblemPackage.NODE_ASSERTION_ARGUMENT__NODE:
139 setNode((Node) null);
140 return;
141 }
142 super.eUnset(featureID);
143 }
144
145 /**
146 * <!-- begin-user-doc -->
147 * <!-- end-user-doc -->
148 * @generated
149 */
150 @Override
151 public boolean eIsSet(int featureID) {
152 switch (featureID) {
153 case ProblemPackage.NODE_ASSERTION_ARGUMENT__NODE:
154 return node != null;
155 }
156 return super.eIsSet(featureID);
157 }
158
159} //NodeAssertionArgumentImpl
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NodeValueAssertionImpl.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NodeValueAssertionImpl.java
new file mode 100644
index 00000000..0078b35e
--- /dev/null
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NodeValueAssertionImpl.java
@@ -0,0 +1,247 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import org.eclipse.emf.common.notify.Notification;
6import org.eclipse.emf.common.notify.NotificationChain;
7
8import org.eclipse.emf.ecore.EClass;
9import org.eclipse.emf.ecore.InternalEObject;
10
11import org.eclipse.emf.ecore.impl.ENotificationImpl;
12import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
13
14import org.eclipse.viatra.solver.language.model.problem.Constant;
15import org.eclipse.viatra.solver.language.model.problem.Node;
16import org.eclipse.viatra.solver.language.model.problem.NodeValueAssertion;
17import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Node Value Assertion</b></em>'.
22 * <!-- end-user-doc -->
23 * <p>
24 * The following features are implemented:
25 * </p>
26 * <ul>
27 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.NodeValueAssertionImpl#getNode <em>Node</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.NodeValueAssertionImpl#getValue <em>Value</em>}</li>
29 * </ul>
30 *
31 * @generated
32 */
33public class NodeValueAssertionImpl extends MinimalEObjectImpl.Container implements NodeValueAssertion {
34 /**
35 * The cached value of the '{@link #getNode() <em>Node</em>}' reference.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @see #getNode()
39 * @generated
40 * @ordered
41 */
42 protected Node node;
43
44 /**
45 * The cached value of the '{@link #getValue() <em>Value</em>}' containment reference.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @see #getValue()
49 * @generated
50 * @ordered
51 */
52 protected Constant value;
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 protected NodeValueAssertionImpl() {
60 super();
61 }
62
63 /**
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @generated
67 */
68 @Override
69 protected EClass eStaticClass() {
70 return ProblemPackage.Literals.NODE_VALUE_ASSERTION;
71 }
72
73 /**
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @generated
77 */
78 public Node getNode() {
79 if (node != null && node.eIsProxy()) {
80 InternalEObject oldNode = (InternalEObject) node;
81 node = (Node) eResolveProxy(oldNode);
82 if (node != oldNode) {
83 if (eNotificationRequired())
84 eNotify(new ENotificationImpl(this, Notification.RESOLVE, ProblemPackage.NODE_VALUE_ASSERTION__NODE,
85 oldNode, node));
86 }
87 }
88 return node;
89 }
90
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 public Node basicGetNode() {
97 return node;
98 }
99
100 /**
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @generated
104 */
105 public void setNode(Node newNode) {
106 Node oldNode = node;
107 node = newNode;
108 if (eNotificationRequired())
109 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.NODE_VALUE_ASSERTION__NODE, oldNode,
110 node));
111 }
112
113 /**
114 * <!-- begin-user-doc -->
115 * <!-- end-user-doc -->
116 * @generated
117 */
118 public Constant getValue() {
119 return value;
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 public NotificationChain basicSetValue(Constant newValue, NotificationChain msgs) {
128 Constant oldValue = value;
129 value = newValue;
130 if (eNotificationRequired()) {
131 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
132 ProblemPackage.NODE_VALUE_ASSERTION__VALUE, oldValue, newValue);
133 if (msgs == null)
134 msgs = notification;
135 else
136 msgs.add(notification);
137 }
138 return msgs;
139 }
140
141 /**
142 * <!-- begin-user-doc -->
143 * <!-- end-user-doc -->
144 * @generated
145 */
146 public void setValue(Constant newValue) {
147 if (newValue != value) {
148 NotificationChain msgs = null;
149 if (value != null)
150 msgs = ((InternalEObject) value).eInverseRemove(this,
151 EOPPOSITE_FEATURE_BASE - ProblemPackage.NODE_VALUE_ASSERTION__VALUE, null, msgs);
152 if (newValue != null)
153 msgs = ((InternalEObject) newValue).eInverseAdd(this,
154 EOPPOSITE_FEATURE_BASE - ProblemPackage.NODE_VALUE_ASSERTION__VALUE, null, msgs);
155 msgs = basicSetValue(newValue, msgs);
156 if (msgs != null)
157 msgs.dispatch();
158 } else if (eNotificationRequired())
159 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.NODE_VALUE_ASSERTION__VALUE, newValue,
160 newValue));
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 @Override
169 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
170 switch (featureID) {
171 case ProblemPackage.NODE_VALUE_ASSERTION__VALUE:
172 return basicSetValue(null, msgs);
173 }
174 return super.eInverseRemove(otherEnd, featureID, msgs);
175 }
176
177 /**
178 * <!-- begin-user-doc -->
179 * <!-- end-user-doc -->
180 * @generated
181 */
182 @Override
183 public Object eGet(int featureID, boolean resolve, boolean coreType) {
184 switch (featureID) {
185 case ProblemPackage.NODE_VALUE_ASSERTION__NODE:
186 if (resolve)
187 return getNode();
188 return basicGetNode();
189 case ProblemPackage.NODE_VALUE_ASSERTION__VALUE:
190 return getValue();
191 }
192 return super.eGet(featureID, resolve, coreType);
193 }
194
195 /**
196 * <!-- begin-user-doc -->
197 * <!-- end-user-doc -->
198 * @generated
199 */
200 @Override
201 public void eSet(int featureID, Object newValue) {
202 switch (featureID) {
203 case ProblemPackage.NODE_VALUE_ASSERTION__NODE:
204 setNode((Node) newValue);
205 return;
206 case ProblemPackage.NODE_VALUE_ASSERTION__VALUE:
207 setValue((Constant) newValue);
208 return;
209 }
210 super.eSet(featureID, newValue);
211 }
212
213 /**
214 * <!-- begin-user-doc -->
215 * <!-- end-user-doc -->
216 * @generated
217 */
218 @Override
219 public void eUnset(int featureID) {
220 switch (featureID) {
221 case ProblemPackage.NODE_VALUE_ASSERTION__NODE:
222 setNode((Node) null);
223 return;
224 case ProblemPackage.NODE_VALUE_ASSERTION__VALUE:
225 setValue((Constant) null);
226 return;
227 }
228 super.eUnset(featureID);
229 }
230
231 /**
232 * <!-- begin-user-doc -->
233 * <!-- end-user-doc -->
234 * @generated
235 */
236 @Override
237 public boolean eIsSet(int featureID) {
238 switch (featureID) {
239 case ProblemPackage.NODE_VALUE_ASSERTION__NODE:
240 return node != null;
241 case ProblemPackage.NODE_VALUE_ASSERTION__VALUE:
242 return value != null;
243 }
244 return super.eIsSet(featureID);
245 }
246
247} //NodeValueAssertionImpl
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemFactoryImpl.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemFactoryImpl.java
index 2f4144b9..27da13e2 100644
--- a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemFactoryImpl.java
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemFactoryImpl.java
@@ -89,10 +89,24 @@ public class ProblemFactoryImpl extends EFactoryImpl implements ProblemFactory {
89 return createExactMultiplicity(); 89 return createExactMultiplicity();
90 case ProblemPackage.UNBOUNDED_MULTIPLICITY: 90 case ProblemPackage.UNBOUNDED_MULTIPLICITY:
91 return createUnboundedMultiplicity(); 91 return createUnboundedMultiplicity();
92 case ProblemPackage.ARGUMENT: 92 case ProblemPackage.VARIABLE_OR_NODE_ARGUMENT:
93 return createArgument(); 93 return createVariableOrNodeArgument();
94 case ProblemPackage.ENUM_DECLARATION: 94 case ProblemPackage.ENUM_DECLARATION:
95 return createEnumDeclaration(); 95 return createEnumDeclaration();
96 case ProblemPackage.INT_CONSTANT:
97 return createIntConstant();
98 case ProblemPackage.REAL_CONSTANT:
99 return createRealConstant();
100 case ProblemPackage.STRING_CONSTANT:
101 return createStringConstant();
102 case ProblemPackage.CONSTANT_ARGUMENT:
103 return createConstantArgument();
104 case ProblemPackage.NODE_ASSERTION_ARGUMENT:
105 return createNodeAssertionArgument();
106 case ProblemPackage.CONSTANT_ASSERTION_ARGUMENT:
107 return createConstantAssertionArgument();
108 case ProblemPackage.NODE_VALUE_ASSERTION:
109 return createNodeValueAssertion();
96 default: 110 default:
97 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); 111 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
98 } 112 }
@@ -293,9 +307,9 @@ public class ProblemFactoryImpl extends EFactoryImpl implements ProblemFactory {
293 * <!-- end-user-doc --> 307 * <!-- end-user-doc -->
294 * @generated 308 * @generated
295 */ 309 */
296 public Argument createArgument() { 310 public VariableOrNodeArgument createVariableOrNodeArgument() {
297 ArgumentImpl argument = new ArgumentImpl(); 311 VariableOrNodeArgumentImpl variableOrNodeArgument = new VariableOrNodeArgumentImpl();
298 return argument; 312 return variableOrNodeArgument;
299 } 313 }
300 314
301 /** 315 /**
@@ -313,6 +327,76 @@ public class ProblemFactoryImpl extends EFactoryImpl implements ProblemFactory {
313 * <!-- end-user-doc --> 327 * <!-- end-user-doc -->
314 * @generated 328 * @generated
315 */ 329 */
330 public IntConstant createIntConstant() {
331 IntConstantImpl intConstant = new IntConstantImpl();
332 return intConstant;
333 }
334
335 /**
336 * <!-- begin-user-doc -->
337 * <!-- end-user-doc -->
338 * @generated
339 */
340 public RealConstant createRealConstant() {
341 RealConstantImpl realConstant = new RealConstantImpl();
342 return realConstant;
343 }
344
345 /**
346 * <!-- begin-user-doc -->
347 * <!-- end-user-doc -->
348 * @generated
349 */
350 public StringConstant createStringConstant() {
351 StringConstantImpl stringConstant = new StringConstantImpl();
352 return stringConstant;
353 }
354
355 /**
356 * <!-- begin-user-doc -->
357 * <!-- end-user-doc -->
358 * @generated
359 */
360 public ConstantArgument createConstantArgument() {
361 ConstantArgumentImpl constantArgument = new ConstantArgumentImpl();
362 return constantArgument;
363 }
364
365 /**
366 * <!-- begin-user-doc -->
367 * <!-- end-user-doc -->
368 * @generated
369 */
370 public NodeAssertionArgument createNodeAssertionArgument() {
371 NodeAssertionArgumentImpl nodeAssertionArgument = new NodeAssertionArgumentImpl();
372 return nodeAssertionArgument;
373 }
374
375 /**
376 * <!-- begin-user-doc -->
377 * <!-- end-user-doc -->
378 * @generated
379 */
380 public ConstantAssertionArgument createConstantAssertionArgument() {
381 ConstantAssertionArgumentImpl constantAssertionArgument = new ConstantAssertionArgumentImpl();
382 return constantAssertionArgument;
383 }
384
385 /**
386 * <!-- begin-user-doc -->
387 * <!-- end-user-doc -->
388 * @generated
389 */
390 public NodeValueAssertion createNodeValueAssertion() {
391 NodeValueAssertionImpl nodeValueAssertion = new NodeValueAssertionImpl();
392 return nodeValueAssertion;
393 }
394
395 /**
396 * <!-- begin-user-doc -->
397 * <!-- end-user-doc -->
398 * @generated
399 */
316 public LogicValue createLogicValueFromString(EDataType eDataType, String initialValue) { 400 public LogicValue createLogicValueFromString(EDataType eDataType, String initialValue) {
317 LogicValue result = LogicValue.get(initialValue); 401 LogicValue result = LogicValue.get(initialValue);
318 if (result == null) 402 if (result == null)
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemPackageImpl.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemPackageImpl.java
index d10ff2f0..ee72c538 100644
--- a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemPackageImpl.java
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemPackageImpl.java
@@ -12,33 +12,43 @@ import org.eclipse.emf.ecore.impl.EPackageImpl;
12 12
13import org.eclipse.viatra.solver.language.model.problem.Argument; 13import org.eclipse.viatra.solver.language.model.problem.Argument;
14import org.eclipse.viatra.solver.language.model.problem.Assertion; 14import org.eclipse.viatra.solver.language.model.problem.Assertion;
15import org.eclipse.viatra.solver.language.model.problem.AssertionArgument;
15import org.eclipse.viatra.solver.language.model.problem.Atom; 16import org.eclipse.viatra.solver.language.model.problem.Atom;
16import org.eclipse.viatra.solver.language.model.problem.ClassDeclaration; 17import org.eclipse.viatra.solver.language.model.problem.ClassDeclaration;
17import org.eclipse.viatra.solver.language.model.problem.Conjunction; 18import org.eclipse.viatra.solver.language.model.problem.Conjunction;
19import org.eclipse.viatra.solver.language.model.problem.Constant;
20import org.eclipse.viatra.solver.language.model.problem.ConstantArgument;
21import org.eclipse.viatra.solver.language.model.problem.ConstantAssertionArgument;
18import org.eclipse.viatra.solver.language.model.problem.EnumDeclaration; 22import org.eclipse.viatra.solver.language.model.problem.EnumDeclaration;
19import org.eclipse.viatra.solver.language.model.problem.ExactMultiplicity; 23import org.eclipse.viatra.solver.language.model.problem.ExactMultiplicity;
20import org.eclipse.viatra.solver.language.model.problem.ExistentialQuantifier; 24import org.eclipse.viatra.solver.language.model.problem.ExistentialQuantifier;
21import org.eclipse.viatra.solver.language.model.problem.ImplicitVariable; 25import org.eclipse.viatra.solver.language.model.problem.ImplicitVariable;
26import org.eclipse.viatra.solver.language.model.problem.IntConstant;
22import org.eclipse.viatra.solver.language.model.problem.Literal; 27import org.eclipse.viatra.solver.language.model.problem.Literal;
23import org.eclipse.viatra.solver.language.model.problem.LogicValue; 28import org.eclipse.viatra.solver.language.model.problem.LogicValue;
24import org.eclipse.viatra.solver.language.model.problem.Multiplicity; 29import org.eclipse.viatra.solver.language.model.problem.Multiplicity;
25import org.eclipse.viatra.solver.language.model.problem.NamedElement; 30import org.eclipse.viatra.solver.language.model.problem.NamedElement;
26import org.eclipse.viatra.solver.language.model.problem.NegativeLiteral; 31import org.eclipse.viatra.solver.language.model.problem.NegativeLiteral;
27import org.eclipse.viatra.solver.language.model.problem.Node; 32import org.eclipse.viatra.solver.language.model.problem.Node;
33import org.eclipse.viatra.solver.language.model.problem.NodeAssertionArgument;
34import org.eclipse.viatra.solver.language.model.problem.NodeValueAssertion;
28import org.eclipse.viatra.solver.language.model.problem.Parameter; 35import org.eclipse.viatra.solver.language.model.problem.Parameter;
29import org.eclipse.viatra.solver.language.model.problem.PredicateDefinition; 36import org.eclipse.viatra.solver.language.model.problem.PredicateDefinition;
30import org.eclipse.viatra.solver.language.model.problem.Problem; 37import org.eclipse.viatra.solver.language.model.problem.Problem;
31import org.eclipse.viatra.solver.language.model.problem.ProblemFactory; 38import org.eclipse.viatra.solver.language.model.problem.ProblemFactory;
32import org.eclipse.viatra.solver.language.model.problem.ProblemPackage; 39import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
33import org.eclipse.viatra.solver.language.model.problem.RangeMultiplicity; 40import org.eclipse.viatra.solver.language.model.problem.RangeMultiplicity;
41import org.eclipse.viatra.solver.language.model.problem.RealConstant;
34import org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration; 42import org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration;
35import org.eclipse.viatra.solver.language.model.problem.Relation; 43import org.eclipse.viatra.solver.language.model.problem.Relation;
36import org.eclipse.viatra.solver.language.model.problem.ScopeDeclaration; 44import org.eclipse.viatra.solver.language.model.problem.ScopeDeclaration;
37import org.eclipse.viatra.solver.language.model.problem.Statement; 45import org.eclipse.viatra.solver.language.model.problem.Statement;
46import org.eclipse.viatra.solver.language.model.problem.StringConstant;
38import org.eclipse.viatra.solver.language.model.problem.TypeScope; 47import org.eclipse.viatra.solver.language.model.problem.TypeScope;
39import org.eclipse.viatra.solver.language.model.problem.UnboundedMultiplicity; 48import org.eclipse.viatra.solver.language.model.problem.UnboundedMultiplicity;
40import org.eclipse.viatra.solver.language.model.problem.Variable; 49import org.eclipse.viatra.solver.language.model.problem.Variable;
41import org.eclipse.viatra.solver.language.model.problem.VariableOrNode; 50import org.eclipse.viatra.solver.language.model.problem.VariableOrNode;
51import org.eclipse.viatra.solver.language.model.problem.VariableOrNodeArgument;
42 52
43/** 53/**
44 * <!-- begin-user-doc --> 54 * <!-- begin-user-doc -->
@@ -213,6 +223,13 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
213 * <!-- end-user-doc --> 223 * <!-- end-user-doc -->
214 * @generated 224 * @generated
215 */ 225 */
226 private EClass variableOrNodeArgumentEClass = null;
227
228 /**
229 * <!-- begin-user-doc -->
230 * <!-- end-user-doc -->
231 * @generated
232 */
216 private EClass argumentEClass = null; 233 private EClass argumentEClass = null;
217 234
218 /** 235 /**
@@ -220,6 +237,34 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
220 * <!-- end-user-doc --> 237 * <!-- end-user-doc -->
221 * @generated 238 * @generated
222 */ 239 */
240 private EClass nodeAssertionArgumentEClass = null;
241
242 /**
243 * <!-- begin-user-doc -->
244 * <!-- end-user-doc -->
245 * @generated
246 */
247 private EClass assertionArgumentEClass = null;
248
249 /**
250 * <!-- begin-user-doc -->
251 * <!-- end-user-doc -->
252 * @generated
253 */
254 private EClass constantAssertionArgumentEClass = null;
255
256 /**
257 * <!-- begin-user-doc -->
258 * <!-- end-user-doc -->
259 * @generated
260 */
261 private EClass nodeValueAssertionEClass = null;
262
263 /**
264 * <!-- begin-user-doc -->
265 * <!-- end-user-doc -->
266 * @generated
267 */
223 private EClass enumDeclarationEClass = null; 268 private EClass enumDeclarationEClass = null;
224 269
225 /** 270 /**
@@ -234,6 +279,41 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
234 * <!-- end-user-doc --> 279 * <!-- end-user-doc -->
235 * @generated 280 * @generated
236 */ 281 */
282 private EClass constantEClass = null;
283
284 /**
285 * <!-- begin-user-doc -->
286 * <!-- end-user-doc -->
287 * @generated
288 */
289 private EClass intConstantEClass = null;
290
291 /**
292 * <!-- begin-user-doc -->
293 * <!-- end-user-doc -->
294 * @generated
295 */
296 private EClass realConstantEClass = null;
297
298 /**
299 * <!-- begin-user-doc -->
300 * <!-- end-user-doc -->
301 * @generated
302 */
303 private EClass stringConstantEClass = null;
304
305 /**
306 * <!-- begin-user-doc -->
307 * <!-- end-user-doc -->
308 * @generated
309 */
310 private EClass constantArgumentEClass = null;
311
312 /**
313 * <!-- begin-user-doc -->
314 * <!-- end-user-doc -->
315 * @generated
316 */
237 private EEnum logicValueEEnum = null; 317 private EEnum logicValueEEnum = null;
238 318
239 /** 319 /**
@@ -639,7 +719,7 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
639 * @generated 719 * @generated
640 */ 720 */
641 public EReference getAssertion_Arguments() { 721 public EReference getAssertion_Arguments() {
642 return (EReference) assertionEClass.getEStructuralFeatures().get(1); 722 return (EReference) assertionEClass.getEStructuralFeatures().get(2);
643 } 723 }
644 724
645 /** 725 /**
@@ -648,7 +728,7 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
648 * @generated 728 * @generated
649 */ 729 */
650 public EAttribute getAssertion_Value() { 730 public EAttribute getAssertion_Value() {
651 return (EAttribute) assertionEClass.getEStructuralFeatures().get(2); 731 return (EAttribute) assertionEClass.getEStructuralFeatures().get(1);
652 } 732 }
653 733
654 /** 734 /**
@@ -791,6 +871,33 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
791 * <!-- end-user-doc --> 871 * <!-- end-user-doc -->
792 * @generated 872 * @generated
793 */ 873 */
874 public EClass getVariableOrNodeArgument() {
875 return variableOrNodeArgumentEClass;
876 }
877
878 /**
879 * <!-- begin-user-doc -->
880 * <!-- end-user-doc -->
881 * @generated
882 */
883 public EReference getVariableOrNodeArgument_VariableOrNode() {
884 return (EReference) variableOrNodeArgumentEClass.getEStructuralFeatures().get(0);
885 }
886
887 /**
888 * <!-- begin-user-doc -->
889 * <!-- end-user-doc -->
890 * @generated
891 */
892 public EReference getVariableOrNodeArgument_SingletonVariable() {
893 return (EReference) variableOrNodeArgumentEClass.getEStructuralFeatures().get(1);
894 }
895
896 /**
897 * <!-- begin-user-doc -->
898 * <!-- end-user-doc -->
899 * @generated
900 */
794 public EClass getArgument() { 901 public EClass getArgument() {
795 return argumentEClass; 902 return argumentEClass;
796 } 903 }
@@ -800,8 +907,8 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
800 * <!-- end-user-doc --> 907 * <!-- end-user-doc -->
801 * @generated 908 * @generated
802 */ 909 */
803 public EReference getArgument_VariableOrNode() { 910 public EClass getNodeAssertionArgument() {
804 return (EReference) argumentEClass.getEStructuralFeatures().get(0); 911 return nodeAssertionArgumentEClass;
805 } 912 }
806 913
807 /** 914 /**
@@ -809,8 +916,62 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
809 * <!-- end-user-doc --> 916 * <!-- end-user-doc -->
810 * @generated 917 * @generated
811 */ 918 */
812 public EReference getArgument_SingletonVariable() { 919 public EReference getNodeAssertionArgument_Node() {
813 return (EReference) argumentEClass.getEStructuralFeatures().get(1); 920 return (EReference) nodeAssertionArgumentEClass.getEStructuralFeatures().get(0);
921 }
922
923 /**
924 * <!-- begin-user-doc -->
925 * <!-- end-user-doc -->
926 * @generated
927 */
928 public EClass getAssertionArgument() {
929 return assertionArgumentEClass;
930 }
931
932 /**
933 * <!-- begin-user-doc -->
934 * <!-- end-user-doc -->
935 * @generated
936 */
937 public EClass getConstantAssertionArgument() {
938 return constantAssertionArgumentEClass;
939 }
940
941 /**
942 * <!-- begin-user-doc -->
943 * <!-- end-user-doc -->
944 * @generated
945 */
946 public EReference getConstantAssertionArgument_Constant() {
947 return (EReference) constantAssertionArgumentEClass.getEStructuralFeatures().get(0);
948 }
949
950 /**
951 * <!-- begin-user-doc -->
952 * <!-- end-user-doc -->
953 * @generated
954 */
955 public EClass getNodeValueAssertion() {
956 return nodeValueAssertionEClass;
957 }
958
959 /**
960 * <!-- begin-user-doc -->
961 * <!-- end-user-doc -->
962 * @generated
963 */
964 public EReference getNodeValueAssertion_Node() {
965 return (EReference) nodeValueAssertionEClass.getEStructuralFeatures().get(0);
966 }
967
968 /**
969 * <!-- begin-user-doc -->
970 * <!-- end-user-doc -->
971 * @generated
972 */
973 public EReference getNodeValueAssertion_Value() {
974 return (EReference) nodeValueAssertionEClass.getEStructuralFeatures().get(1);
814 } 975 }
815 976
816 /** 977 /**
@@ -845,6 +1006,87 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
845 * <!-- end-user-doc --> 1006 * <!-- end-user-doc -->
846 * @generated 1007 * @generated
847 */ 1008 */
1009 public EClass getConstant() {
1010 return constantEClass;
1011 }
1012
1013 /**
1014 * <!-- begin-user-doc -->
1015 * <!-- end-user-doc -->
1016 * @generated
1017 */
1018 public EClass getIntConstant() {
1019 return intConstantEClass;
1020 }
1021
1022 /**
1023 * <!-- begin-user-doc -->
1024 * <!-- end-user-doc -->
1025 * @generated
1026 */
1027 public EAttribute getIntConstant_IntValue() {
1028 return (EAttribute) intConstantEClass.getEStructuralFeatures().get(0);
1029 }
1030
1031 /**
1032 * <!-- begin-user-doc -->
1033 * <!-- end-user-doc -->
1034 * @generated
1035 */
1036 public EClass getRealConstant() {
1037 return realConstantEClass;
1038 }
1039
1040 /**
1041 * <!-- begin-user-doc -->
1042 * <!-- end-user-doc -->
1043 * @generated
1044 */
1045 public EAttribute getRealConstant_RealValue() {
1046 return (EAttribute) realConstantEClass.getEStructuralFeatures().get(0);
1047 }
1048
1049 /**
1050 * <!-- begin-user-doc -->
1051 * <!-- end-user-doc -->
1052 * @generated
1053 */
1054 public EClass getStringConstant() {
1055 return stringConstantEClass;
1056 }
1057
1058 /**
1059 * <!-- begin-user-doc -->
1060 * <!-- end-user-doc -->
1061 * @generated
1062 */
1063 public EAttribute getStringConstant_StringValue() {
1064 return (EAttribute) stringConstantEClass.getEStructuralFeatures().get(0);
1065 }
1066
1067 /**
1068 * <!-- begin-user-doc -->
1069 * <!-- end-user-doc -->
1070 * @generated
1071 */
1072 public EClass getConstantArgument() {
1073 return constantArgumentEClass;
1074 }
1075
1076 /**
1077 * <!-- begin-user-doc -->
1078 * <!-- end-user-doc -->
1079 * @generated
1080 */
1081 public EReference getConstantArgument_Constant() {
1082 return (EReference) constantArgumentEClass.getEStructuralFeatures().get(0);
1083 }
1084
1085 /**
1086 * <!-- begin-user-doc -->
1087 * <!-- end-user-doc -->
1088 * @generated
1089 */
848 public EEnum getLogicValue() { 1090 public EEnum getLogicValue() {
849 return logicValueEEnum; 1091 return logicValueEEnum;
850 } 1092 }
@@ -929,8 +1171,8 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
929 1171
930 assertionEClass = createEClass(ASSERTION); 1172 assertionEClass = createEClass(ASSERTION);
931 createEReference(assertionEClass, ASSERTION__RELATION); 1173 createEReference(assertionEClass, ASSERTION__RELATION);
932 createEReference(assertionEClass, ASSERTION__ARGUMENTS);
933 createEAttribute(assertionEClass, ASSERTION__VALUE); 1174 createEAttribute(assertionEClass, ASSERTION__VALUE);
1175 createEReference(assertionEClass, ASSERTION__ARGUMENTS);
934 1176
935 nodeEClass = createEClass(NODE); 1177 nodeEClass = createEClass(NODE);
936 1178
@@ -955,15 +1197,43 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
955 1197
956 unboundedMultiplicityEClass = createEClass(UNBOUNDED_MULTIPLICITY); 1198 unboundedMultiplicityEClass = createEClass(UNBOUNDED_MULTIPLICITY);
957 1199
958 argumentEClass = createEClass(ARGUMENT); 1200 variableOrNodeArgumentEClass = createEClass(VARIABLE_OR_NODE_ARGUMENT);
959 createEReference(argumentEClass, ARGUMENT__VARIABLE_OR_NODE); 1201 createEReference(variableOrNodeArgumentEClass, VARIABLE_OR_NODE_ARGUMENT__VARIABLE_OR_NODE);
960 createEReference(argumentEClass, ARGUMENT__SINGLETON_VARIABLE); 1202 createEReference(variableOrNodeArgumentEClass, VARIABLE_OR_NODE_ARGUMENT__SINGLETON_VARIABLE);
961 1203
962 enumDeclarationEClass = createEClass(ENUM_DECLARATION); 1204 enumDeclarationEClass = createEClass(ENUM_DECLARATION);
963 createEReference(enumDeclarationEClass, ENUM_DECLARATION__LITERALS); 1205 createEReference(enumDeclarationEClass, ENUM_DECLARATION__LITERALS);
964 1206
965 variableOrNodeEClass = createEClass(VARIABLE_OR_NODE); 1207 variableOrNodeEClass = createEClass(VARIABLE_OR_NODE);
966 1208
1209 constantEClass = createEClass(CONSTANT);
1210
1211 intConstantEClass = createEClass(INT_CONSTANT);
1212 createEAttribute(intConstantEClass, INT_CONSTANT__INT_VALUE);
1213
1214 realConstantEClass = createEClass(REAL_CONSTANT);
1215 createEAttribute(realConstantEClass, REAL_CONSTANT__REAL_VALUE);
1216
1217 stringConstantEClass = createEClass(STRING_CONSTANT);
1218 createEAttribute(stringConstantEClass, STRING_CONSTANT__STRING_VALUE);
1219
1220 constantArgumentEClass = createEClass(CONSTANT_ARGUMENT);
1221 createEReference(constantArgumentEClass, CONSTANT_ARGUMENT__CONSTANT);
1222
1223 argumentEClass = createEClass(ARGUMENT);
1224
1225 nodeAssertionArgumentEClass = createEClass(NODE_ASSERTION_ARGUMENT);
1226 createEReference(nodeAssertionArgumentEClass, NODE_ASSERTION_ARGUMENT__NODE);
1227
1228 assertionArgumentEClass = createEClass(ASSERTION_ARGUMENT);
1229
1230 constantAssertionArgumentEClass = createEClass(CONSTANT_ASSERTION_ARGUMENT);
1231 createEReference(constantAssertionArgumentEClass, CONSTANT_ASSERTION_ARGUMENT__CONSTANT);
1232
1233 nodeValueAssertionEClass = createEClass(NODE_VALUE_ASSERTION);
1234 createEReference(nodeValueAssertionEClass, NODE_VALUE_ASSERTION__NODE);
1235 createEReference(nodeValueAssertionEClass, NODE_VALUE_ASSERTION__VALUE);
1236
967 // Create enums 1237 // Create enums
968 logicValueEEnum = createEEnum(LOGIC_VALUE); 1238 logicValueEEnum = createEEnum(LOGIC_VALUE);
969 } 1239 }
@@ -1017,9 +1287,17 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
1017 rangeMultiplicityEClass.getESuperTypes().add(this.getMultiplicity()); 1287 rangeMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
1018 exactMultiplicityEClass.getESuperTypes().add(this.getMultiplicity()); 1288 exactMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
1019 unboundedMultiplicityEClass.getESuperTypes().add(this.getMultiplicity()); 1289 unboundedMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
1290 variableOrNodeArgumentEClass.getESuperTypes().add(this.getArgument());
1020 enumDeclarationEClass.getESuperTypes().add(this.getRelation()); 1291 enumDeclarationEClass.getESuperTypes().add(this.getRelation());
1021 enumDeclarationEClass.getESuperTypes().add(this.getStatement()); 1292 enumDeclarationEClass.getESuperTypes().add(this.getStatement());
1022 variableOrNodeEClass.getESuperTypes().add(this.getNamedElement()); 1293 variableOrNodeEClass.getESuperTypes().add(this.getNamedElement());
1294 intConstantEClass.getESuperTypes().add(this.getConstant());
1295 realConstantEClass.getESuperTypes().add(this.getConstant());
1296 stringConstantEClass.getESuperTypes().add(this.getConstant());
1297 constantArgumentEClass.getESuperTypes().add(this.getArgument());
1298 nodeAssertionArgumentEClass.getESuperTypes().add(this.getAssertionArgument());
1299 constantAssertionArgumentEClass.getESuperTypes().add(this.getAssertionArgument());
1300 nodeValueAssertionEClass.getESuperTypes().add(this.getStatement());
1023 1301
1024 // Initialize classes, features, and operations; add parameters 1302 // Initialize classes, features, and operations; add parameters
1025 initEClass(problemEClass, Problem.class, "Problem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 1303 initEClass(problemEClass, Problem.class, "Problem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
@@ -1126,11 +1404,11 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
1126 initEReference(getAssertion_Relation(), this.getRelation(), null, "relation", null, 0, 1, Assertion.class, 1404 initEReference(getAssertion_Relation(), this.getRelation(), null, "relation", null, 0, 1, Assertion.class,
1127 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, 1405 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
1128 IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 1406 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1129 initEReference(getAssertion_Arguments(), this.getNode(), null, "arguments", null, 0, -1, Assertion.class,
1130 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
1131 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1132 initEAttribute(getAssertion_Value(), this.getLogicValue(), "value", null, 0, 1, Assertion.class, !IS_TRANSIENT, 1407 initEAttribute(getAssertion_Value(), this.getLogicValue(), "value", null, 0, 1, Assertion.class, !IS_TRANSIENT,
1133 !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 1408 !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1409 initEReference(getAssertion_Arguments(), this.getAssertionArgument(), null, "arguments", null, 0, -1,
1410 Assertion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
1411 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1134 1412
1135 initEClass(nodeEClass, Node.class, "Node", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 1413 initEClass(nodeEClass, Node.class, "Node", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1136 1414
@@ -1175,14 +1453,14 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
1175 initEClass(unboundedMultiplicityEClass, UnboundedMultiplicity.class, "UnboundedMultiplicity", !IS_ABSTRACT, 1453 initEClass(unboundedMultiplicityEClass, UnboundedMultiplicity.class, "UnboundedMultiplicity", !IS_ABSTRACT,
1176 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 1454 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1177 1455
1178 initEClass(argumentEClass, Argument.class, "Argument", !IS_ABSTRACT, !IS_INTERFACE, 1456 initEClass(variableOrNodeArgumentEClass, VariableOrNodeArgument.class, "VariableOrNodeArgument", !IS_ABSTRACT,
1179 IS_GENERATED_INSTANCE_CLASS); 1457 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1180 initEReference(getArgument_VariableOrNode(), this.getVariableOrNode(), null, "variableOrNode", null, 0, 1, 1458 initEReference(getVariableOrNodeArgument_VariableOrNode(), this.getVariableOrNode(), null, "variableOrNode",
1181 Argument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, 1459 null, 0, 1, VariableOrNodeArgument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE,
1182 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 1460 IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1183 initEReference(getArgument_SingletonVariable(), this.getImplicitVariable(), null, "singletonVariable", null, 0, 1461 initEReference(getVariableOrNodeArgument_SingletonVariable(), this.getImplicitVariable(), null,
1184 1, Argument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, 1462 "singletonVariable", null, 0, 1, VariableOrNodeArgument.class, !IS_TRANSIENT, !IS_VOLATILE,
1185 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 1463 IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1186 1464
1187 initEClass(enumDeclarationEClass, EnumDeclaration.class, "EnumDeclaration", !IS_ABSTRACT, !IS_INTERFACE, 1465 initEClass(enumDeclarationEClass, EnumDeclaration.class, "EnumDeclaration", !IS_ABSTRACT, !IS_INTERFACE,
1188 IS_GENERATED_INSTANCE_CLASS); 1466 IS_GENERATED_INSTANCE_CLASS);
@@ -1193,6 +1471,57 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
1193 initEClass(variableOrNodeEClass, VariableOrNode.class, "VariableOrNode", IS_ABSTRACT, !IS_INTERFACE, 1471 initEClass(variableOrNodeEClass, VariableOrNode.class, "VariableOrNode", IS_ABSTRACT, !IS_INTERFACE,
1194 IS_GENERATED_INSTANCE_CLASS); 1472 IS_GENERATED_INSTANCE_CLASS);
1195 1473
1474 initEClass(constantEClass, Constant.class, "Constant", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1475
1476 initEClass(intConstantEClass, IntConstant.class, "IntConstant", !IS_ABSTRACT, !IS_INTERFACE,
1477 IS_GENERATED_INSTANCE_CLASS);
1478 initEAttribute(getIntConstant_IntValue(), ecorePackage.getEInt(), "intValue", "0", 0, 1, IntConstant.class,
1479 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1480
1481 initEClass(realConstantEClass, RealConstant.class, "RealConstant", !IS_ABSTRACT, !IS_INTERFACE,
1482 IS_GENERATED_INSTANCE_CLASS);
1483 initEAttribute(getRealConstant_RealValue(), ecorePackage.getEDouble(), "realValue", "0.0", 0, 1,
1484 RealConstant.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
1485 !IS_DERIVED, IS_ORDERED);
1486
1487 initEClass(stringConstantEClass, StringConstant.class, "StringConstant", !IS_ABSTRACT, !IS_INTERFACE,
1488 IS_GENERATED_INSTANCE_CLASS);
1489 initEAttribute(getStringConstant_StringValue(), ecorePackage.getEString(), "stringValue", null, 0, 1,
1490 StringConstant.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
1491 !IS_DERIVED, IS_ORDERED);
1492
1493 initEClass(constantArgumentEClass, ConstantArgument.class, "ConstantArgument", !IS_ABSTRACT, !IS_INTERFACE,
1494 IS_GENERATED_INSTANCE_CLASS);
1495 initEReference(getConstantArgument_Constant(), this.getConstant(), null, "constant", null, 0, 1,
1496 ConstantArgument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
1497 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1498
1499 initEClass(argumentEClass, Argument.class, "Argument", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1500
1501 initEClass(nodeAssertionArgumentEClass, NodeAssertionArgument.class, "NodeAssertionArgument", !IS_ABSTRACT,
1502 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1503 initEReference(getNodeAssertionArgument_Node(), this.getNode(), null, "node", null, 0, 1,
1504 NodeAssertionArgument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE,
1505 IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1506
1507 initEClass(assertionArgumentEClass, AssertionArgument.class, "AssertionArgument", IS_ABSTRACT, !IS_INTERFACE,
1508 IS_GENERATED_INSTANCE_CLASS);
1509
1510 initEClass(constantAssertionArgumentEClass, ConstantAssertionArgument.class, "ConstantAssertionArgument",
1511 !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1512 initEReference(getConstantAssertionArgument_Constant(), this.getConstant(), null, "constant", null, 0, 1,
1513 ConstantAssertionArgument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
1514 !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1515
1516 initEClass(nodeValueAssertionEClass, NodeValueAssertion.class, "NodeValueAssertion", !IS_ABSTRACT,
1517 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1518 initEReference(getNodeValueAssertion_Node(), this.getNode(), null, "node", null, 0, 1, NodeValueAssertion.class,
1519 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
1520 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1521 initEReference(getNodeValueAssertion_Value(), this.getConstant(), null, "value", null, 0, 1,
1522 NodeValueAssertion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
1523 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1524
1196 // Initialize enums and add enum literals 1525 // Initialize enums and add enum literals
1197 initEEnum(logicValueEEnum, LogicValue.class, "LogicValue"); 1526 initEEnum(logicValueEEnum, LogicValue.class, "LogicValue");
1198 addEEnumLiteral(logicValueEEnum, LogicValue.TRUE); 1527 addEEnumLiteral(logicValueEEnum, LogicValue.TRUE);
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/RealConstantImpl.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/RealConstantImpl.java
new file mode 100644
index 00000000..f28d7b5f
--- /dev/null
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/RealConstantImpl.java
@@ -0,0 +1,164 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import org.eclipse.emf.common.notify.Notification;
6
7import org.eclipse.emf.ecore.EClass;
8
9import org.eclipse.emf.ecore.impl.ENotificationImpl;
10
11import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
12import org.eclipse.viatra.solver.language.model.problem.RealConstant;
13
14/**
15 * <!-- begin-user-doc -->
16 * An implementation of the model object '<em><b>Real Constant</b></em>'.
17 * <!-- end-user-doc -->
18 * <p>
19 * The following features are implemented:
20 * </p>
21 * <ul>
22 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.RealConstantImpl#getRealValue <em>Real Value</em>}</li>
23 * </ul>
24 *
25 * @generated
26 */
27public class RealConstantImpl extends ConstantImpl implements RealConstant {
28 /**
29 * The default value of the '{@link #getRealValue() <em>Real Value</em>}' attribute.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @see #getRealValue()
33 * @generated
34 * @ordered
35 */
36 protected static final double REAL_VALUE_EDEFAULT = 0.0;
37
38 /**
39 * The cached value of the '{@link #getRealValue() <em>Real Value</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @see #getRealValue()
43 * @generated
44 * @ordered
45 */
46 protected double realValue = REAL_VALUE_EDEFAULT;
47
48 /**
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @generated
52 */
53 protected RealConstantImpl() {
54 super();
55 }
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 @Override
63 protected EClass eStaticClass() {
64 return ProblemPackage.Literals.REAL_CONSTANT;
65 }
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 public double getRealValue() {
73 return realValue;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 public void setRealValue(double newRealValue) {
82 double oldRealValue = realValue;
83 realValue = newRealValue;
84 if (eNotificationRequired())
85 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.REAL_CONSTANT__REAL_VALUE,
86 oldRealValue, realValue));
87 }
88
89 /**
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @generated
93 */
94 @Override
95 public Object eGet(int featureID, boolean resolve, boolean coreType) {
96 switch (featureID) {
97 case ProblemPackage.REAL_CONSTANT__REAL_VALUE:
98 return getRealValue();
99 }
100 return super.eGet(featureID, resolve, coreType);
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 @Override
109 public void eSet(int featureID, Object newValue) {
110 switch (featureID) {
111 case ProblemPackage.REAL_CONSTANT__REAL_VALUE:
112 setRealValue((Double) newValue);
113 return;
114 }
115 super.eSet(featureID, newValue);
116 }
117
118 /**
119 * <!-- begin-user-doc -->
120 * <!-- end-user-doc -->
121 * @generated
122 */
123 @Override
124 public void eUnset(int featureID) {
125 switch (featureID) {
126 case ProblemPackage.REAL_CONSTANT__REAL_VALUE:
127 setRealValue(REAL_VALUE_EDEFAULT);
128 return;
129 }
130 super.eUnset(featureID);
131 }
132
133 /**
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 */
138 @Override
139 public boolean eIsSet(int featureID) {
140 switch (featureID) {
141 case ProblemPackage.REAL_CONSTANT__REAL_VALUE:
142 return realValue != REAL_VALUE_EDEFAULT;
143 }
144 return super.eIsSet(featureID);
145 }
146
147 /**
148 * <!-- begin-user-doc -->
149 * <!-- end-user-doc -->
150 * @generated
151 */
152 @Override
153 public String toString() {
154 if (eIsProxy())
155 return super.toString();
156
157 StringBuilder result = new StringBuilder(super.toString());
158 result.append(" (realValue: ");
159 result.append(realValue);
160 result.append(')');
161 return result.toString();
162 }
163
164} //RealConstantImpl
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/StringConstantImpl.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/StringConstantImpl.java
new file mode 100644
index 00000000..9eb05cf3
--- /dev/null
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/StringConstantImpl.java
@@ -0,0 +1,164 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import org.eclipse.emf.common.notify.Notification;
6
7import org.eclipse.emf.ecore.EClass;
8
9import org.eclipse.emf.ecore.impl.ENotificationImpl;
10
11import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
12import org.eclipse.viatra.solver.language.model.problem.StringConstant;
13
14/**
15 * <!-- begin-user-doc -->
16 * An implementation of the model object '<em><b>String Constant</b></em>'.
17 * <!-- end-user-doc -->
18 * <p>
19 * The following features are implemented:
20 * </p>
21 * <ul>
22 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.StringConstantImpl#getStringValue <em>String Value</em>}</li>
23 * </ul>
24 *
25 * @generated
26 */
27public class StringConstantImpl extends ConstantImpl implements StringConstant {
28 /**
29 * The default value of the '{@link #getStringValue() <em>String Value</em>}' attribute.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @see #getStringValue()
33 * @generated
34 * @ordered
35 */
36 protected static final String STRING_VALUE_EDEFAULT = null;
37
38 /**
39 * The cached value of the '{@link #getStringValue() <em>String Value</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @see #getStringValue()
43 * @generated
44 * @ordered
45 */
46 protected String stringValue = STRING_VALUE_EDEFAULT;
47
48 /**
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @generated
52 */
53 protected StringConstantImpl() {
54 super();
55 }
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 @Override
63 protected EClass eStaticClass() {
64 return ProblemPackage.Literals.STRING_CONSTANT;
65 }
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 public String getStringValue() {
73 return stringValue;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 public void setStringValue(String newStringValue) {
82 String oldStringValue = stringValue;
83 stringValue = newStringValue;
84 if (eNotificationRequired())
85 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.STRING_CONSTANT__STRING_VALUE,
86 oldStringValue, stringValue));
87 }
88
89 /**
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @generated
93 */
94 @Override
95 public Object eGet(int featureID, boolean resolve, boolean coreType) {
96 switch (featureID) {
97 case ProblemPackage.STRING_CONSTANT__STRING_VALUE:
98 return getStringValue();
99 }
100 return super.eGet(featureID, resolve, coreType);
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 @Override
109 public void eSet(int featureID, Object newValue) {
110 switch (featureID) {
111 case ProblemPackage.STRING_CONSTANT__STRING_VALUE:
112 setStringValue((String) newValue);
113 return;
114 }
115 super.eSet(featureID, newValue);
116 }
117
118 /**
119 * <!-- begin-user-doc -->
120 * <!-- end-user-doc -->
121 * @generated
122 */
123 @Override
124 public void eUnset(int featureID) {
125 switch (featureID) {
126 case ProblemPackage.STRING_CONSTANT__STRING_VALUE:
127 setStringValue(STRING_VALUE_EDEFAULT);
128 return;
129 }
130 super.eUnset(featureID);
131 }
132
133 /**
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 */
138 @Override
139 public boolean eIsSet(int featureID) {
140 switch (featureID) {
141 case ProblemPackage.STRING_CONSTANT__STRING_VALUE:
142 return STRING_VALUE_EDEFAULT == null ? stringValue != null : !STRING_VALUE_EDEFAULT.equals(stringValue);
143 }
144 return super.eIsSet(featureID);
145 }
146
147 /**
148 * <!-- begin-user-doc -->
149 * <!-- end-user-doc -->
150 * @generated
151 */
152 @Override
153 public String toString() {
154 if (eIsProxy())
155 return super.toString();
156
157 StringBuilder result = new StringBuilder(super.toString());
158 result.append(" (stringValue: ");
159 result.append(stringValue);
160 result.append(')');
161 return result.toString();
162 }
163
164} //StringConstantImpl
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/VariableOrNodeArgumentImpl.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/VariableOrNodeArgumentImpl.java
new file mode 100644
index 00000000..693d5cdd
--- /dev/null
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/VariableOrNodeArgumentImpl.java
@@ -0,0 +1,251 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import org.eclipse.emf.common.notify.Notification;
6import org.eclipse.emf.common.notify.NotificationChain;
7
8import org.eclipse.emf.ecore.EClass;
9import org.eclipse.emf.ecore.InternalEObject;
10
11import org.eclipse.emf.ecore.impl.ENotificationImpl;
12
13import org.eclipse.viatra.solver.language.model.problem.ImplicitVariable;
14import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
15import org.eclipse.viatra.solver.language.model.problem.VariableOrNode;
16import org.eclipse.viatra.solver.language.model.problem.VariableOrNodeArgument;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Variable Or Node Argument</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.VariableOrNodeArgumentImpl#getVariableOrNode <em>Variable Or Node</em>}</li>
27 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.VariableOrNodeArgumentImpl#getSingletonVariable <em>Singleton Variable</em>}</li>
28 * </ul>
29 *
30 * @generated
31 */
32public class VariableOrNodeArgumentImpl extends ArgumentImpl implements VariableOrNodeArgument {
33 /**
34 * The cached value of the '{@link #getVariableOrNode() <em>Variable Or Node</em>}' reference.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #getVariableOrNode()
38 * @generated
39 * @ordered
40 */
41 protected VariableOrNode variableOrNode;
42
43 /**
44 * The cached value of the '{@link #getSingletonVariable() <em>Singleton Variable</em>}' containment reference.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #getSingletonVariable()
48 * @generated
49 * @ordered
50 */
51 protected ImplicitVariable singletonVariable;
52
53 /**
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @generated
57 */
58 protected VariableOrNodeArgumentImpl() {
59 super();
60 }
61
62 /**
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @generated
66 */
67 @Override
68 protected EClass eStaticClass() {
69 return ProblemPackage.Literals.VARIABLE_OR_NODE_ARGUMENT;
70 }
71
72 /**
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @generated
76 */
77 public VariableOrNode getVariableOrNode() {
78 if (variableOrNode != null && variableOrNode.eIsProxy()) {
79 InternalEObject oldVariableOrNode = (InternalEObject) variableOrNode;
80 variableOrNode = (VariableOrNode) eResolveProxy(oldVariableOrNode);
81 if (variableOrNode != oldVariableOrNode) {
82 if (eNotificationRequired())
83 eNotify(new ENotificationImpl(this, Notification.RESOLVE,
84 ProblemPackage.VARIABLE_OR_NODE_ARGUMENT__VARIABLE_OR_NODE, oldVariableOrNode,
85 variableOrNode));
86 }
87 }
88 return variableOrNode;
89 }
90
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 public VariableOrNode basicGetVariableOrNode() {
97 return variableOrNode;
98 }
99
100 /**
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @generated
104 */
105 public void setVariableOrNode(VariableOrNode newVariableOrNode) {
106 VariableOrNode oldVariableOrNode = variableOrNode;
107 variableOrNode = newVariableOrNode;
108 if (eNotificationRequired())
109 eNotify(new ENotificationImpl(this, Notification.SET,
110 ProblemPackage.VARIABLE_OR_NODE_ARGUMENT__VARIABLE_OR_NODE, oldVariableOrNode, variableOrNode));
111 }
112
113 /**
114 * <!-- begin-user-doc -->
115 * <!-- end-user-doc -->
116 * @generated
117 */
118 public ImplicitVariable getSingletonVariable() {
119 return singletonVariable;
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 public NotificationChain basicSetSingletonVariable(ImplicitVariable newSingletonVariable, NotificationChain msgs) {
128 ImplicitVariable oldSingletonVariable = singletonVariable;
129 singletonVariable = newSingletonVariable;
130 if (eNotificationRequired()) {
131 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
132 ProblemPackage.VARIABLE_OR_NODE_ARGUMENT__SINGLETON_VARIABLE, oldSingletonVariable,
133 newSingletonVariable);
134 if (msgs == null)
135 msgs = notification;
136 else
137 msgs.add(notification);
138 }
139 return msgs;
140 }
141
142 /**
143 * <!-- begin-user-doc -->
144 * <!-- end-user-doc -->
145 * @generated
146 */
147 public void setSingletonVariable(ImplicitVariable newSingletonVariable) {
148 if (newSingletonVariable != singletonVariable) {
149 NotificationChain msgs = null;
150 if (singletonVariable != null)
151 msgs = ((InternalEObject) singletonVariable).eInverseRemove(this,
152 EOPPOSITE_FEATURE_BASE - ProblemPackage.VARIABLE_OR_NODE_ARGUMENT__SINGLETON_VARIABLE, null,
153 msgs);
154 if (newSingletonVariable != null)
155 msgs = ((InternalEObject) newSingletonVariable).eInverseAdd(this,
156 EOPPOSITE_FEATURE_BASE - ProblemPackage.VARIABLE_OR_NODE_ARGUMENT__SINGLETON_VARIABLE, null,
157 msgs);
158 msgs = basicSetSingletonVariable(newSingletonVariable, msgs);
159 if (msgs != null)
160 msgs.dispatch();
161 } else if (eNotificationRequired())
162 eNotify(new ENotificationImpl(this, Notification.SET,
163 ProblemPackage.VARIABLE_OR_NODE_ARGUMENT__SINGLETON_VARIABLE, newSingletonVariable,
164 newSingletonVariable));
165 }
166
167 /**
168 * <!-- begin-user-doc -->
169 * <!-- end-user-doc -->
170 * @generated
171 */
172 @Override
173 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
174 switch (featureID) {
175 case ProblemPackage.VARIABLE_OR_NODE_ARGUMENT__SINGLETON_VARIABLE:
176 return basicSetSingletonVariable(null, msgs);
177 }
178 return super.eInverseRemove(otherEnd, featureID, msgs);
179 }
180
181 /**
182 * <!-- begin-user-doc -->
183 * <!-- end-user-doc -->
184 * @generated
185 */
186 @Override
187 public Object eGet(int featureID, boolean resolve, boolean coreType) {
188 switch (featureID) {
189 case ProblemPackage.VARIABLE_OR_NODE_ARGUMENT__VARIABLE_OR_NODE:
190 if (resolve)
191 return getVariableOrNode();
192 return basicGetVariableOrNode();
193 case ProblemPackage.VARIABLE_OR_NODE_ARGUMENT__SINGLETON_VARIABLE:
194 return getSingletonVariable();
195 }
196 return super.eGet(featureID, resolve, coreType);
197 }
198
199 /**
200 * <!-- begin-user-doc -->
201 * <!-- end-user-doc -->
202 * @generated
203 */
204 @Override
205 public void eSet(int featureID, Object newValue) {
206 switch (featureID) {
207 case ProblemPackage.VARIABLE_OR_NODE_ARGUMENT__VARIABLE_OR_NODE:
208 setVariableOrNode((VariableOrNode) newValue);
209 return;
210 case ProblemPackage.VARIABLE_OR_NODE_ARGUMENT__SINGLETON_VARIABLE:
211 setSingletonVariable((ImplicitVariable) newValue);
212 return;
213 }
214 super.eSet(featureID, newValue);
215 }
216
217 /**
218 * <!-- begin-user-doc -->
219 * <!-- end-user-doc -->
220 * @generated
221 */
222 @Override
223 public void eUnset(int featureID) {
224 switch (featureID) {
225 case ProblemPackage.VARIABLE_OR_NODE_ARGUMENT__VARIABLE_OR_NODE:
226 setVariableOrNode((VariableOrNode) null);
227 return;
228 case ProblemPackage.VARIABLE_OR_NODE_ARGUMENT__SINGLETON_VARIABLE:
229 setSingletonVariable((ImplicitVariable) null);
230 return;
231 }
232 super.eUnset(featureID);
233 }
234
235 /**
236 * <!-- begin-user-doc -->
237 * <!-- end-user-doc -->
238 * @generated
239 */
240 @Override
241 public boolean eIsSet(int featureID) {
242 switch (featureID) {
243 case ProblemPackage.VARIABLE_OR_NODE_ARGUMENT__VARIABLE_OR_NODE:
244 return variableOrNode != null;
245 case ProblemPackage.VARIABLE_OR_NODE_ARGUMENT__SINGLETON_VARIABLE:
246 return singletonVariable != null;
247 }
248 return super.eIsSet(featureID);
249 }
250
251} //VariableOrNodeArgumentImpl
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemAdapterFactory.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemAdapterFactory.java
index 3fc3ca75..07246d70 100644
--- a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemAdapterFactory.java
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemAdapterFactory.java
@@ -182,8 +182,8 @@ public class ProblemAdapterFactory extends AdapterFactoryImpl {
182 } 182 }
183 183
184 @Override 184 @Override
185 public Adapter caseArgument(Argument object) { 185 public Adapter caseVariableOrNodeArgument(VariableOrNodeArgument object) {
186 return createArgumentAdapter(); 186 return createVariableOrNodeArgumentAdapter();
187 } 187 }
188 188
189 @Override 189 @Override
@@ -197,6 +197,56 @@ public class ProblemAdapterFactory extends AdapterFactoryImpl {
197 } 197 }
198 198
199 @Override 199 @Override
200 public Adapter caseConstant(Constant object) {
201 return createConstantAdapter();
202 }
203
204 @Override
205 public Adapter caseIntConstant(IntConstant object) {
206 return createIntConstantAdapter();
207 }
208
209 @Override
210 public Adapter caseRealConstant(RealConstant object) {
211 return createRealConstantAdapter();
212 }
213
214 @Override
215 public Adapter caseStringConstant(StringConstant object) {
216 return createStringConstantAdapter();
217 }
218
219 @Override
220 public Adapter caseConstantArgument(ConstantArgument object) {
221 return createConstantArgumentAdapter();
222 }
223
224 @Override
225 public Adapter caseArgument(Argument object) {
226 return createArgumentAdapter();
227 }
228
229 @Override
230 public Adapter caseNodeAssertionArgument(NodeAssertionArgument object) {
231 return createNodeAssertionArgumentAdapter();
232 }
233
234 @Override
235 public Adapter caseAssertionArgument(AssertionArgument object) {
236 return createAssertionArgumentAdapter();
237 }
238
239 @Override
240 public Adapter caseConstantAssertionArgument(ConstantAssertionArgument object) {
241 return createConstantAssertionArgumentAdapter();
242 }
243
244 @Override
245 public Adapter caseNodeValueAssertion(NodeValueAssertion object) {
246 return createNodeValueAssertionAdapter();
247 }
248
249 @Override
200 public Adapter defaultCase(EObject object) { 250 public Adapter defaultCase(EObject object) {
201 return createEObjectAdapter(); 251 return createEObjectAdapter();
202 } 252 }
@@ -538,6 +588,20 @@ public class ProblemAdapterFactory extends AdapterFactoryImpl {
538 } 588 }
539 589
540 /** 590 /**
591 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.VariableOrNodeArgument <em>Variable Or Node Argument</em>}'.
592 * <!-- begin-user-doc -->
593 * This default implementation returns null so that we can easily ignore cases;
594 * it's useful to ignore a case when inheritance will catch all the cases anyway.
595 * <!-- end-user-doc -->
596 * @return the new adapter.
597 * @see org.eclipse.viatra.solver.language.model.problem.VariableOrNodeArgument
598 * @generated
599 */
600 public Adapter createVariableOrNodeArgumentAdapter() {
601 return null;
602 }
603
604 /**
541 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.Argument <em>Argument</em>}'. 605 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.Argument <em>Argument</em>}'.
542 * <!-- begin-user-doc --> 606 * <!-- begin-user-doc -->
543 * This default implementation returns null so that we can easily ignore cases; 607 * This default implementation returns null so that we can easily ignore cases;
@@ -552,6 +616,62 @@ public class ProblemAdapterFactory extends AdapterFactoryImpl {
552 } 616 }
553 617
554 /** 618 /**
619 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.NodeAssertionArgument <em>Node Assertion Argument</em>}'.
620 * <!-- begin-user-doc -->
621 * This default implementation returns null so that we can easily ignore cases;
622 * it's useful to ignore a case when inheritance will catch all the cases anyway.
623 * <!-- end-user-doc -->
624 * @return the new adapter.
625 * @see org.eclipse.viatra.solver.language.model.problem.NodeAssertionArgument
626 * @generated
627 */
628 public Adapter createNodeAssertionArgumentAdapter() {
629 return null;
630 }
631
632 /**
633 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.AssertionArgument <em>Assertion Argument</em>}'.
634 * <!-- begin-user-doc -->
635 * This default implementation returns null so that we can easily ignore cases;
636 * it's useful to ignore a case when inheritance will catch all the cases anyway.
637 * <!-- end-user-doc -->
638 * @return the new adapter.
639 * @see org.eclipse.viatra.solver.language.model.problem.AssertionArgument
640 * @generated
641 */
642 public Adapter createAssertionArgumentAdapter() {
643 return null;
644 }
645
646 /**
647 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.ConstantAssertionArgument <em>Constant Assertion Argument</em>}'.
648 * <!-- begin-user-doc -->
649 * This default implementation returns null so that we can easily ignore cases;
650 * it's useful to ignore a case when inheritance will catch all the cases anyway.
651 * <!-- end-user-doc -->
652 * @return the new adapter.
653 * @see org.eclipse.viatra.solver.language.model.problem.ConstantAssertionArgument
654 * @generated
655 */
656 public Adapter createConstantAssertionArgumentAdapter() {
657 return null;
658 }
659
660 /**
661 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.NodeValueAssertion <em>Node Value Assertion</em>}'.
662 * <!-- begin-user-doc -->
663 * This default implementation returns null so that we can easily ignore cases;
664 * it's useful to ignore a case when inheritance will catch all the cases anyway.
665 * <!-- end-user-doc -->
666 * @return the new adapter.
667 * @see org.eclipse.viatra.solver.language.model.problem.NodeValueAssertion
668 * @generated
669 */
670 public Adapter createNodeValueAssertionAdapter() {
671 return null;
672 }
673
674 /**
555 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.EnumDeclaration <em>Enum Declaration</em>}'. 675 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.EnumDeclaration <em>Enum Declaration</em>}'.
556 * <!-- begin-user-doc --> 676 * <!-- begin-user-doc -->
557 * This default implementation returns null so that we can easily ignore cases; 677 * This default implementation returns null so that we can easily ignore cases;
@@ -580,6 +700,76 @@ public class ProblemAdapterFactory extends AdapterFactoryImpl {
580 } 700 }
581 701
582 /** 702 /**
703 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.Constant <em>Constant</em>}'.
704 * <!-- begin-user-doc -->
705 * This default implementation returns null so that we can easily ignore cases;
706 * it's useful to ignore a case when inheritance will catch all the cases anyway.
707 * <!-- end-user-doc -->
708 * @return the new adapter.
709 * @see org.eclipse.viatra.solver.language.model.problem.Constant
710 * @generated
711 */
712 public Adapter createConstantAdapter() {
713 return null;
714 }
715
716 /**
717 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.IntConstant <em>Int Constant</em>}'.
718 * <!-- begin-user-doc -->
719 * This default implementation returns null so that we can easily ignore cases;
720 * it's useful to ignore a case when inheritance will catch all the cases anyway.
721 * <!-- end-user-doc -->
722 * @return the new adapter.
723 * @see org.eclipse.viatra.solver.language.model.problem.IntConstant
724 * @generated
725 */
726 public Adapter createIntConstantAdapter() {
727 return null;
728 }
729
730 /**
731 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.RealConstant <em>Real Constant</em>}'.
732 * <!-- begin-user-doc -->
733 * This default implementation returns null so that we can easily ignore cases;
734 * it's useful to ignore a case when inheritance will catch all the cases anyway.
735 * <!-- end-user-doc -->
736 * @return the new adapter.
737 * @see org.eclipse.viatra.solver.language.model.problem.RealConstant
738 * @generated
739 */
740 public Adapter createRealConstantAdapter() {
741 return null;
742 }
743
744 /**
745 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.StringConstant <em>String Constant</em>}'.
746 * <!-- begin-user-doc -->
747 * This default implementation returns null so that we can easily ignore cases;
748 * it's useful to ignore a case when inheritance will catch all the cases anyway.
749 * <!-- end-user-doc -->
750 * @return the new adapter.
751 * @see org.eclipse.viatra.solver.language.model.problem.StringConstant
752 * @generated
753 */
754 public Adapter createStringConstantAdapter() {
755 return null;
756 }
757
758 /**
759 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.ConstantArgument <em>Constant Argument</em>}'.
760 * <!-- begin-user-doc -->
761 * This default implementation returns null so that we can easily ignore cases;
762 * it's useful to ignore a case when inheritance will catch all the cases anyway.
763 * <!-- end-user-doc -->
764 * @return the new adapter.
765 * @see org.eclipse.viatra.solver.language.model.problem.ConstantArgument
766 * @generated
767 */
768 public Adapter createConstantArgumentAdapter() {
769 return null;
770 }
771
772 /**
583 * Creates a new adapter for the default case. 773 * Creates a new adapter for the default case.
584 * <!-- begin-user-doc --> 774 * <!-- begin-user-doc -->
585 * This default implementation returns null. 775 * This default implementation returns null.
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemSwitch.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemSwitch.java
index b74718b5..837d3a03 100644
--- a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemSwitch.java
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemSwitch.java
@@ -285,9 +285,11 @@ public class ProblemSwitch<T> extends Switch<T> {
285 result = defaultCase(theEObject); 285 result = defaultCase(theEObject);
286 return result; 286 return result;
287 } 287 }
288 case ProblemPackage.ARGUMENT: { 288 case ProblemPackage.VARIABLE_OR_NODE_ARGUMENT: {
289 Argument argument = (Argument) theEObject; 289 VariableOrNodeArgument variableOrNodeArgument = (VariableOrNodeArgument) theEObject;
290 T result = caseArgument(argument); 290 T result = caseVariableOrNodeArgument(variableOrNodeArgument);
291 if (result == null)
292 result = caseArgument(variableOrNodeArgument);
291 if (result == null) 293 if (result == null)
292 result = defaultCase(theEObject); 294 result = defaultCase(theEObject);
293 return result; 295 return result;
@@ -314,6 +316,90 @@ public class ProblemSwitch<T> extends Switch<T> {
314 result = defaultCase(theEObject); 316 result = defaultCase(theEObject);
315 return result; 317 return result;
316 } 318 }
319 case ProblemPackage.CONSTANT: {
320 Constant constant = (Constant) theEObject;
321 T result = caseConstant(constant);
322 if (result == null)
323 result = defaultCase(theEObject);
324 return result;
325 }
326 case ProblemPackage.INT_CONSTANT: {
327 IntConstant intConstant = (IntConstant) theEObject;
328 T result = caseIntConstant(intConstant);
329 if (result == null)
330 result = caseConstant(intConstant);
331 if (result == null)
332 result = defaultCase(theEObject);
333 return result;
334 }
335 case ProblemPackage.REAL_CONSTANT: {
336 RealConstant realConstant = (RealConstant) theEObject;
337 T result = caseRealConstant(realConstant);
338 if (result == null)
339 result = caseConstant(realConstant);
340 if (result == null)
341 result = defaultCase(theEObject);
342 return result;
343 }
344 case ProblemPackage.STRING_CONSTANT: {
345 StringConstant stringConstant = (StringConstant) theEObject;
346 T result = caseStringConstant(stringConstant);
347 if (result == null)
348 result = caseConstant(stringConstant);
349 if (result == null)
350 result = defaultCase(theEObject);
351 return result;
352 }
353 case ProblemPackage.CONSTANT_ARGUMENT: {
354 ConstantArgument constantArgument = (ConstantArgument) theEObject;
355 T result = caseConstantArgument(constantArgument);
356 if (result == null)
357 result = caseArgument(constantArgument);
358 if (result == null)
359 result = defaultCase(theEObject);
360 return result;
361 }
362 case ProblemPackage.ARGUMENT: {
363 Argument argument = (Argument) theEObject;
364 T result = caseArgument(argument);
365 if (result == null)
366 result = defaultCase(theEObject);
367 return result;
368 }
369 case ProblemPackage.NODE_ASSERTION_ARGUMENT: {
370 NodeAssertionArgument nodeAssertionArgument = (NodeAssertionArgument) theEObject;
371 T result = caseNodeAssertionArgument(nodeAssertionArgument);
372 if (result == null)
373 result = caseAssertionArgument(nodeAssertionArgument);
374 if (result == null)
375 result = defaultCase(theEObject);
376 return result;
377 }
378 case ProblemPackage.ASSERTION_ARGUMENT: {
379 AssertionArgument assertionArgument = (AssertionArgument) theEObject;
380 T result = caseAssertionArgument(assertionArgument);
381 if (result == null)
382 result = defaultCase(theEObject);
383 return result;
384 }
385 case ProblemPackage.CONSTANT_ASSERTION_ARGUMENT: {
386 ConstantAssertionArgument constantAssertionArgument = (ConstantAssertionArgument) theEObject;
387 T result = caseConstantAssertionArgument(constantAssertionArgument);
388 if (result == null)
389 result = caseAssertionArgument(constantAssertionArgument);
390 if (result == null)
391 result = defaultCase(theEObject);
392 return result;
393 }
394 case ProblemPackage.NODE_VALUE_ASSERTION: {
395 NodeValueAssertion nodeValueAssertion = (NodeValueAssertion) theEObject;
396 T result = caseNodeValueAssertion(nodeValueAssertion);
397 if (result == null)
398 result = caseStatement(nodeValueAssertion);
399 if (result == null)
400 result = defaultCase(theEObject);
401 return result;
402 }
317 default: 403 default:
318 return defaultCase(theEObject); 404 return defaultCase(theEObject);
319 } 405 }
@@ -665,6 +751,21 @@ public class ProblemSwitch<T> extends Switch<T> {
665 } 751 }
666 752
667 /** 753 /**
754 * Returns the result of interpreting the object as an instance of '<em>Variable Or Node Argument</em>'.
755 * <!-- begin-user-doc -->
756 * This implementation returns null;
757 * returning a non-null result will terminate the switch.
758 * <!-- end-user-doc -->
759 * @param object the target of the switch.
760 * @return the result of interpreting the object as an instance of '<em>Variable Or Node Argument</em>'.
761 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
762 * @generated
763 */
764 public T caseVariableOrNodeArgument(VariableOrNodeArgument object) {
765 return null;
766 }
767
768 /**
668 * Returns the result of interpreting the object as an instance of '<em>Argument</em>'. 769 * Returns the result of interpreting the object as an instance of '<em>Argument</em>'.
669 * <!-- begin-user-doc --> 770 * <!-- begin-user-doc -->
670 * This implementation returns null; 771 * This implementation returns null;
@@ -680,6 +781,66 @@ public class ProblemSwitch<T> extends Switch<T> {
680 } 781 }
681 782
682 /** 783 /**
784 * Returns the result of interpreting the object as an instance of '<em>Node Assertion Argument</em>'.
785 * <!-- begin-user-doc -->
786 * This implementation returns null;
787 * returning a non-null result will terminate the switch.
788 * <!-- end-user-doc -->
789 * @param object the target of the switch.
790 * @return the result of interpreting the object as an instance of '<em>Node Assertion Argument</em>'.
791 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
792 * @generated
793 */
794 public T caseNodeAssertionArgument(NodeAssertionArgument object) {
795 return null;
796 }
797
798 /**
799 * Returns the result of interpreting the object as an instance of '<em>Assertion Argument</em>'.
800 * <!-- begin-user-doc -->
801 * This implementation returns null;
802 * returning a non-null result will terminate the switch.
803 * <!-- end-user-doc -->
804 * @param object the target of the switch.
805 * @return the result of interpreting the object as an instance of '<em>Assertion Argument</em>'.
806 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
807 * @generated
808 */
809 public T caseAssertionArgument(AssertionArgument object) {
810 return null;
811 }
812
813 /**
814 * Returns the result of interpreting the object as an instance of '<em>Constant Assertion Argument</em>'.
815 * <!-- begin-user-doc -->
816 * This implementation returns null;
817 * returning a non-null result will terminate the switch.
818 * <!-- end-user-doc -->
819 * @param object the target of the switch.
820 * @return the result of interpreting the object as an instance of '<em>Constant Assertion Argument</em>'.
821 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
822 * @generated
823 */
824 public T caseConstantAssertionArgument(ConstantAssertionArgument object) {
825 return null;
826 }
827
828 /**
829 * Returns the result of interpreting the object as an instance of '<em>Node Value Assertion</em>'.
830 * <!-- begin-user-doc -->
831 * This implementation returns null;
832 * returning a non-null result will terminate the switch.
833 * <!-- end-user-doc -->
834 * @param object the target of the switch.
835 * @return the result of interpreting the object as an instance of '<em>Node Value Assertion</em>'.
836 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
837 * @generated
838 */
839 public T caseNodeValueAssertion(NodeValueAssertion object) {
840 return null;
841 }
842
843 /**
683 * Returns the result of interpreting the object as an instance of '<em>Enum Declaration</em>'. 844 * Returns the result of interpreting the object as an instance of '<em>Enum Declaration</em>'.
684 * <!-- begin-user-doc --> 845 * <!-- begin-user-doc -->
685 * This implementation returns null; 846 * This implementation returns null;
@@ -710,6 +871,81 @@ public class ProblemSwitch<T> extends Switch<T> {
710 } 871 }
711 872
712 /** 873 /**
874 * Returns the result of interpreting the object as an instance of '<em>Constant</em>'.
875 * <!-- begin-user-doc -->
876 * This implementation returns null;
877 * returning a non-null result will terminate the switch.
878 * <!-- end-user-doc -->
879 * @param object the target of the switch.
880 * @return the result of interpreting the object as an instance of '<em>Constant</em>'.
881 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
882 * @generated
883 */
884 public T caseConstant(Constant object) {
885 return null;
886 }
887
888 /**
889 * Returns the result of interpreting the object as an instance of '<em>Int Constant</em>'.
890 * <!-- begin-user-doc -->
891 * This implementation returns null;
892 * returning a non-null result will terminate the switch.
893 * <!-- end-user-doc -->
894 * @param object the target of the switch.
895 * @return the result of interpreting the object as an instance of '<em>Int Constant</em>'.
896 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
897 * @generated
898 */
899 public T caseIntConstant(IntConstant object) {
900 return null;
901 }
902
903 /**
904 * Returns the result of interpreting the object as an instance of '<em>Real Constant</em>'.
905 * <!-- begin-user-doc -->
906 * This implementation returns null;
907 * returning a non-null result will terminate the switch.
908 * <!-- end-user-doc -->
909 * @param object the target of the switch.
910 * @return the result of interpreting the object as an instance of '<em>Real Constant</em>'.
911 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
912 * @generated
913 */
914 public T caseRealConstant(RealConstant object) {
915 return null;
916 }
917
918 /**
919 * Returns the result of interpreting the object as an instance of '<em>String Constant</em>'.
920 * <!-- begin-user-doc -->
921 * This implementation returns null;
922 * returning a non-null result will terminate the switch.
923 * <!-- end-user-doc -->
924 * @param object the target of the switch.
925 * @return the result of interpreting the object as an instance of '<em>String Constant</em>'.
926 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
927 * @generated
928 */
929 public T caseStringConstant(StringConstant object) {
930 return null;
931 }
932
933 /**
934 * Returns the result of interpreting the object as an instance of '<em>Constant Argument</em>'.
935 * <!-- begin-user-doc -->
936 * This implementation returns null;
937 * returning a non-null result will terminate the switch.
938 * <!-- end-user-doc -->
939 * @param object the target of the switch.
940 * @return the result of interpreting the object as an instance of '<em>Constant Argument</em>'.
941 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
942 * @generated
943 */
944 public T caseConstantArgument(ConstantArgument object) {
945 return null;
946 }
947
948 /**
713 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'. 949 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
714 * <!-- begin-user-doc --> 950 * <!-- begin-user-doc -->
715 * This implementation returns null; 951 * This implementation returns null;