aboutsummaryrefslogtreecommitdiffstats
path: root/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kristof@marussy.com>2021-06-25 17:12:45 +0200
committerLibravatar Kristóf Marussy <kristof@marussy.com>2021-06-25 17:12:45 +0200
commitbaba88758a0ea5f671ab4a2aeacec374bed938c4 (patch)
tree1be30230a0959ce8d22986d91b1ed2460a328148 /org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model
parentInitial commit (diff)
downloadrefinery-baba88758a0ea5f671ab4a2aeacec374bed938c4.tar.gz
refinery-baba88758a0ea5f671ab4a2aeacec374bed938c4.tar.zst
refinery-baba88758a0ea5f671ab4a2aeacec374bed938c4.zip
Add initial prototype
Diffstat (limited to 'org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model')
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Assertion.java85
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Atom.java82
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ClassDeclaration.java72
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Conjunction.java36
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ExactMultiplicity.java45
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ExistentialQuantifier.java38
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ImplicitVariable.java16
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Literal.java18
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/LogicValue.java227
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Multiplicity.java18
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/NamedElement.java46
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/NegativeLiteral.java44
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Node.java16
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Parameter.java44
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/PredicateDefinition.java72
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Problem.java51
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemFactory.java168
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemPackage.java2101
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/RangeMultiplicity.java69
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ReferenceDeclaration.java113
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Relation.java16
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ScopeDeclaration.java36
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Statement.java18
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/TypeScope.java92
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Variable.java16
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/AssertionImpl.java272
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/AtomImpl.java271
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ClassDeclarationImpl.java260
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ConjunctionImpl.java189
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ExactMultiplicityImpl.java164
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ImplicitVariableImpl.java37
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/LiteralImpl.java39
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/MultiplicityImpl.java39
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NamedElementImpl.java164
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NegativeLiteralImpl.java228
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NodeImpl.java37
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ParameterImpl.java159
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/PredicateDefinitionImpl.java262
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemFactoryImpl.java317
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemImpl.java189
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemPackageImpl.java1061
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/RangeMultiplicityImpl.java219
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ReferenceDeclarationImpl.java379
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/RelationImpl.java37
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ScopeDeclarationImpl.java153
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/TypeScopeImpl.java317
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/VariableImpl.java37
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemAdapterFactory.java518
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemSwitch.java620
49 files changed, 9507 insertions, 0 deletions
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Assertion.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Assertion.java
new file mode 100644
index 00000000..758212fb
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Assertion.java
@@ -0,0 +1,85 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5import org.eclipse.emf.common.util.EList;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Assertion</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
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>
19 * </ul>
20 *
21 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getAssertion()
22 * @model
23 * @generated
24 */
25public interface Assertion extends Statement {
26 /**
27 * Returns the value of the '<em><b>Relation</b></em>' reference.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Relation</em>' reference.
31 * @see #setRelation(Relation)
32 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getAssertion_Relation()
33 * @model
34 * @generated
35 */
36 Relation getRelation();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.Assertion#getRelation <em>Relation</em>}' reference.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Relation</em>' reference.
43 * @see #getRelation()
44 * @generated
45 */
46 void setRelation(Relation value);
47
48 /**
49 * Returns the value of the '<em><b>Arguments</b></em>' reference list.
50 * The list contents are of type {@link org.eclipse.viatra.solver.language.model.problem.Node}.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @return the value of the '<em>Arguments</em>' reference list.
54 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getAssertion_Arguments()
55 * @model
56 * @generated
57 */
58 EList<Node> getArguments();
59
60 /**
61 * Returns the value of the '<em><b>Value</b></em>' attribute.
62 * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.model.problem.LogicValue}.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @return the value of the '<em>Value</em>' attribute.
66 * @see org.eclipse.viatra.solver.language.model.problem.LogicValue
67 * @see #setValue(LogicValue)
68 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getAssertion_Value()
69 * @model
70 * @generated
71 */
72 LogicValue getValue();
73
74 /**
75 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.Assertion#getValue <em>Value</em>}' attribute.
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @param value the new value of the '<em>Value</em>' attribute.
79 * @see org.eclipse.viatra.solver.language.model.problem.LogicValue
80 * @see #getValue()
81 * @generated
82 */
83 void setValue(LogicValue value);
84
85} // Assertion
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Atom.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Atom.java
new file mode 100644
index 00000000..bee08d8d
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Atom.java
@@ -0,0 +1,82 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5import org.eclipse.emf.common.util.EList;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Atom</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Atom#getRelation <em>Relation</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Atom#getArguments <em>Arguments</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Atom#isTransitiveClosure <em>Transitive Closure</em>}</li>
19 * </ul>
20 *
21 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getAtom()
22 * @model
23 * @generated
24 */
25public interface Atom extends Literal {
26 /**
27 * Returns the value of the '<em><b>Relation</b></em>' reference.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Relation</em>' reference.
31 * @see #setRelation(Relation)
32 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getAtom_Relation()
33 * @model
34 * @generated
35 */
36 Relation getRelation();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.Atom#getRelation <em>Relation</em>}' reference.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Relation</em>' reference.
43 * @see #getRelation()
44 * @generated
45 */
46 void setRelation(Relation value);
47
48 /**
49 * Returns the value of the '<em><b>Arguments</b></em>' reference list.
50 * The list contents are of type {@link org.eclipse.viatra.solver.language.model.problem.Variable}.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @return the value of the '<em>Arguments</em>' reference list.
54 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getAtom_Arguments()
55 * @model
56 * @generated
57 */
58 EList<Variable> getArguments();
59
60 /**
61 * Returns the value of the '<em><b>Transitive Closure</b></em>' attribute.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @return the value of the '<em>Transitive Closure</em>' attribute.
65 * @see #setTransitiveClosure(boolean)
66 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getAtom_TransitiveClosure()
67 * @model
68 * @generated
69 */
70 boolean isTransitiveClosure();
71
72 /**
73 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.Atom#isTransitiveClosure <em>Transitive Closure</em>}' attribute.
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @param value the new value of the '<em>Transitive Closure</em>' attribute.
77 * @see #isTransitiveClosure()
78 * @generated
79 */
80 void setTransitiveClosure(boolean value);
81
82} // Atom
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ClassDeclaration.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ClassDeclaration.java
new file mode 100644
index 00000000..7212d006
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ClassDeclaration.java
@@ -0,0 +1,72 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5import org.eclipse.emf.common.util.EList;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Class Declaration</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#isAbstract <em>Abstract</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#getSuperTypes <em>Super Types</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#getReferenceDeclarations <em>Reference Declarations</em>}</li>
19 * </ul>
20 *
21 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getClassDeclaration()
22 * @model
23 * @generated
24 */
25public interface ClassDeclaration extends Relation, Statement {
26 /**
27 * Returns the value of the '<em><b>Abstract</b></em>' attribute.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Abstract</em>' attribute.
31 * @see #setAbstract(boolean)
32 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getClassDeclaration_Abstract()
33 * @model
34 * @generated
35 */
36 boolean isAbstract();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#isAbstract <em>Abstract</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Abstract</em>' attribute.
43 * @see #isAbstract()
44 * @generated
45 */
46 void setAbstract(boolean value);
47
48 /**
49 * Returns the value of the '<em><b>Super Types</b></em>' reference list.
50 * The list contents are of type {@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration}.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @return the value of the '<em>Super Types</em>' reference list.
54 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getClassDeclaration_SuperTypes()
55 * @model
56 * @generated
57 */
58 EList<ClassDeclaration> getSuperTypes();
59
60 /**
61 * Returns the value of the '<em><b>Reference Declarations</b></em>' containment reference list.
62 * The list contents are of type {@link org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration}.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @return the value of the '<em>Reference Declarations</em>' containment reference list.
66 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getClassDeclaration_ReferenceDeclarations()
67 * @model containment="true"
68 * @generated
69 */
70 EList<ReferenceDeclaration> getReferenceDeclarations();
71
72} // ClassDeclaration
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Conjunction.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Conjunction.java
new file mode 100644
index 00000000..df8e0cef
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Conjunction.java
@@ -0,0 +1,36 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5import org.eclipse.emf.common.util.EList;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Conjunction</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Conjunction#getLiterals <em>Literals</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getConjunction()
20 * @model
21 * @generated
22 */
23public interface Conjunction extends ExistentialQuantifier {
24 /**
25 * Returns the value of the '<em><b>Literals</b></em>' containment reference list.
26 * The list contents are of type {@link org.eclipse.viatra.solver.language.model.problem.Literal}.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Literals</em>' containment reference list.
30 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getConjunction_Literals()
31 * @model containment="true"
32 * @generated
33 */
34 EList<Literal> getLiterals();
35
36} // Conjunction
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ExactMultiplicity.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ExactMultiplicity.java
new file mode 100644
index 00000000..413c2ad1
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ExactMultiplicity.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>Exact Multiplicity</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.ExactMultiplicity#getExactValue <em>Exact Value</em>}</li>
15 * </ul>
16 *
17 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getExactMultiplicity()
18 * @model
19 * @generated
20 */
21public interface ExactMultiplicity extends Multiplicity {
22 /**
23 * Returns the value of the '<em><b>Exact Value</b></em>' attribute.
24 * The default value is <code>"1"</code>.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @return the value of the '<em>Exact Value</em>' attribute.
28 * @see #setExactValue(int)
29 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getExactMultiplicity_ExactValue()
30 * @model default="1"
31 * @generated
32 */
33 int getExactValue();
34
35 /**
36 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.ExactMultiplicity#getExactValue <em>Exact Value</em>}' attribute.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @param value the new value of the '<em>Exact Value</em>' attribute.
40 * @see #getExactValue()
41 * @generated
42 */
43 void setExactValue(int value);
44
45} // ExactMultiplicity
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ExistentialQuantifier.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ExistentialQuantifier.java
new file mode 100644
index 00000000..1a1d5f8a
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ExistentialQuantifier.java
@@ -0,0 +1,38 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5import org.eclipse.emf.common.util.EList;
6
7import org.eclipse.emf.ecore.EObject;
8
9/**
10 * <!-- begin-user-doc -->
11 * A representation of the model object '<em><b>Existential Quantifier</b></em>'.
12 * <!-- end-user-doc -->
13 *
14 * <p>
15 * The following features are supported:
16 * </p>
17 * <ul>
18 * <li>{@link org.eclipse.viatra.solver.language.model.problem.ExistentialQuantifier#getImplicitVariables <em>Implicit Variables</em>}</li>
19 * </ul>
20 *
21 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getExistentialQuantifier()
22 * @model interface="true" abstract="true"
23 * @generated
24 */
25public interface ExistentialQuantifier extends EObject {
26 /**
27 * Returns the value of the '<em><b>Implicit Variables</b></em>' containment reference list.
28 * The list contents are of type {@link org.eclipse.viatra.solver.language.model.problem.ImplicitVariable}.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Implicit Variables</em>' containment reference list.
32 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getExistentialQuantifier_ImplicitVariables()
33 * @model containment="true"
34 * @generated
35 */
36 EList<ImplicitVariable> getImplicitVariables();
37
38} // ExistentialQuantifier
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ImplicitVariable.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ImplicitVariable.java
new file mode 100644
index 00000000..6d1793c6
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ImplicitVariable.java
@@ -0,0 +1,16 @@
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>Implicit Variable</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 *
11 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getImplicitVariable()
12 * @model
13 * @generated
14 */
15public interface ImplicitVariable extends Variable {
16} // ImplicitVariable
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Literal.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Literal.java
new file mode 100644
index 00000000..acccf79b
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Literal.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>Literal</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getLiteral()
14 * @model abstract="true"
15 * @generated
16 */
17public interface Literal extends EObject {
18} // Literal
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/LogicValue.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/LogicValue.java
new file mode 100644
index 00000000..2efbd25a
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/LogicValue.java
@@ -0,0 +1,227 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5import java.util.Arrays;
6import java.util.Collections;
7import java.util.List;
8
9import org.eclipse.emf.common.util.Enumerator;
10
11/**
12 * <!-- begin-user-doc -->
13 * A representation of the literals of the enumeration '<em><b>Logic Value</b></em>',
14 * and utility methods for working with them.
15 * <!-- end-user-doc -->
16 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getLogicValue()
17 * @model
18 * @generated
19 */
20public enum LogicValue implements Enumerator {
21 /**
22 * The '<em><b>TRUE</b></em>' literal object.
23 * <!-- begin-user-doc -->
24 * <!-- end-user-doc -->
25 * @see #TRUE_VALUE
26 * @generated
27 * @ordered
28 */
29 TRUE(0, "TRUE", "TRUE"),
30
31 /**
32 * The '<em><b>FALSE</b></em>' literal object.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @see #FALSE_VALUE
36 * @generated
37 * @ordered
38 */
39 FALSE(1, "FALSE", "FALSE"),
40
41 /**
42 * The '<em><b>UNKNOWN</b></em>' literal object.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #UNKNOWN_VALUE
46 * @generated
47 * @ordered
48 */
49 UNKNOWN(2, "UNKNOWN", "UNKNOWN");
50
51 /**
52 * The '<em><b>TRUE</b></em>' literal value.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @see #TRUE
56 * @model
57 * @generated
58 * @ordered
59 */
60 public static final int TRUE_VALUE = 0;
61
62 /**
63 * The '<em><b>FALSE</b></em>' literal value.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @see #FALSE
67 * @model
68 * @generated
69 * @ordered
70 */
71 public static final int FALSE_VALUE = 1;
72
73 /**
74 * The '<em><b>UNKNOWN</b></em>' literal value.
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @see #UNKNOWN
78 * @model
79 * @generated
80 * @ordered
81 */
82 public static final int UNKNOWN_VALUE = 2;
83
84 /**
85 * An array of all the '<em><b>Logic Value</b></em>' enumerators.
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @generated
89 */
90 private static final LogicValue[] VALUES_ARRAY = new LogicValue[] { TRUE, FALSE, UNKNOWN, };
91
92 /**
93 * A public read-only list of all the '<em><b>Logic Value</b></em>' enumerators.
94 * <!-- begin-user-doc -->
95 * <!-- end-user-doc -->
96 * @generated
97 */
98 public static final List<LogicValue> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
99
100 /**
101 * Returns the '<em><b>Logic Value</b></em>' literal with the specified literal value.
102 * <!-- begin-user-doc -->
103 * <!-- end-user-doc -->
104 * @param literal the literal.
105 * @return the matching enumerator or <code>null</code>.
106 * @generated
107 */
108 public static LogicValue get(String literal) {
109 for (int i = 0; i < VALUES_ARRAY.length; ++i) {
110 LogicValue result = VALUES_ARRAY[i];
111 if (result.toString().equals(literal)) {
112 return result;
113 }
114 }
115 return null;
116 }
117
118 /**
119 * Returns the '<em><b>Logic Value</b></em>' literal with the specified name.
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @param name the name.
123 * @return the matching enumerator or <code>null</code>.
124 * @generated
125 */
126 public static LogicValue getByName(String name) {
127 for (int i = 0; i < VALUES_ARRAY.length; ++i) {
128 LogicValue result = VALUES_ARRAY[i];
129 if (result.getName().equals(name)) {
130 return result;
131 }
132 }
133 return null;
134 }
135
136 /**
137 * Returns the '<em><b>Logic Value</b></em>' literal with the specified integer value.
138 * <!-- begin-user-doc -->
139 * <!-- end-user-doc -->
140 * @param value the integer value.
141 * @return the matching enumerator or <code>null</code>.
142 * @generated
143 */
144 public static LogicValue get(int value) {
145 switch (value) {
146 case TRUE_VALUE:
147 return TRUE;
148 case FALSE_VALUE:
149 return FALSE;
150 case UNKNOWN_VALUE:
151 return UNKNOWN;
152 }
153 return null;
154 }
155
156 /**
157 * <!-- begin-user-doc -->
158 * <!-- end-user-doc -->
159 * @generated
160 */
161 private final int value;
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 private final String name;
169
170 /**
171 * <!-- begin-user-doc -->
172 * <!-- end-user-doc -->
173 * @generated
174 */
175 private final String literal;
176
177 /**
178 * Only this class can construct instances.
179 * <!-- begin-user-doc -->
180 * <!-- end-user-doc -->
181 * @generated
182 */
183 private LogicValue(int value, String name, String literal) {
184 this.value = value;
185 this.name = name;
186 this.literal = literal;
187 }
188
189 /**
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 public int getValue() {
195 return value;
196 }
197
198 /**
199 * <!-- begin-user-doc -->
200 * <!-- end-user-doc -->
201 * @generated
202 */
203 public String getName() {
204 return name;
205 }
206
207 /**
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @generated
211 */
212 public String getLiteral() {
213 return literal;
214 }
215
216 /**
217 * Returns the literal value of the enumerator, which is its string representation.
218 * <!-- begin-user-doc -->
219 * <!-- end-user-doc -->
220 * @generated
221 */
222 @Override
223 public String toString() {
224 return literal;
225 }
226
227} //LogicValue
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Multiplicity.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Multiplicity.java
new file mode 100644
index 00000000..d3d573fa
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Multiplicity.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>Multiplicity</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getMultiplicity()
14 * @model abstract="true"
15 * @generated
16 */
17public interface Multiplicity extends EObject {
18} // Multiplicity
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/NamedElement.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/NamedElement.java
new file mode 100644
index 00000000..3302b041
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/NamedElement.java
@@ -0,0 +1,46 @@
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>Named Element</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.model.problem.NamedElement#getName <em>Name</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getNamedElement()
20 * @model abstract="true"
21 * @generated
22 */
23public interface NamedElement extends EObject {
24 /**
25 * Returns the value of the '<em><b>Name</b></em>' attribute.
26 * <!-- begin-user-doc -->
27 * <!-- end-user-doc -->
28 * @return the value of the '<em>Name</em>' attribute.
29 * @see #setName(String)
30 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getNamedElement_Name()
31 * @model
32 * @generated
33 */
34 String getName();
35
36 /**
37 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.NamedElement#getName <em>Name</em>}' attribute.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @param value the new value of the '<em>Name</em>' attribute.
41 * @see #getName()
42 * @generated
43 */
44 void setName(String value);
45
46} // NamedElement
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/NegativeLiteral.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/NegativeLiteral.java
new file mode 100644
index 00000000..ac3aa2b9
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/NegativeLiteral.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>Negative Literal</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.NegativeLiteral#getAtom <em>Atom</em>}</li>
15 * </ul>
16 *
17 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getNegativeLiteral()
18 * @model
19 * @generated
20 */
21public interface NegativeLiteral extends ExistentialQuantifier, Literal {
22 /**
23 * Returns the value of the '<em><b>Atom</b></em>' containment reference.
24 * <!-- begin-user-doc -->
25 * <!-- end-user-doc -->
26 * @return the value of the '<em>Atom</em>' containment reference.
27 * @see #setAtom(Atom)
28 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getNegativeLiteral_Atom()
29 * @model containment="true"
30 * @generated
31 */
32 Atom getAtom();
33
34 /**
35 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.NegativeLiteral#getAtom <em>Atom</em>}' containment reference.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @param value the new value of the '<em>Atom</em>' containment reference.
39 * @see #getAtom()
40 * @generated
41 */
42 void setAtom(Atom value);
43
44} // NegativeLiteral
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Node.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Node.java
new file mode 100644
index 00000000..e6547083
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Node.java
@@ -0,0 +1,16 @@
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</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 *
11 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getNode()
12 * @model
13 * @generated
14 */
15public interface Node extends NamedElement {
16} // Node
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Parameter.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Parameter.java
new file mode 100644
index 00000000..5ed8ac3c
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Parameter.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>Parameter</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.Parameter#getParameterType <em>Parameter Type</em>}</li>
15 * </ul>
16 *
17 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getParameter()
18 * @model
19 * @generated
20 */
21public interface Parameter extends Variable {
22 /**
23 * Returns the value of the '<em><b>Parameter Type</b></em>' reference.
24 * <!-- begin-user-doc -->
25 * <!-- end-user-doc -->
26 * @return the value of the '<em>Parameter Type</em>' reference.
27 * @see #setParameterType(ClassDeclaration)
28 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getParameter_ParameterType()
29 * @model
30 * @generated
31 */
32 ClassDeclaration getParameterType();
33
34 /**
35 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.Parameter#getParameterType <em>Parameter Type</em>}' reference.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @param value the new value of the '<em>Parameter Type</em>' reference.
39 * @see #getParameterType()
40 * @generated
41 */
42 void setParameterType(ClassDeclaration value);
43
44} // Parameter
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/PredicateDefinition.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/PredicateDefinition.java
new file mode 100644
index 00000000..175d5fff
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/PredicateDefinition.java
@@ -0,0 +1,72 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5import org.eclipse.emf.common.util.EList;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Predicate Definition</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.model.problem.PredicateDefinition#isError <em>Error</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.model.problem.PredicateDefinition#getParameters <em>Parameters</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.model.problem.PredicateDefinition#getBodies <em>Bodies</em>}</li>
19 * </ul>
20 *
21 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getPredicateDefinition()
22 * @model
23 * @generated
24 */
25public interface PredicateDefinition extends Relation, Statement {
26 /**
27 * Returns the value of the '<em><b>Error</b></em>' attribute.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Error</em>' attribute.
31 * @see #setError(boolean)
32 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getPredicateDefinition_Error()
33 * @model
34 * @generated
35 */
36 boolean isError();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.PredicateDefinition#isError <em>Error</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Error</em>' attribute.
43 * @see #isError()
44 * @generated
45 */
46 void setError(boolean value);
47
48 /**
49 * Returns the value of the '<em><b>Parameters</b></em>' containment reference list.
50 * The list contents are of type {@link org.eclipse.viatra.solver.language.model.problem.Parameter}.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @return the value of the '<em>Parameters</em>' containment reference list.
54 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getPredicateDefinition_Parameters()
55 * @model containment="true"
56 * @generated
57 */
58 EList<Parameter> getParameters();
59
60 /**
61 * Returns the value of the '<em><b>Bodies</b></em>' containment reference list.
62 * The list contents are of type {@link org.eclipse.viatra.solver.language.model.problem.Conjunction}.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @return the value of the '<em>Bodies</em>' containment reference list.
66 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getPredicateDefinition_Bodies()
67 * @model containment="true"
68 * @generated
69 */
70 EList<Conjunction> getBodies();
71
72} // PredicateDefinition
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Problem.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Problem.java
new file mode 100644
index 00000000..3342767d
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Problem.java
@@ -0,0 +1,51 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5import org.eclipse.emf.common.util.EList;
6
7import org.eclipse.emf.ecore.EObject;
8
9/**
10 * <!-- begin-user-doc -->
11 * A representation of the model object '<em><b>Problem</b></em>'.
12 * <!-- end-user-doc -->
13 *
14 * <p>
15 * The following features are supported:
16 * </p>
17 * <ul>
18 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Problem#getNodes <em>Nodes</em>}</li>
19 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Problem#getStatements <em>Statements</em>}</li>
20 * </ul>
21 *
22 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getProblem()
23 * @model
24 * @generated
25 */
26public interface Problem extends EObject {
27 /**
28 * Returns the value of the '<em><b>Nodes</b></em>' containment reference list.
29 * The list contents are of type {@link org.eclipse.viatra.solver.language.model.problem.Node}.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @return the value of the '<em>Nodes</em>' containment reference list.
33 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getProblem_Nodes()
34 * @model containment="true"
35 * @generated
36 */
37 EList<Node> getNodes();
38
39 /**
40 * Returns the value of the '<em><b>Statements</b></em>' containment reference list.
41 * The list contents are of type {@link org.eclipse.viatra.solver.language.model.problem.Statement}.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @return the value of the '<em>Statements</em>' containment reference list.
45 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getProblem_Statements()
46 * @model containment="true"
47 * @generated
48 */
49 EList<Statement> getStatements();
50
51} // Problem
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemFactory.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemFactory.java
new file mode 100644
index 00000000..301f7cce
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemFactory.java
@@ -0,0 +1,168 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5import org.eclipse.emf.ecore.EFactory;
6
7/**
8 * <!-- begin-user-doc -->
9 * The <b>Factory</b> for the model.
10 * It provides a create method for each non-abstract class of the model.
11 * <!-- end-user-doc -->
12 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage
13 * @generated
14 */
15public interface ProblemFactory extends EFactory {
16 /**
17 * The singleton instance of the factory.
18 * <!-- begin-user-doc -->
19 * <!-- end-user-doc -->
20 * @generated
21 */
22 ProblemFactory eINSTANCE = org.eclipse.viatra.solver.language.model.problem.impl.ProblemFactoryImpl.init();
23
24 /**
25 * Returns a new object of class '<em>Problem</em>'.
26 * <!-- begin-user-doc -->
27 * <!-- end-user-doc -->
28 * @return a new object of class '<em>Problem</em>'.
29 * @generated
30 */
31 Problem createProblem();
32
33 /**
34 * Returns a new object of class '<em>Class Declaration</em>'.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @return a new object of class '<em>Class Declaration</em>'.
38 * @generated
39 */
40 ClassDeclaration createClassDeclaration();
41
42 /**
43 * Returns a new object of class '<em>Reference Declaration</em>'.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @return a new object of class '<em>Reference Declaration</em>'.
47 * @generated
48 */
49 ReferenceDeclaration createReferenceDeclaration();
50
51 /**
52 * Returns a new object of class '<em>Predicate Definition</em>'.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @return a new object of class '<em>Predicate Definition</em>'.
56 * @generated
57 */
58 PredicateDefinition createPredicateDefinition();
59
60 /**
61 * Returns a new object of class '<em>Parameter</em>'.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @return a new object of class '<em>Parameter</em>'.
65 * @generated
66 */
67 Parameter createParameter();
68
69 /**
70 * Returns a new object of class '<em>Conjunction</em>'.
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @return a new object of class '<em>Conjunction</em>'.
74 * @generated
75 */
76 Conjunction createConjunction();
77
78 /**
79 * Returns a new object of class '<em>Atom</em>'.
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @return a new object of class '<em>Atom</em>'.
83 * @generated
84 */
85 Atom createAtom();
86
87 /**
88 * Returns a new object of class '<em>Implicit Variable</em>'.
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @return a new object of class '<em>Implicit Variable</em>'.
92 * @generated
93 */
94 ImplicitVariable createImplicitVariable();
95
96 /**
97 * Returns a new object of class '<em>Negative Literal</em>'.
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @return a new object of class '<em>Negative Literal</em>'.
101 * @generated
102 */
103 NegativeLiteral createNegativeLiteral();
104
105 /**
106 * Returns a new object of class '<em>Assertion</em>'.
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @return a new object of class '<em>Assertion</em>'.
110 * @generated
111 */
112 Assertion createAssertion();
113
114 /**
115 * Returns a new object of class '<em>Node</em>'.
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @return a new object of class '<em>Node</em>'.
119 * @generated
120 */
121 Node createNode();
122
123 /**
124 * Returns a new object of class '<em>Scope Declaration</em>'.
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @return a new object of class '<em>Scope Declaration</em>'.
128 * @generated
129 */
130 ScopeDeclaration createScopeDeclaration();
131
132 /**
133 * Returns a new object of class '<em>Type Scope</em>'.
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @return a new object of class '<em>Type Scope</em>'.
137 * @generated
138 */
139 TypeScope createTypeScope();
140
141 /**
142 * Returns a new object of class '<em>Range Multiplicity</em>'.
143 * <!-- begin-user-doc -->
144 * <!-- end-user-doc -->
145 * @return a new object of class '<em>Range Multiplicity</em>'.
146 * @generated
147 */
148 RangeMultiplicity createRangeMultiplicity();
149
150 /**
151 * Returns a new object of class '<em>Exact Multiplicity</em>'.
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @return a new object of class '<em>Exact Multiplicity</em>'.
155 * @generated
156 */
157 ExactMultiplicity createExactMultiplicity();
158
159 /**
160 * Returns the package supported by this factory.
161 * <!-- begin-user-doc -->
162 * <!-- end-user-doc -->
163 * @return the package supported by this factory.
164 * @generated
165 */
166 ProblemPackage getProblemPackage();
167
168} //ProblemFactory
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemPackage.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemPackage.java
new file mode 100644
index 00000000..59906b1f
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemPackage.java
@@ -0,0 +1,2101 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5import org.eclipse.emf.ecore.EAttribute;
6import org.eclipse.emf.ecore.EClass;
7import org.eclipse.emf.ecore.EEnum;
8import org.eclipse.emf.ecore.EPackage;
9import org.eclipse.emf.ecore.EReference;
10
11/**
12 * <!-- begin-user-doc -->
13 * The <b>Package</b> for the model.
14 * It contains accessors for the meta objects to represent
15 * <ul>
16 * <li>each class,</li>
17 * <li>each feature of each class,</li>
18 * <li>each operation of each class,</li>
19 * <li>each enum,</li>
20 * <li>and each data type</li>
21 * </ul>
22 * <!-- end-user-doc -->
23 * @see org.eclipse.viatra.solver.language.model.problem.ProblemFactory
24 * @model kind="package"
25 * @generated
26 */
27public interface ProblemPackage extends EPackage {
28 /**
29 * The package name.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @generated
33 */
34 String eNAME = "problem";
35
36 /**
37 * The package namespace URI.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @generated
41 */
42 String eNS_URI = "http://www.eclipse.org/viatra/solver/language/model/Problem";
43
44 /**
45 * The package namespace name.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @generated
49 */
50 String eNS_PREFIX = "problem";
51
52 /**
53 * The singleton instance of the package.
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @generated
57 */
58 ProblemPackage eINSTANCE = org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl.init();
59
60 /**
61 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ProblemImpl <em>Problem</em>}' class.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemImpl
65 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getProblem()
66 * @generated
67 */
68 int PROBLEM = 0;
69
70 /**
71 * The feature id for the '<em><b>Nodes</b></em>' containment reference list.
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 * @ordered
76 */
77 int PROBLEM__NODES = 0;
78
79 /**
80 * The feature id for the '<em><b>Statements</b></em>' containment reference list.
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @generated
84 * @ordered
85 */
86 int PROBLEM__STATEMENTS = 1;
87
88 /**
89 * The number of structural features of the '<em>Problem</em>' class.
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @generated
93 * @ordered
94 */
95 int PROBLEM_FEATURE_COUNT = 2;
96
97 /**
98 * The number of operations of the '<em>Problem</em>' class.
99 * <!-- begin-user-doc -->
100 * <!-- end-user-doc -->
101 * @generated
102 * @ordered
103 */
104 int PROBLEM_OPERATION_COUNT = 0;
105
106 /**
107 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.NamedElementImpl <em>Named Element</em>}' class.
108 * <!-- begin-user-doc -->
109 * <!-- end-user-doc -->
110 * @see org.eclipse.viatra.solver.language.model.problem.impl.NamedElementImpl
111 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getNamedElement()
112 * @generated
113 */
114 int NAMED_ELEMENT = 4;
115
116 /**
117 * The feature id for the '<em><b>Name</b></em>' attribute.
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 * @ordered
122 */
123 int NAMED_ELEMENT__NAME = 0;
124
125 /**
126 * The number of structural features of the '<em>Named Element</em>' class.
127 * <!-- begin-user-doc -->
128 * <!-- end-user-doc -->
129 * @generated
130 * @ordered
131 */
132 int NAMED_ELEMENT_FEATURE_COUNT = 1;
133
134 /**
135 * The number of operations of the '<em>Named Element</em>' class.
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @generated
139 * @ordered
140 */
141 int NAMED_ELEMENT_OPERATION_COUNT = 0;
142
143 /**
144 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.RelationImpl <em>Relation</em>}' class.
145 * <!-- begin-user-doc -->
146 * <!-- end-user-doc -->
147 * @see org.eclipse.viatra.solver.language.model.problem.impl.RelationImpl
148 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getRelation()
149 * @generated
150 */
151 int RELATION = 1;
152
153 /**
154 * The feature id for the '<em><b>Name</b></em>' attribute.
155 * <!-- begin-user-doc -->
156 * <!-- end-user-doc -->
157 * @generated
158 * @ordered
159 */
160 int RELATION__NAME = NAMED_ELEMENT__NAME;
161
162 /**
163 * The number of structural features of the '<em>Relation</em>' class.
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 * @ordered
168 */
169 int RELATION_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 0;
170
171 /**
172 * The number of operations of the '<em>Relation</em>' class.
173 * <!-- begin-user-doc -->
174 * <!-- end-user-doc -->
175 * @generated
176 * @ordered
177 */
178 int RELATION_OPERATION_COUNT = NAMED_ELEMENT_OPERATION_COUNT + 0;
179
180 /**
181 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ClassDeclarationImpl <em>Class Declaration</em>}' class.
182 * <!-- begin-user-doc -->
183 * <!-- end-user-doc -->
184 * @see org.eclipse.viatra.solver.language.model.problem.impl.ClassDeclarationImpl
185 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getClassDeclaration()
186 * @generated
187 */
188 int CLASS_DECLARATION = 2;
189
190 /**
191 * The feature id for the '<em><b>Name</b></em>' attribute.
192 * <!-- begin-user-doc -->
193 * <!-- end-user-doc -->
194 * @generated
195 * @ordered
196 */
197 int CLASS_DECLARATION__NAME = RELATION__NAME;
198
199 /**
200 * The feature id for the '<em><b>Abstract</b></em>' attribute.
201 * <!-- begin-user-doc -->
202 * <!-- end-user-doc -->
203 * @generated
204 * @ordered
205 */
206 int CLASS_DECLARATION__ABSTRACT = RELATION_FEATURE_COUNT + 0;
207
208 /**
209 * The feature id for the '<em><b>Super Types</b></em>' reference list.
210 * <!-- begin-user-doc -->
211 * <!-- end-user-doc -->
212 * @generated
213 * @ordered
214 */
215 int CLASS_DECLARATION__SUPER_TYPES = RELATION_FEATURE_COUNT + 1;
216
217 /**
218 * The feature id for the '<em><b>Reference Declarations</b></em>' containment reference list.
219 * <!-- begin-user-doc -->
220 * <!-- end-user-doc -->
221 * @generated
222 * @ordered
223 */
224 int CLASS_DECLARATION__REFERENCE_DECLARATIONS = RELATION_FEATURE_COUNT + 2;
225
226 /**
227 * The number of structural features of the '<em>Class Declaration</em>' class.
228 * <!-- begin-user-doc -->
229 * <!-- end-user-doc -->
230 * @generated
231 * @ordered
232 */
233 int CLASS_DECLARATION_FEATURE_COUNT = RELATION_FEATURE_COUNT + 3;
234
235 /**
236 * The number of operations of the '<em>Class Declaration</em>' class.
237 * <!-- begin-user-doc -->
238 * <!-- end-user-doc -->
239 * @generated
240 * @ordered
241 */
242 int CLASS_DECLARATION_OPERATION_COUNT = RELATION_OPERATION_COUNT + 0;
243
244 /**
245 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ReferenceDeclarationImpl <em>Reference Declaration</em>}' class.
246 * <!-- begin-user-doc -->
247 * <!-- end-user-doc -->
248 * @see org.eclipse.viatra.solver.language.model.problem.impl.ReferenceDeclarationImpl
249 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getReferenceDeclaration()
250 * @generated
251 */
252 int REFERENCE_DECLARATION = 3;
253
254 /**
255 * The feature id for the '<em><b>Name</b></em>' attribute.
256 * <!-- begin-user-doc -->
257 * <!-- end-user-doc -->
258 * @generated
259 * @ordered
260 */
261 int REFERENCE_DECLARATION__NAME = RELATION__NAME;
262
263 /**
264 * The feature id for the '<em><b>Reference Type</b></em>' reference.
265 * <!-- begin-user-doc -->
266 * <!-- end-user-doc -->
267 * @generated
268 * @ordered
269 */
270 int REFERENCE_DECLARATION__REFERENCE_TYPE = RELATION_FEATURE_COUNT + 0;
271
272 /**
273 * The feature id for the '<em><b>Opposite</b></em>' reference.
274 * <!-- begin-user-doc -->
275 * <!-- end-user-doc -->
276 * @generated
277 * @ordered
278 */
279 int REFERENCE_DECLARATION__OPPOSITE = RELATION_FEATURE_COUNT + 1;
280
281 /**
282 * The feature id for the '<em><b>Containment</b></em>' attribute.
283 * <!-- begin-user-doc -->
284 * <!-- end-user-doc -->
285 * @generated
286 * @ordered
287 */
288 int REFERENCE_DECLARATION__CONTAINMENT = RELATION_FEATURE_COUNT + 2;
289
290 /**
291 * The feature id for the '<em><b>Multiplicity</b></em>' containment reference.
292 * <!-- begin-user-doc -->
293 * <!-- end-user-doc -->
294 * @generated
295 * @ordered
296 */
297 int REFERENCE_DECLARATION__MULTIPLICITY = RELATION_FEATURE_COUNT + 3;
298
299 /**
300 * The number of structural features of the '<em>Reference Declaration</em>' class.
301 * <!-- begin-user-doc -->
302 * <!-- end-user-doc -->
303 * @generated
304 * @ordered
305 */
306 int REFERENCE_DECLARATION_FEATURE_COUNT = RELATION_FEATURE_COUNT + 4;
307
308 /**
309 * The number of operations of the '<em>Reference Declaration</em>' class.
310 * <!-- begin-user-doc -->
311 * <!-- end-user-doc -->
312 * @generated
313 * @ordered
314 */
315 int REFERENCE_DECLARATION_OPERATION_COUNT = RELATION_OPERATION_COUNT + 0;
316
317 /**
318 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.PredicateDefinitionImpl <em>Predicate Definition</em>}' class.
319 * <!-- begin-user-doc -->
320 * <!-- end-user-doc -->
321 * @see org.eclipse.viatra.solver.language.model.problem.impl.PredicateDefinitionImpl
322 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getPredicateDefinition()
323 * @generated
324 */
325 int PREDICATE_DEFINITION = 5;
326
327 /**
328 * The feature id for the '<em><b>Name</b></em>' attribute.
329 * <!-- begin-user-doc -->
330 * <!-- end-user-doc -->
331 * @generated
332 * @ordered
333 */
334 int PREDICATE_DEFINITION__NAME = RELATION__NAME;
335
336 /**
337 * The feature id for the '<em><b>Error</b></em>' attribute.
338 * <!-- begin-user-doc -->
339 * <!-- end-user-doc -->
340 * @generated
341 * @ordered
342 */
343 int PREDICATE_DEFINITION__ERROR = RELATION_FEATURE_COUNT + 0;
344
345 /**
346 * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
347 * <!-- begin-user-doc -->
348 * <!-- end-user-doc -->
349 * @generated
350 * @ordered
351 */
352 int PREDICATE_DEFINITION__PARAMETERS = RELATION_FEATURE_COUNT + 1;
353
354 /**
355 * The feature id for the '<em><b>Bodies</b></em>' containment reference list.
356 * <!-- begin-user-doc -->
357 * <!-- end-user-doc -->
358 * @generated
359 * @ordered
360 */
361 int PREDICATE_DEFINITION__BODIES = RELATION_FEATURE_COUNT + 2;
362
363 /**
364 * The number of structural features of the '<em>Predicate Definition</em>' class.
365 * <!-- begin-user-doc -->
366 * <!-- end-user-doc -->
367 * @generated
368 * @ordered
369 */
370 int PREDICATE_DEFINITION_FEATURE_COUNT = RELATION_FEATURE_COUNT + 3;
371
372 /**
373 * The number of operations of the '<em>Predicate Definition</em>' class.
374 * <!-- begin-user-doc -->
375 * <!-- end-user-doc -->
376 * @generated
377 * @ordered
378 */
379 int PREDICATE_DEFINITION_OPERATION_COUNT = RELATION_OPERATION_COUNT + 0;
380
381 /**
382 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.VariableImpl <em>Variable</em>}' class.
383 * <!-- begin-user-doc -->
384 * <!-- end-user-doc -->
385 * @see org.eclipse.viatra.solver.language.model.problem.impl.VariableImpl
386 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getVariable()
387 * @generated
388 */
389 int VARIABLE = 7;
390
391 /**
392 * The feature id for the '<em><b>Name</b></em>' attribute.
393 * <!-- begin-user-doc -->
394 * <!-- end-user-doc -->
395 * @generated
396 * @ordered
397 */
398 int VARIABLE__NAME = NAMED_ELEMENT__NAME;
399
400 /**
401 * The number of structural features of the '<em>Variable</em>' class.
402 * <!-- begin-user-doc -->
403 * <!-- end-user-doc -->
404 * @generated
405 * @ordered
406 */
407 int VARIABLE_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 0;
408
409 /**
410 * The number of operations of the '<em>Variable</em>' class.
411 * <!-- begin-user-doc -->
412 * <!-- end-user-doc -->
413 * @generated
414 * @ordered
415 */
416 int VARIABLE_OPERATION_COUNT = NAMED_ELEMENT_OPERATION_COUNT + 0;
417
418 /**
419 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ParameterImpl <em>Parameter</em>}' class.
420 * <!-- begin-user-doc -->
421 * <!-- end-user-doc -->
422 * @see org.eclipse.viatra.solver.language.model.problem.impl.ParameterImpl
423 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getParameter()
424 * @generated
425 */
426 int PARAMETER = 6;
427
428 /**
429 * The feature id for the '<em><b>Name</b></em>' attribute.
430 * <!-- begin-user-doc -->
431 * <!-- end-user-doc -->
432 * @generated
433 * @ordered
434 */
435 int PARAMETER__NAME = VARIABLE__NAME;
436
437 /**
438 * The feature id for the '<em><b>Parameter Type</b></em>' reference.
439 * <!-- begin-user-doc -->
440 * <!-- end-user-doc -->
441 * @generated
442 * @ordered
443 */
444 int PARAMETER__PARAMETER_TYPE = VARIABLE_FEATURE_COUNT + 0;
445
446 /**
447 * The number of structural features of the '<em>Parameter</em>' class.
448 * <!-- begin-user-doc -->
449 * <!-- end-user-doc -->
450 * @generated
451 * @ordered
452 */
453 int PARAMETER_FEATURE_COUNT = VARIABLE_FEATURE_COUNT + 1;
454
455 /**
456 * The number of operations of the '<em>Parameter</em>' class.
457 * <!-- begin-user-doc -->
458 * <!-- end-user-doc -->
459 * @generated
460 * @ordered
461 */
462 int PARAMETER_OPERATION_COUNT = VARIABLE_OPERATION_COUNT + 0;
463
464 /**
465 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.ExistentialQuantifier <em>Existential Quantifier</em>}' class.
466 * <!-- begin-user-doc -->
467 * <!-- end-user-doc -->
468 * @see org.eclipse.viatra.solver.language.model.problem.ExistentialQuantifier
469 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getExistentialQuantifier()
470 * @generated
471 */
472 int EXISTENTIAL_QUANTIFIER = 13;
473
474 /**
475 * The feature id for the '<em><b>Implicit Variables</b></em>' containment reference list.
476 * <!-- begin-user-doc -->
477 * <!-- end-user-doc -->
478 * @generated
479 * @ordered
480 */
481 int EXISTENTIAL_QUANTIFIER__IMPLICIT_VARIABLES = 0;
482
483 /**
484 * The number of structural features of the '<em>Existential Quantifier</em>' class.
485 * <!-- begin-user-doc -->
486 * <!-- end-user-doc -->
487 * @generated
488 * @ordered
489 */
490 int EXISTENTIAL_QUANTIFIER_FEATURE_COUNT = 1;
491
492 /**
493 * The number of operations of the '<em>Existential Quantifier</em>' class.
494 * <!-- begin-user-doc -->
495 * <!-- end-user-doc -->
496 * @generated
497 * @ordered
498 */
499 int EXISTENTIAL_QUANTIFIER_OPERATION_COUNT = 0;
500
501 /**
502 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ConjunctionImpl <em>Conjunction</em>}' class.
503 * <!-- begin-user-doc -->
504 * <!-- end-user-doc -->
505 * @see org.eclipse.viatra.solver.language.model.problem.impl.ConjunctionImpl
506 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getConjunction()
507 * @generated
508 */
509 int CONJUNCTION = 8;
510
511 /**
512 * The feature id for the '<em><b>Implicit Variables</b></em>' containment reference list.
513 * <!-- begin-user-doc -->
514 * <!-- end-user-doc -->
515 * @generated
516 * @ordered
517 */
518 int CONJUNCTION__IMPLICIT_VARIABLES = EXISTENTIAL_QUANTIFIER__IMPLICIT_VARIABLES;
519
520 /**
521 * The feature id for the '<em><b>Literals</b></em>' containment reference list.
522 * <!-- begin-user-doc -->
523 * <!-- end-user-doc -->
524 * @generated
525 * @ordered
526 */
527 int CONJUNCTION__LITERALS = EXISTENTIAL_QUANTIFIER_FEATURE_COUNT + 0;
528
529 /**
530 * The number of structural features of the '<em>Conjunction</em>' class.
531 * <!-- begin-user-doc -->
532 * <!-- end-user-doc -->
533 * @generated
534 * @ordered
535 */
536 int CONJUNCTION_FEATURE_COUNT = EXISTENTIAL_QUANTIFIER_FEATURE_COUNT + 1;
537
538 /**
539 * The number of operations of the '<em>Conjunction</em>' class.
540 * <!-- begin-user-doc -->
541 * <!-- end-user-doc -->
542 * @generated
543 * @ordered
544 */
545 int CONJUNCTION_OPERATION_COUNT = EXISTENTIAL_QUANTIFIER_OPERATION_COUNT + 0;
546
547 /**
548 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.LiteralImpl <em>Literal</em>}' class.
549 * <!-- begin-user-doc -->
550 * <!-- end-user-doc -->
551 * @see org.eclipse.viatra.solver.language.model.problem.impl.LiteralImpl
552 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getLiteral()
553 * @generated
554 */
555 int LITERAL = 9;
556
557 /**
558 * The number of structural features of the '<em>Literal</em>' class.
559 * <!-- begin-user-doc -->
560 * <!-- end-user-doc -->
561 * @generated
562 * @ordered
563 */
564 int LITERAL_FEATURE_COUNT = 0;
565
566 /**
567 * The number of operations of the '<em>Literal</em>' class.
568 * <!-- begin-user-doc -->
569 * <!-- end-user-doc -->
570 * @generated
571 * @ordered
572 */
573 int LITERAL_OPERATION_COUNT = 0;
574
575 /**
576 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.AtomImpl <em>Atom</em>}' class.
577 * <!-- begin-user-doc -->
578 * <!-- end-user-doc -->
579 * @see org.eclipse.viatra.solver.language.model.problem.impl.AtomImpl
580 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getAtom()
581 * @generated
582 */
583 int ATOM = 10;
584
585 /**
586 * The feature id for the '<em><b>Relation</b></em>' reference.
587 * <!-- begin-user-doc -->
588 * <!-- end-user-doc -->
589 * @generated
590 * @ordered
591 */
592 int ATOM__RELATION = LITERAL_FEATURE_COUNT + 0;
593
594 /**
595 * The feature id for the '<em><b>Arguments</b></em>' reference list.
596 * <!-- begin-user-doc -->
597 * <!-- end-user-doc -->
598 * @generated
599 * @ordered
600 */
601 int ATOM__ARGUMENTS = LITERAL_FEATURE_COUNT + 1;
602
603 /**
604 * The feature id for the '<em><b>Transitive Closure</b></em>' attribute.
605 * <!-- begin-user-doc -->
606 * <!-- end-user-doc -->
607 * @generated
608 * @ordered
609 */
610 int ATOM__TRANSITIVE_CLOSURE = LITERAL_FEATURE_COUNT + 2;
611
612 /**
613 * The number of structural features of the '<em>Atom</em>' class.
614 * <!-- begin-user-doc -->
615 * <!-- end-user-doc -->
616 * @generated
617 * @ordered
618 */
619 int ATOM_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 3;
620
621 /**
622 * The number of operations of the '<em>Atom</em>' class.
623 * <!-- begin-user-doc -->
624 * <!-- end-user-doc -->
625 * @generated
626 * @ordered
627 */
628 int ATOM_OPERATION_COUNT = LITERAL_OPERATION_COUNT + 0;
629
630 /**
631 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ImplicitVariableImpl <em>Implicit Variable</em>}' class.
632 * <!-- begin-user-doc -->
633 * <!-- end-user-doc -->
634 * @see org.eclipse.viatra.solver.language.model.problem.impl.ImplicitVariableImpl
635 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getImplicitVariable()
636 * @generated
637 */
638 int IMPLICIT_VARIABLE = 11;
639
640 /**
641 * The feature id for the '<em><b>Name</b></em>' attribute.
642 * <!-- begin-user-doc -->
643 * <!-- end-user-doc -->
644 * @generated
645 * @ordered
646 */
647 int IMPLICIT_VARIABLE__NAME = VARIABLE__NAME;
648
649 /**
650 * The number of structural features of the '<em>Implicit Variable</em>' class.
651 * <!-- begin-user-doc -->
652 * <!-- end-user-doc -->
653 * @generated
654 * @ordered
655 */
656 int IMPLICIT_VARIABLE_FEATURE_COUNT = VARIABLE_FEATURE_COUNT + 0;
657
658 /**
659 * The number of operations of the '<em>Implicit Variable</em>' class.
660 * <!-- begin-user-doc -->
661 * <!-- end-user-doc -->
662 * @generated
663 * @ordered
664 */
665 int IMPLICIT_VARIABLE_OPERATION_COUNT = VARIABLE_OPERATION_COUNT + 0;
666
667 /**
668 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.NegativeLiteralImpl <em>Negative Literal</em>}' class.
669 * <!-- begin-user-doc -->
670 * <!-- end-user-doc -->
671 * @see org.eclipse.viatra.solver.language.model.problem.impl.NegativeLiteralImpl
672 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getNegativeLiteral()
673 * @generated
674 */
675 int NEGATIVE_LITERAL = 12;
676
677 /**
678 * The feature id for the '<em><b>Implicit Variables</b></em>' containment reference list.
679 * <!-- begin-user-doc -->
680 * <!-- end-user-doc -->
681 * @generated
682 * @ordered
683 */
684 int NEGATIVE_LITERAL__IMPLICIT_VARIABLES = EXISTENTIAL_QUANTIFIER__IMPLICIT_VARIABLES;
685
686 /**
687 * The feature id for the '<em><b>Atom</b></em>' containment reference.
688 * <!-- begin-user-doc -->
689 * <!-- end-user-doc -->
690 * @generated
691 * @ordered
692 */
693 int NEGATIVE_LITERAL__ATOM = EXISTENTIAL_QUANTIFIER_FEATURE_COUNT + 0;
694
695 /**
696 * The number of structural features of the '<em>Negative Literal</em>' class.
697 * <!-- begin-user-doc -->
698 * <!-- end-user-doc -->
699 * @generated
700 * @ordered
701 */
702 int NEGATIVE_LITERAL_FEATURE_COUNT = EXISTENTIAL_QUANTIFIER_FEATURE_COUNT + 1;
703
704 /**
705 * The number of operations of the '<em>Negative Literal</em>' class.
706 * <!-- begin-user-doc -->
707 * <!-- end-user-doc -->
708 * @generated
709 * @ordered
710 */
711 int NEGATIVE_LITERAL_OPERATION_COUNT = EXISTENTIAL_QUANTIFIER_OPERATION_COUNT + 0;
712
713 /**
714 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.Statement <em>Statement</em>}' class.
715 * <!-- begin-user-doc -->
716 * <!-- end-user-doc -->
717 * @see org.eclipse.viatra.solver.language.model.problem.Statement
718 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getStatement()
719 * @generated
720 */
721 int STATEMENT = 17;
722
723 /**
724 * The number of structural features of the '<em>Statement</em>' class.
725 * <!-- begin-user-doc -->
726 * <!-- end-user-doc -->
727 * @generated
728 * @ordered
729 */
730 int STATEMENT_FEATURE_COUNT = 0;
731
732 /**
733 * The number of operations of the '<em>Statement</em>' class.
734 * <!-- begin-user-doc -->
735 * <!-- end-user-doc -->
736 * @generated
737 * @ordered
738 */
739 int STATEMENT_OPERATION_COUNT = 0;
740
741 /**
742 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.AssertionImpl <em>Assertion</em>}' class.
743 * <!-- begin-user-doc -->
744 * <!-- end-user-doc -->
745 * @see org.eclipse.viatra.solver.language.model.problem.impl.AssertionImpl
746 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getAssertion()
747 * @generated
748 */
749 int ASSERTION = 14;
750
751 /**
752 * The feature id for the '<em><b>Relation</b></em>' reference.
753 * <!-- begin-user-doc -->
754 * <!-- end-user-doc -->
755 * @generated
756 * @ordered
757 */
758 int ASSERTION__RELATION = STATEMENT_FEATURE_COUNT + 0;
759
760 /**
761 * The feature id for the '<em><b>Arguments</b></em>' reference list.
762 * <!-- begin-user-doc -->
763 * <!-- end-user-doc -->
764 * @generated
765 * @ordered
766 */
767 int ASSERTION__ARGUMENTS = STATEMENT_FEATURE_COUNT + 1;
768
769 /**
770 * The feature id for the '<em><b>Value</b></em>' attribute.
771 * <!-- begin-user-doc -->
772 * <!-- end-user-doc -->
773 * @generated
774 * @ordered
775 */
776 int ASSERTION__VALUE = STATEMENT_FEATURE_COUNT + 2;
777
778 /**
779 * The number of structural features of the '<em>Assertion</em>' class.
780 * <!-- begin-user-doc -->
781 * <!-- end-user-doc -->
782 * @generated
783 * @ordered
784 */
785 int ASSERTION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 3;
786
787 /**
788 * The number of operations of the '<em>Assertion</em>' class.
789 * <!-- begin-user-doc -->
790 * <!-- end-user-doc -->
791 * @generated
792 * @ordered
793 */
794 int ASSERTION_OPERATION_COUNT = STATEMENT_OPERATION_COUNT + 0;
795
796 /**
797 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.NodeImpl <em>Node</em>}' class.
798 * <!-- begin-user-doc -->
799 * <!-- end-user-doc -->
800 * @see org.eclipse.viatra.solver.language.model.problem.impl.NodeImpl
801 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getNode()
802 * @generated
803 */
804 int NODE = 15;
805
806 /**
807 * The feature id for the '<em><b>Name</b></em>' attribute.
808 * <!-- begin-user-doc -->
809 * <!-- end-user-doc -->
810 * @generated
811 * @ordered
812 */
813 int NODE__NAME = NAMED_ELEMENT__NAME;
814
815 /**
816 * The number of structural features of the '<em>Node</em>' class.
817 * <!-- begin-user-doc -->
818 * <!-- end-user-doc -->
819 * @generated
820 * @ordered
821 */
822 int NODE_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 0;
823
824 /**
825 * The number of operations of the '<em>Node</em>' class.
826 * <!-- begin-user-doc -->
827 * <!-- end-user-doc -->
828 * @generated
829 * @ordered
830 */
831 int NODE_OPERATION_COUNT = NAMED_ELEMENT_OPERATION_COUNT + 0;
832
833 /**
834 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ScopeDeclarationImpl <em>Scope Declaration</em>}' class.
835 * <!-- begin-user-doc -->
836 * <!-- end-user-doc -->
837 * @see org.eclipse.viatra.solver.language.model.problem.impl.ScopeDeclarationImpl
838 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getScopeDeclaration()
839 * @generated
840 */
841 int SCOPE_DECLARATION = 16;
842
843 /**
844 * The feature id for the '<em><b>Type Scopes</b></em>' containment reference list.
845 * <!-- begin-user-doc -->
846 * <!-- end-user-doc -->
847 * @generated
848 * @ordered
849 */
850 int SCOPE_DECLARATION__TYPE_SCOPES = STATEMENT_FEATURE_COUNT + 0;
851
852 /**
853 * The number of structural features of the '<em>Scope Declaration</em>' class.
854 * <!-- begin-user-doc -->
855 * <!-- end-user-doc -->
856 * @generated
857 * @ordered
858 */
859 int SCOPE_DECLARATION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 1;
860
861 /**
862 * The number of operations of the '<em>Scope Declaration</em>' class.
863 * <!-- begin-user-doc -->
864 * <!-- end-user-doc -->
865 * @generated
866 * @ordered
867 */
868 int SCOPE_DECLARATION_OPERATION_COUNT = STATEMENT_OPERATION_COUNT + 0;
869
870 /**
871 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.TypeScopeImpl <em>Type Scope</em>}' class.
872 * <!-- begin-user-doc -->
873 * <!-- end-user-doc -->
874 * @see org.eclipse.viatra.solver.language.model.problem.impl.TypeScopeImpl
875 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getTypeScope()
876 * @generated
877 */
878 int TYPE_SCOPE = 18;
879
880 /**
881 * The feature id for the '<em><b>Target Type</b></em>' reference.
882 * <!-- begin-user-doc -->
883 * <!-- end-user-doc -->
884 * @generated
885 * @ordered
886 */
887 int TYPE_SCOPE__TARGET_TYPE = 0;
888
889 /**
890 * The feature id for the '<em><b>Increment</b></em>' attribute.
891 * <!-- begin-user-doc -->
892 * <!-- end-user-doc -->
893 * @generated
894 * @ordered
895 */
896 int TYPE_SCOPE__INCREMENT = 1;
897
898 /**
899 * The feature id for the '<em><b>Multiplicity</b></em>' containment reference.
900 * <!-- begin-user-doc -->
901 * <!-- end-user-doc -->
902 * @generated
903 * @ordered
904 */
905 int TYPE_SCOPE__MULTIPLICITY = 2;
906
907 /**
908 * The number of structural features of the '<em>Type Scope</em>' class.
909 * <!-- begin-user-doc -->
910 * <!-- end-user-doc -->
911 * @generated
912 * @ordered
913 */
914 int TYPE_SCOPE_FEATURE_COUNT = 3;
915
916 /**
917 * The number of operations of the '<em>Type Scope</em>' class.
918 * <!-- begin-user-doc -->
919 * <!-- end-user-doc -->
920 * @generated
921 * @ordered
922 */
923 int TYPE_SCOPE_OPERATION_COUNT = 0;
924
925 /**
926 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.MultiplicityImpl <em>Multiplicity</em>}' class.
927 * <!-- begin-user-doc -->
928 * <!-- end-user-doc -->
929 * @see org.eclipse.viatra.solver.language.model.problem.impl.MultiplicityImpl
930 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getMultiplicity()
931 * @generated
932 */
933 int MULTIPLICITY = 19;
934
935 /**
936 * The number of structural features of the '<em>Multiplicity</em>' class.
937 * <!-- begin-user-doc -->
938 * <!-- end-user-doc -->
939 * @generated
940 * @ordered
941 */
942 int MULTIPLICITY_FEATURE_COUNT = 0;
943
944 /**
945 * The number of operations of the '<em>Multiplicity</em>' class.
946 * <!-- begin-user-doc -->
947 * <!-- end-user-doc -->
948 * @generated
949 * @ordered
950 */
951 int MULTIPLICITY_OPERATION_COUNT = 0;
952
953 /**
954 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.RangeMultiplicityImpl <em>Range Multiplicity</em>}' class.
955 * <!-- begin-user-doc -->
956 * <!-- end-user-doc -->
957 * @see org.eclipse.viatra.solver.language.model.problem.impl.RangeMultiplicityImpl
958 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getRangeMultiplicity()
959 * @generated
960 */
961 int RANGE_MULTIPLICITY = 20;
962
963 /**
964 * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
965 * <!-- begin-user-doc -->
966 * <!-- end-user-doc -->
967 * @generated
968 * @ordered
969 */
970 int RANGE_MULTIPLICITY__LOWER_BOUND = MULTIPLICITY_FEATURE_COUNT + 0;
971
972 /**
973 * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
974 * <!-- begin-user-doc -->
975 * <!-- end-user-doc -->
976 * @generated
977 * @ordered
978 */
979 int RANGE_MULTIPLICITY__UPPER_BOUND = MULTIPLICITY_FEATURE_COUNT + 1;
980
981 /**
982 * The number of structural features of the '<em>Range Multiplicity</em>' class.
983 * <!-- begin-user-doc -->
984 * <!-- end-user-doc -->
985 * @generated
986 * @ordered
987 */
988 int RANGE_MULTIPLICITY_FEATURE_COUNT = MULTIPLICITY_FEATURE_COUNT + 2;
989
990 /**
991 * The number of operations of the '<em>Range Multiplicity</em>' class.
992 * <!-- begin-user-doc -->
993 * <!-- end-user-doc -->
994 * @generated
995 * @ordered
996 */
997 int RANGE_MULTIPLICITY_OPERATION_COUNT = MULTIPLICITY_OPERATION_COUNT + 0;
998
999 /**
1000 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ExactMultiplicityImpl <em>Exact Multiplicity</em>}' class.
1001 * <!-- begin-user-doc -->
1002 * <!-- end-user-doc -->
1003 * @see org.eclipse.viatra.solver.language.model.problem.impl.ExactMultiplicityImpl
1004 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getExactMultiplicity()
1005 * @generated
1006 */
1007 int EXACT_MULTIPLICITY = 21;
1008
1009 /**
1010 * The feature id for the '<em><b>Exact Value</b></em>' attribute.
1011 * <!-- begin-user-doc -->
1012 * <!-- end-user-doc -->
1013 * @generated
1014 * @ordered
1015 */
1016 int EXACT_MULTIPLICITY__EXACT_VALUE = MULTIPLICITY_FEATURE_COUNT + 0;
1017
1018 /**
1019 * The number of structural features of the '<em>Exact Multiplicity</em>' class.
1020 * <!-- begin-user-doc -->
1021 * <!-- end-user-doc -->
1022 * @generated
1023 * @ordered
1024 */
1025 int EXACT_MULTIPLICITY_FEATURE_COUNT = MULTIPLICITY_FEATURE_COUNT + 1;
1026
1027 /**
1028 * The number of operations of the '<em>Exact Multiplicity</em>' class.
1029 * <!-- begin-user-doc -->
1030 * <!-- end-user-doc -->
1031 * @generated
1032 * @ordered
1033 */
1034 int EXACT_MULTIPLICITY_OPERATION_COUNT = MULTIPLICITY_OPERATION_COUNT + 0;
1035
1036 /**
1037 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.LogicValue <em>Logic Value</em>}' enum.
1038 * <!-- begin-user-doc -->
1039 * <!-- end-user-doc -->
1040 * @see org.eclipse.viatra.solver.language.model.problem.LogicValue
1041 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getLogicValue()
1042 * @generated
1043 */
1044 int LOGIC_VALUE = 22;
1045
1046 /**
1047 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.Problem <em>Problem</em>}'.
1048 * <!-- begin-user-doc -->
1049 * <!-- end-user-doc -->
1050 * @return the meta object for class '<em>Problem</em>'.
1051 * @see org.eclipse.viatra.solver.language.model.problem.Problem
1052 * @generated
1053 */
1054 EClass getProblem();
1055
1056 /**
1057 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.model.problem.Problem#getNodes <em>Nodes</em>}'.
1058 * <!-- begin-user-doc -->
1059 * <!-- end-user-doc -->
1060 * @return the meta object for the containment reference list '<em>Nodes</em>'.
1061 * @see org.eclipse.viatra.solver.language.model.problem.Problem#getNodes()
1062 * @see #getProblem()
1063 * @generated
1064 */
1065 EReference getProblem_Nodes();
1066
1067 /**
1068 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.model.problem.Problem#getStatements <em>Statements</em>}'.
1069 * <!-- begin-user-doc -->
1070 * <!-- end-user-doc -->
1071 * @return the meta object for the containment reference list '<em>Statements</em>'.
1072 * @see org.eclipse.viatra.solver.language.model.problem.Problem#getStatements()
1073 * @see #getProblem()
1074 * @generated
1075 */
1076 EReference getProblem_Statements();
1077
1078 /**
1079 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.Relation <em>Relation</em>}'.
1080 * <!-- begin-user-doc -->
1081 * <!-- end-user-doc -->
1082 * @return the meta object for class '<em>Relation</em>'.
1083 * @see org.eclipse.viatra.solver.language.model.problem.Relation
1084 * @generated
1085 */
1086 EClass getRelation();
1087
1088 /**
1089 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration <em>Class Declaration</em>}'.
1090 * <!-- begin-user-doc -->
1091 * <!-- end-user-doc -->
1092 * @return the meta object for class '<em>Class Declaration</em>'.
1093 * @see org.eclipse.viatra.solver.language.model.problem.ClassDeclaration
1094 * @generated
1095 */
1096 EClass getClassDeclaration();
1097
1098 /**
1099 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#isAbstract <em>Abstract</em>}'.
1100 * <!-- begin-user-doc -->
1101 * <!-- end-user-doc -->
1102 * @return the meta object for the attribute '<em>Abstract</em>'.
1103 * @see org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#isAbstract()
1104 * @see #getClassDeclaration()
1105 * @generated
1106 */
1107 EAttribute getClassDeclaration_Abstract();
1108
1109 /**
1110 * Returns the meta object for the reference list '{@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#getSuperTypes <em>Super Types</em>}'.
1111 * <!-- begin-user-doc -->
1112 * <!-- end-user-doc -->
1113 * @return the meta object for the reference list '<em>Super Types</em>'.
1114 * @see org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#getSuperTypes()
1115 * @see #getClassDeclaration()
1116 * @generated
1117 */
1118 EReference getClassDeclaration_SuperTypes();
1119
1120 /**
1121 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#getReferenceDeclarations <em>Reference Declarations</em>}'.
1122 * <!-- begin-user-doc -->
1123 * <!-- end-user-doc -->
1124 * @return the meta object for the containment reference list '<em>Reference Declarations</em>'.
1125 * @see org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#getReferenceDeclarations()
1126 * @see #getClassDeclaration()
1127 * @generated
1128 */
1129 EReference getClassDeclaration_ReferenceDeclarations();
1130
1131 /**
1132 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration <em>Reference Declaration</em>}'.
1133 * <!-- begin-user-doc -->
1134 * <!-- end-user-doc -->
1135 * @return the meta object for class '<em>Reference Declaration</em>'.
1136 * @see org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration
1137 * @generated
1138 */
1139 EClass getReferenceDeclaration();
1140
1141 /**
1142 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration#getReferenceType <em>Reference Type</em>}'.
1143 * <!-- begin-user-doc -->
1144 * <!-- end-user-doc -->
1145 * @return the meta object for the reference '<em>Reference Type</em>'.
1146 * @see org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration#getReferenceType()
1147 * @see #getReferenceDeclaration()
1148 * @generated
1149 */
1150 EReference getReferenceDeclaration_ReferenceType();
1151
1152 /**
1153 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration#getOpposite <em>Opposite</em>}'.
1154 * <!-- begin-user-doc -->
1155 * <!-- end-user-doc -->
1156 * @return the meta object for the reference '<em>Opposite</em>'.
1157 * @see org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration#getOpposite()
1158 * @see #getReferenceDeclaration()
1159 * @generated
1160 */
1161 EReference getReferenceDeclaration_Opposite();
1162
1163 /**
1164 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration#isContainment <em>Containment</em>}'.
1165 * <!-- begin-user-doc -->
1166 * <!-- end-user-doc -->
1167 * @return the meta object for the attribute '<em>Containment</em>'.
1168 * @see org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration#isContainment()
1169 * @see #getReferenceDeclaration()
1170 * @generated
1171 */
1172 EAttribute getReferenceDeclaration_Containment();
1173
1174 /**
1175 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration#getMultiplicity <em>Multiplicity</em>}'.
1176 * <!-- begin-user-doc -->
1177 * <!-- end-user-doc -->
1178 * @return the meta object for the containment reference '<em>Multiplicity</em>'.
1179 * @see org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration#getMultiplicity()
1180 * @see #getReferenceDeclaration()
1181 * @generated
1182 */
1183 EReference getReferenceDeclaration_Multiplicity();
1184
1185 /**
1186 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.NamedElement <em>Named Element</em>}'.
1187 * <!-- begin-user-doc -->
1188 * <!-- end-user-doc -->
1189 * @return the meta object for class '<em>Named Element</em>'.
1190 * @see org.eclipse.viatra.solver.language.model.problem.NamedElement
1191 * @generated
1192 */
1193 EClass getNamedElement();
1194
1195 /**
1196 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.model.problem.NamedElement#getName <em>Name</em>}'.
1197 * <!-- begin-user-doc -->
1198 * <!-- end-user-doc -->
1199 * @return the meta object for the attribute '<em>Name</em>'.
1200 * @see org.eclipse.viatra.solver.language.model.problem.NamedElement#getName()
1201 * @see #getNamedElement()
1202 * @generated
1203 */
1204 EAttribute getNamedElement_Name();
1205
1206 /**
1207 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.PredicateDefinition <em>Predicate Definition</em>}'.
1208 * <!-- begin-user-doc -->
1209 * <!-- end-user-doc -->
1210 * @return the meta object for class '<em>Predicate Definition</em>'.
1211 * @see org.eclipse.viatra.solver.language.model.problem.PredicateDefinition
1212 * @generated
1213 */
1214 EClass getPredicateDefinition();
1215
1216 /**
1217 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.model.problem.PredicateDefinition#isError <em>Error</em>}'.
1218 * <!-- begin-user-doc -->
1219 * <!-- end-user-doc -->
1220 * @return the meta object for the attribute '<em>Error</em>'.
1221 * @see org.eclipse.viatra.solver.language.model.problem.PredicateDefinition#isError()
1222 * @see #getPredicateDefinition()
1223 * @generated
1224 */
1225 EAttribute getPredicateDefinition_Error();
1226
1227 /**
1228 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.model.problem.PredicateDefinition#getParameters <em>Parameters</em>}'.
1229 * <!-- begin-user-doc -->
1230 * <!-- end-user-doc -->
1231 * @return the meta object for the containment reference list '<em>Parameters</em>'.
1232 * @see org.eclipse.viatra.solver.language.model.problem.PredicateDefinition#getParameters()
1233 * @see #getPredicateDefinition()
1234 * @generated
1235 */
1236 EReference getPredicateDefinition_Parameters();
1237
1238 /**
1239 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.model.problem.PredicateDefinition#getBodies <em>Bodies</em>}'.
1240 * <!-- begin-user-doc -->
1241 * <!-- end-user-doc -->
1242 * @return the meta object for the containment reference list '<em>Bodies</em>'.
1243 * @see org.eclipse.viatra.solver.language.model.problem.PredicateDefinition#getBodies()
1244 * @see #getPredicateDefinition()
1245 * @generated
1246 */
1247 EReference getPredicateDefinition_Bodies();
1248
1249 /**
1250 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.Parameter <em>Parameter</em>}'.
1251 * <!-- begin-user-doc -->
1252 * <!-- end-user-doc -->
1253 * @return the meta object for class '<em>Parameter</em>'.
1254 * @see org.eclipse.viatra.solver.language.model.problem.Parameter
1255 * @generated
1256 */
1257 EClass getParameter();
1258
1259 /**
1260 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.model.problem.Parameter#getParameterType <em>Parameter Type</em>}'.
1261 * <!-- begin-user-doc -->
1262 * <!-- end-user-doc -->
1263 * @return the meta object for the reference '<em>Parameter Type</em>'.
1264 * @see org.eclipse.viatra.solver.language.model.problem.Parameter#getParameterType()
1265 * @see #getParameter()
1266 * @generated
1267 */
1268 EReference getParameter_ParameterType();
1269
1270 /**
1271 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.Variable <em>Variable</em>}'.
1272 * <!-- begin-user-doc -->
1273 * <!-- end-user-doc -->
1274 * @return the meta object for class '<em>Variable</em>'.
1275 * @see org.eclipse.viatra.solver.language.model.problem.Variable
1276 * @generated
1277 */
1278 EClass getVariable();
1279
1280 /**
1281 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.Conjunction <em>Conjunction</em>}'.
1282 * <!-- begin-user-doc -->
1283 * <!-- end-user-doc -->
1284 * @return the meta object for class '<em>Conjunction</em>'.
1285 * @see org.eclipse.viatra.solver.language.model.problem.Conjunction
1286 * @generated
1287 */
1288 EClass getConjunction();
1289
1290 /**
1291 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.model.problem.Conjunction#getLiterals <em>Literals</em>}'.
1292 * <!-- begin-user-doc -->
1293 * <!-- end-user-doc -->
1294 * @return the meta object for the containment reference list '<em>Literals</em>'.
1295 * @see org.eclipse.viatra.solver.language.model.problem.Conjunction#getLiterals()
1296 * @see #getConjunction()
1297 * @generated
1298 */
1299 EReference getConjunction_Literals();
1300
1301 /**
1302 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.Literal <em>Literal</em>}'.
1303 * <!-- begin-user-doc -->
1304 * <!-- end-user-doc -->
1305 * @return the meta object for class '<em>Literal</em>'.
1306 * @see org.eclipse.viatra.solver.language.model.problem.Literal
1307 * @generated
1308 */
1309 EClass getLiteral();
1310
1311 /**
1312 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.Atom <em>Atom</em>}'.
1313 * <!-- begin-user-doc -->
1314 * <!-- end-user-doc -->
1315 * @return the meta object for class '<em>Atom</em>'.
1316 * @see org.eclipse.viatra.solver.language.model.problem.Atom
1317 * @generated
1318 */
1319 EClass getAtom();
1320
1321 /**
1322 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.model.problem.Atom#getRelation <em>Relation</em>}'.
1323 * <!-- begin-user-doc -->
1324 * <!-- end-user-doc -->
1325 * @return the meta object for the reference '<em>Relation</em>'.
1326 * @see org.eclipse.viatra.solver.language.model.problem.Atom#getRelation()
1327 * @see #getAtom()
1328 * @generated
1329 */
1330 EReference getAtom_Relation();
1331
1332 /**
1333 * Returns the meta object for the reference list '{@link org.eclipse.viatra.solver.language.model.problem.Atom#getArguments <em>Arguments</em>}'.
1334 * <!-- begin-user-doc -->
1335 * <!-- end-user-doc -->
1336 * @return the meta object for the reference list '<em>Arguments</em>'.
1337 * @see org.eclipse.viatra.solver.language.model.problem.Atom#getArguments()
1338 * @see #getAtom()
1339 * @generated
1340 */
1341 EReference getAtom_Arguments();
1342
1343 /**
1344 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.model.problem.Atom#isTransitiveClosure <em>Transitive Closure</em>}'.
1345 * <!-- begin-user-doc -->
1346 * <!-- end-user-doc -->
1347 * @return the meta object for the attribute '<em>Transitive Closure</em>'.
1348 * @see org.eclipse.viatra.solver.language.model.problem.Atom#isTransitiveClosure()
1349 * @see #getAtom()
1350 * @generated
1351 */
1352 EAttribute getAtom_TransitiveClosure();
1353
1354 /**
1355 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.ImplicitVariable <em>Implicit Variable</em>}'.
1356 * <!-- begin-user-doc -->
1357 * <!-- end-user-doc -->
1358 * @return the meta object for class '<em>Implicit Variable</em>'.
1359 * @see org.eclipse.viatra.solver.language.model.problem.ImplicitVariable
1360 * @generated
1361 */
1362 EClass getImplicitVariable();
1363
1364 /**
1365 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.NegativeLiteral <em>Negative Literal</em>}'.
1366 * <!-- begin-user-doc -->
1367 * <!-- end-user-doc -->
1368 * @return the meta object for class '<em>Negative Literal</em>'.
1369 * @see org.eclipse.viatra.solver.language.model.problem.NegativeLiteral
1370 * @generated
1371 */
1372 EClass getNegativeLiteral();
1373
1374 /**
1375 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.model.problem.NegativeLiteral#getAtom <em>Atom</em>}'.
1376 * <!-- begin-user-doc -->
1377 * <!-- end-user-doc -->
1378 * @return the meta object for the containment reference '<em>Atom</em>'.
1379 * @see org.eclipse.viatra.solver.language.model.problem.NegativeLiteral#getAtom()
1380 * @see #getNegativeLiteral()
1381 * @generated
1382 */
1383 EReference getNegativeLiteral_Atom();
1384
1385 /**
1386 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.ExistentialQuantifier <em>Existential Quantifier</em>}'.
1387 * <!-- begin-user-doc -->
1388 * <!-- end-user-doc -->
1389 * @return the meta object for class '<em>Existential Quantifier</em>'.
1390 * @see org.eclipse.viatra.solver.language.model.problem.ExistentialQuantifier
1391 * @generated
1392 */
1393 EClass getExistentialQuantifier();
1394
1395 /**
1396 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.model.problem.ExistentialQuantifier#getImplicitVariables <em>Implicit Variables</em>}'.
1397 * <!-- begin-user-doc -->
1398 * <!-- end-user-doc -->
1399 * @return the meta object for the containment reference list '<em>Implicit Variables</em>'.
1400 * @see org.eclipse.viatra.solver.language.model.problem.ExistentialQuantifier#getImplicitVariables()
1401 * @see #getExistentialQuantifier()
1402 * @generated
1403 */
1404 EReference getExistentialQuantifier_ImplicitVariables();
1405
1406 /**
1407 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.Assertion <em>Assertion</em>}'.
1408 * <!-- begin-user-doc -->
1409 * <!-- end-user-doc -->
1410 * @return the meta object for class '<em>Assertion</em>'.
1411 * @see org.eclipse.viatra.solver.language.model.problem.Assertion
1412 * @generated
1413 */
1414 EClass getAssertion();
1415
1416 /**
1417 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.model.problem.Assertion#getRelation <em>Relation</em>}'.
1418 * <!-- begin-user-doc -->
1419 * <!-- end-user-doc -->
1420 * @return the meta object for the reference '<em>Relation</em>'.
1421 * @see org.eclipse.viatra.solver.language.model.problem.Assertion#getRelation()
1422 * @see #getAssertion()
1423 * @generated
1424 */
1425 EReference getAssertion_Relation();
1426
1427 /**
1428 * Returns the meta object for the reference list '{@link org.eclipse.viatra.solver.language.model.problem.Assertion#getArguments <em>Arguments</em>}'.
1429 * <!-- begin-user-doc -->
1430 * <!-- end-user-doc -->
1431 * @return the meta object for the reference list '<em>Arguments</em>'.
1432 * @see org.eclipse.viatra.solver.language.model.problem.Assertion#getArguments()
1433 * @see #getAssertion()
1434 * @generated
1435 */
1436 EReference getAssertion_Arguments();
1437
1438 /**
1439 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.model.problem.Assertion#getValue <em>Value</em>}'.
1440 * <!-- begin-user-doc -->
1441 * <!-- end-user-doc -->
1442 * @return the meta object for the attribute '<em>Value</em>'.
1443 * @see org.eclipse.viatra.solver.language.model.problem.Assertion#getValue()
1444 * @see #getAssertion()
1445 * @generated
1446 */
1447 EAttribute getAssertion_Value();
1448
1449 /**
1450 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.Node <em>Node</em>}'.
1451 * <!-- begin-user-doc -->
1452 * <!-- end-user-doc -->
1453 * @return the meta object for class '<em>Node</em>'.
1454 * @see org.eclipse.viatra.solver.language.model.problem.Node
1455 * @generated
1456 */
1457 EClass getNode();
1458
1459 /**
1460 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.ScopeDeclaration <em>Scope Declaration</em>}'.
1461 * <!-- begin-user-doc -->
1462 * <!-- end-user-doc -->
1463 * @return the meta object for class '<em>Scope Declaration</em>'.
1464 * @see org.eclipse.viatra.solver.language.model.problem.ScopeDeclaration
1465 * @generated
1466 */
1467 EClass getScopeDeclaration();
1468
1469 /**
1470 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.model.problem.ScopeDeclaration#getTypeScopes <em>Type Scopes</em>}'.
1471 * <!-- begin-user-doc -->
1472 * <!-- end-user-doc -->
1473 * @return the meta object for the containment reference list '<em>Type Scopes</em>'.
1474 * @see org.eclipse.viatra.solver.language.model.problem.ScopeDeclaration#getTypeScopes()
1475 * @see #getScopeDeclaration()
1476 * @generated
1477 */
1478 EReference getScopeDeclaration_TypeScopes();
1479
1480 /**
1481 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.Statement <em>Statement</em>}'.
1482 * <!-- begin-user-doc -->
1483 * <!-- end-user-doc -->
1484 * @return the meta object for class '<em>Statement</em>'.
1485 * @see org.eclipse.viatra.solver.language.model.problem.Statement
1486 * @generated
1487 */
1488 EClass getStatement();
1489
1490 /**
1491 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.TypeScope <em>Type Scope</em>}'.
1492 * <!-- begin-user-doc -->
1493 * <!-- end-user-doc -->
1494 * @return the meta object for class '<em>Type Scope</em>'.
1495 * @see org.eclipse.viatra.solver.language.model.problem.TypeScope
1496 * @generated
1497 */
1498 EClass getTypeScope();
1499
1500 /**
1501 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.model.problem.TypeScope#getTargetType <em>Target Type</em>}'.
1502 * <!-- begin-user-doc -->
1503 * <!-- end-user-doc -->
1504 * @return the meta object for the reference '<em>Target Type</em>'.
1505 * @see org.eclipse.viatra.solver.language.model.problem.TypeScope#getTargetType()
1506 * @see #getTypeScope()
1507 * @generated
1508 */
1509 EReference getTypeScope_TargetType();
1510
1511 /**
1512 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.model.problem.TypeScope#isIncrement <em>Increment</em>}'.
1513 * <!-- begin-user-doc -->
1514 * <!-- end-user-doc -->
1515 * @return the meta object for the attribute '<em>Increment</em>'.
1516 * @see org.eclipse.viatra.solver.language.model.problem.TypeScope#isIncrement()
1517 * @see #getTypeScope()
1518 * @generated
1519 */
1520 EAttribute getTypeScope_Increment();
1521
1522 /**
1523 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.model.problem.TypeScope#getMultiplicity <em>Multiplicity</em>}'.
1524 * <!-- begin-user-doc -->
1525 * <!-- end-user-doc -->
1526 * @return the meta object for the containment reference '<em>Multiplicity</em>'.
1527 * @see org.eclipse.viatra.solver.language.model.problem.TypeScope#getMultiplicity()
1528 * @see #getTypeScope()
1529 * @generated
1530 */
1531 EReference getTypeScope_Multiplicity();
1532
1533 /**
1534 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.Multiplicity <em>Multiplicity</em>}'.
1535 * <!-- begin-user-doc -->
1536 * <!-- end-user-doc -->
1537 * @return the meta object for class '<em>Multiplicity</em>'.
1538 * @see org.eclipse.viatra.solver.language.model.problem.Multiplicity
1539 * @generated
1540 */
1541 EClass getMultiplicity();
1542
1543 /**
1544 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.RangeMultiplicity <em>Range Multiplicity</em>}'.
1545 * <!-- begin-user-doc -->
1546 * <!-- end-user-doc -->
1547 * @return the meta object for class '<em>Range Multiplicity</em>'.
1548 * @see org.eclipse.viatra.solver.language.model.problem.RangeMultiplicity
1549 * @generated
1550 */
1551 EClass getRangeMultiplicity();
1552
1553 /**
1554 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.model.problem.RangeMultiplicity#getLowerBound <em>Lower Bound</em>}'.
1555 * <!-- begin-user-doc -->
1556 * <!-- end-user-doc -->
1557 * @return the meta object for the attribute '<em>Lower Bound</em>'.
1558 * @see org.eclipse.viatra.solver.language.model.problem.RangeMultiplicity#getLowerBound()
1559 * @see #getRangeMultiplicity()
1560 * @generated
1561 */
1562 EAttribute getRangeMultiplicity_LowerBound();
1563
1564 /**
1565 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.model.problem.RangeMultiplicity#getUpperBound <em>Upper Bound</em>}'.
1566 * <!-- begin-user-doc -->
1567 * <!-- end-user-doc -->
1568 * @return the meta object for the attribute '<em>Upper Bound</em>'.
1569 * @see org.eclipse.viatra.solver.language.model.problem.RangeMultiplicity#getUpperBound()
1570 * @see #getRangeMultiplicity()
1571 * @generated
1572 */
1573 EAttribute getRangeMultiplicity_UpperBound();
1574
1575 /**
1576 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.ExactMultiplicity <em>Exact Multiplicity</em>}'.
1577 * <!-- begin-user-doc -->
1578 * <!-- end-user-doc -->
1579 * @return the meta object for class '<em>Exact Multiplicity</em>'.
1580 * @see org.eclipse.viatra.solver.language.model.problem.ExactMultiplicity
1581 * @generated
1582 */
1583 EClass getExactMultiplicity();
1584
1585 /**
1586 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.model.problem.ExactMultiplicity#getExactValue <em>Exact Value</em>}'.
1587 * <!-- begin-user-doc -->
1588 * <!-- end-user-doc -->
1589 * @return the meta object for the attribute '<em>Exact Value</em>'.
1590 * @see org.eclipse.viatra.solver.language.model.problem.ExactMultiplicity#getExactValue()
1591 * @see #getExactMultiplicity()
1592 * @generated
1593 */
1594 EAttribute getExactMultiplicity_ExactValue();
1595
1596 /**
1597 * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.model.problem.LogicValue <em>Logic Value</em>}'.
1598 * <!-- begin-user-doc -->
1599 * <!-- end-user-doc -->
1600 * @return the meta object for enum '<em>Logic Value</em>'.
1601 * @see org.eclipse.viatra.solver.language.model.problem.LogicValue
1602 * @generated
1603 */
1604 EEnum getLogicValue();
1605
1606 /**
1607 * Returns the factory that creates the instances of the model.
1608 * <!-- begin-user-doc -->
1609 * <!-- end-user-doc -->
1610 * @return the factory that creates the instances of the model.
1611 * @generated
1612 */
1613 ProblemFactory getProblemFactory();
1614
1615 /**
1616 * <!-- begin-user-doc -->
1617 * Defines literals for the meta objects that represent
1618 * <ul>
1619 * <li>each class,</li>
1620 * <li>each feature of each class,</li>
1621 * <li>each operation of each class,</li>
1622 * <li>each enum,</li>
1623 * <li>and each data type</li>
1624 * </ul>
1625 * <!-- end-user-doc -->
1626 * @generated
1627 */
1628 interface Literals {
1629 /**
1630 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ProblemImpl <em>Problem</em>}' class.
1631 * <!-- begin-user-doc -->
1632 * <!-- end-user-doc -->
1633 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemImpl
1634 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getProblem()
1635 * @generated
1636 */
1637 EClass PROBLEM = eINSTANCE.getProblem();
1638
1639 /**
1640 * The meta object literal for the '<em><b>Nodes</b></em>' containment reference list feature.
1641 * <!-- begin-user-doc -->
1642 * <!-- end-user-doc -->
1643 * @generated
1644 */
1645 EReference PROBLEM__NODES = eINSTANCE.getProblem_Nodes();
1646
1647 /**
1648 * The meta object literal for the '<em><b>Statements</b></em>' containment reference list feature.
1649 * <!-- begin-user-doc -->
1650 * <!-- end-user-doc -->
1651 * @generated
1652 */
1653 EReference PROBLEM__STATEMENTS = eINSTANCE.getProblem_Statements();
1654
1655 /**
1656 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.RelationImpl <em>Relation</em>}' class.
1657 * <!-- begin-user-doc -->
1658 * <!-- end-user-doc -->
1659 * @see org.eclipse.viatra.solver.language.model.problem.impl.RelationImpl
1660 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getRelation()
1661 * @generated
1662 */
1663 EClass RELATION = eINSTANCE.getRelation();
1664
1665 /**
1666 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ClassDeclarationImpl <em>Class Declaration</em>}' class.
1667 * <!-- begin-user-doc -->
1668 * <!-- end-user-doc -->
1669 * @see org.eclipse.viatra.solver.language.model.problem.impl.ClassDeclarationImpl
1670 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getClassDeclaration()
1671 * @generated
1672 */
1673 EClass CLASS_DECLARATION = eINSTANCE.getClassDeclaration();
1674
1675 /**
1676 * The meta object literal for the '<em><b>Abstract</b></em>' attribute feature.
1677 * <!-- begin-user-doc -->
1678 * <!-- end-user-doc -->
1679 * @generated
1680 */
1681 EAttribute CLASS_DECLARATION__ABSTRACT = eINSTANCE.getClassDeclaration_Abstract();
1682
1683 /**
1684 * The meta object literal for the '<em><b>Super Types</b></em>' reference list feature.
1685 * <!-- begin-user-doc -->
1686 * <!-- end-user-doc -->
1687 * @generated
1688 */
1689 EReference CLASS_DECLARATION__SUPER_TYPES = eINSTANCE.getClassDeclaration_SuperTypes();
1690
1691 /**
1692 * The meta object literal for the '<em><b>Reference Declarations</b></em>' containment reference list feature.
1693 * <!-- begin-user-doc -->
1694 * <!-- end-user-doc -->
1695 * @generated
1696 */
1697 EReference CLASS_DECLARATION__REFERENCE_DECLARATIONS = eINSTANCE.getClassDeclaration_ReferenceDeclarations();
1698
1699 /**
1700 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ReferenceDeclarationImpl <em>Reference Declaration</em>}' class.
1701 * <!-- begin-user-doc -->
1702 * <!-- end-user-doc -->
1703 * @see org.eclipse.viatra.solver.language.model.problem.impl.ReferenceDeclarationImpl
1704 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getReferenceDeclaration()
1705 * @generated
1706 */
1707 EClass REFERENCE_DECLARATION = eINSTANCE.getReferenceDeclaration();
1708
1709 /**
1710 * The meta object literal for the '<em><b>Reference Type</b></em>' reference feature.
1711 * <!-- begin-user-doc -->
1712 * <!-- end-user-doc -->
1713 * @generated
1714 */
1715 EReference REFERENCE_DECLARATION__REFERENCE_TYPE = eINSTANCE.getReferenceDeclaration_ReferenceType();
1716
1717 /**
1718 * The meta object literal for the '<em><b>Opposite</b></em>' reference feature.
1719 * <!-- begin-user-doc -->
1720 * <!-- end-user-doc -->
1721 * @generated
1722 */
1723 EReference REFERENCE_DECLARATION__OPPOSITE = eINSTANCE.getReferenceDeclaration_Opposite();
1724
1725 /**
1726 * The meta object literal for the '<em><b>Containment</b></em>' attribute feature.
1727 * <!-- begin-user-doc -->
1728 * <!-- end-user-doc -->
1729 * @generated
1730 */
1731 EAttribute REFERENCE_DECLARATION__CONTAINMENT = eINSTANCE.getReferenceDeclaration_Containment();
1732
1733 /**
1734 * The meta object literal for the '<em><b>Multiplicity</b></em>' containment reference feature.
1735 * <!-- begin-user-doc -->
1736 * <!-- end-user-doc -->
1737 * @generated
1738 */
1739 EReference REFERENCE_DECLARATION__MULTIPLICITY = eINSTANCE.getReferenceDeclaration_Multiplicity();
1740
1741 /**
1742 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.NamedElementImpl <em>Named Element</em>}' class.
1743 * <!-- begin-user-doc -->
1744 * <!-- end-user-doc -->
1745 * @see org.eclipse.viatra.solver.language.model.problem.impl.NamedElementImpl
1746 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getNamedElement()
1747 * @generated
1748 */
1749 EClass NAMED_ELEMENT = eINSTANCE.getNamedElement();
1750
1751 /**
1752 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
1753 * <!-- begin-user-doc -->
1754 * <!-- end-user-doc -->
1755 * @generated
1756 */
1757 EAttribute NAMED_ELEMENT__NAME = eINSTANCE.getNamedElement_Name();
1758
1759 /**
1760 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.PredicateDefinitionImpl <em>Predicate Definition</em>}' class.
1761 * <!-- begin-user-doc -->
1762 * <!-- end-user-doc -->
1763 * @see org.eclipse.viatra.solver.language.model.problem.impl.PredicateDefinitionImpl
1764 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getPredicateDefinition()
1765 * @generated
1766 */
1767 EClass PREDICATE_DEFINITION = eINSTANCE.getPredicateDefinition();
1768
1769 /**
1770 * The meta object literal for the '<em><b>Error</b></em>' attribute feature.
1771 * <!-- begin-user-doc -->
1772 * <!-- end-user-doc -->
1773 * @generated
1774 */
1775 EAttribute PREDICATE_DEFINITION__ERROR = eINSTANCE.getPredicateDefinition_Error();
1776
1777 /**
1778 * The meta object literal for the '<em><b>Parameters</b></em>' containment reference list feature.
1779 * <!-- begin-user-doc -->
1780 * <!-- end-user-doc -->
1781 * @generated
1782 */
1783 EReference PREDICATE_DEFINITION__PARAMETERS = eINSTANCE.getPredicateDefinition_Parameters();
1784
1785 /**
1786 * The meta object literal for the '<em><b>Bodies</b></em>' containment reference list feature.
1787 * <!-- begin-user-doc -->
1788 * <!-- end-user-doc -->
1789 * @generated
1790 */
1791 EReference PREDICATE_DEFINITION__BODIES = eINSTANCE.getPredicateDefinition_Bodies();
1792
1793 /**
1794 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ParameterImpl <em>Parameter</em>}' class.
1795 * <!-- begin-user-doc -->
1796 * <!-- end-user-doc -->
1797 * @see org.eclipse.viatra.solver.language.model.problem.impl.ParameterImpl
1798 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getParameter()
1799 * @generated
1800 */
1801 EClass PARAMETER = eINSTANCE.getParameter();
1802
1803 /**
1804 * The meta object literal for the '<em><b>Parameter Type</b></em>' reference feature.
1805 * <!-- begin-user-doc -->
1806 * <!-- end-user-doc -->
1807 * @generated
1808 */
1809 EReference PARAMETER__PARAMETER_TYPE = eINSTANCE.getParameter_ParameterType();
1810
1811 /**
1812 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.VariableImpl <em>Variable</em>}' class.
1813 * <!-- begin-user-doc -->
1814 * <!-- end-user-doc -->
1815 * @see org.eclipse.viatra.solver.language.model.problem.impl.VariableImpl
1816 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getVariable()
1817 * @generated
1818 */
1819 EClass VARIABLE = eINSTANCE.getVariable();
1820
1821 /**
1822 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ConjunctionImpl <em>Conjunction</em>}' class.
1823 * <!-- begin-user-doc -->
1824 * <!-- end-user-doc -->
1825 * @see org.eclipse.viatra.solver.language.model.problem.impl.ConjunctionImpl
1826 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getConjunction()
1827 * @generated
1828 */
1829 EClass CONJUNCTION = eINSTANCE.getConjunction();
1830
1831 /**
1832 * The meta object literal for the '<em><b>Literals</b></em>' containment reference list feature.
1833 * <!-- begin-user-doc -->
1834 * <!-- end-user-doc -->
1835 * @generated
1836 */
1837 EReference CONJUNCTION__LITERALS = eINSTANCE.getConjunction_Literals();
1838
1839 /**
1840 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.LiteralImpl <em>Literal</em>}' class.
1841 * <!-- begin-user-doc -->
1842 * <!-- end-user-doc -->
1843 * @see org.eclipse.viatra.solver.language.model.problem.impl.LiteralImpl
1844 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getLiteral()
1845 * @generated
1846 */
1847 EClass LITERAL = eINSTANCE.getLiteral();
1848
1849 /**
1850 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.AtomImpl <em>Atom</em>}' class.
1851 * <!-- begin-user-doc -->
1852 * <!-- end-user-doc -->
1853 * @see org.eclipse.viatra.solver.language.model.problem.impl.AtomImpl
1854 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getAtom()
1855 * @generated
1856 */
1857 EClass ATOM = eINSTANCE.getAtom();
1858
1859 /**
1860 * The meta object literal for the '<em><b>Relation</b></em>' reference feature.
1861 * <!-- begin-user-doc -->
1862 * <!-- end-user-doc -->
1863 * @generated
1864 */
1865 EReference ATOM__RELATION = eINSTANCE.getAtom_Relation();
1866
1867 /**
1868 * The meta object literal for the '<em><b>Arguments</b></em>' reference list feature.
1869 * <!-- begin-user-doc -->
1870 * <!-- end-user-doc -->
1871 * @generated
1872 */
1873 EReference ATOM__ARGUMENTS = eINSTANCE.getAtom_Arguments();
1874
1875 /**
1876 * The meta object literal for the '<em><b>Transitive Closure</b></em>' attribute feature.
1877 * <!-- begin-user-doc -->
1878 * <!-- end-user-doc -->
1879 * @generated
1880 */
1881 EAttribute ATOM__TRANSITIVE_CLOSURE = eINSTANCE.getAtom_TransitiveClosure();
1882
1883 /**
1884 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ImplicitVariableImpl <em>Implicit Variable</em>}' class.
1885 * <!-- begin-user-doc -->
1886 * <!-- end-user-doc -->
1887 * @see org.eclipse.viatra.solver.language.model.problem.impl.ImplicitVariableImpl
1888 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getImplicitVariable()
1889 * @generated
1890 */
1891 EClass IMPLICIT_VARIABLE = eINSTANCE.getImplicitVariable();
1892
1893 /**
1894 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.NegativeLiteralImpl <em>Negative Literal</em>}' class.
1895 * <!-- begin-user-doc -->
1896 * <!-- end-user-doc -->
1897 * @see org.eclipse.viatra.solver.language.model.problem.impl.NegativeLiteralImpl
1898 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getNegativeLiteral()
1899 * @generated
1900 */
1901 EClass NEGATIVE_LITERAL = eINSTANCE.getNegativeLiteral();
1902
1903 /**
1904 * The meta object literal for the '<em><b>Atom</b></em>' containment reference feature.
1905 * <!-- begin-user-doc -->
1906 * <!-- end-user-doc -->
1907 * @generated
1908 */
1909 EReference NEGATIVE_LITERAL__ATOM = eINSTANCE.getNegativeLiteral_Atom();
1910
1911 /**
1912 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.ExistentialQuantifier <em>Existential Quantifier</em>}' class.
1913 * <!-- begin-user-doc -->
1914 * <!-- end-user-doc -->
1915 * @see org.eclipse.viatra.solver.language.model.problem.ExistentialQuantifier
1916 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getExistentialQuantifier()
1917 * @generated
1918 */
1919 EClass EXISTENTIAL_QUANTIFIER = eINSTANCE.getExistentialQuantifier();
1920
1921 /**
1922 * The meta object literal for the '<em><b>Implicit Variables</b></em>' containment reference list feature.
1923 * <!-- begin-user-doc -->
1924 * <!-- end-user-doc -->
1925 * @generated
1926 */
1927 EReference EXISTENTIAL_QUANTIFIER__IMPLICIT_VARIABLES = eINSTANCE.getExistentialQuantifier_ImplicitVariables();
1928
1929 /**
1930 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.AssertionImpl <em>Assertion</em>}' class.
1931 * <!-- begin-user-doc -->
1932 * <!-- end-user-doc -->
1933 * @see org.eclipse.viatra.solver.language.model.problem.impl.AssertionImpl
1934 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getAssertion()
1935 * @generated
1936 */
1937 EClass ASSERTION = eINSTANCE.getAssertion();
1938
1939 /**
1940 * The meta object literal for the '<em><b>Relation</b></em>' reference feature.
1941 * <!-- begin-user-doc -->
1942 * <!-- end-user-doc -->
1943 * @generated
1944 */
1945 EReference ASSERTION__RELATION = eINSTANCE.getAssertion_Relation();
1946
1947 /**
1948 * The meta object literal for the '<em><b>Arguments</b></em>' reference list feature.
1949 * <!-- begin-user-doc -->
1950 * <!-- end-user-doc -->
1951 * @generated
1952 */
1953 EReference ASSERTION__ARGUMENTS = eINSTANCE.getAssertion_Arguments();
1954
1955 /**
1956 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
1957 * <!-- begin-user-doc -->
1958 * <!-- end-user-doc -->
1959 * @generated
1960 */
1961 EAttribute ASSERTION__VALUE = eINSTANCE.getAssertion_Value();
1962
1963 /**
1964 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.NodeImpl <em>Node</em>}' class.
1965 * <!-- begin-user-doc -->
1966 * <!-- end-user-doc -->
1967 * @see org.eclipse.viatra.solver.language.model.problem.impl.NodeImpl
1968 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getNode()
1969 * @generated
1970 */
1971 EClass NODE = eINSTANCE.getNode();
1972
1973 /**
1974 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ScopeDeclarationImpl <em>Scope Declaration</em>}' class.
1975 * <!-- begin-user-doc -->
1976 * <!-- end-user-doc -->
1977 * @see org.eclipse.viatra.solver.language.model.problem.impl.ScopeDeclarationImpl
1978 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getScopeDeclaration()
1979 * @generated
1980 */
1981 EClass SCOPE_DECLARATION = eINSTANCE.getScopeDeclaration();
1982
1983 /**
1984 * The meta object literal for the '<em><b>Type Scopes</b></em>' containment reference list feature.
1985 * <!-- begin-user-doc -->
1986 * <!-- end-user-doc -->
1987 * @generated
1988 */
1989 EReference SCOPE_DECLARATION__TYPE_SCOPES = eINSTANCE.getScopeDeclaration_TypeScopes();
1990
1991 /**
1992 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.Statement <em>Statement</em>}' class.
1993 * <!-- begin-user-doc -->
1994 * <!-- end-user-doc -->
1995 * @see org.eclipse.viatra.solver.language.model.problem.Statement
1996 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getStatement()
1997 * @generated
1998 */
1999 EClass STATEMENT = eINSTANCE.getStatement();
2000
2001 /**
2002 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.TypeScopeImpl <em>Type Scope</em>}' class.
2003 * <!-- begin-user-doc -->
2004 * <!-- end-user-doc -->
2005 * @see org.eclipse.viatra.solver.language.model.problem.impl.TypeScopeImpl
2006 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getTypeScope()
2007 * @generated
2008 */
2009 EClass TYPE_SCOPE = eINSTANCE.getTypeScope();
2010
2011 /**
2012 * The meta object literal for the '<em><b>Target Type</b></em>' reference feature.
2013 * <!-- begin-user-doc -->
2014 * <!-- end-user-doc -->
2015 * @generated
2016 */
2017 EReference TYPE_SCOPE__TARGET_TYPE = eINSTANCE.getTypeScope_TargetType();
2018
2019 /**
2020 * The meta object literal for the '<em><b>Increment</b></em>' attribute feature.
2021 * <!-- begin-user-doc -->
2022 * <!-- end-user-doc -->
2023 * @generated
2024 */
2025 EAttribute TYPE_SCOPE__INCREMENT = eINSTANCE.getTypeScope_Increment();
2026
2027 /**
2028 * The meta object literal for the '<em><b>Multiplicity</b></em>' containment reference feature.
2029 * <!-- begin-user-doc -->
2030 * <!-- end-user-doc -->
2031 * @generated
2032 */
2033 EReference TYPE_SCOPE__MULTIPLICITY = eINSTANCE.getTypeScope_Multiplicity();
2034
2035 /**
2036 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.MultiplicityImpl <em>Multiplicity</em>}' class.
2037 * <!-- begin-user-doc -->
2038 * <!-- end-user-doc -->
2039 * @see org.eclipse.viatra.solver.language.model.problem.impl.MultiplicityImpl
2040 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getMultiplicity()
2041 * @generated
2042 */
2043 EClass MULTIPLICITY = eINSTANCE.getMultiplicity();
2044
2045 /**
2046 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.RangeMultiplicityImpl <em>Range Multiplicity</em>}' class.
2047 * <!-- begin-user-doc -->
2048 * <!-- end-user-doc -->
2049 * @see org.eclipse.viatra.solver.language.model.problem.impl.RangeMultiplicityImpl
2050 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getRangeMultiplicity()
2051 * @generated
2052 */
2053 EClass RANGE_MULTIPLICITY = eINSTANCE.getRangeMultiplicity();
2054
2055 /**
2056 * The meta object literal for the '<em><b>Lower Bound</b></em>' attribute feature.
2057 * <!-- begin-user-doc -->
2058 * <!-- end-user-doc -->
2059 * @generated
2060 */
2061 EAttribute RANGE_MULTIPLICITY__LOWER_BOUND = eINSTANCE.getRangeMultiplicity_LowerBound();
2062
2063 /**
2064 * The meta object literal for the '<em><b>Upper Bound</b></em>' attribute feature.
2065 * <!-- begin-user-doc -->
2066 * <!-- end-user-doc -->
2067 * @generated
2068 */
2069 EAttribute RANGE_MULTIPLICITY__UPPER_BOUND = eINSTANCE.getRangeMultiplicity_UpperBound();
2070
2071 /**
2072 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ExactMultiplicityImpl <em>Exact Multiplicity</em>}' class.
2073 * <!-- begin-user-doc -->
2074 * <!-- end-user-doc -->
2075 * @see org.eclipse.viatra.solver.language.model.problem.impl.ExactMultiplicityImpl
2076 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getExactMultiplicity()
2077 * @generated
2078 */
2079 EClass EXACT_MULTIPLICITY = eINSTANCE.getExactMultiplicity();
2080
2081 /**
2082 * The meta object literal for the '<em><b>Exact Value</b></em>' attribute feature.
2083 * <!-- begin-user-doc -->
2084 * <!-- end-user-doc -->
2085 * @generated
2086 */
2087 EAttribute EXACT_MULTIPLICITY__EXACT_VALUE = eINSTANCE.getExactMultiplicity_ExactValue();
2088
2089 /**
2090 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.LogicValue <em>Logic Value</em>}' enum.
2091 * <!-- begin-user-doc -->
2092 * <!-- end-user-doc -->
2093 * @see org.eclipse.viatra.solver.language.model.problem.LogicValue
2094 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getLogicValue()
2095 * @generated
2096 */
2097 EEnum LOGIC_VALUE = eINSTANCE.getLogicValue();
2098
2099 }
2100
2101} //ProblemPackage
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/RangeMultiplicity.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/RangeMultiplicity.java
new file mode 100644
index 00000000..65bcc440
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/RangeMultiplicity.java
@@ -0,0 +1,69 @@
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>Range Multiplicity</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.RangeMultiplicity#getLowerBound <em>Lower Bound</em>}</li>
15 * <li>{@link org.eclipse.viatra.solver.language.model.problem.RangeMultiplicity#getUpperBound <em>Upper Bound</em>}</li>
16 * </ul>
17 *
18 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getRangeMultiplicity()
19 * @model
20 * @generated
21 */
22public interface RangeMultiplicity extends Multiplicity {
23 /**
24 * Returns the value of the '<em><b>Lower Bound</b></em>' attribute.
25 * The default value is <code>"0"</code>.
26 * <!-- begin-user-doc -->
27 * <!-- end-user-doc -->
28 * @return the value of the '<em>Lower Bound</em>' attribute.
29 * @see #setLowerBound(int)
30 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getRangeMultiplicity_LowerBound()
31 * @model default="0"
32 * @generated
33 */
34 int getLowerBound();
35
36 /**
37 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.RangeMultiplicity#getLowerBound <em>Lower Bound</em>}' attribute.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @param value the new value of the '<em>Lower Bound</em>' attribute.
41 * @see #getLowerBound()
42 * @generated
43 */
44 void setLowerBound(int value);
45
46 /**
47 * Returns the value of the '<em><b>Upper Bound</b></em>' attribute.
48 * The default value is <code>"-1"</code>.
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @return the value of the '<em>Upper Bound</em>' attribute.
52 * @see #setUpperBound(int)
53 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getRangeMultiplicity_UpperBound()
54 * @model default="-1"
55 * @generated
56 */
57 int getUpperBound();
58
59 /**
60 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.RangeMultiplicity#getUpperBound <em>Upper Bound</em>}' attribute.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @param value the new value of the '<em>Upper Bound</em>' attribute.
64 * @see #getUpperBound()
65 * @generated
66 */
67 void setUpperBound(int value);
68
69} // RangeMultiplicity
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ReferenceDeclaration.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ReferenceDeclaration.java
new file mode 100644
index 00000000..f07ee7d1
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ReferenceDeclaration.java
@@ -0,0 +1,113 @@
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>Reference Declaration</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.ReferenceDeclaration#getReferenceType <em>Reference Type</em>}</li>
15 * <li>{@link org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration#getOpposite <em>Opposite</em>}</li>
16 * <li>{@link org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration#isContainment <em>Containment</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration#getMultiplicity <em>Multiplicity</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getReferenceDeclaration()
21 * @model
22 * @generated
23 */
24public interface ReferenceDeclaration extends Relation {
25 /**
26 * Returns the value of the '<em><b>Reference Type</b></em>' reference.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Reference Type</em>' reference.
30 * @see #setReferenceType(ClassDeclaration)
31 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getReferenceDeclaration_ReferenceType()
32 * @model
33 * @generated
34 */
35 ClassDeclaration getReferenceType();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration#getReferenceType <em>Reference Type</em>}' reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Reference Type</em>' reference.
42 * @see #getReferenceType()
43 * @generated
44 */
45 void setReferenceType(ClassDeclaration value);
46
47 /**
48 * Returns the value of the '<em><b>Opposite</b></em>' reference.
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @return the value of the '<em>Opposite</em>' reference.
52 * @see #setOpposite(ReferenceDeclaration)
53 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getReferenceDeclaration_Opposite()
54 * @model
55 * @generated
56 */
57 ReferenceDeclaration getOpposite();
58
59 /**
60 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration#getOpposite <em>Opposite</em>}' reference.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @param value the new value of the '<em>Opposite</em>' reference.
64 * @see #getOpposite()
65 * @generated
66 */
67 void setOpposite(ReferenceDeclaration value);
68
69 /**
70 * Returns the value of the '<em><b>Containment</b></em>' attribute.
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @return the value of the '<em>Containment</em>' attribute.
74 * @see #setContainment(boolean)
75 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getReferenceDeclaration_Containment()
76 * @model
77 * @generated
78 */
79 boolean isContainment();
80
81 /**
82 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration#isContainment <em>Containment</em>}' attribute.
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @param value the new value of the '<em>Containment</em>' attribute.
86 * @see #isContainment()
87 * @generated
88 */
89 void setContainment(boolean value);
90
91 /**
92 * Returns the value of the '<em><b>Multiplicity</b></em>' containment reference.
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @return the value of the '<em>Multiplicity</em>' containment reference.
96 * @see #setMultiplicity(Multiplicity)
97 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getReferenceDeclaration_Multiplicity()
98 * @model containment="true"
99 * @generated
100 */
101 Multiplicity getMultiplicity();
102
103 /**
104 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration#getMultiplicity <em>Multiplicity</em>}' containment reference.
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @param value the new value of the '<em>Multiplicity</em>' containment reference.
108 * @see #getMultiplicity()
109 * @generated
110 */
111 void setMultiplicity(Multiplicity value);
112
113} // ReferenceDeclaration
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Relation.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Relation.java
new file mode 100644
index 00000000..2754e9d0
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Relation.java
@@ -0,0 +1,16 @@
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>Relation</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 *
11 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getRelation()
12 * @model abstract="true"
13 * @generated
14 */
15public interface Relation extends NamedElement {
16} // Relation
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ScopeDeclaration.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ScopeDeclaration.java
new file mode 100644
index 00000000..f728589d
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ScopeDeclaration.java
@@ -0,0 +1,36 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5import org.eclipse.emf.common.util.EList;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Scope Declaration</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.model.problem.ScopeDeclaration#getTypeScopes <em>Type Scopes</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getScopeDeclaration()
20 * @model
21 * @generated
22 */
23public interface ScopeDeclaration extends Statement {
24 /**
25 * Returns the value of the '<em><b>Type Scopes</b></em>' containment reference list.
26 * The list contents are of type {@link org.eclipse.viatra.solver.language.model.problem.TypeScope}.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Type Scopes</em>' containment reference list.
30 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getScopeDeclaration_TypeScopes()
31 * @model containment="true"
32 * @generated
33 */
34 EList<TypeScope> getTypeScopes();
35
36} // ScopeDeclaration
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Statement.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Statement.java
new file mode 100644
index 00000000..90303639
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Statement.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>Statement</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getStatement()
14 * @model interface="true" abstract="true"
15 * @generated
16 */
17public interface Statement extends EObject {
18} // Statement
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/TypeScope.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/TypeScope.java
new file mode 100644
index 00000000..76a95dd5
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/TypeScope.java
@@ -0,0 +1,92 @@
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>Type Scope</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.model.problem.TypeScope#getTargetType <em>Target Type</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.model.problem.TypeScope#isIncrement <em>Increment</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.model.problem.TypeScope#getMultiplicity <em>Multiplicity</em>}</li>
19 * </ul>
20 *
21 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getTypeScope()
22 * @model
23 * @generated
24 */
25public interface TypeScope extends EObject {
26 /**
27 * Returns the value of the '<em><b>Target Type</b></em>' reference.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Target Type</em>' reference.
31 * @see #setTargetType(ClassDeclaration)
32 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getTypeScope_TargetType()
33 * @model
34 * @generated
35 */
36 ClassDeclaration getTargetType();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.TypeScope#getTargetType <em>Target Type</em>}' reference.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Target Type</em>' reference.
43 * @see #getTargetType()
44 * @generated
45 */
46 void setTargetType(ClassDeclaration value);
47
48 /**
49 * Returns the value of the '<em><b>Increment</b></em>' attribute.
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @return the value of the '<em>Increment</em>' attribute.
53 * @see #setIncrement(boolean)
54 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getTypeScope_Increment()
55 * @model
56 * @generated
57 */
58 boolean isIncrement();
59
60 /**
61 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.TypeScope#isIncrement <em>Increment</em>}' attribute.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @param value the new value of the '<em>Increment</em>' attribute.
65 * @see #isIncrement()
66 * @generated
67 */
68 void setIncrement(boolean value);
69
70 /**
71 * Returns the value of the '<em><b>Multiplicity</b></em>' containment reference.
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @return the value of the '<em>Multiplicity</em>' containment reference.
75 * @see #setMultiplicity(Multiplicity)
76 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getTypeScope_Multiplicity()
77 * @model containment="true"
78 * @generated
79 */
80 Multiplicity getMultiplicity();
81
82 /**
83 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.TypeScope#getMultiplicity <em>Multiplicity</em>}' containment reference.
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @param value the new value of the '<em>Multiplicity</em>' containment reference.
87 * @see #getMultiplicity()
88 * @generated
89 */
90 void setMultiplicity(Multiplicity value);
91
92} // TypeScope
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Variable.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Variable.java
new file mode 100644
index 00000000..26637a35
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Variable.java
@@ -0,0 +1,16 @@
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</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 *
11 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getVariable()
12 * @model abstract="true"
13 * @generated
14 */
15public interface Variable extends NamedElement {
16} // Variable
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/AssertionImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/AssertionImpl.java
new file mode 100644
index 00000000..5856a276
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/AssertionImpl.java
@@ -0,0 +1,272 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import java.util.Collection;
6
7import org.eclipse.emf.common.notify.Notification;
8
9import org.eclipse.emf.common.util.EList;
10
11import org.eclipse.emf.ecore.EClass;
12import org.eclipse.emf.ecore.InternalEObject;
13
14import org.eclipse.emf.ecore.impl.ENotificationImpl;
15import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
16
17import org.eclipse.emf.ecore.util.EObjectResolvingEList;
18
19import org.eclipse.viatra.solver.language.model.problem.Assertion;
20import 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.Relation;
24
25/**
26 * <!-- begin-user-doc -->
27 * An implementation of the model object '<em><b>Assertion</b></em>'.
28 * <!-- end-user-doc -->
29 * <p>
30 * The following features are implemented:
31 * </p>
32 * <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#getArguments <em>Arguments</em>}</li>
35 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.AssertionImpl#getValue <em>Value</em>}</li>
36 * </ul>
37 *
38 * @generated
39 */
40public class AssertionImpl extends MinimalEObjectImpl.Container implements Assertion {
41 /**
42 * The cached value of the '{@link #getRelation() <em>Relation</em>}' reference.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #getRelation()
46 * @generated
47 * @ordered
48 */
49 protected Relation relation;
50
51 /**
52 * The cached value of the '{@link #getArguments() <em>Arguments</em>}' reference list.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @see #getArguments()
56 * @generated
57 * @ordered
58 */
59 protected EList<Node> arguments;
60
61 /**
62 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @see #getValue()
66 * @generated
67 * @ordered
68 */
69 protected static final LogicValue VALUE_EDEFAULT = LogicValue.TRUE;
70
71 /**
72 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @see #getValue()
76 * @generated
77 * @ordered
78 */
79 protected LogicValue value = VALUE_EDEFAULT;
80
81 /**
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @generated
85 */
86 protected AssertionImpl() {
87 super();
88 }
89
90 /**
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @generated
94 */
95 @Override
96 protected EClass eStaticClass() {
97 return ProblemPackage.Literals.ASSERTION;
98 }
99
100 /**
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @generated
104 */
105 public Relation getRelation() {
106 if (relation != null && relation.eIsProxy()) {
107 InternalEObject oldRelation = (InternalEObject) relation;
108 relation = (Relation) eResolveProxy(oldRelation);
109 if (relation != oldRelation) {
110 if (eNotificationRequired())
111 eNotify(new ENotificationImpl(this, Notification.RESOLVE, ProblemPackage.ASSERTION__RELATION,
112 oldRelation, relation));
113 }
114 }
115 return relation;
116 }
117
118 /**
119 * <!-- begin-user-doc -->
120 * <!-- end-user-doc -->
121 * @generated
122 */
123 public Relation basicGetRelation() {
124 return relation;
125 }
126
127 /**
128 * <!-- begin-user-doc -->
129 * <!-- end-user-doc -->
130 * @generated
131 */
132 public void setRelation(Relation newRelation) {
133 Relation oldRelation = relation;
134 relation = newRelation;
135 if (eNotificationRequired())
136 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.ASSERTION__RELATION, oldRelation,
137 relation));
138 }
139
140 /**
141 * <!-- begin-user-doc -->
142 * <!-- end-user-doc -->
143 * @generated
144 */
145 public EList<Node> getArguments() {
146 if (arguments == null) {
147 arguments = new EObjectResolvingEList<Node>(Node.class, this, ProblemPackage.ASSERTION__ARGUMENTS);
148 }
149 return arguments;
150 }
151
152 /**
153 * <!-- begin-user-doc -->
154 * <!-- end-user-doc -->
155 * @generated
156 */
157 public LogicValue getValue() {
158 return value;
159 }
160
161 /**
162 * <!-- begin-user-doc -->
163 * <!-- end-user-doc -->
164 * @generated
165 */
166 public void setValue(LogicValue newValue) {
167 LogicValue oldValue = value;
168 value = newValue == null ? VALUE_EDEFAULT : newValue;
169 if (eNotificationRequired())
170 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.ASSERTION__VALUE, oldValue, value));
171 }
172
173 /**
174 * <!-- begin-user-doc -->
175 * <!-- end-user-doc -->
176 * @generated
177 */
178 @Override
179 public Object eGet(int featureID, boolean resolve, boolean coreType) {
180 switch (featureID) {
181 case ProblemPackage.ASSERTION__RELATION:
182 if (resolve)
183 return getRelation();
184 return basicGetRelation();
185 case ProblemPackage.ASSERTION__ARGUMENTS:
186 return getArguments();
187 case ProblemPackage.ASSERTION__VALUE:
188 return getValue();
189 }
190 return super.eGet(featureID, resolve, coreType);
191 }
192
193 /**
194 * <!-- begin-user-doc -->
195 * <!-- end-user-doc -->
196 * @generated
197 */
198 @SuppressWarnings("unchecked")
199 @Override
200 public void eSet(int featureID, Object newValue) {
201 switch (featureID) {
202 case ProblemPackage.ASSERTION__RELATION:
203 setRelation((Relation) newValue);
204 return;
205 case ProblemPackage.ASSERTION__ARGUMENTS:
206 getArguments().clear();
207 getArguments().addAll((Collection<? extends Node>) newValue);
208 return;
209 case ProblemPackage.ASSERTION__VALUE:
210 setValue((LogicValue) newValue);
211 return;
212 }
213 super.eSet(featureID, newValue);
214 }
215
216 /**
217 * <!-- begin-user-doc -->
218 * <!-- end-user-doc -->
219 * @generated
220 */
221 @Override
222 public void eUnset(int featureID) {
223 switch (featureID) {
224 case ProblemPackage.ASSERTION__RELATION:
225 setRelation((Relation) null);
226 return;
227 case ProblemPackage.ASSERTION__ARGUMENTS:
228 getArguments().clear();
229 return;
230 case ProblemPackage.ASSERTION__VALUE:
231 setValue(VALUE_EDEFAULT);
232 return;
233 }
234 super.eUnset(featureID);
235 }
236
237 /**
238 * <!-- begin-user-doc -->
239 * <!-- end-user-doc -->
240 * @generated
241 */
242 @Override
243 public boolean eIsSet(int featureID) {
244 switch (featureID) {
245 case ProblemPackage.ASSERTION__RELATION:
246 return relation != null;
247 case ProblemPackage.ASSERTION__ARGUMENTS:
248 return arguments != null && !arguments.isEmpty();
249 case ProblemPackage.ASSERTION__VALUE:
250 return value != VALUE_EDEFAULT;
251 }
252 return super.eIsSet(featureID);
253 }
254
255 /**
256 * <!-- begin-user-doc -->
257 * <!-- end-user-doc -->
258 * @generated
259 */
260 @Override
261 public String toString() {
262 if (eIsProxy())
263 return super.toString();
264
265 StringBuilder result = new StringBuilder(super.toString());
266 result.append(" (value: ");
267 result.append(value);
268 result.append(')');
269 return result.toString();
270 }
271
272} //AssertionImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/AtomImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/AtomImpl.java
new file mode 100644
index 00000000..4571db14
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/AtomImpl.java
@@ -0,0 +1,271 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import java.util.Collection;
6
7import org.eclipse.emf.common.notify.Notification;
8
9import org.eclipse.emf.common.util.EList;
10
11import org.eclipse.emf.ecore.EClass;
12import org.eclipse.emf.ecore.InternalEObject;
13
14import org.eclipse.emf.ecore.impl.ENotificationImpl;
15
16import org.eclipse.emf.ecore.util.EObjectResolvingEList;
17
18import org.eclipse.viatra.solver.language.model.problem.Atom;
19import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
20import org.eclipse.viatra.solver.language.model.problem.Relation;
21import org.eclipse.viatra.solver.language.model.problem.Variable;
22
23/**
24 * <!-- begin-user-doc -->
25 * An implementation of the model object '<em><b>Atom</b></em>'.
26 * <!-- end-user-doc -->
27 * <p>
28 * The following features are implemented:
29 * </p>
30 * <ul>
31 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.AtomImpl#getRelation <em>Relation</em>}</li>
32 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.AtomImpl#getArguments <em>Arguments</em>}</li>
33 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.AtomImpl#isTransitiveClosure <em>Transitive Closure</em>}</li>
34 * </ul>
35 *
36 * @generated
37 */
38public class AtomImpl extends LiteralImpl implements Atom {
39 /**
40 * The cached value of the '{@link #getRelation() <em>Relation</em>}' reference.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #getRelation()
44 * @generated
45 * @ordered
46 */
47 protected Relation relation;
48
49 /**
50 * The cached value of the '{@link #getArguments() <em>Arguments</em>}' reference list.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @see #getArguments()
54 * @generated
55 * @ordered
56 */
57 protected EList<Variable> arguments;
58
59 /**
60 * The default value of the '{@link #isTransitiveClosure() <em>Transitive Closure</em>}' attribute.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @see #isTransitiveClosure()
64 * @generated
65 * @ordered
66 */
67 protected static final boolean TRANSITIVE_CLOSURE_EDEFAULT = false;
68
69 /**
70 * The cached value of the '{@link #isTransitiveClosure() <em>Transitive Closure</em>}' attribute.
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @see #isTransitiveClosure()
74 * @generated
75 * @ordered
76 */
77 protected boolean transitiveClosure = TRANSITIVE_CLOSURE_EDEFAULT;
78
79 /**
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @generated
83 */
84 protected AtomImpl() {
85 super();
86 }
87
88 /**
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 */
93 @Override
94 protected EClass eStaticClass() {
95 return ProblemPackage.Literals.ATOM;
96 }
97
98 /**
99 * <!-- begin-user-doc -->
100 * <!-- end-user-doc -->
101 * @generated
102 */
103 public Relation getRelation() {
104 if (relation != null && relation.eIsProxy()) {
105 InternalEObject oldRelation = (InternalEObject) relation;
106 relation = (Relation) eResolveProxy(oldRelation);
107 if (relation != oldRelation) {
108 if (eNotificationRequired())
109 eNotify(new ENotificationImpl(this, Notification.RESOLVE, ProblemPackage.ATOM__RELATION,
110 oldRelation, relation));
111 }
112 }
113 return relation;
114 }
115
116 /**
117 * <!-- begin-user-doc -->
118 * <!-- end-user-doc -->
119 * @generated
120 */
121 public Relation basicGetRelation() {
122 return relation;
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 public void setRelation(Relation newRelation) {
131 Relation oldRelation = relation;
132 relation = newRelation;
133 if (eNotificationRequired())
134 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.ATOM__RELATION, oldRelation,
135 relation));
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 public EList<Variable> getArguments() {
144 if (arguments == null) {
145 arguments = new EObjectResolvingEList<Variable>(Variable.class, this, ProblemPackage.ATOM__ARGUMENTS);
146 }
147 return arguments;
148 }
149
150 /**
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 public boolean isTransitiveClosure() {
156 return transitiveClosure;
157 }
158
159 /**
160 * <!-- begin-user-doc -->
161 * <!-- end-user-doc -->
162 * @generated
163 */
164 public void setTransitiveClosure(boolean newTransitiveClosure) {
165 boolean oldTransitiveClosure = transitiveClosure;
166 transitiveClosure = newTransitiveClosure;
167 if (eNotificationRequired())
168 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.ATOM__TRANSITIVE_CLOSURE,
169 oldTransitiveClosure, transitiveClosure));
170 }
171
172 /**
173 * <!-- begin-user-doc -->
174 * <!-- end-user-doc -->
175 * @generated
176 */
177 @Override
178 public Object eGet(int featureID, boolean resolve, boolean coreType) {
179 switch (featureID) {
180 case ProblemPackage.ATOM__RELATION:
181 if (resolve)
182 return getRelation();
183 return basicGetRelation();
184 case ProblemPackage.ATOM__ARGUMENTS:
185 return getArguments();
186 case ProblemPackage.ATOM__TRANSITIVE_CLOSURE:
187 return isTransitiveClosure();
188 }
189 return super.eGet(featureID, resolve, coreType);
190 }
191
192 /**
193 * <!-- begin-user-doc -->
194 * <!-- end-user-doc -->
195 * @generated
196 */
197 @SuppressWarnings("unchecked")
198 @Override
199 public void eSet(int featureID, Object newValue) {
200 switch (featureID) {
201 case ProblemPackage.ATOM__RELATION:
202 setRelation((Relation) newValue);
203 return;
204 case ProblemPackage.ATOM__ARGUMENTS:
205 getArguments().clear();
206 getArguments().addAll((Collection<? extends Variable>) newValue);
207 return;
208 case ProblemPackage.ATOM__TRANSITIVE_CLOSURE:
209 setTransitiveClosure((Boolean) newValue);
210 return;
211 }
212 super.eSet(featureID, newValue);
213 }
214
215 /**
216 * <!-- begin-user-doc -->
217 * <!-- end-user-doc -->
218 * @generated
219 */
220 @Override
221 public void eUnset(int featureID) {
222 switch (featureID) {
223 case ProblemPackage.ATOM__RELATION:
224 setRelation((Relation) null);
225 return;
226 case ProblemPackage.ATOM__ARGUMENTS:
227 getArguments().clear();
228 return;
229 case ProblemPackage.ATOM__TRANSITIVE_CLOSURE:
230 setTransitiveClosure(TRANSITIVE_CLOSURE_EDEFAULT);
231 return;
232 }
233 super.eUnset(featureID);
234 }
235
236 /**
237 * <!-- begin-user-doc -->
238 * <!-- end-user-doc -->
239 * @generated
240 */
241 @Override
242 public boolean eIsSet(int featureID) {
243 switch (featureID) {
244 case ProblemPackage.ATOM__RELATION:
245 return relation != null;
246 case ProblemPackage.ATOM__ARGUMENTS:
247 return arguments != null && !arguments.isEmpty();
248 case ProblemPackage.ATOM__TRANSITIVE_CLOSURE:
249 return transitiveClosure != TRANSITIVE_CLOSURE_EDEFAULT;
250 }
251 return super.eIsSet(featureID);
252 }
253
254 /**
255 * <!-- begin-user-doc -->
256 * <!-- end-user-doc -->
257 * @generated
258 */
259 @Override
260 public String toString() {
261 if (eIsProxy())
262 return super.toString();
263
264 StringBuilder result = new StringBuilder(super.toString());
265 result.append(" (transitiveClosure: ");
266 result.append(transitiveClosure);
267 result.append(')');
268 return result.toString();
269 }
270
271} //AtomImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ClassDeclarationImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ClassDeclarationImpl.java
new file mode 100644
index 00000000..e1d07071
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ClassDeclarationImpl.java
@@ -0,0 +1,260 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import java.util.Collection;
6
7import org.eclipse.emf.common.notify.Notification;
8import org.eclipse.emf.common.notify.NotificationChain;
9
10import org.eclipse.emf.common.util.EList;
11
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.impl.ENotificationImpl;
16
17import org.eclipse.emf.ecore.util.EObjectContainmentEList;
18import org.eclipse.emf.ecore.util.EObjectResolvingEList;
19import org.eclipse.emf.ecore.util.InternalEList;
20
21import org.eclipse.viatra.solver.language.model.problem.ClassDeclaration;
22import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
23import org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration;
24
25/**
26 * <!-- begin-user-doc -->
27 * An implementation of the model object '<em><b>Class Declaration</b></em>'.
28 * <!-- end-user-doc -->
29 * <p>
30 * The following features are implemented:
31 * </p>
32 * <ul>
33 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ClassDeclarationImpl#isAbstract <em>Abstract</em>}</li>
34 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ClassDeclarationImpl#getSuperTypes <em>Super Types</em>}</li>
35 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ClassDeclarationImpl#getReferenceDeclarations <em>Reference Declarations</em>}</li>
36 * </ul>
37 *
38 * @generated
39 */
40public class ClassDeclarationImpl extends RelationImpl implements ClassDeclaration {
41 /**
42 * The default value of the '{@link #isAbstract() <em>Abstract</em>}' attribute.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #isAbstract()
46 * @generated
47 * @ordered
48 */
49 protected static final boolean ABSTRACT_EDEFAULT = false;
50
51 /**
52 * The cached value of the '{@link #isAbstract() <em>Abstract</em>}' attribute.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @see #isAbstract()
56 * @generated
57 * @ordered
58 */
59 protected boolean abstract_ = ABSTRACT_EDEFAULT;
60
61 /**
62 * The cached value of the '{@link #getSuperTypes() <em>Super Types</em>}' reference list.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @see #getSuperTypes()
66 * @generated
67 * @ordered
68 */
69 protected EList<ClassDeclaration> superTypes;
70
71 /**
72 * The cached value of the '{@link #getReferenceDeclarations() <em>Reference Declarations</em>}' containment reference list.
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @see #getReferenceDeclarations()
76 * @generated
77 * @ordered
78 */
79 protected EList<ReferenceDeclaration> referenceDeclarations;
80
81 /**
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @generated
85 */
86 protected ClassDeclarationImpl() {
87 super();
88 }
89
90 /**
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @generated
94 */
95 @Override
96 protected EClass eStaticClass() {
97 return ProblemPackage.Literals.CLASS_DECLARATION;
98 }
99
100 /**
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @generated
104 */
105 public boolean isAbstract() {
106 return abstract_;
107 }
108
109 /**
110 * <!-- begin-user-doc -->
111 * <!-- end-user-doc -->
112 * @generated
113 */
114 public void setAbstract(boolean newAbstract) {
115 boolean oldAbstract = abstract_;
116 abstract_ = newAbstract;
117 if (eNotificationRequired())
118 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.CLASS_DECLARATION__ABSTRACT,
119 oldAbstract, abstract_));
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 public EList<ClassDeclaration> getSuperTypes() {
128 if (superTypes == null) {
129 superTypes = new EObjectResolvingEList<ClassDeclaration>(ClassDeclaration.class, this,
130 ProblemPackage.CLASS_DECLARATION__SUPER_TYPES);
131 }
132 return superTypes;
133 }
134
135 /**
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @generated
139 */
140 public EList<ReferenceDeclaration> getReferenceDeclarations() {
141 if (referenceDeclarations == null) {
142 referenceDeclarations = new EObjectContainmentEList<ReferenceDeclaration>(ReferenceDeclaration.class, this,
143 ProblemPackage.CLASS_DECLARATION__REFERENCE_DECLARATIONS);
144 }
145 return referenceDeclarations;
146 }
147
148 /**
149 * <!-- begin-user-doc -->
150 * <!-- end-user-doc -->
151 * @generated
152 */
153 @Override
154 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
155 switch (featureID) {
156 case ProblemPackage.CLASS_DECLARATION__REFERENCE_DECLARATIONS:
157 return ((InternalEList<?>) getReferenceDeclarations()).basicRemove(otherEnd, msgs);
158 }
159 return super.eInverseRemove(otherEnd, featureID, msgs);
160 }
161
162 /**
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 */
167 @Override
168 public Object eGet(int featureID, boolean resolve, boolean coreType) {
169 switch (featureID) {
170 case ProblemPackage.CLASS_DECLARATION__ABSTRACT:
171 return isAbstract();
172 case ProblemPackage.CLASS_DECLARATION__SUPER_TYPES:
173 return getSuperTypes();
174 case ProblemPackage.CLASS_DECLARATION__REFERENCE_DECLARATIONS:
175 return getReferenceDeclarations();
176 }
177 return super.eGet(featureID, resolve, coreType);
178 }
179
180 /**
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @generated
184 */
185 @SuppressWarnings("unchecked")
186 @Override
187 public void eSet(int featureID, Object newValue) {
188 switch (featureID) {
189 case ProblemPackage.CLASS_DECLARATION__ABSTRACT:
190 setAbstract((Boolean) newValue);
191 return;
192 case ProblemPackage.CLASS_DECLARATION__SUPER_TYPES:
193 getSuperTypes().clear();
194 getSuperTypes().addAll((Collection<? extends ClassDeclaration>) newValue);
195 return;
196 case ProblemPackage.CLASS_DECLARATION__REFERENCE_DECLARATIONS:
197 getReferenceDeclarations().clear();
198 getReferenceDeclarations().addAll((Collection<? extends ReferenceDeclaration>) newValue);
199 return;
200 }
201 super.eSet(featureID, newValue);
202 }
203
204 /**
205 * <!-- begin-user-doc -->
206 * <!-- end-user-doc -->
207 * @generated
208 */
209 @Override
210 public void eUnset(int featureID) {
211 switch (featureID) {
212 case ProblemPackage.CLASS_DECLARATION__ABSTRACT:
213 setAbstract(ABSTRACT_EDEFAULT);
214 return;
215 case ProblemPackage.CLASS_DECLARATION__SUPER_TYPES:
216 getSuperTypes().clear();
217 return;
218 case ProblemPackage.CLASS_DECLARATION__REFERENCE_DECLARATIONS:
219 getReferenceDeclarations().clear();
220 return;
221 }
222 super.eUnset(featureID);
223 }
224
225 /**
226 * <!-- begin-user-doc -->
227 * <!-- end-user-doc -->
228 * @generated
229 */
230 @Override
231 public boolean eIsSet(int featureID) {
232 switch (featureID) {
233 case ProblemPackage.CLASS_DECLARATION__ABSTRACT:
234 return abstract_ != ABSTRACT_EDEFAULT;
235 case ProblemPackage.CLASS_DECLARATION__SUPER_TYPES:
236 return superTypes != null && !superTypes.isEmpty();
237 case ProblemPackage.CLASS_DECLARATION__REFERENCE_DECLARATIONS:
238 return referenceDeclarations != null && !referenceDeclarations.isEmpty();
239 }
240 return super.eIsSet(featureID);
241 }
242
243 /**
244 * <!-- begin-user-doc -->
245 * <!-- end-user-doc -->
246 * @generated
247 */
248 @Override
249 public String toString() {
250 if (eIsProxy())
251 return super.toString();
252
253 StringBuilder result = new StringBuilder(super.toString());
254 result.append(" (abstract: ");
255 result.append(abstract_);
256 result.append(')');
257 return result.toString();
258 }
259
260} //ClassDeclarationImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ConjunctionImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ConjunctionImpl.java
new file mode 100644
index 00000000..3bdf887f
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ConjunctionImpl.java
@@ -0,0 +1,189 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import java.util.Collection;
6
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.common.util.EList;
10
11import org.eclipse.emf.ecore.EClass;
12import org.eclipse.emf.ecore.InternalEObject;
13
14import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
15
16import org.eclipse.emf.ecore.util.EObjectContainmentEList;
17import org.eclipse.emf.ecore.util.InternalEList;
18
19import org.eclipse.viatra.solver.language.model.problem.Conjunction;
20import org.eclipse.viatra.solver.language.model.problem.ImplicitVariable;
21import org.eclipse.viatra.solver.language.model.problem.Literal;
22import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
23
24/**
25 * <!-- begin-user-doc -->
26 * An implementation of the model object '<em><b>Conjunction</b></em>'.
27 * <!-- end-user-doc -->
28 * <p>
29 * The following features are implemented:
30 * </p>
31 * <ul>
32 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ConjunctionImpl#getImplicitVariables <em>Implicit Variables</em>}</li>
33 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ConjunctionImpl#getLiterals <em>Literals</em>}</li>
34 * </ul>
35 *
36 * @generated
37 */
38public class ConjunctionImpl extends MinimalEObjectImpl.Container implements Conjunction {
39 /**
40 * The cached value of the '{@link #getImplicitVariables() <em>Implicit Variables</em>}' containment reference list.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #getImplicitVariables()
44 * @generated
45 * @ordered
46 */
47 protected EList<ImplicitVariable> implicitVariables;
48 /**
49 * The cached value of the '{@link #getLiterals() <em>Literals</em>}' containment reference list.
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @see #getLiterals()
53 * @generated
54 * @ordered
55 */
56 protected EList<Literal> literals;
57
58 /**
59 * <!-- begin-user-doc -->
60 * <!-- end-user-doc -->
61 * @generated
62 */
63 protected ConjunctionImpl() {
64 super();
65 }
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 @Override
73 protected EClass eStaticClass() {
74 return ProblemPackage.Literals.CONJUNCTION;
75 }
76
77 /**
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @generated
81 */
82 public EList<ImplicitVariable> getImplicitVariables() {
83 if (implicitVariables == null) {
84 implicitVariables = new EObjectContainmentEList<ImplicitVariable>(ImplicitVariable.class, this,
85 ProblemPackage.CONJUNCTION__IMPLICIT_VARIABLES);
86 }
87 return implicitVariables;
88 }
89
90 /**
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @generated
94 */
95 public EList<Literal> getLiterals() {
96 if (literals == null) {
97 literals = new EObjectContainmentEList<Literal>(Literal.class, this, ProblemPackage.CONJUNCTION__LITERALS);
98 }
99 return literals;
100 }
101
102 /**
103 * <!-- begin-user-doc -->
104 * <!-- end-user-doc -->
105 * @generated
106 */
107 @Override
108 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
109 switch (featureID) {
110 case ProblemPackage.CONJUNCTION__IMPLICIT_VARIABLES:
111 return ((InternalEList<?>) getImplicitVariables()).basicRemove(otherEnd, msgs);
112 case ProblemPackage.CONJUNCTION__LITERALS:
113 return ((InternalEList<?>) getLiterals()).basicRemove(otherEnd, msgs);
114 }
115 return super.eInverseRemove(otherEnd, featureID, msgs);
116 }
117
118 /**
119 * <!-- begin-user-doc -->
120 * <!-- end-user-doc -->
121 * @generated
122 */
123 @Override
124 public Object eGet(int featureID, boolean resolve, boolean coreType) {
125 switch (featureID) {
126 case ProblemPackage.CONJUNCTION__IMPLICIT_VARIABLES:
127 return getImplicitVariables();
128 case ProblemPackage.CONJUNCTION__LITERALS:
129 return getLiterals();
130 }
131 return super.eGet(featureID, resolve, coreType);
132 }
133
134 /**
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @generated
138 */
139 @SuppressWarnings("unchecked")
140 @Override
141 public void eSet(int featureID, Object newValue) {
142 switch (featureID) {
143 case ProblemPackage.CONJUNCTION__IMPLICIT_VARIABLES:
144 getImplicitVariables().clear();
145 getImplicitVariables().addAll((Collection<? extends ImplicitVariable>) newValue);
146 return;
147 case ProblemPackage.CONJUNCTION__LITERALS:
148 getLiterals().clear();
149 getLiterals().addAll((Collection<? extends Literal>) newValue);
150 return;
151 }
152 super.eSet(featureID, newValue);
153 }
154
155 /**
156 * <!-- begin-user-doc -->
157 * <!-- end-user-doc -->
158 * @generated
159 */
160 @Override
161 public void eUnset(int featureID) {
162 switch (featureID) {
163 case ProblemPackage.CONJUNCTION__IMPLICIT_VARIABLES:
164 getImplicitVariables().clear();
165 return;
166 case ProblemPackage.CONJUNCTION__LITERALS:
167 getLiterals().clear();
168 return;
169 }
170 super.eUnset(featureID);
171 }
172
173 /**
174 * <!-- begin-user-doc -->
175 * <!-- end-user-doc -->
176 * @generated
177 */
178 @Override
179 public boolean eIsSet(int featureID) {
180 switch (featureID) {
181 case ProblemPackage.CONJUNCTION__IMPLICIT_VARIABLES:
182 return implicitVariables != null && !implicitVariables.isEmpty();
183 case ProblemPackage.CONJUNCTION__LITERALS:
184 return literals != null && !literals.isEmpty();
185 }
186 return super.eIsSet(featureID);
187 }
188
189} //ConjunctionImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ExactMultiplicityImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ExactMultiplicityImpl.java
new file mode 100644
index 00000000..b3896ac2
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ExactMultiplicityImpl.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.ExactMultiplicity;
12import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
13
14/**
15 * <!-- begin-user-doc -->
16 * An implementation of the model object '<em><b>Exact Multiplicity</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.ExactMultiplicityImpl#getExactValue <em>Exact Value</em>}</li>
23 * </ul>
24 *
25 * @generated
26 */
27public class ExactMultiplicityImpl extends MultiplicityImpl implements ExactMultiplicity {
28 /**
29 * The default value of the '{@link #getExactValue() <em>Exact Value</em>}' attribute.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @see #getExactValue()
33 * @generated
34 * @ordered
35 */
36 protected static final int EXACT_VALUE_EDEFAULT = 1;
37
38 /**
39 * The cached value of the '{@link #getExactValue() <em>Exact Value</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @see #getExactValue()
43 * @generated
44 * @ordered
45 */
46 protected int exactValue = EXACT_VALUE_EDEFAULT;
47
48 /**
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @generated
52 */
53 protected ExactMultiplicityImpl() {
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.EXACT_MULTIPLICITY;
65 }
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 public int getExactValue() {
73 return exactValue;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 public void setExactValue(int newExactValue) {
82 int oldExactValue = exactValue;
83 exactValue = newExactValue;
84 if (eNotificationRequired())
85 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.EXACT_MULTIPLICITY__EXACT_VALUE,
86 oldExactValue, exactValue));
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.EXACT_MULTIPLICITY__EXACT_VALUE:
98 return getExactValue();
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.EXACT_MULTIPLICITY__EXACT_VALUE:
112 setExactValue((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.EXACT_MULTIPLICITY__EXACT_VALUE:
127 setExactValue(EXACT_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.EXACT_MULTIPLICITY__EXACT_VALUE:
142 return exactValue != EXACT_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(" (exactValue: ");
159 result.append(exactValue);
160 result.append(')');
161 return result.toString();
162 }
163
164} //ExactMultiplicityImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ImplicitVariableImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ImplicitVariableImpl.java
new file mode 100644
index 00000000..03a31a16
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ImplicitVariableImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import org.eclipse.viatra.solver.language.model.problem.ImplicitVariable;
8import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Implicit Variable</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class ImplicitVariableImpl extends VariableImpl implements ImplicitVariable {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected ImplicitVariableImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return ProblemPackage.Literals.IMPLICIT_VARIABLE;
35 }
36
37} //ImplicitVariableImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/LiteralImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/LiteralImpl.java
new file mode 100644
index 00000000..c48bdb0b
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/LiteralImpl.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.Literal;
10import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
11
12/**
13 * <!-- begin-user-doc -->
14 * An implementation of the model object '<em><b>Literal</b></em>'.
15 * <!-- end-user-doc -->
16 *
17 * @generated
18 */
19public abstract class LiteralImpl extends MinimalEObjectImpl.Container implements Literal {
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected LiteralImpl() {
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.LITERAL;
37 }
38
39} //LiteralImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/MultiplicityImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/MultiplicityImpl.java
new file mode 100644
index 00000000..8d769eb0
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/MultiplicityImpl.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.Multiplicity;
10import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
11
12/**
13 * <!-- begin-user-doc -->
14 * An implementation of the model object '<em><b>Multiplicity</b></em>'.
15 * <!-- end-user-doc -->
16 *
17 * @generated
18 */
19public abstract class MultiplicityImpl extends MinimalEObjectImpl.Container implements Multiplicity {
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected MultiplicityImpl() {
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.MULTIPLICITY;
37 }
38
39} //MultiplicityImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NamedElementImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NamedElementImpl.java
new file mode 100644
index 00000000..b414013b
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NamedElementImpl.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;
10import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
11
12import org.eclipse.viatra.solver.language.model.problem.NamedElement;
13import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>Named Element</b></em>'.
18 * <!-- end-user-doc -->
19 * <p>
20 * The following features are implemented:
21 * </p>
22 * <ul>
23 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.NamedElementImpl#getName <em>Name</em>}</li>
24 * </ul>
25 *
26 * @generated
27 */
28public abstract class NamedElementImpl extends MinimalEObjectImpl.Container implements NamedElement {
29 /**
30 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @see #getName()
34 * @generated
35 * @ordered
36 */
37 protected static final String NAME_EDEFAULT = null;
38
39 /**
40 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #getName()
44 * @generated
45 * @ordered
46 */
47 protected String name = NAME_EDEFAULT;
48
49 /**
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @generated
53 */
54 protected NamedElementImpl() {
55 super();
56 }
57
58 /**
59 * <!-- begin-user-doc -->
60 * <!-- end-user-doc -->
61 * @generated
62 */
63 @Override
64 protected EClass eStaticClass() {
65 return ProblemPackage.Literals.NAMED_ELEMENT;
66 }
67
68 /**
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @generated
72 */
73 public String getName() {
74 return name;
75 }
76
77 /**
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @generated
81 */
82 public void setName(String newName) {
83 String oldName = name;
84 name = newName;
85 if (eNotificationRequired())
86 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.NAMED_ELEMENT__NAME, oldName, name));
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.NAMED_ELEMENT__NAME:
98 return getName();
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.NAMED_ELEMENT__NAME:
112 setName((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.NAMED_ELEMENT__NAME:
127 setName(NAME_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.NAMED_ELEMENT__NAME:
142 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
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(" (name: ");
159 result.append(name);
160 result.append(')');
161 return result.toString();
162 }
163
164} //NamedElementImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NegativeLiteralImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NegativeLiteralImpl.java
new file mode 100644
index 00000000..5295406b
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NegativeLiteralImpl.java
@@ -0,0 +1,228 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import java.util.Collection;
6
7import org.eclipse.emf.common.notify.Notification;
8import org.eclipse.emf.common.notify.NotificationChain;
9
10import org.eclipse.emf.common.util.EList;
11
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.impl.ENotificationImpl;
16import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
17
18import org.eclipse.emf.ecore.util.EObjectContainmentEList;
19import org.eclipse.emf.ecore.util.InternalEList;
20
21import org.eclipse.viatra.solver.language.model.problem.Atom;
22import org.eclipse.viatra.solver.language.model.problem.ImplicitVariable;
23import org.eclipse.viatra.solver.language.model.problem.NegativeLiteral;
24import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
25
26/**
27 * <!-- begin-user-doc -->
28 * An implementation of the model object '<em><b>Negative Literal</b></em>'.
29 * <!-- end-user-doc -->
30 * <p>
31 * The following features are implemented:
32 * </p>
33 * <ul>
34 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.NegativeLiteralImpl#getImplicitVariables <em>Implicit Variables</em>}</li>
35 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.NegativeLiteralImpl#getAtom <em>Atom</em>}</li>
36 * </ul>
37 *
38 * @generated
39 */
40public class NegativeLiteralImpl extends MinimalEObjectImpl.Container implements NegativeLiteral {
41 /**
42 * The cached value of the '{@link #getImplicitVariables() <em>Implicit Variables</em>}' containment reference list.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #getImplicitVariables()
46 * @generated
47 * @ordered
48 */
49 protected EList<ImplicitVariable> implicitVariables;
50 /**
51 * The cached value of the '{@link #getAtom() <em>Atom</em>}' containment reference.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @see #getAtom()
55 * @generated
56 * @ordered
57 */
58 protected Atom atom;
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 protected NegativeLiteralImpl() {
66 super();
67 }
68
69 /**
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @generated
73 */
74 @Override
75 protected EClass eStaticClass() {
76 return ProblemPackage.Literals.NEGATIVE_LITERAL;
77 }
78
79 /**
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @generated
83 */
84 public EList<ImplicitVariable> getImplicitVariables() {
85 if (implicitVariables == null) {
86 implicitVariables = new EObjectContainmentEList<ImplicitVariable>(ImplicitVariable.class, this,
87 ProblemPackage.NEGATIVE_LITERAL__IMPLICIT_VARIABLES);
88 }
89 return implicitVariables;
90 }
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 public Atom getAtom() {
98 return atom;
99 }
100
101 /**
102 * <!-- begin-user-doc -->
103 * <!-- end-user-doc -->
104 * @generated
105 */
106 public NotificationChain basicSetAtom(Atom newAtom, NotificationChain msgs) {
107 Atom oldAtom = atom;
108 atom = newAtom;
109 if (eNotificationRequired()) {
110 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
111 ProblemPackage.NEGATIVE_LITERAL__ATOM, oldAtom, newAtom);
112 if (msgs == null)
113 msgs = notification;
114 else
115 msgs.add(notification);
116 }
117 return msgs;
118 }
119
120 /**
121 * <!-- begin-user-doc -->
122 * <!-- end-user-doc -->
123 * @generated
124 */
125 public void setAtom(Atom newAtom) {
126 if (newAtom != atom) {
127 NotificationChain msgs = null;
128 if (atom != null)
129 msgs = ((InternalEObject) atom).eInverseRemove(this,
130 EOPPOSITE_FEATURE_BASE - ProblemPackage.NEGATIVE_LITERAL__ATOM, null, msgs);
131 if (newAtom != null)
132 msgs = ((InternalEObject) newAtom).eInverseAdd(this,
133 EOPPOSITE_FEATURE_BASE - ProblemPackage.NEGATIVE_LITERAL__ATOM, null, msgs);
134 msgs = basicSetAtom(newAtom, msgs);
135 if (msgs != null)
136 msgs.dispatch();
137 } else if (eNotificationRequired())
138 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.NEGATIVE_LITERAL__ATOM, newAtom,
139 newAtom));
140 }
141
142 /**
143 * <!-- begin-user-doc -->
144 * <!-- end-user-doc -->
145 * @generated
146 */
147 @Override
148 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
149 switch (featureID) {
150 case ProblemPackage.NEGATIVE_LITERAL__IMPLICIT_VARIABLES:
151 return ((InternalEList<?>) getImplicitVariables()).basicRemove(otherEnd, msgs);
152 case ProblemPackage.NEGATIVE_LITERAL__ATOM:
153 return basicSetAtom(null, msgs);
154 }
155 return super.eInverseRemove(otherEnd, featureID, msgs);
156 }
157
158 /**
159 * <!-- begin-user-doc -->
160 * <!-- end-user-doc -->
161 * @generated
162 */
163 @Override
164 public Object eGet(int featureID, boolean resolve, boolean coreType) {
165 switch (featureID) {
166 case ProblemPackage.NEGATIVE_LITERAL__IMPLICIT_VARIABLES:
167 return getImplicitVariables();
168 case ProblemPackage.NEGATIVE_LITERAL__ATOM:
169 return getAtom();
170 }
171 return super.eGet(featureID, resolve, coreType);
172 }
173
174 /**
175 * <!-- begin-user-doc -->
176 * <!-- end-user-doc -->
177 * @generated
178 */
179 @SuppressWarnings("unchecked")
180 @Override
181 public void eSet(int featureID, Object newValue) {
182 switch (featureID) {
183 case ProblemPackage.NEGATIVE_LITERAL__IMPLICIT_VARIABLES:
184 getImplicitVariables().clear();
185 getImplicitVariables().addAll((Collection<? extends ImplicitVariable>) newValue);
186 return;
187 case ProblemPackage.NEGATIVE_LITERAL__ATOM:
188 setAtom((Atom) newValue);
189 return;
190 }
191 super.eSet(featureID, newValue);
192 }
193
194 /**
195 * <!-- begin-user-doc -->
196 * <!-- end-user-doc -->
197 * @generated
198 */
199 @Override
200 public void eUnset(int featureID) {
201 switch (featureID) {
202 case ProblemPackage.NEGATIVE_LITERAL__IMPLICIT_VARIABLES:
203 getImplicitVariables().clear();
204 return;
205 case ProblemPackage.NEGATIVE_LITERAL__ATOM:
206 setAtom((Atom) null);
207 return;
208 }
209 super.eUnset(featureID);
210 }
211
212 /**
213 * <!-- begin-user-doc -->
214 * <!-- end-user-doc -->
215 * @generated
216 */
217 @Override
218 public boolean eIsSet(int featureID) {
219 switch (featureID) {
220 case ProblemPackage.NEGATIVE_LITERAL__IMPLICIT_VARIABLES:
221 return implicitVariables != null && !implicitVariables.isEmpty();
222 case ProblemPackage.NEGATIVE_LITERAL__ATOM:
223 return atom != null;
224 }
225 return super.eIsSet(featureID);
226 }
227
228} //NegativeLiteralImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NodeImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NodeImpl.java
new file mode 100644
index 00000000..23b85a9c
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NodeImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import org.eclipse.viatra.solver.language.model.problem.Node;
8import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Node</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class NodeImpl extends NamedElementImpl implements Node {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected NodeImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return ProblemPackage.Literals.NODE;
35 }
36
37} //NodeImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ParameterImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ParameterImpl.java
new file mode 100644
index 00000000..cfbf25b0
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ParameterImpl.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.ClassDeclaration;
13import org.eclipse.viatra.solver.language.model.problem.Parameter;
14import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
15
16/**
17 * <!-- begin-user-doc -->
18 * An implementation of the model object '<em><b>Parameter</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.ParameterImpl#getParameterType <em>Parameter Type</em>}</li>
25 * </ul>
26 *
27 * @generated
28 */
29public class ParameterImpl extends VariableImpl implements Parameter {
30 /**
31 * The cached value of the '{@link #getParameterType() <em>Parameter Type</em>}' reference.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @see #getParameterType()
35 * @generated
36 * @ordered
37 */
38 protected ClassDeclaration parameterType;
39
40 /**
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @generated
44 */
45 protected ParameterImpl() {
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.PARAMETER;
57 }
58
59 /**
60 * <!-- begin-user-doc -->
61 * <!-- end-user-doc -->
62 * @generated
63 */
64 public ClassDeclaration getParameterType() {
65 if (parameterType != null && parameterType.eIsProxy()) {
66 InternalEObject oldParameterType = (InternalEObject) parameterType;
67 parameterType = (ClassDeclaration) eResolveProxy(oldParameterType);
68 if (parameterType != oldParameterType) {
69 if (eNotificationRequired())
70 eNotify(new ENotificationImpl(this, Notification.RESOLVE, ProblemPackage.PARAMETER__PARAMETER_TYPE,
71 oldParameterType, parameterType));
72 }
73 }
74 return parameterType;
75 }
76
77 /**
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @generated
81 */
82 public ClassDeclaration basicGetParameterType() {
83 return parameterType;
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 public void setParameterType(ClassDeclaration newParameterType) {
92 ClassDeclaration oldParameterType = parameterType;
93 parameterType = newParameterType;
94 if (eNotificationRequired())
95 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.PARAMETER__PARAMETER_TYPE,
96 oldParameterType, parameterType));
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.PARAMETER__PARAMETER_TYPE:
108 if (resolve)
109 return getParameterType();
110 return basicGetParameterType();
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.PARAMETER__PARAMETER_TYPE:
124 setParameterType((ClassDeclaration) 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.PARAMETER__PARAMETER_TYPE:
139 setParameterType((ClassDeclaration) 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.PARAMETER__PARAMETER_TYPE:
154 return parameterType != null;
155 }
156 return super.eIsSet(featureID);
157 }
158
159} //ParameterImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/PredicateDefinitionImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/PredicateDefinitionImpl.java
new file mode 100644
index 00000000..968b6de1
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/PredicateDefinitionImpl.java
@@ -0,0 +1,262 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import java.util.Collection;
6
7import org.eclipse.emf.common.notify.Notification;
8import org.eclipse.emf.common.notify.NotificationChain;
9
10import org.eclipse.emf.common.util.EList;
11
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.impl.ENotificationImpl;
16
17import org.eclipse.emf.ecore.util.EObjectContainmentEList;
18import org.eclipse.emf.ecore.util.InternalEList;
19
20import org.eclipse.viatra.solver.language.model.problem.Conjunction;
21import org.eclipse.viatra.solver.language.model.problem.Parameter;
22import org.eclipse.viatra.solver.language.model.problem.PredicateDefinition;
23import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
24
25/**
26 * <!-- begin-user-doc -->
27 * An implementation of the model object '<em><b>Predicate Definition</b></em>'.
28 * <!-- end-user-doc -->
29 * <p>
30 * The following features are implemented:
31 * </p>
32 * <ul>
33 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.PredicateDefinitionImpl#isError <em>Error</em>}</li>
34 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.PredicateDefinitionImpl#getParameters <em>Parameters</em>}</li>
35 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.PredicateDefinitionImpl#getBodies <em>Bodies</em>}</li>
36 * </ul>
37 *
38 * @generated
39 */
40public class PredicateDefinitionImpl extends RelationImpl implements PredicateDefinition {
41 /**
42 * The default value of the '{@link #isError() <em>Error</em>}' attribute.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #isError()
46 * @generated
47 * @ordered
48 */
49 protected static final boolean ERROR_EDEFAULT = false;
50
51 /**
52 * The cached value of the '{@link #isError() <em>Error</em>}' attribute.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @see #isError()
56 * @generated
57 * @ordered
58 */
59 protected boolean error = ERROR_EDEFAULT;
60
61 /**
62 * The cached value of the '{@link #getParameters() <em>Parameters</em>}' containment reference list.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @see #getParameters()
66 * @generated
67 * @ordered
68 */
69 protected EList<Parameter> parameters;
70
71 /**
72 * The cached value of the '{@link #getBodies() <em>Bodies</em>}' containment reference list.
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @see #getBodies()
76 * @generated
77 * @ordered
78 */
79 protected EList<Conjunction> bodies;
80
81 /**
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @generated
85 */
86 protected PredicateDefinitionImpl() {
87 super();
88 }
89
90 /**
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @generated
94 */
95 @Override
96 protected EClass eStaticClass() {
97 return ProblemPackage.Literals.PREDICATE_DEFINITION;
98 }
99
100 /**
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @generated
104 */
105 public boolean isError() {
106 return error;
107 }
108
109 /**
110 * <!-- begin-user-doc -->
111 * <!-- end-user-doc -->
112 * @generated
113 */
114 public void setError(boolean newError) {
115 boolean oldError = error;
116 error = newError;
117 if (eNotificationRequired())
118 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.PREDICATE_DEFINITION__ERROR, oldError,
119 error));
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 public EList<Parameter> getParameters() {
128 if (parameters == null) {
129 parameters = new EObjectContainmentEList<Parameter>(Parameter.class, this,
130 ProblemPackage.PREDICATE_DEFINITION__PARAMETERS);
131 }
132 return parameters;
133 }
134
135 /**
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @generated
139 */
140 public EList<Conjunction> getBodies() {
141 if (bodies == null) {
142 bodies = new EObjectContainmentEList<Conjunction>(Conjunction.class, this,
143 ProblemPackage.PREDICATE_DEFINITION__BODIES);
144 }
145 return bodies;
146 }
147
148 /**
149 * <!-- begin-user-doc -->
150 * <!-- end-user-doc -->
151 * @generated
152 */
153 @Override
154 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
155 switch (featureID) {
156 case ProblemPackage.PREDICATE_DEFINITION__PARAMETERS:
157 return ((InternalEList<?>) getParameters()).basicRemove(otherEnd, msgs);
158 case ProblemPackage.PREDICATE_DEFINITION__BODIES:
159 return ((InternalEList<?>) getBodies()).basicRemove(otherEnd, msgs);
160 }
161 return super.eInverseRemove(otherEnd, featureID, msgs);
162 }
163
164 /**
165 * <!-- begin-user-doc -->
166 * <!-- end-user-doc -->
167 * @generated
168 */
169 @Override
170 public Object eGet(int featureID, boolean resolve, boolean coreType) {
171 switch (featureID) {
172 case ProblemPackage.PREDICATE_DEFINITION__ERROR:
173 return isError();
174 case ProblemPackage.PREDICATE_DEFINITION__PARAMETERS:
175 return getParameters();
176 case ProblemPackage.PREDICATE_DEFINITION__BODIES:
177 return getBodies();
178 }
179 return super.eGet(featureID, resolve, coreType);
180 }
181
182 /**
183 * <!-- begin-user-doc -->
184 * <!-- end-user-doc -->
185 * @generated
186 */
187 @SuppressWarnings("unchecked")
188 @Override
189 public void eSet(int featureID, Object newValue) {
190 switch (featureID) {
191 case ProblemPackage.PREDICATE_DEFINITION__ERROR:
192 setError((Boolean) newValue);
193 return;
194 case ProblemPackage.PREDICATE_DEFINITION__PARAMETERS:
195 getParameters().clear();
196 getParameters().addAll((Collection<? extends Parameter>) newValue);
197 return;
198 case ProblemPackage.PREDICATE_DEFINITION__BODIES:
199 getBodies().clear();
200 getBodies().addAll((Collection<? extends Conjunction>) newValue);
201 return;
202 }
203 super.eSet(featureID, newValue);
204 }
205
206 /**
207 * <!-- begin-user-doc -->
208 * <!-- end-user-doc -->
209 * @generated
210 */
211 @Override
212 public void eUnset(int featureID) {
213 switch (featureID) {
214 case ProblemPackage.PREDICATE_DEFINITION__ERROR:
215 setError(ERROR_EDEFAULT);
216 return;
217 case ProblemPackage.PREDICATE_DEFINITION__PARAMETERS:
218 getParameters().clear();
219 return;
220 case ProblemPackage.PREDICATE_DEFINITION__BODIES:
221 getBodies().clear();
222 return;
223 }
224 super.eUnset(featureID);
225 }
226
227 /**
228 * <!-- begin-user-doc -->
229 * <!-- end-user-doc -->
230 * @generated
231 */
232 @Override
233 public boolean eIsSet(int featureID) {
234 switch (featureID) {
235 case ProblemPackage.PREDICATE_DEFINITION__ERROR:
236 return error != ERROR_EDEFAULT;
237 case ProblemPackage.PREDICATE_DEFINITION__PARAMETERS:
238 return parameters != null && !parameters.isEmpty();
239 case ProblemPackage.PREDICATE_DEFINITION__BODIES:
240 return bodies != null && !bodies.isEmpty();
241 }
242 return super.eIsSet(featureID);
243 }
244
245 /**
246 * <!-- begin-user-doc -->
247 * <!-- end-user-doc -->
248 * @generated
249 */
250 @Override
251 public String toString() {
252 if (eIsProxy())
253 return super.toString();
254
255 StringBuilder result = new StringBuilder(super.toString());
256 result.append(" (error: ");
257 result.append(error);
258 result.append(')');
259 return result.toString();
260 }
261
262} //PredicateDefinitionImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemFactoryImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemFactoryImpl.java
new file mode 100644
index 00000000..563f8b05
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemFactoryImpl.java
@@ -0,0 +1,317 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import org.eclipse.emf.ecore.EClass;
6import org.eclipse.emf.ecore.EDataType;
7import org.eclipse.emf.ecore.EObject;
8import org.eclipse.emf.ecore.EPackage;
9
10import org.eclipse.emf.ecore.impl.EFactoryImpl;
11
12import org.eclipse.emf.ecore.plugin.EcorePlugin;
13
14import org.eclipse.viatra.solver.language.model.problem.*;
15
16/**
17 * <!-- begin-user-doc -->
18 * An implementation of the model <b>Factory</b>.
19 * <!-- end-user-doc -->
20 * @generated
21 */
22public class ProblemFactoryImpl extends EFactoryImpl implements ProblemFactory {
23 /**
24 * Creates the default factory implementation.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @generated
28 */
29 public static ProblemFactory init() {
30 try {
31 ProblemFactory theProblemFactory = (ProblemFactory) EPackage.Registry.INSTANCE
32 .getEFactory(ProblemPackage.eNS_URI);
33 if (theProblemFactory != null) {
34 return theProblemFactory;
35 }
36 } catch (Exception exception) {
37 EcorePlugin.INSTANCE.log(exception);
38 }
39 return new ProblemFactoryImpl();
40 }
41
42 /**
43 * Creates an instance of the factory.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @generated
47 */
48 public ProblemFactoryImpl() {
49 super();
50 }
51
52 /**
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 @Override
58 public EObject create(EClass eClass) {
59 switch (eClass.getClassifierID()) {
60 case ProblemPackage.PROBLEM:
61 return createProblem();
62 case ProblemPackage.CLASS_DECLARATION:
63 return createClassDeclaration();
64 case ProblemPackage.REFERENCE_DECLARATION:
65 return createReferenceDeclaration();
66 case ProblemPackage.PREDICATE_DEFINITION:
67 return createPredicateDefinition();
68 case ProblemPackage.PARAMETER:
69 return createParameter();
70 case ProblemPackage.CONJUNCTION:
71 return createConjunction();
72 case ProblemPackage.ATOM:
73 return createAtom();
74 case ProblemPackage.IMPLICIT_VARIABLE:
75 return createImplicitVariable();
76 case ProblemPackage.NEGATIVE_LITERAL:
77 return createNegativeLiteral();
78 case ProblemPackage.ASSERTION:
79 return createAssertion();
80 case ProblemPackage.NODE:
81 return createNode();
82 case ProblemPackage.SCOPE_DECLARATION:
83 return createScopeDeclaration();
84 case ProblemPackage.TYPE_SCOPE:
85 return createTypeScope();
86 case ProblemPackage.RANGE_MULTIPLICITY:
87 return createRangeMultiplicity();
88 case ProblemPackage.EXACT_MULTIPLICITY:
89 return createExactMultiplicity();
90 default:
91 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
92 }
93 }
94
95 /**
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @generated
99 */
100 @Override
101 public Object createFromString(EDataType eDataType, String initialValue) {
102 switch (eDataType.getClassifierID()) {
103 case ProblemPackage.LOGIC_VALUE:
104 return createLogicValueFromString(eDataType, initialValue);
105 default:
106 throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
107 }
108 }
109
110 /**
111 * <!-- begin-user-doc -->
112 * <!-- end-user-doc -->
113 * @generated
114 */
115 @Override
116 public String convertToString(EDataType eDataType, Object instanceValue) {
117 switch (eDataType.getClassifierID()) {
118 case ProblemPackage.LOGIC_VALUE:
119 return convertLogicValueToString(eDataType, instanceValue);
120 default:
121 throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
122 }
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 public Problem createProblem() {
131 ProblemImpl problem = new ProblemImpl();
132 return problem;
133 }
134
135 /**
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @generated
139 */
140 public ClassDeclaration createClassDeclaration() {
141 ClassDeclarationImpl classDeclaration = new ClassDeclarationImpl();
142 return classDeclaration;
143 }
144
145 /**
146 * <!-- begin-user-doc -->
147 * <!-- end-user-doc -->
148 * @generated
149 */
150 public ReferenceDeclaration createReferenceDeclaration() {
151 ReferenceDeclarationImpl referenceDeclaration = new ReferenceDeclarationImpl();
152 return referenceDeclaration;
153 }
154
155 /**
156 * <!-- begin-user-doc -->
157 * <!-- end-user-doc -->
158 * @generated
159 */
160 public PredicateDefinition createPredicateDefinition() {
161 PredicateDefinitionImpl predicateDefinition = new PredicateDefinitionImpl();
162 return predicateDefinition;
163 }
164
165 /**
166 * <!-- begin-user-doc -->
167 * <!-- end-user-doc -->
168 * @generated
169 */
170 public Parameter createParameter() {
171 ParameterImpl parameter = new ParameterImpl();
172 return parameter;
173 }
174
175 /**
176 * <!-- begin-user-doc -->
177 * <!-- end-user-doc -->
178 * @generated
179 */
180 public Conjunction createConjunction() {
181 ConjunctionImpl conjunction = new ConjunctionImpl();
182 return conjunction;
183 }
184
185 /**
186 * <!-- begin-user-doc -->
187 * <!-- end-user-doc -->
188 * @generated
189 */
190 public Atom createAtom() {
191 AtomImpl atom = new AtomImpl();
192 return atom;
193 }
194
195 /**
196 * <!-- begin-user-doc -->
197 * <!-- end-user-doc -->
198 * @generated
199 */
200 public ImplicitVariable createImplicitVariable() {
201 ImplicitVariableImpl implicitVariable = new ImplicitVariableImpl();
202 return implicitVariable;
203 }
204
205 /**
206 * <!-- begin-user-doc -->
207 * <!-- end-user-doc -->
208 * @generated
209 */
210 public NegativeLiteral createNegativeLiteral() {
211 NegativeLiteralImpl negativeLiteral = new NegativeLiteralImpl();
212 return negativeLiteral;
213 }
214
215 /**
216 * <!-- begin-user-doc -->
217 * <!-- end-user-doc -->
218 * @generated
219 */
220 public Assertion createAssertion() {
221 AssertionImpl assertion = new AssertionImpl();
222 return assertion;
223 }
224
225 /**
226 * <!-- begin-user-doc -->
227 * <!-- end-user-doc -->
228 * @generated
229 */
230 public Node createNode() {
231 NodeImpl node = new NodeImpl();
232 return node;
233 }
234
235 /**
236 * <!-- begin-user-doc -->
237 * <!-- end-user-doc -->
238 * @generated
239 */
240 public ScopeDeclaration createScopeDeclaration() {
241 ScopeDeclarationImpl scopeDeclaration = new ScopeDeclarationImpl();
242 return scopeDeclaration;
243 }
244
245 /**
246 * <!-- begin-user-doc -->
247 * <!-- end-user-doc -->
248 * @generated
249 */
250 public TypeScope createTypeScope() {
251 TypeScopeImpl typeScope = new TypeScopeImpl();
252 return typeScope;
253 }
254
255 /**
256 * <!-- begin-user-doc -->
257 * <!-- end-user-doc -->
258 * @generated
259 */
260 public RangeMultiplicity createRangeMultiplicity() {
261 RangeMultiplicityImpl rangeMultiplicity = new RangeMultiplicityImpl();
262 return rangeMultiplicity;
263 }
264
265 /**
266 * <!-- begin-user-doc -->
267 * <!-- end-user-doc -->
268 * @generated
269 */
270 public ExactMultiplicity createExactMultiplicity() {
271 ExactMultiplicityImpl exactMultiplicity = new ExactMultiplicityImpl();
272 return exactMultiplicity;
273 }
274
275 /**
276 * <!-- begin-user-doc -->
277 * <!-- end-user-doc -->
278 * @generated
279 */
280 public LogicValue createLogicValueFromString(EDataType eDataType, String initialValue) {
281 LogicValue result = LogicValue.get(initialValue);
282 if (result == null)
283 throw new IllegalArgumentException(
284 "The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
285 return result;
286 }
287
288 /**
289 * <!-- begin-user-doc -->
290 * <!-- end-user-doc -->
291 * @generated
292 */
293 public String convertLogicValueToString(EDataType eDataType, Object instanceValue) {
294 return instanceValue == null ? null : instanceValue.toString();
295 }
296
297 /**
298 * <!-- begin-user-doc -->
299 * <!-- end-user-doc -->
300 * @generated
301 */
302 public ProblemPackage getProblemPackage() {
303 return (ProblemPackage) getEPackage();
304 }
305
306 /**
307 * <!-- begin-user-doc -->
308 * <!-- end-user-doc -->
309 * @deprecated
310 * @generated
311 */
312 @Deprecated
313 public static ProblemPackage getPackage() {
314 return ProblemPackage.eINSTANCE;
315 }
316
317} //ProblemFactoryImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemImpl.java
new file mode 100644
index 00000000..32bba265
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemImpl.java
@@ -0,0 +1,189 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import java.util.Collection;
6
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.common.util.EList;
10
11import org.eclipse.emf.ecore.EClass;
12import org.eclipse.emf.ecore.InternalEObject;
13
14import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
15
16import org.eclipse.emf.ecore.util.EObjectContainmentEList;
17import org.eclipse.emf.ecore.util.InternalEList;
18
19import org.eclipse.viatra.solver.language.model.problem.Node;
20import org.eclipse.viatra.solver.language.model.problem.Problem;
21import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
22import org.eclipse.viatra.solver.language.model.problem.Statement;
23
24/**
25 * <!-- begin-user-doc -->
26 * An implementation of the model object '<em><b>Problem</b></em>'.
27 * <!-- end-user-doc -->
28 * <p>
29 * The following features are implemented:
30 * </p>
31 * <ul>
32 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ProblemImpl#getNodes <em>Nodes</em>}</li>
33 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ProblemImpl#getStatements <em>Statements</em>}</li>
34 * </ul>
35 *
36 * @generated
37 */
38public class ProblemImpl extends MinimalEObjectImpl.Container implements Problem {
39 /**
40 * The cached value of the '{@link #getNodes() <em>Nodes</em>}' containment reference list.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #getNodes()
44 * @generated
45 * @ordered
46 */
47 protected EList<Node> nodes;
48 /**
49 * The cached value of the '{@link #getStatements() <em>Statements</em>}' containment reference list.
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @see #getStatements()
53 * @generated
54 * @ordered
55 */
56 protected EList<Statement> statements;
57
58 /**
59 * <!-- begin-user-doc -->
60 * <!-- end-user-doc -->
61 * @generated
62 */
63 protected ProblemImpl() {
64 super();
65 }
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 @Override
73 protected EClass eStaticClass() {
74 return ProblemPackage.Literals.PROBLEM;
75 }
76
77 /**
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @generated
81 */
82 public EList<Node> getNodes() {
83 if (nodes == null) {
84 nodes = new EObjectContainmentEList<Node>(Node.class, this, ProblemPackage.PROBLEM__NODES);
85 }
86 return nodes;
87 }
88
89 /**
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @generated
93 */
94 public EList<Statement> getStatements() {
95 if (statements == null) {
96 statements = new EObjectContainmentEList<Statement>(Statement.class, this,
97 ProblemPackage.PROBLEM__STATEMENTS);
98 }
99 return statements;
100 }
101
102 /**
103 * <!-- begin-user-doc -->
104 * <!-- end-user-doc -->
105 * @generated
106 */
107 @Override
108 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
109 switch (featureID) {
110 case ProblemPackage.PROBLEM__NODES:
111 return ((InternalEList<?>) getNodes()).basicRemove(otherEnd, msgs);
112 case ProblemPackage.PROBLEM__STATEMENTS:
113 return ((InternalEList<?>) getStatements()).basicRemove(otherEnd, msgs);
114 }
115 return super.eInverseRemove(otherEnd, featureID, msgs);
116 }
117
118 /**
119 * <!-- begin-user-doc -->
120 * <!-- end-user-doc -->
121 * @generated
122 */
123 @Override
124 public Object eGet(int featureID, boolean resolve, boolean coreType) {
125 switch (featureID) {
126 case ProblemPackage.PROBLEM__NODES:
127 return getNodes();
128 case ProblemPackage.PROBLEM__STATEMENTS:
129 return getStatements();
130 }
131 return super.eGet(featureID, resolve, coreType);
132 }
133
134 /**
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @generated
138 */
139 @SuppressWarnings("unchecked")
140 @Override
141 public void eSet(int featureID, Object newValue) {
142 switch (featureID) {
143 case ProblemPackage.PROBLEM__NODES:
144 getNodes().clear();
145 getNodes().addAll((Collection<? extends Node>) newValue);
146 return;
147 case ProblemPackage.PROBLEM__STATEMENTS:
148 getStatements().clear();
149 getStatements().addAll((Collection<? extends Statement>) newValue);
150 return;
151 }
152 super.eSet(featureID, newValue);
153 }
154
155 /**
156 * <!-- begin-user-doc -->
157 * <!-- end-user-doc -->
158 * @generated
159 */
160 @Override
161 public void eUnset(int featureID) {
162 switch (featureID) {
163 case ProblemPackage.PROBLEM__NODES:
164 getNodes().clear();
165 return;
166 case ProblemPackage.PROBLEM__STATEMENTS:
167 getStatements().clear();
168 return;
169 }
170 super.eUnset(featureID);
171 }
172
173 /**
174 * <!-- begin-user-doc -->
175 * <!-- end-user-doc -->
176 * @generated
177 */
178 @Override
179 public boolean eIsSet(int featureID) {
180 switch (featureID) {
181 case ProblemPackage.PROBLEM__NODES:
182 return nodes != null && !nodes.isEmpty();
183 case ProblemPackage.PROBLEM__STATEMENTS:
184 return statements != null && !statements.isEmpty();
185 }
186 return super.eIsSet(featureID);
187 }
188
189} //ProblemImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemPackageImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemPackageImpl.java
new file mode 100644
index 00000000..de0aa595
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemPackageImpl.java
@@ -0,0 +1,1061 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import org.eclipse.emf.ecore.EAttribute;
6import org.eclipse.emf.ecore.EClass;
7import org.eclipse.emf.ecore.EEnum;
8import org.eclipse.emf.ecore.EPackage;
9import org.eclipse.emf.ecore.EReference;
10
11import org.eclipse.emf.ecore.impl.EPackageImpl;
12
13import org.eclipse.viatra.solver.language.model.problem.Assertion;
14import org.eclipse.viatra.solver.language.model.problem.Atom;
15import org.eclipse.viatra.solver.language.model.problem.ClassDeclaration;
16import org.eclipse.viatra.solver.language.model.problem.Conjunction;
17import org.eclipse.viatra.solver.language.model.problem.ExactMultiplicity;
18import org.eclipse.viatra.solver.language.model.problem.ExistentialQuantifier;
19import org.eclipse.viatra.solver.language.model.problem.ImplicitVariable;
20import org.eclipse.viatra.solver.language.model.problem.Literal;
21import org.eclipse.viatra.solver.language.model.problem.LogicValue;
22import org.eclipse.viatra.solver.language.model.problem.Multiplicity;
23import org.eclipse.viatra.solver.language.model.problem.NamedElement;
24import org.eclipse.viatra.solver.language.model.problem.NegativeLiteral;
25import org.eclipse.viatra.solver.language.model.problem.Node;
26import org.eclipse.viatra.solver.language.model.problem.Parameter;
27import org.eclipse.viatra.solver.language.model.problem.PredicateDefinition;
28import org.eclipse.viatra.solver.language.model.problem.Problem;
29import org.eclipse.viatra.solver.language.model.problem.ProblemFactory;
30import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
31import org.eclipse.viatra.solver.language.model.problem.RangeMultiplicity;
32import org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration;
33import org.eclipse.viatra.solver.language.model.problem.Relation;
34import org.eclipse.viatra.solver.language.model.problem.ScopeDeclaration;
35import org.eclipse.viatra.solver.language.model.problem.Statement;
36import org.eclipse.viatra.solver.language.model.problem.TypeScope;
37import org.eclipse.viatra.solver.language.model.problem.Variable;
38
39/**
40 * <!-- begin-user-doc -->
41 * An implementation of the model <b>Package</b>.
42 * <!-- end-user-doc -->
43 * @generated
44 */
45public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
46 /**
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @generated
50 */
51 private EClass problemEClass = null;
52
53 /**
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @generated
57 */
58 private EClass relationEClass = null;
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 private EClass classDeclarationEClass = null;
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 private EClass referenceDeclarationEClass = null;
73
74 /**
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @generated
78 */
79 private EClass namedElementEClass = null;
80
81 /**
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @generated
85 */
86 private EClass predicateDefinitionEClass = null;
87
88 /**
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 */
93 private EClass parameterEClass = null;
94
95 /**
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @generated
99 */
100 private EClass variableEClass = null;
101
102 /**
103 * <!-- begin-user-doc -->
104 * <!-- end-user-doc -->
105 * @generated
106 */
107 private EClass conjunctionEClass = null;
108
109 /**
110 * <!-- begin-user-doc -->
111 * <!-- end-user-doc -->
112 * @generated
113 */
114 private EClass literalEClass = null;
115
116 /**
117 * <!-- begin-user-doc -->
118 * <!-- end-user-doc -->
119 * @generated
120 */
121 private EClass atomEClass = null;
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 private EClass implicitVariableEClass = null;
129
130 /**
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @generated
134 */
135 private EClass negativeLiteralEClass = null;
136
137 /**
138 * <!-- begin-user-doc -->
139 * <!-- end-user-doc -->
140 * @generated
141 */
142 private EClass existentialQuantifierEClass = null;
143
144 /**
145 * <!-- begin-user-doc -->
146 * <!-- end-user-doc -->
147 * @generated
148 */
149 private EClass assertionEClass = null;
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 private EClass nodeEClass = null;
157
158 /**
159 * <!-- begin-user-doc -->
160 * <!-- end-user-doc -->
161 * @generated
162 */
163 private EClass scopeDeclarationEClass = null;
164
165 /**
166 * <!-- begin-user-doc -->
167 * <!-- end-user-doc -->
168 * @generated
169 */
170 private EClass statementEClass = null;
171
172 /**
173 * <!-- begin-user-doc -->
174 * <!-- end-user-doc -->
175 * @generated
176 */
177 private EClass typeScopeEClass = null;
178
179 /**
180 * <!-- begin-user-doc -->
181 * <!-- end-user-doc -->
182 * @generated
183 */
184 private EClass multiplicityEClass = null;
185
186 /**
187 * <!-- begin-user-doc -->
188 * <!-- end-user-doc -->
189 * @generated
190 */
191 private EClass rangeMultiplicityEClass = null;
192
193 /**
194 * <!-- begin-user-doc -->
195 * <!-- end-user-doc -->
196 * @generated
197 */
198 private EClass exactMultiplicityEClass = null;
199
200 /**
201 * <!-- begin-user-doc -->
202 * <!-- end-user-doc -->
203 * @generated
204 */
205 private EEnum logicValueEEnum = null;
206
207 /**
208 * Creates an instance of the model <b>Package</b>, registered with
209 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
210 * package URI value.
211 * <p>Note: the correct way to create the package is via the static
212 * factory method {@link #init init()}, which also performs
213 * initialization of the package, or returns the registered package,
214 * if one already exists.
215 * <!-- begin-user-doc -->
216 * <!-- end-user-doc -->
217 * @see org.eclipse.emf.ecore.EPackage.Registry
218 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#eNS_URI
219 * @see #init()
220 * @generated
221 */
222 private ProblemPackageImpl() {
223 super(eNS_URI, ProblemFactory.eINSTANCE);
224 }
225
226 /**
227 * <!-- begin-user-doc -->
228 * <!-- end-user-doc -->
229 * @generated
230 */
231 private static boolean isInited = false;
232
233 /**
234 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
235 *
236 * <p>This method is used to initialize {@link ProblemPackage#eINSTANCE} when that field is accessed.
237 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
238 * <!-- begin-user-doc -->
239 * <!-- end-user-doc -->
240 * @see #eNS_URI
241 * @see #createPackageContents()
242 * @see #initializePackageContents()
243 * @generated
244 */
245 public static ProblemPackage init() {
246 if (isInited)
247 return (ProblemPackage) EPackage.Registry.INSTANCE.getEPackage(ProblemPackage.eNS_URI);
248
249 // Obtain or create and register package
250 Object registeredProblemPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
251 ProblemPackageImpl theProblemPackage = registeredProblemPackage instanceof ProblemPackageImpl
252 ? (ProblemPackageImpl) registeredProblemPackage
253 : new ProblemPackageImpl();
254
255 isInited = true;
256
257 // Create package meta-data objects
258 theProblemPackage.createPackageContents();
259
260 // Initialize created meta-data
261 theProblemPackage.initializePackageContents();
262
263 // Mark meta-data to indicate it can't be changed
264 theProblemPackage.freeze();
265
266 // Update the registry and return the package
267 EPackage.Registry.INSTANCE.put(ProblemPackage.eNS_URI, theProblemPackage);
268 return theProblemPackage;
269 }
270
271 /**
272 * <!-- begin-user-doc -->
273 * <!-- end-user-doc -->
274 * @generated
275 */
276 public EClass getProblem() {
277 return problemEClass;
278 }
279
280 /**
281 * <!-- begin-user-doc -->
282 * <!-- end-user-doc -->
283 * @generated
284 */
285 public EReference getProblem_Nodes() {
286 return (EReference) problemEClass.getEStructuralFeatures().get(0);
287 }
288
289 /**
290 * <!-- begin-user-doc -->
291 * <!-- end-user-doc -->
292 * @generated
293 */
294 public EReference getProblem_Statements() {
295 return (EReference) problemEClass.getEStructuralFeatures().get(1);
296 }
297
298 /**
299 * <!-- begin-user-doc -->
300 * <!-- end-user-doc -->
301 * @generated
302 */
303 public EClass getRelation() {
304 return relationEClass;
305 }
306
307 /**
308 * <!-- begin-user-doc -->
309 * <!-- end-user-doc -->
310 * @generated
311 */
312 public EClass getClassDeclaration() {
313 return classDeclarationEClass;
314 }
315
316 /**
317 * <!-- begin-user-doc -->
318 * <!-- end-user-doc -->
319 * @generated
320 */
321 public EAttribute getClassDeclaration_Abstract() {
322 return (EAttribute) classDeclarationEClass.getEStructuralFeatures().get(0);
323 }
324
325 /**
326 * <!-- begin-user-doc -->
327 * <!-- end-user-doc -->
328 * @generated
329 */
330 public EReference getClassDeclaration_SuperTypes() {
331 return (EReference) classDeclarationEClass.getEStructuralFeatures().get(1);
332 }
333
334 /**
335 * <!-- begin-user-doc -->
336 * <!-- end-user-doc -->
337 * @generated
338 */
339 public EReference getClassDeclaration_ReferenceDeclarations() {
340 return (EReference) classDeclarationEClass.getEStructuralFeatures().get(2);
341 }
342
343 /**
344 * <!-- begin-user-doc -->
345 * <!-- end-user-doc -->
346 * @generated
347 */
348 public EClass getReferenceDeclaration() {
349 return referenceDeclarationEClass;
350 }
351
352 /**
353 * <!-- begin-user-doc -->
354 * <!-- end-user-doc -->
355 * @generated
356 */
357 public EReference getReferenceDeclaration_ReferenceType() {
358 return (EReference) referenceDeclarationEClass.getEStructuralFeatures().get(0);
359 }
360
361 /**
362 * <!-- begin-user-doc -->
363 * <!-- end-user-doc -->
364 * @generated
365 */
366 public EReference getReferenceDeclaration_Opposite() {
367 return (EReference) referenceDeclarationEClass.getEStructuralFeatures().get(1);
368 }
369
370 /**
371 * <!-- begin-user-doc -->
372 * <!-- end-user-doc -->
373 * @generated
374 */
375 public EAttribute getReferenceDeclaration_Containment() {
376 return (EAttribute) referenceDeclarationEClass.getEStructuralFeatures().get(2);
377 }
378
379 /**
380 * <!-- begin-user-doc -->
381 * <!-- end-user-doc -->
382 * @generated
383 */
384 public EReference getReferenceDeclaration_Multiplicity() {
385 return (EReference) referenceDeclarationEClass.getEStructuralFeatures().get(3);
386 }
387
388 /**
389 * <!-- begin-user-doc -->
390 * <!-- end-user-doc -->
391 * @generated
392 */
393 public EClass getNamedElement() {
394 return namedElementEClass;
395 }
396
397 /**
398 * <!-- begin-user-doc -->
399 * <!-- end-user-doc -->
400 * @generated
401 */
402 public EAttribute getNamedElement_Name() {
403 return (EAttribute) namedElementEClass.getEStructuralFeatures().get(0);
404 }
405
406 /**
407 * <!-- begin-user-doc -->
408 * <!-- end-user-doc -->
409 * @generated
410 */
411 public EClass getPredicateDefinition() {
412 return predicateDefinitionEClass;
413 }
414
415 /**
416 * <!-- begin-user-doc -->
417 * <!-- end-user-doc -->
418 * @generated
419 */
420 public EAttribute getPredicateDefinition_Error() {
421 return (EAttribute) predicateDefinitionEClass.getEStructuralFeatures().get(0);
422 }
423
424 /**
425 * <!-- begin-user-doc -->
426 * <!-- end-user-doc -->
427 * @generated
428 */
429 public EReference getPredicateDefinition_Parameters() {
430 return (EReference) predicateDefinitionEClass.getEStructuralFeatures().get(1);
431 }
432
433 /**
434 * <!-- begin-user-doc -->
435 * <!-- end-user-doc -->
436 * @generated
437 */
438 public EReference getPredicateDefinition_Bodies() {
439 return (EReference) predicateDefinitionEClass.getEStructuralFeatures().get(2);
440 }
441
442 /**
443 * <!-- begin-user-doc -->
444 * <!-- end-user-doc -->
445 * @generated
446 */
447 public EClass getParameter() {
448 return parameterEClass;
449 }
450
451 /**
452 * <!-- begin-user-doc -->
453 * <!-- end-user-doc -->
454 * @generated
455 */
456 public EReference getParameter_ParameterType() {
457 return (EReference) parameterEClass.getEStructuralFeatures().get(0);
458 }
459
460 /**
461 * <!-- begin-user-doc -->
462 * <!-- end-user-doc -->
463 * @generated
464 */
465 public EClass getVariable() {
466 return variableEClass;
467 }
468
469 /**
470 * <!-- begin-user-doc -->
471 * <!-- end-user-doc -->
472 * @generated
473 */
474 public EClass getConjunction() {
475 return conjunctionEClass;
476 }
477
478 /**
479 * <!-- begin-user-doc -->
480 * <!-- end-user-doc -->
481 * @generated
482 */
483 public EReference getConjunction_Literals() {
484 return (EReference) conjunctionEClass.getEStructuralFeatures().get(0);
485 }
486
487 /**
488 * <!-- begin-user-doc -->
489 * <!-- end-user-doc -->
490 * @generated
491 */
492 public EClass getLiteral() {
493 return literalEClass;
494 }
495
496 /**
497 * <!-- begin-user-doc -->
498 * <!-- end-user-doc -->
499 * @generated
500 */
501 public EClass getAtom() {
502 return atomEClass;
503 }
504
505 /**
506 * <!-- begin-user-doc -->
507 * <!-- end-user-doc -->
508 * @generated
509 */
510 public EReference getAtom_Relation() {
511 return (EReference) atomEClass.getEStructuralFeatures().get(0);
512 }
513
514 /**
515 * <!-- begin-user-doc -->
516 * <!-- end-user-doc -->
517 * @generated
518 */
519 public EReference getAtom_Arguments() {
520 return (EReference) atomEClass.getEStructuralFeatures().get(1);
521 }
522
523 /**
524 * <!-- begin-user-doc -->
525 * <!-- end-user-doc -->
526 * @generated
527 */
528 public EAttribute getAtom_TransitiveClosure() {
529 return (EAttribute) atomEClass.getEStructuralFeatures().get(2);
530 }
531
532 /**
533 * <!-- begin-user-doc -->
534 * <!-- end-user-doc -->
535 * @generated
536 */
537 public EClass getImplicitVariable() {
538 return implicitVariableEClass;
539 }
540
541 /**
542 * <!-- begin-user-doc -->
543 * <!-- end-user-doc -->
544 * @generated
545 */
546 public EClass getNegativeLiteral() {
547 return negativeLiteralEClass;
548 }
549
550 /**
551 * <!-- begin-user-doc -->
552 * <!-- end-user-doc -->
553 * @generated
554 */
555 public EReference getNegativeLiteral_Atom() {
556 return (EReference) negativeLiteralEClass.getEStructuralFeatures().get(0);
557 }
558
559 /**
560 * <!-- begin-user-doc -->
561 * <!-- end-user-doc -->
562 * @generated
563 */
564 public EClass getExistentialQuantifier() {
565 return existentialQuantifierEClass;
566 }
567
568 /**
569 * <!-- begin-user-doc -->
570 * <!-- end-user-doc -->
571 * @generated
572 */
573 public EReference getExistentialQuantifier_ImplicitVariables() {
574 return (EReference) existentialQuantifierEClass.getEStructuralFeatures().get(0);
575 }
576
577 /**
578 * <!-- begin-user-doc -->
579 * <!-- end-user-doc -->
580 * @generated
581 */
582 public EClass getAssertion() {
583 return assertionEClass;
584 }
585
586 /**
587 * <!-- begin-user-doc -->
588 * <!-- end-user-doc -->
589 * @generated
590 */
591 public EReference getAssertion_Relation() {
592 return (EReference) assertionEClass.getEStructuralFeatures().get(0);
593 }
594
595 /**
596 * <!-- begin-user-doc -->
597 * <!-- end-user-doc -->
598 * @generated
599 */
600 public EReference getAssertion_Arguments() {
601 return (EReference) assertionEClass.getEStructuralFeatures().get(1);
602 }
603
604 /**
605 * <!-- begin-user-doc -->
606 * <!-- end-user-doc -->
607 * @generated
608 */
609 public EAttribute getAssertion_Value() {
610 return (EAttribute) assertionEClass.getEStructuralFeatures().get(2);
611 }
612
613 /**
614 * <!-- begin-user-doc -->
615 * <!-- end-user-doc -->
616 * @generated
617 */
618 public EClass getNode() {
619 return nodeEClass;
620 }
621
622 /**
623 * <!-- begin-user-doc -->
624 * <!-- end-user-doc -->
625 * @generated
626 */
627 public EClass getScopeDeclaration() {
628 return scopeDeclarationEClass;
629 }
630
631 /**
632 * <!-- begin-user-doc -->
633 * <!-- end-user-doc -->
634 * @generated
635 */
636 public EReference getScopeDeclaration_TypeScopes() {
637 return (EReference) scopeDeclarationEClass.getEStructuralFeatures().get(0);
638 }
639
640 /**
641 * <!-- begin-user-doc -->
642 * <!-- end-user-doc -->
643 * @generated
644 */
645 public EClass getStatement() {
646 return statementEClass;
647 }
648
649 /**
650 * <!-- begin-user-doc -->
651 * <!-- end-user-doc -->
652 * @generated
653 */
654 public EClass getTypeScope() {
655 return typeScopeEClass;
656 }
657
658 /**
659 * <!-- begin-user-doc -->
660 * <!-- end-user-doc -->
661 * @generated
662 */
663 public EReference getTypeScope_TargetType() {
664 return (EReference) typeScopeEClass.getEStructuralFeatures().get(0);
665 }
666
667 /**
668 * <!-- begin-user-doc -->
669 * <!-- end-user-doc -->
670 * @generated
671 */
672 public EAttribute getTypeScope_Increment() {
673 return (EAttribute) typeScopeEClass.getEStructuralFeatures().get(1);
674 }
675
676 /**
677 * <!-- begin-user-doc -->
678 * <!-- end-user-doc -->
679 * @generated
680 */
681 public EReference getTypeScope_Multiplicity() {
682 return (EReference) typeScopeEClass.getEStructuralFeatures().get(2);
683 }
684
685 /**
686 * <!-- begin-user-doc -->
687 * <!-- end-user-doc -->
688 * @generated
689 */
690 public EClass getMultiplicity() {
691 return multiplicityEClass;
692 }
693
694 /**
695 * <!-- begin-user-doc -->
696 * <!-- end-user-doc -->
697 * @generated
698 */
699 public EClass getRangeMultiplicity() {
700 return rangeMultiplicityEClass;
701 }
702
703 /**
704 * <!-- begin-user-doc -->
705 * <!-- end-user-doc -->
706 * @generated
707 */
708 public EAttribute getRangeMultiplicity_LowerBound() {
709 return (EAttribute) rangeMultiplicityEClass.getEStructuralFeatures().get(0);
710 }
711
712 /**
713 * <!-- begin-user-doc -->
714 * <!-- end-user-doc -->
715 * @generated
716 */
717 public EAttribute getRangeMultiplicity_UpperBound() {
718 return (EAttribute) rangeMultiplicityEClass.getEStructuralFeatures().get(1);
719 }
720
721 /**
722 * <!-- begin-user-doc -->
723 * <!-- end-user-doc -->
724 * @generated
725 */
726 public EClass getExactMultiplicity() {
727 return exactMultiplicityEClass;
728 }
729
730 /**
731 * <!-- begin-user-doc -->
732 * <!-- end-user-doc -->
733 * @generated
734 */
735 public EAttribute getExactMultiplicity_ExactValue() {
736 return (EAttribute) exactMultiplicityEClass.getEStructuralFeatures().get(0);
737 }
738
739 /**
740 * <!-- begin-user-doc -->
741 * <!-- end-user-doc -->
742 * @generated
743 */
744 public EEnum getLogicValue() {
745 return logicValueEEnum;
746 }
747
748 /**
749 * <!-- begin-user-doc -->
750 * <!-- end-user-doc -->
751 * @generated
752 */
753 public ProblemFactory getProblemFactory() {
754 return (ProblemFactory) getEFactoryInstance();
755 }
756
757 /**
758 * <!-- begin-user-doc -->
759 * <!-- end-user-doc -->
760 * @generated
761 */
762 private boolean isCreated = false;
763
764 /**
765 * Creates the meta-model objects for the package. This method is
766 * guarded to have no affect on any invocation but its first.
767 * <!-- begin-user-doc -->
768 * <!-- end-user-doc -->
769 * @generated
770 */
771 public void createPackageContents() {
772 if (isCreated)
773 return;
774 isCreated = true;
775
776 // Create classes and their features
777 problemEClass = createEClass(PROBLEM);
778 createEReference(problemEClass, PROBLEM__NODES);
779 createEReference(problemEClass, PROBLEM__STATEMENTS);
780
781 relationEClass = createEClass(RELATION);
782
783 classDeclarationEClass = createEClass(CLASS_DECLARATION);
784 createEAttribute(classDeclarationEClass, CLASS_DECLARATION__ABSTRACT);
785 createEReference(classDeclarationEClass, CLASS_DECLARATION__SUPER_TYPES);
786 createEReference(classDeclarationEClass, CLASS_DECLARATION__REFERENCE_DECLARATIONS);
787
788 referenceDeclarationEClass = createEClass(REFERENCE_DECLARATION);
789 createEReference(referenceDeclarationEClass, REFERENCE_DECLARATION__REFERENCE_TYPE);
790 createEReference(referenceDeclarationEClass, REFERENCE_DECLARATION__OPPOSITE);
791 createEAttribute(referenceDeclarationEClass, REFERENCE_DECLARATION__CONTAINMENT);
792 createEReference(referenceDeclarationEClass, REFERENCE_DECLARATION__MULTIPLICITY);
793
794 namedElementEClass = createEClass(NAMED_ELEMENT);
795 createEAttribute(namedElementEClass, NAMED_ELEMENT__NAME);
796
797 predicateDefinitionEClass = createEClass(PREDICATE_DEFINITION);
798 createEAttribute(predicateDefinitionEClass, PREDICATE_DEFINITION__ERROR);
799 createEReference(predicateDefinitionEClass, PREDICATE_DEFINITION__PARAMETERS);
800 createEReference(predicateDefinitionEClass, PREDICATE_DEFINITION__BODIES);
801
802 parameterEClass = createEClass(PARAMETER);
803 createEReference(parameterEClass, PARAMETER__PARAMETER_TYPE);
804
805 variableEClass = createEClass(VARIABLE);
806
807 conjunctionEClass = createEClass(CONJUNCTION);
808 createEReference(conjunctionEClass, CONJUNCTION__LITERALS);
809
810 literalEClass = createEClass(LITERAL);
811
812 atomEClass = createEClass(ATOM);
813 createEReference(atomEClass, ATOM__RELATION);
814 createEReference(atomEClass, ATOM__ARGUMENTS);
815 createEAttribute(atomEClass, ATOM__TRANSITIVE_CLOSURE);
816
817 implicitVariableEClass = createEClass(IMPLICIT_VARIABLE);
818
819 negativeLiteralEClass = createEClass(NEGATIVE_LITERAL);
820 createEReference(negativeLiteralEClass, NEGATIVE_LITERAL__ATOM);
821
822 existentialQuantifierEClass = createEClass(EXISTENTIAL_QUANTIFIER);
823 createEReference(existentialQuantifierEClass, EXISTENTIAL_QUANTIFIER__IMPLICIT_VARIABLES);
824
825 assertionEClass = createEClass(ASSERTION);
826 createEReference(assertionEClass, ASSERTION__RELATION);
827 createEReference(assertionEClass, ASSERTION__ARGUMENTS);
828 createEAttribute(assertionEClass, ASSERTION__VALUE);
829
830 nodeEClass = createEClass(NODE);
831
832 scopeDeclarationEClass = createEClass(SCOPE_DECLARATION);
833 createEReference(scopeDeclarationEClass, SCOPE_DECLARATION__TYPE_SCOPES);
834
835 statementEClass = createEClass(STATEMENT);
836
837 typeScopeEClass = createEClass(TYPE_SCOPE);
838 createEReference(typeScopeEClass, TYPE_SCOPE__TARGET_TYPE);
839 createEAttribute(typeScopeEClass, TYPE_SCOPE__INCREMENT);
840 createEReference(typeScopeEClass, TYPE_SCOPE__MULTIPLICITY);
841
842 multiplicityEClass = createEClass(MULTIPLICITY);
843
844 rangeMultiplicityEClass = createEClass(RANGE_MULTIPLICITY);
845 createEAttribute(rangeMultiplicityEClass, RANGE_MULTIPLICITY__LOWER_BOUND);
846 createEAttribute(rangeMultiplicityEClass, RANGE_MULTIPLICITY__UPPER_BOUND);
847
848 exactMultiplicityEClass = createEClass(EXACT_MULTIPLICITY);
849 createEAttribute(exactMultiplicityEClass, EXACT_MULTIPLICITY__EXACT_VALUE);
850
851 // Create enums
852 logicValueEEnum = createEEnum(LOGIC_VALUE);
853 }
854
855 /**
856 * <!-- begin-user-doc -->
857 * <!-- end-user-doc -->
858 * @generated
859 */
860 private boolean isInitialized = false;
861
862 /**
863 * Complete the initialization of the package and its meta-model. This
864 * method is guarded to have no affect on any invocation but its first.
865 * <!-- begin-user-doc -->
866 * <!-- end-user-doc -->
867 * @generated
868 */
869 public void initializePackageContents() {
870 if (isInitialized)
871 return;
872 isInitialized = true;
873
874 // Initialize package
875 setName(eNAME);
876 setNsPrefix(eNS_PREFIX);
877 setNsURI(eNS_URI);
878
879 // Create type parameters
880
881 // Set bounds for type parameters
882
883 // Add supertypes to classes
884 relationEClass.getESuperTypes().add(this.getNamedElement());
885 classDeclarationEClass.getESuperTypes().add(this.getRelation());
886 classDeclarationEClass.getESuperTypes().add(this.getStatement());
887 referenceDeclarationEClass.getESuperTypes().add(this.getRelation());
888 predicateDefinitionEClass.getESuperTypes().add(this.getRelation());
889 predicateDefinitionEClass.getESuperTypes().add(this.getStatement());
890 parameterEClass.getESuperTypes().add(this.getVariable());
891 variableEClass.getESuperTypes().add(this.getNamedElement());
892 conjunctionEClass.getESuperTypes().add(this.getExistentialQuantifier());
893 atomEClass.getESuperTypes().add(this.getLiteral());
894 implicitVariableEClass.getESuperTypes().add(this.getVariable());
895 negativeLiteralEClass.getESuperTypes().add(this.getExistentialQuantifier());
896 negativeLiteralEClass.getESuperTypes().add(this.getLiteral());
897 assertionEClass.getESuperTypes().add(this.getStatement());
898 nodeEClass.getESuperTypes().add(this.getNamedElement());
899 scopeDeclarationEClass.getESuperTypes().add(this.getStatement());
900 rangeMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
901 exactMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
902
903 // Initialize classes, features, and operations; add parameters
904 initEClass(problemEClass, Problem.class, "Problem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
905 initEReference(getProblem_Nodes(), this.getNode(), null, "nodes", null, 0, -1, Problem.class, !IS_TRANSIENT,
906 !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
907 IS_ORDERED);
908 initEReference(getProblem_Statements(), this.getStatement(), null, "statements", null, 0, -1, Problem.class,
909 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
910 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
911
912 initEClass(relationEClass, Relation.class, "Relation", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
913
914 initEClass(classDeclarationEClass, ClassDeclaration.class, "ClassDeclaration", !IS_ABSTRACT, !IS_INTERFACE,
915 IS_GENERATED_INSTANCE_CLASS);
916 initEAttribute(getClassDeclaration_Abstract(), ecorePackage.getEBoolean(), "abstract", null, 0, 1,
917 ClassDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
918 !IS_DERIVED, IS_ORDERED);
919 initEReference(getClassDeclaration_SuperTypes(), this.getClassDeclaration(), null, "superTypes", null, 0, -1,
920 ClassDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
921 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
922 initEReference(getClassDeclaration_ReferenceDeclarations(), this.getReferenceDeclaration(), null,
923 "referenceDeclarations", null, 0, -1, ClassDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE,
924 IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
925
926 initEClass(referenceDeclarationEClass, ReferenceDeclaration.class, "ReferenceDeclaration", !IS_ABSTRACT,
927 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
928 initEReference(getReferenceDeclaration_ReferenceType(), this.getClassDeclaration(), null, "referenceType", null,
929 0, 1, ReferenceDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE,
930 IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
931 initEReference(getReferenceDeclaration_Opposite(), this.getReferenceDeclaration(), null, "opposite", null, 0, 1,
932 ReferenceDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE,
933 IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
934 initEAttribute(getReferenceDeclaration_Containment(), ecorePackage.getEBoolean(), "containment", null, 0, 1,
935 ReferenceDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
936 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
937 initEReference(getReferenceDeclaration_Multiplicity(), this.getMultiplicity(), null, "multiplicity", null, 0, 1,
938 ReferenceDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
939 !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
940
941 initEClass(namedElementEClass, NamedElement.class, "NamedElement", IS_ABSTRACT, !IS_INTERFACE,
942 IS_GENERATED_INSTANCE_CLASS);
943 initEAttribute(getNamedElement_Name(), ecorePackage.getEString(), "name", null, 0, 1, NamedElement.class,
944 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
945
946 initEClass(predicateDefinitionEClass, PredicateDefinition.class, "PredicateDefinition", !IS_ABSTRACT,
947 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
948 initEAttribute(getPredicateDefinition_Error(), ecorePackage.getEBoolean(), "error", null, 0, 1,
949 PredicateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
950 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
951 initEReference(getPredicateDefinition_Parameters(), this.getParameter(), null, "parameters", null, 0, -1,
952 PredicateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
953 !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
954 initEReference(getPredicateDefinition_Bodies(), this.getConjunction(), null, "bodies", null, 0, -1,
955 PredicateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
956 !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
957
958 initEClass(parameterEClass, Parameter.class, "Parameter", !IS_ABSTRACT, !IS_INTERFACE,
959 IS_GENERATED_INSTANCE_CLASS);
960 initEReference(getParameter_ParameterType(), this.getClassDeclaration(), null, "parameterType", null, 0, 1,
961 Parameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
962 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
963
964 initEClass(variableEClass, Variable.class, "Variable", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
965
966 initEClass(conjunctionEClass, Conjunction.class, "Conjunction", !IS_ABSTRACT, !IS_INTERFACE,
967 IS_GENERATED_INSTANCE_CLASS);
968 initEReference(getConjunction_Literals(), this.getLiteral(), null, "literals", null, 0, -1, Conjunction.class,
969 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
970 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
971
972 initEClass(literalEClass, Literal.class, "Literal", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
973
974 initEClass(atomEClass, Atom.class, "Atom", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
975 initEReference(getAtom_Relation(), this.getRelation(), null, "relation", null, 0, 1, Atom.class, !IS_TRANSIENT,
976 !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
977 IS_ORDERED);
978 initEReference(getAtom_Arguments(), this.getVariable(), null, "arguments", null, 0, -1, Atom.class,
979 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
980 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
981 initEAttribute(getAtom_TransitiveClosure(), ecorePackage.getEBoolean(), "transitiveClosure", null, 0, 1,
982 Atom.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED,
983 IS_ORDERED);
984
985 initEClass(implicitVariableEClass, ImplicitVariable.class, "ImplicitVariable", !IS_ABSTRACT, !IS_INTERFACE,
986 IS_GENERATED_INSTANCE_CLASS);
987
988 initEClass(negativeLiteralEClass, NegativeLiteral.class, "NegativeLiteral", !IS_ABSTRACT, !IS_INTERFACE,
989 IS_GENERATED_INSTANCE_CLASS);
990 initEReference(getNegativeLiteral_Atom(), this.getAtom(), null, "atom", null, 0, 1, NegativeLiteral.class,
991 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
992 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
993
994 initEClass(existentialQuantifierEClass, ExistentialQuantifier.class, "ExistentialQuantifier", IS_ABSTRACT,
995 IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
996 initEReference(getExistentialQuantifier_ImplicitVariables(), this.getImplicitVariable(), null,
997 "implicitVariables", null, 0, -1, ExistentialQuantifier.class, !IS_TRANSIENT, !IS_VOLATILE,
998 IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
999
1000 initEClass(assertionEClass, Assertion.class, "Assertion", !IS_ABSTRACT, !IS_INTERFACE,
1001 IS_GENERATED_INSTANCE_CLASS);
1002 initEReference(getAssertion_Relation(), this.getRelation(), null, "relation", null, 0, 1, Assertion.class,
1003 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
1004 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1005 initEReference(getAssertion_Arguments(), this.getNode(), null, "arguments", null, 0, -1, Assertion.class,
1006 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
1007 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1008 initEAttribute(getAssertion_Value(), this.getLogicValue(), "value", null, 0, 1, Assertion.class, !IS_TRANSIENT,
1009 !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1010
1011 initEClass(nodeEClass, Node.class, "Node", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1012
1013 initEClass(scopeDeclarationEClass, ScopeDeclaration.class, "ScopeDeclaration", !IS_ABSTRACT, !IS_INTERFACE,
1014 IS_GENERATED_INSTANCE_CLASS);
1015 initEReference(getScopeDeclaration_TypeScopes(), this.getTypeScope(), null, "typeScopes", null, 0, -1,
1016 ScopeDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
1017 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1018
1019 initEClass(statementEClass, Statement.class, "Statement", IS_ABSTRACT, IS_INTERFACE,
1020 IS_GENERATED_INSTANCE_CLASS);
1021
1022 initEClass(typeScopeEClass, TypeScope.class, "TypeScope", !IS_ABSTRACT, !IS_INTERFACE,
1023 IS_GENERATED_INSTANCE_CLASS);
1024 initEReference(getTypeScope_TargetType(), this.getClassDeclaration(), null, "targetType", null, 0, 1,
1025 TypeScope.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
1026 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1027 initEAttribute(getTypeScope_Increment(), ecorePackage.getEBoolean(), "increment", null, 0, 1, TypeScope.class,
1028 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1029 initEReference(getTypeScope_Multiplicity(), this.getMultiplicity(), null, "multiplicity", null, 0, 1,
1030 TypeScope.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
1031 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1032
1033 initEClass(multiplicityEClass, Multiplicity.class, "Multiplicity", IS_ABSTRACT, !IS_INTERFACE,
1034 IS_GENERATED_INSTANCE_CLASS);
1035
1036 initEClass(rangeMultiplicityEClass, RangeMultiplicity.class, "RangeMultiplicity", !IS_ABSTRACT, !IS_INTERFACE,
1037 IS_GENERATED_INSTANCE_CLASS);
1038 initEAttribute(getRangeMultiplicity_LowerBound(), ecorePackage.getEInt(), "lowerBound", "0", 0, 1,
1039 RangeMultiplicity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
1040 !IS_DERIVED, IS_ORDERED);
1041 initEAttribute(getRangeMultiplicity_UpperBound(), ecorePackage.getEInt(), "upperBound", "-1", 0, 1,
1042 RangeMultiplicity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
1043 !IS_DERIVED, IS_ORDERED);
1044
1045 initEClass(exactMultiplicityEClass, ExactMultiplicity.class, "ExactMultiplicity", !IS_ABSTRACT, !IS_INTERFACE,
1046 IS_GENERATED_INSTANCE_CLASS);
1047 initEAttribute(getExactMultiplicity_ExactValue(), ecorePackage.getEInt(), "exactValue", "1", 0, 1,
1048 ExactMultiplicity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
1049 !IS_DERIVED, IS_ORDERED);
1050
1051 // Initialize enums and add enum literals
1052 initEEnum(logicValueEEnum, LogicValue.class, "LogicValue");
1053 addEEnumLiteral(logicValueEEnum, LogicValue.TRUE);
1054 addEEnumLiteral(logicValueEEnum, LogicValue.FALSE);
1055 addEEnumLiteral(logicValueEEnum, LogicValue.UNKNOWN);
1056
1057 // Create resource
1058 createResource(eNS_URI);
1059 }
1060
1061} //ProblemPackageImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/RangeMultiplicityImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/RangeMultiplicityImpl.java
new file mode 100644
index 00000000..1122b5be
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/RangeMultiplicityImpl.java
@@ -0,0 +1,219 @@
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.RangeMultiplicity;
13
14/**
15 * <!-- begin-user-doc -->
16 * An implementation of the model object '<em><b>Range Multiplicity</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.RangeMultiplicityImpl#getLowerBound <em>Lower Bound</em>}</li>
23 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.RangeMultiplicityImpl#getUpperBound <em>Upper Bound</em>}</li>
24 * </ul>
25 *
26 * @generated
27 */
28public class RangeMultiplicityImpl extends MultiplicityImpl implements RangeMultiplicity {
29 /**
30 * The default value of the '{@link #getLowerBound() <em>Lower Bound</em>}' attribute.
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @see #getLowerBound()
34 * @generated
35 * @ordered
36 */
37 protected static final int LOWER_BOUND_EDEFAULT = 0;
38
39 /**
40 * The cached value of the '{@link #getLowerBound() <em>Lower Bound</em>}' attribute.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #getLowerBound()
44 * @generated
45 * @ordered
46 */
47 protected int lowerBound = LOWER_BOUND_EDEFAULT;
48
49 /**
50 * The default value of the '{@link #getUpperBound() <em>Upper Bound</em>}' attribute.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @see #getUpperBound()
54 * @generated
55 * @ordered
56 */
57 protected static final int UPPER_BOUND_EDEFAULT = -1;
58
59 /**
60 * The cached value of the '{@link #getUpperBound() <em>Upper Bound</em>}' attribute.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @see #getUpperBound()
64 * @generated
65 * @ordered
66 */
67 protected int upperBound = UPPER_BOUND_EDEFAULT;
68
69 /**
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @generated
73 */
74 protected RangeMultiplicityImpl() {
75 super();
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 @Override
84 protected EClass eStaticClass() {
85 return ProblemPackage.Literals.RANGE_MULTIPLICITY;
86 }
87
88 /**
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 */
93 public int getLowerBound() {
94 return lowerBound;
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 public void setLowerBound(int newLowerBound) {
103 int oldLowerBound = lowerBound;
104 lowerBound = newLowerBound;
105 if (eNotificationRequired())
106 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.RANGE_MULTIPLICITY__LOWER_BOUND,
107 oldLowerBound, lowerBound));
108 }
109
110 /**
111 * <!-- begin-user-doc -->
112 * <!-- end-user-doc -->
113 * @generated
114 */
115 public int getUpperBound() {
116 return upperBound;
117 }
118
119 /**
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 */
124 public void setUpperBound(int newUpperBound) {
125 int oldUpperBound = upperBound;
126 upperBound = newUpperBound;
127 if (eNotificationRequired())
128 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.RANGE_MULTIPLICITY__UPPER_BOUND,
129 oldUpperBound, upperBound));
130 }
131
132 /**
133 * <!-- begin-user-doc -->
134 * <!-- end-user-doc -->
135 * @generated
136 */
137 @Override
138 public Object eGet(int featureID, boolean resolve, boolean coreType) {
139 switch (featureID) {
140 case ProblemPackage.RANGE_MULTIPLICITY__LOWER_BOUND:
141 return getLowerBound();
142 case ProblemPackage.RANGE_MULTIPLICITY__UPPER_BOUND:
143 return getUpperBound();
144 }
145 return super.eGet(featureID, resolve, coreType);
146 }
147
148 /**
149 * <!-- begin-user-doc -->
150 * <!-- end-user-doc -->
151 * @generated
152 */
153 @Override
154 public void eSet(int featureID, Object newValue) {
155 switch (featureID) {
156 case ProblemPackage.RANGE_MULTIPLICITY__LOWER_BOUND:
157 setLowerBound((Integer) newValue);
158 return;
159 case ProblemPackage.RANGE_MULTIPLICITY__UPPER_BOUND:
160 setUpperBound((Integer) newValue);
161 return;
162 }
163 super.eSet(featureID, newValue);
164 }
165
166 /**
167 * <!-- begin-user-doc -->
168 * <!-- end-user-doc -->
169 * @generated
170 */
171 @Override
172 public void eUnset(int featureID) {
173 switch (featureID) {
174 case ProblemPackage.RANGE_MULTIPLICITY__LOWER_BOUND:
175 setLowerBound(LOWER_BOUND_EDEFAULT);
176 return;
177 case ProblemPackage.RANGE_MULTIPLICITY__UPPER_BOUND:
178 setUpperBound(UPPER_BOUND_EDEFAULT);
179 return;
180 }
181 super.eUnset(featureID);
182 }
183
184 /**
185 * <!-- begin-user-doc -->
186 * <!-- end-user-doc -->
187 * @generated
188 */
189 @Override
190 public boolean eIsSet(int featureID) {
191 switch (featureID) {
192 case ProblemPackage.RANGE_MULTIPLICITY__LOWER_BOUND:
193 return lowerBound != LOWER_BOUND_EDEFAULT;
194 case ProblemPackage.RANGE_MULTIPLICITY__UPPER_BOUND:
195 return upperBound != UPPER_BOUND_EDEFAULT;
196 }
197 return super.eIsSet(featureID);
198 }
199
200 /**
201 * <!-- begin-user-doc -->
202 * <!-- end-user-doc -->
203 * @generated
204 */
205 @Override
206 public String toString() {
207 if (eIsProxy())
208 return super.toString();
209
210 StringBuilder result = new StringBuilder(super.toString());
211 result.append(" (lowerBound: ");
212 result.append(lowerBound);
213 result.append(", upperBound: ");
214 result.append(upperBound);
215 result.append(')');
216 return result.toString();
217 }
218
219} //RangeMultiplicityImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ReferenceDeclarationImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ReferenceDeclarationImpl.java
new file mode 100644
index 00000000..424db23d
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ReferenceDeclarationImpl.java
@@ -0,0 +1,379 @@
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.ClassDeclaration;
14import org.eclipse.viatra.solver.language.model.problem.Multiplicity;
15import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
16import org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Reference Declaration</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.ReferenceDeclarationImpl#getReferenceType <em>Reference Type</em>}</li>
27 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ReferenceDeclarationImpl#getOpposite <em>Opposite</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ReferenceDeclarationImpl#isContainment <em>Containment</em>}</li>
29 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ReferenceDeclarationImpl#getMultiplicity <em>Multiplicity</em>}</li>
30 * </ul>
31 *
32 * @generated
33 */
34public class ReferenceDeclarationImpl extends RelationImpl implements ReferenceDeclaration {
35 /**
36 * The cached value of the '{@link #getReferenceType() <em>Reference Type</em>}' reference.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getReferenceType()
40 * @generated
41 * @ordered
42 */
43 protected ClassDeclaration referenceType;
44
45 /**
46 * The cached value of the '{@link #getOpposite() <em>Opposite</em>}' reference.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @see #getOpposite()
50 * @generated
51 * @ordered
52 */
53 protected ReferenceDeclaration opposite;
54
55 /**
56 * The default value of the '{@link #isContainment() <em>Containment</em>}' attribute.
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @see #isContainment()
60 * @generated
61 * @ordered
62 */
63 protected static final boolean CONTAINMENT_EDEFAULT = false;
64
65 /**
66 * The cached value of the '{@link #isContainment() <em>Containment</em>}' attribute.
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @see #isContainment()
70 * @generated
71 * @ordered
72 */
73 protected boolean containment = CONTAINMENT_EDEFAULT;
74
75 /**
76 * The cached value of the '{@link #getMultiplicity() <em>Multiplicity</em>}' containment reference.
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @see #getMultiplicity()
80 * @generated
81 * @ordered
82 */
83 protected Multiplicity multiplicity;
84
85 /**
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @generated
89 */
90 protected ReferenceDeclarationImpl() {
91 super();
92 }
93
94 /**
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @generated
98 */
99 @Override
100 protected EClass eStaticClass() {
101 return ProblemPackage.Literals.REFERENCE_DECLARATION;
102 }
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 public ClassDeclaration getReferenceType() {
110 if (referenceType != null && referenceType.eIsProxy()) {
111 InternalEObject oldReferenceType = (InternalEObject) referenceType;
112 referenceType = (ClassDeclaration) eResolveProxy(oldReferenceType);
113 if (referenceType != oldReferenceType) {
114 if (eNotificationRequired())
115 eNotify(new ENotificationImpl(this, Notification.RESOLVE,
116 ProblemPackage.REFERENCE_DECLARATION__REFERENCE_TYPE, oldReferenceType, referenceType));
117 }
118 }
119 return referenceType;
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 public ClassDeclaration basicGetReferenceType() {
128 return referenceType;
129 }
130
131 /**
132 * <!-- begin-user-doc -->
133 * <!-- end-user-doc -->
134 * @generated
135 */
136 public void setReferenceType(ClassDeclaration newReferenceType) {
137 ClassDeclaration oldReferenceType = referenceType;
138 referenceType = newReferenceType;
139 if (eNotificationRequired())
140 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.REFERENCE_DECLARATION__REFERENCE_TYPE,
141 oldReferenceType, referenceType));
142 }
143
144 /**
145 * <!-- begin-user-doc -->
146 * <!-- end-user-doc -->
147 * @generated
148 */
149 public ReferenceDeclaration getOpposite() {
150 if (opposite != null && opposite.eIsProxy()) {
151 InternalEObject oldOpposite = (InternalEObject) opposite;
152 opposite = (ReferenceDeclaration) eResolveProxy(oldOpposite);
153 if (opposite != oldOpposite) {
154 if (eNotificationRequired())
155 eNotify(new ENotificationImpl(this, Notification.RESOLVE,
156 ProblemPackage.REFERENCE_DECLARATION__OPPOSITE, oldOpposite, opposite));
157 }
158 }
159 return opposite;
160 }
161
162 /**
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 */
167 public ReferenceDeclaration basicGetOpposite() {
168 return opposite;
169 }
170
171 /**
172 * <!-- begin-user-doc -->
173 * <!-- end-user-doc -->
174 * @generated
175 */
176 public void setOpposite(ReferenceDeclaration newOpposite) {
177 ReferenceDeclaration oldOpposite = opposite;
178 opposite = newOpposite;
179 if (eNotificationRequired())
180 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.REFERENCE_DECLARATION__OPPOSITE,
181 oldOpposite, opposite));
182 }
183
184 /**
185 * <!-- begin-user-doc -->
186 * <!-- end-user-doc -->
187 * @generated
188 */
189 public boolean isContainment() {
190 return containment;
191 }
192
193 /**
194 * <!-- begin-user-doc -->
195 * <!-- end-user-doc -->
196 * @generated
197 */
198 public void setContainment(boolean newContainment) {
199 boolean oldContainment = containment;
200 containment = newContainment;
201 if (eNotificationRequired())
202 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.REFERENCE_DECLARATION__CONTAINMENT,
203 oldContainment, containment));
204 }
205
206 /**
207 * <!-- begin-user-doc -->
208 * <!-- end-user-doc -->
209 * @generated
210 */
211 public Multiplicity getMultiplicity() {
212 return multiplicity;
213 }
214
215 /**
216 * <!-- begin-user-doc -->
217 * <!-- end-user-doc -->
218 * @generated
219 */
220 public NotificationChain basicSetMultiplicity(Multiplicity newMultiplicity, NotificationChain msgs) {
221 Multiplicity oldMultiplicity = multiplicity;
222 multiplicity = newMultiplicity;
223 if (eNotificationRequired()) {
224 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
225 ProblemPackage.REFERENCE_DECLARATION__MULTIPLICITY, oldMultiplicity, newMultiplicity);
226 if (msgs == null)
227 msgs = notification;
228 else
229 msgs.add(notification);
230 }
231 return msgs;
232 }
233
234 /**
235 * <!-- begin-user-doc -->
236 * <!-- end-user-doc -->
237 * @generated
238 */
239 public void setMultiplicity(Multiplicity newMultiplicity) {
240 if (newMultiplicity != multiplicity) {
241 NotificationChain msgs = null;
242 if (multiplicity != null)
243 msgs = ((InternalEObject) multiplicity).eInverseRemove(this,
244 EOPPOSITE_FEATURE_BASE - ProblemPackage.REFERENCE_DECLARATION__MULTIPLICITY, null, msgs);
245 if (newMultiplicity != null)
246 msgs = ((InternalEObject) newMultiplicity).eInverseAdd(this,
247 EOPPOSITE_FEATURE_BASE - ProblemPackage.REFERENCE_DECLARATION__MULTIPLICITY, null, msgs);
248 msgs = basicSetMultiplicity(newMultiplicity, msgs);
249 if (msgs != null)
250 msgs.dispatch();
251 } else if (eNotificationRequired())
252 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.REFERENCE_DECLARATION__MULTIPLICITY,
253 newMultiplicity, newMultiplicity));
254 }
255
256 /**
257 * <!-- begin-user-doc -->
258 * <!-- end-user-doc -->
259 * @generated
260 */
261 @Override
262 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
263 switch (featureID) {
264 case ProblemPackage.REFERENCE_DECLARATION__MULTIPLICITY:
265 return basicSetMultiplicity(null, msgs);
266 }
267 return super.eInverseRemove(otherEnd, featureID, msgs);
268 }
269
270 /**
271 * <!-- begin-user-doc -->
272 * <!-- end-user-doc -->
273 * @generated
274 */
275 @Override
276 public Object eGet(int featureID, boolean resolve, boolean coreType) {
277 switch (featureID) {
278 case ProblemPackage.REFERENCE_DECLARATION__REFERENCE_TYPE:
279 if (resolve)
280 return getReferenceType();
281 return basicGetReferenceType();
282 case ProblemPackage.REFERENCE_DECLARATION__OPPOSITE:
283 if (resolve)
284 return getOpposite();
285 return basicGetOpposite();
286 case ProblemPackage.REFERENCE_DECLARATION__CONTAINMENT:
287 return isContainment();
288 case ProblemPackage.REFERENCE_DECLARATION__MULTIPLICITY:
289 return getMultiplicity();
290 }
291 return super.eGet(featureID, resolve, coreType);
292 }
293
294 /**
295 * <!-- begin-user-doc -->
296 * <!-- end-user-doc -->
297 * @generated
298 */
299 @Override
300 public void eSet(int featureID, Object newValue) {
301 switch (featureID) {
302 case ProblemPackage.REFERENCE_DECLARATION__REFERENCE_TYPE:
303 setReferenceType((ClassDeclaration) newValue);
304 return;
305 case ProblemPackage.REFERENCE_DECLARATION__OPPOSITE:
306 setOpposite((ReferenceDeclaration) newValue);
307 return;
308 case ProblemPackage.REFERENCE_DECLARATION__CONTAINMENT:
309 setContainment((Boolean) newValue);
310 return;
311 case ProblemPackage.REFERENCE_DECLARATION__MULTIPLICITY:
312 setMultiplicity((Multiplicity) newValue);
313 return;
314 }
315 super.eSet(featureID, newValue);
316 }
317
318 /**
319 * <!-- begin-user-doc -->
320 * <!-- end-user-doc -->
321 * @generated
322 */
323 @Override
324 public void eUnset(int featureID) {
325 switch (featureID) {
326 case ProblemPackage.REFERENCE_DECLARATION__REFERENCE_TYPE:
327 setReferenceType((ClassDeclaration) null);
328 return;
329 case ProblemPackage.REFERENCE_DECLARATION__OPPOSITE:
330 setOpposite((ReferenceDeclaration) null);
331 return;
332 case ProblemPackage.REFERENCE_DECLARATION__CONTAINMENT:
333 setContainment(CONTAINMENT_EDEFAULT);
334 return;
335 case ProblemPackage.REFERENCE_DECLARATION__MULTIPLICITY:
336 setMultiplicity((Multiplicity) null);
337 return;
338 }
339 super.eUnset(featureID);
340 }
341
342 /**
343 * <!-- begin-user-doc -->
344 * <!-- end-user-doc -->
345 * @generated
346 */
347 @Override
348 public boolean eIsSet(int featureID) {
349 switch (featureID) {
350 case ProblemPackage.REFERENCE_DECLARATION__REFERENCE_TYPE:
351 return referenceType != null;
352 case ProblemPackage.REFERENCE_DECLARATION__OPPOSITE:
353 return opposite != null;
354 case ProblemPackage.REFERENCE_DECLARATION__CONTAINMENT:
355 return containment != CONTAINMENT_EDEFAULT;
356 case ProblemPackage.REFERENCE_DECLARATION__MULTIPLICITY:
357 return multiplicity != null;
358 }
359 return super.eIsSet(featureID);
360 }
361
362 /**
363 * <!-- begin-user-doc -->
364 * <!-- end-user-doc -->
365 * @generated
366 */
367 @Override
368 public String toString() {
369 if (eIsProxy())
370 return super.toString();
371
372 StringBuilder result = new StringBuilder(super.toString());
373 result.append(" (containment: ");
374 result.append(containment);
375 result.append(')');
376 return result.toString();
377 }
378
379} //ReferenceDeclarationImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/RelationImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/RelationImpl.java
new file mode 100644
index 00000000..20d43043
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/RelationImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
8import org.eclipse.viatra.solver.language.model.problem.Relation;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Relation</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public abstract class RelationImpl extends NamedElementImpl implements Relation {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected RelationImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return ProblemPackage.Literals.RELATION;
35 }
36
37} //RelationImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ScopeDeclarationImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ScopeDeclarationImpl.java
new file mode 100644
index 00000000..f178d9e0
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ScopeDeclarationImpl.java
@@ -0,0 +1,153 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import java.util.Collection;
6
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.common.util.EList;
10
11import org.eclipse.emf.ecore.EClass;
12import org.eclipse.emf.ecore.InternalEObject;
13
14import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
15
16import org.eclipse.emf.ecore.util.EObjectContainmentEList;
17import org.eclipse.emf.ecore.util.InternalEList;
18
19import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
20import org.eclipse.viatra.solver.language.model.problem.ScopeDeclaration;
21import org.eclipse.viatra.solver.language.model.problem.TypeScope;
22
23/**
24 * <!-- begin-user-doc -->
25 * An implementation of the model object '<em><b>Scope Declaration</b></em>'.
26 * <!-- end-user-doc -->
27 * <p>
28 * The following features are implemented:
29 * </p>
30 * <ul>
31 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ScopeDeclarationImpl#getTypeScopes <em>Type Scopes</em>}</li>
32 * </ul>
33 *
34 * @generated
35 */
36public class ScopeDeclarationImpl extends MinimalEObjectImpl.Container implements ScopeDeclaration {
37 /**
38 * The cached value of the '{@link #getTypeScopes() <em>Type Scopes</em>}' containment reference list.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @see #getTypeScopes()
42 * @generated
43 * @ordered
44 */
45 protected EList<TypeScope> typeScopes;
46
47 /**
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @generated
51 */
52 protected ScopeDeclarationImpl() {
53 super();
54 }
55
56 /**
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @generated
60 */
61 @Override
62 protected EClass eStaticClass() {
63 return ProblemPackage.Literals.SCOPE_DECLARATION;
64 }
65
66 /**
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @generated
70 */
71 public EList<TypeScope> getTypeScopes() {
72 if (typeScopes == null) {
73 typeScopes = new EObjectContainmentEList<TypeScope>(TypeScope.class, this,
74 ProblemPackage.SCOPE_DECLARATION__TYPE_SCOPES);
75 }
76 return typeScopes;
77 }
78
79 /**
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @generated
83 */
84 @Override
85 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
86 switch (featureID) {
87 case ProblemPackage.SCOPE_DECLARATION__TYPE_SCOPES:
88 return ((InternalEList<?>) getTypeScopes()).basicRemove(otherEnd, msgs);
89 }
90 return super.eInverseRemove(otherEnd, featureID, msgs);
91 }
92
93 /**
94 * <!-- begin-user-doc -->
95 * <!-- end-user-doc -->
96 * @generated
97 */
98 @Override
99 public Object eGet(int featureID, boolean resolve, boolean coreType) {
100 switch (featureID) {
101 case ProblemPackage.SCOPE_DECLARATION__TYPE_SCOPES:
102 return getTypeScopes();
103 }
104 return super.eGet(featureID, resolve, coreType);
105 }
106
107 /**
108 * <!-- begin-user-doc -->
109 * <!-- end-user-doc -->
110 * @generated
111 */
112 @SuppressWarnings("unchecked")
113 @Override
114 public void eSet(int featureID, Object newValue) {
115 switch (featureID) {
116 case ProblemPackage.SCOPE_DECLARATION__TYPE_SCOPES:
117 getTypeScopes().clear();
118 getTypeScopes().addAll((Collection<? extends TypeScope>) newValue);
119 return;
120 }
121 super.eSet(featureID, newValue);
122 }
123
124 /**
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @generated
128 */
129 @Override
130 public void eUnset(int featureID) {
131 switch (featureID) {
132 case ProblemPackage.SCOPE_DECLARATION__TYPE_SCOPES:
133 getTypeScopes().clear();
134 return;
135 }
136 super.eUnset(featureID);
137 }
138
139 /**
140 * <!-- begin-user-doc -->
141 * <!-- end-user-doc -->
142 * @generated
143 */
144 @Override
145 public boolean eIsSet(int featureID) {
146 switch (featureID) {
147 case ProblemPackage.SCOPE_DECLARATION__TYPE_SCOPES:
148 return typeScopes != null && !typeScopes.isEmpty();
149 }
150 return super.eIsSet(featureID);
151 }
152
153} //ScopeDeclarationImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/TypeScopeImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/TypeScopeImpl.java
new file mode 100644
index 00000000..608cc015
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/TypeScopeImpl.java
@@ -0,0 +1,317 @@
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.ClassDeclaration;
15import org.eclipse.viatra.solver.language.model.problem.Multiplicity;
16import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
17import org.eclipse.viatra.solver.language.model.problem.TypeScope;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Type Scope</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.TypeScopeImpl#getTargetType <em>Target Type</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.TypeScopeImpl#isIncrement <em>Increment</em>}</li>
29 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.TypeScopeImpl#getMultiplicity <em>Multiplicity</em>}</li>
30 * </ul>
31 *
32 * @generated
33 */
34public class TypeScopeImpl extends MinimalEObjectImpl.Container implements TypeScope {
35 /**
36 * The cached value of the '{@link #getTargetType() <em>Target Type</em>}' reference.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getTargetType()
40 * @generated
41 * @ordered
42 */
43 protected ClassDeclaration targetType;
44
45 /**
46 * The default value of the '{@link #isIncrement() <em>Increment</em>}' attribute.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @see #isIncrement()
50 * @generated
51 * @ordered
52 */
53 protected static final boolean INCREMENT_EDEFAULT = false;
54
55 /**
56 * The cached value of the '{@link #isIncrement() <em>Increment</em>}' attribute.
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @see #isIncrement()
60 * @generated
61 * @ordered
62 */
63 protected boolean increment = INCREMENT_EDEFAULT;
64
65 /**
66 * The cached value of the '{@link #getMultiplicity() <em>Multiplicity</em>}' containment reference.
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @see #getMultiplicity()
70 * @generated
71 * @ordered
72 */
73 protected Multiplicity multiplicity;
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 protected TypeScopeImpl() {
81 super();
82 }
83
84 /**
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @generated
88 */
89 @Override
90 protected EClass eStaticClass() {
91 return ProblemPackage.Literals.TYPE_SCOPE;
92 }
93
94 /**
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @generated
98 */
99 public ClassDeclaration getTargetType() {
100 if (targetType != null && targetType.eIsProxy()) {
101 InternalEObject oldTargetType = (InternalEObject) targetType;
102 targetType = (ClassDeclaration) eResolveProxy(oldTargetType);
103 if (targetType != oldTargetType) {
104 if (eNotificationRequired())
105 eNotify(new ENotificationImpl(this, Notification.RESOLVE, ProblemPackage.TYPE_SCOPE__TARGET_TYPE,
106 oldTargetType, targetType));
107 }
108 }
109 return targetType;
110 }
111
112 /**
113 * <!-- begin-user-doc -->
114 * <!-- end-user-doc -->
115 * @generated
116 */
117 public ClassDeclaration basicGetTargetType() {
118 return targetType;
119 }
120
121 /**
122 * <!-- begin-user-doc -->
123 * <!-- end-user-doc -->
124 * @generated
125 */
126 public void setTargetType(ClassDeclaration newTargetType) {
127 ClassDeclaration oldTargetType = targetType;
128 targetType = newTargetType;
129 if (eNotificationRequired())
130 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.TYPE_SCOPE__TARGET_TYPE, oldTargetType,
131 targetType));
132 }
133
134 /**
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @generated
138 */
139 public boolean isIncrement() {
140 return increment;
141 }
142
143 /**
144 * <!-- begin-user-doc -->
145 * <!-- end-user-doc -->
146 * @generated
147 */
148 public void setIncrement(boolean newIncrement) {
149 boolean oldIncrement = increment;
150 increment = newIncrement;
151 if (eNotificationRequired())
152 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.TYPE_SCOPE__INCREMENT, oldIncrement,
153 increment));
154 }
155
156 /**
157 * <!-- begin-user-doc -->
158 * <!-- end-user-doc -->
159 * @generated
160 */
161 public Multiplicity getMultiplicity() {
162 return multiplicity;
163 }
164
165 /**
166 * <!-- begin-user-doc -->
167 * <!-- end-user-doc -->
168 * @generated
169 */
170 public NotificationChain basicSetMultiplicity(Multiplicity newMultiplicity, NotificationChain msgs) {
171 Multiplicity oldMultiplicity = multiplicity;
172 multiplicity = newMultiplicity;
173 if (eNotificationRequired()) {
174 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
175 ProblemPackage.TYPE_SCOPE__MULTIPLICITY, oldMultiplicity, newMultiplicity);
176 if (msgs == null)
177 msgs = notification;
178 else
179 msgs.add(notification);
180 }
181 return msgs;
182 }
183
184 /**
185 * <!-- begin-user-doc -->
186 * <!-- end-user-doc -->
187 * @generated
188 */
189 public void setMultiplicity(Multiplicity newMultiplicity) {
190 if (newMultiplicity != multiplicity) {
191 NotificationChain msgs = null;
192 if (multiplicity != null)
193 msgs = ((InternalEObject) multiplicity).eInverseRemove(this,
194 EOPPOSITE_FEATURE_BASE - ProblemPackage.TYPE_SCOPE__MULTIPLICITY, null, msgs);
195 if (newMultiplicity != null)
196 msgs = ((InternalEObject) newMultiplicity).eInverseAdd(this,
197 EOPPOSITE_FEATURE_BASE - ProblemPackage.TYPE_SCOPE__MULTIPLICITY, null, msgs);
198 msgs = basicSetMultiplicity(newMultiplicity, msgs);
199 if (msgs != null)
200 msgs.dispatch();
201 } else if (eNotificationRequired())
202 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.TYPE_SCOPE__MULTIPLICITY,
203 newMultiplicity, newMultiplicity));
204 }
205
206 /**
207 * <!-- begin-user-doc -->
208 * <!-- end-user-doc -->
209 * @generated
210 */
211 @Override
212 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
213 switch (featureID) {
214 case ProblemPackage.TYPE_SCOPE__MULTIPLICITY:
215 return basicSetMultiplicity(null, msgs);
216 }
217 return super.eInverseRemove(otherEnd, featureID, msgs);
218 }
219
220 /**
221 * <!-- begin-user-doc -->
222 * <!-- end-user-doc -->
223 * @generated
224 */
225 @Override
226 public Object eGet(int featureID, boolean resolve, boolean coreType) {
227 switch (featureID) {
228 case ProblemPackage.TYPE_SCOPE__TARGET_TYPE:
229 if (resolve)
230 return getTargetType();
231 return basicGetTargetType();
232 case ProblemPackage.TYPE_SCOPE__INCREMENT:
233 return isIncrement();
234 case ProblemPackage.TYPE_SCOPE__MULTIPLICITY:
235 return getMultiplicity();
236 }
237 return super.eGet(featureID, resolve, coreType);
238 }
239
240 /**
241 * <!-- begin-user-doc -->
242 * <!-- end-user-doc -->
243 * @generated
244 */
245 @Override
246 public void eSet(int featureID, Object newValue) {
247 switch (featureID) {
248 case ProblemPackage.TYPE_SCOPE__TARGET_TYPE:
249 setTargetType((ClassDeclaration) newValue);
250 return;
251 case ProblemPackage.TYPE_SCOPE__INCREMENT:
252 setIncrement((Boolean) newValue);
253 return;
254 case ProblemPackage.TYPE_SCOPE__MULTIPLICITY:
255 setMultiplicity((Multiplicity) newValue);
256 return;
257 }
258 super.eSet(featureID, newValue);
259 }
260
261 /**
262 * <!-- begin-user-doc -->
263 * <!-- end-user-doc -->
264 * @generated
265 */
266 @Override
267 public void eUnset(int featureID) {
268 switch (featureID) {
269 case ProblemPackage.TYPE_SCOPE__TARGET_TYPE:
270 setTargetType((ClassDeclaration) null);
271 return;
272 case ProblemPackage.TYPE_SCOPE__INCREMENT:
273 setIncrement(INCREMENT_EDEFAULT);
274 return;
275 case ProblemPackage.TYPE_SCOPE__MULTIPLICITY:
276 setMultiplicity((Multiplicity) null);
277 return;
278 }
279 super.eUnset(featureID);
280 }
281
282 /**
283 * <!-- begin-user-doc -->
284 * <!-- end-user-doc -->
285 * @generated
286 */
287 @Override
288 public boolean eIsSet(int featureID) {
289 switch (featureID) {
290 case ProblemPackage.TYPE_SCOPE__TARGET_TYPE:
291 return targetType != null;
292 case ProblemPackage.TYPE_SCOPE__INCREMENT:
293 return increment != INCREMENT_EDEFAULT;
294 case ProblemPackage.TYPE_SCOPE__MULTIPLICITY:
295 return multiplicity != null;
296 }
297 return super.eIsSet(featureID);
298 }
299
300 /**
301 * <!-- begin-user-doc -->
302 * <!-- end-user-doc -->
303 * @generated
304 */
305 @Override
306 public String toString() {
307 if (eIsProxy())
308 return super.toString();
309
310 StringBuilder result = new StringBuilder(super.toString());
311 result.append(" (increment: ");
312 result.append(increment);
313 result.append(')');
314 return result.toString();
315 }
316
317} //TypeScopeImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/VariableImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/VariableImpl.java
new file mode 100644
index 00000000..0a8cde48
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/VariableImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
8import org.eclipse.viatra.solver.language.model.problem.Variable;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Variable</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public abstract class VariableImpl extends NamedElementImpl implements Variable {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected VariableImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return ProblemPackage.Literals.VARIABLE;
35 }
36
37} //VariableImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemAdapterFactory.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemAdapterFactory.java
new file mode 100644
index 00000000..f228f54a
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemAdapterFactory.java
@@ -0,0 +1,518 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.util;
4
5import org.eclipse.emf.common.notify.Adapter;
6import org.eclipse.emf.common.notify.Notifier;
7
8import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
9
10import org.eclipse.emf.ecore.EObject;
11
12import org.eclipse.viatra.solver.language.model.problem.*;
13
14/**
15 * <!-- begin-user-doc -->
16 * The <b>Adapter Factory</b> for the model.
17 * It provides an adapter <code>createXXX</code> method for each class of the model.
18 * <!-- end-user-doc -->
19 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage
20 * @generated
21 */
22public class ProblemAdapterFactory extends AdapterFactoryImpl {
23 /**
24 * The cached model package.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @generated
28 */
29 protected static ProblemPackage modelPackage;
30
31 /**
32 * Creates an instance of the adapter factory.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @generated
36 */
37 public ProblemAdapterFactory() {
38 if (modelPackage == null) {
39 modelPackage = ProblemPackage.eINSTANCE;
40 }
41 }
42
43 /**
44 * Returns whether this factory is applicable for the type of the object.
45 * <!-- begin-user-doc -->
46 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
47 * <!-- end-user-doc -->
48 * @return whether this factory is applicable for the type of the object.
49 * @generated
50 */
51 @Override
52 public boolean isFactoryForType(Object object) {
53 if (object == modelPackage) {
54 return true;
55 }
56 if (object instanceof EObject) {
57 return ((EObject) object).eClass().getEPackage() == modelPackage;
58 }
59 return false;
60 }
61
62 /**
63 * The switch that delegates to the <code>createXXX</code> methods.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @generated
67 */
68 protected ProblemSwitch<Adapter> modelSwitch = new ProblemSwitch<Adapter>() {
69 @Override
70 public Adapter caseProblem(Problem object) {
71 return createProblemAdapter();
72 }
73
74 @Override
75 public Adapter caseRelation(Relation object) {
76 return createRelationAdapter();
77 }
78
79 @Override
80 public Adapter caseClassDeclaration(ClassDeclaration object) {
81 return createClassDeclarationAdapter();
82 }
83
84 @Override
85 public Adapter caseReferenceDeclaration(ReferenceDeclaration object) {
86 return createReferenceDeclarationAdapter();
87 }
88
89 @Override
90 public Adapter caseNamedElement(NamedElement object) {
91 return createNamedElementAdapter();
92 }
93
94 @Override
95 public Adapter casePredicateDefinition(PredicateDefinition object) {
96 return createPredicateDefinitionAdapter();
97 }
98
99 @Override
100 public Adapter caseParameter(Parameter object) {
101 return createParameterAdapter();
102 }
103
104 @Override
105 public Adapter caseVariable(Variable object) {
106 return createVariableAdapter();
107 }
108
109 @Override
110 public Adapter caseConjunction(Conjunction object) {
111 return createConjunctionAdapter();
112 }
113
114 @Override
115 public Adapter caseLiteral(Literal object) {
116 return createLiteralAdapter();
117 }
118
119 @Override
120 public Adapter caseAtom(Atom object) {
121 return createAtomAdapter();
122 }
123
124 @Override
125 public Adapter caseImplicitVariable(ImplicitVariable object) {
126 return createImplicitVariableAdapter();
127 }
128
129 @Override
130 public Adapter caseNegativeLiteral(NegativeLiteral object) {
131 return createNegativeLiteralAdapter();
132 }
133
134 @Override
135 public Adapter caseExistentialQuantifier(ExistentialQuantifier object) {
136 return createExistentialQuantifierAdapter();
137 }
138
139 @Override
140 public Adapter caseAssertion(Assertion object) {
141 return createAssertionAdapter();
142 }
143
144 @Override
145 public Adapter caseNode(Node object) {
146 return createNodeAdapter();
147 }
148
149 @Override
150 public Adapter caseScopeDeclaration(ScopeDeclaration object) {
151 return createScopeDeclarationAdapter();
152 }
153
154 @Override
155 public Adapter caseStatement(Statement object) {
156 return createStatementAdapter();
157 }
158
159 @Override
160 public Adapter caseTypeScope(TypeScope object) {
161 return createTypeScopeAdapter();
162 }
163
164 @Override
165 public Adapter caseMultiplicity(Multiplicity object) {
166 return createMultiplicityAdapter();
167 }
168
169 @Override
170 public Adapter caseRangeMultiplicity(RangeMultiplicity object) {
171 return createRangeMultiplicityAdapter();
172 }
173
174 @Override
175 public Adapter caseExactMultiplicity(ExactMultiplicity object) {
176 return createExactMultiplicityAdapter();
177 }
178
179 @Override
180 public Adapter defaultCase(EObject object) {
181 return createEObjectAdapter();
182 }
183 };
184
185 /**
186 * Creates an adapter for the <code>target</code>.
187 * <!-- begin-user-doc -->
188 * <!-- end-user-doc -->
189 * @param target the object to adapt.
190 * @return the adapter for the <code>target</code>.
191 * @generated
192 */
193 @Override
194 public Adapter createAdapter(Notifier target) {
195 return modelSwitch.doSwitch((EObject) target);
196 }
197
198 /**
199 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.Problem <em>Problem</em>}'.
200 * <!-- begin-user-doc -->
201 * This default implementation returns null so that we can easily ignore cases;
202 * it's useful to ignore a case when inheritance will catch all the cases anyway.
203 * <!-- end-user-doc -->
204 * @return the new adapter.
205 * @see org.eclipse.viatra.solver.language.model.problem.Problem
206 * @generated
207 */
208 public Adapter createProblemAdapter() {
209 return null;
210 }
211
212 /**
213 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.Relation <em>Relation</em>}'.
214 * <!-- begin-user-doc -->
215 * This default implementation returns null so that we can easily ignore cases;
216 * it's useful to ignore a case when inheritance will catch all the cases anyway.
217 * <!-- end-user-doc -->
218 * @return the new adapter.
219 * @see org.eclipse.viatra.solver.language.model.problem.Relation
220 * @generated
221 */
222 public Adapter createRelationAdapter() {
223 return null;
224 }
225
226 /**
227 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration <em>Class Declaration</em>}'.
228 * <!-- begin-user-doc -->
229 * This default implementation returns null so that we can easily ignore cases;
230 * it's useful to ignore a case when inheritance will catch all the cases anyway.
231 * <!-- end-user-doc -->
232 * @return the new adapter.
233 * @see org.eclipse.viatra.solver.language.model.problem.ClassDeclaration
234 * @generated
235 */
236 public Adapter createClassDeclarationAdapter() {
237 return null;
238 }
239
240 /**
241 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration <em>Reference Declaration</em>}'.
242 * <!-- begin-user-doc -->
243 * This default implementation returns null so that we can easily ignore cases;
244 * it's useful to ignore a case when inheritance will catch all the cases anyway.
245 * <!-- end-user-doc -->
246 * @return the new adapter.
247 * @see org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration
248 * @generated
249 */
250 public Adapter createReferenceDeclarationAdapter() {
251 return null;
252 }
253
254 /**
255 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.NamedElement <em>Named Element</em>}'.
256 * <!-- begin-user-doc -->
257 * This default implementation returns null so that we can easily ignore cases;
258 * it's useful to ignore a case when inheritance will catch all the cases anyway.
259 * <!-- end-user-doc -->
260 * @return the new adapter.
261 * @see org.eclipse.viatra.solver.language.model.problem.NamedElement
262 * @generated
263 */
264 public Adapter createNamedElementAdapter() {
265 return null;
266 }
267
268 /**
269 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.PredicateDefinition <em>Predicate Definition</em>}'.
270 * <!-- begin-user-doc -->
271 * This default implementation returns null so that we can easily ignore cases;
272 * it's useful to ignore a case when inheritance will catch all the cases anyway.
273 * <!-- end-user-doc -->
274 * @return the new adapter.
275 * @see org.eclipse.viatra.solver.language.model.problem.PredicateDefinition
276 * @generated
277 */
278 public Adapter createPredicateDefinitionAdapter() {
279 return null;
280 }
281
282 /**
283 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.Parameter <em>Parameter</em>}'.
284 * <!-- begin-user-doc -->
285 * This default implementation returns null so that we can easily ignore cases;
286 * it's useful to ignore a case when inheritance will catch all the cases anyway.
287 * <!-- end-user-doc -->
288 * @return the new adapter.
289 * @see org.eclipse.viatra.solver.language.model.problem.Parameter
290 * @generated
291 */
292 public Adapter createParameterAdapter() {
293 return null;
294 }
295
296 /**
297 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.Variable <em>Variable</em>}'.
298 * <!-- begin-user-doc -->
299 * This default implementation returns null so that we can easily ignore cases;
300 * it's useful to ignore a case when inheritance will catch all the cases anyway.
301 * <!-- end-user-doc -->
302 * @return the new adapter.
303 * @see org.eclipse.viatra.solver.language.model.problem.Variable
304 * @generated
305 */
306 public Adapter createVariableAdapter() {
307 return null;
308 }
309
310 /**
311 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.Conjunction <em>Conjunction</em>}'.
312 * <!-- begin-user-doc -->
313 * This default implementation returns null so that we can easily ignore cases;
314 * it's useful to ignore a case when inheritance will catch all the cases anyway.
315 * <!-- end-user-doc -->
316 * @return the new adapter.
317 * @see org.eclipse.viatra.solver.language.model.problem.Conjunction
318 * @generated
319 */
320 public Adapter createConjunctionAdapter() {
321 return null;
322 }
323
324 /**
325 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.Literal <em>Literal</em>}'.
326 * <!-- begin-user-doc -->
327 * This default implementation returns null so that we can easily ignore cases;
328 * it's useful to ignore a case when inheritance will catch all the cases anyway.
329 * <!-- end-user-doc -->
330 * @return the new adapter.
331 * @see org.eclipse.viatra.solver.language.model.problem.Literal
332 * @generated
333 */
334 public Adapter createLiteralAdapter() {
335 return null;
336 }
337
338 /**
339 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.Atom <em>Atom</em>}'.
340 * <!-- begin-user-doc -->
341 * This default implementation returns null so that we can easily ignore cases;
342 * it's useful to ignore a case when inheritance will catch all the cases anyway.
343 * <!-- end-user-doc -->
344 * @return the new adapter.
345 * @see org.eclipse.viatra.solver.language.model.problem.Atom
346 * @generated
347 */
348 public Adapter createAtomAdapter() {
349 return null;
350 }
351
352 /**
353 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.ImplicitVariable <em>Implicit Variable</em>}'.
354 * <!-- begin-user-doc -->
355 * This default implementation returns null so that we can easily ignore cases;
356 * it's useful to ignore a case when inheritance will catch all the cases anyway.
357 * <!-- end-user-doc -->
358 * @return the new adapter.
359 * @see org.eclipse.viatra.solver.language.model.problem.ImplicitVariable
360 * @generated
361 */
362 public Adapter createImplicitVariableAdapter() {
363 return null;
364 }
365
366 /**
367 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.NegativeLiteral <em>Negative Literal</em>}'.
368 * <!-- begin-user-doc -->
369 * This default implementation returns null so that we can easily ignore cases;
370 * it's useful to ignore a case when inheritance will catch all the cases anyway.
371 * <!-- end-user-doc -->
372 * @return the new adapter.
373 * @see org.eclipse.viatra.solver.language.model.problem.NegativeLiteral
374 * @generated
375 */
376 public Adapter createNegativeLiteralAdapter() {
377 return null;
378 }
379
380 /**
381 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.ExistentialQuantifier <em>Existential Quantifier</em>}'.
382 * <!-- begin-user-doc -->
383 * This default implementation returns null so that we can easily ignore cases;
384 * it's useful to ignore a case when inheritance will catch all the cases anyway.
385 * <!-- end-user-doc -->
386 * @return the new adapter.
387 * @see org.eclipse.viatra.solver.language.model.problem.ExistentialQuantifier
388 * @generated
389 */
390 public Adapter createExistentialQuantifierAdapter() {
391 return null;
392 }
393
394 /**
395 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.Assertion <em>Assertion</em>}'.
396 * <!-- begin-user-doc -->
397 * This default implementation returns null so that we can easily ignore cases;
398 * it's useful to ignore a case when inheritance will catch all the cases anyway.
399 * <!-- end-user-doc -->
400 * @return the new adapter.
401 * @see org.eclipse.viatra.solver.language.model.problem.Assertion
402 * @generated
403 */
404 public Adapter createAssertionAdapter() {
405 return null;
406 }
407
408 /**
409 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.Node <em>Node</em>}'.
410 * <!-- begin-user-doc -->
411 * This default implementation returns null so that we can easily ignore cases;
412 * it's useful to ignore a case when inheritance will catch all the cases anyway.
413 * <!-- end-user-doc -->
414 * @return the new adapter.
415 * @see org.eclipse.viatra.solver.language.model.problem.Node
416 * @generated
417 */
418 public Adapter createNodeAdapter() {
419 return null;
420 }
421
422 /**
423 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.ScopeDeclaration <em>Scope Declaration</em>}'.
424 * <!-- begin-user-doc -->
425 * This default implementation returns null so that we can easily ignore cases;
426 * it's useful to ignore a case when inheritance will catch all the cases anyway.
427 * <!-- end-user-doc -->
428 * @return the new adapter.
429 * @see org.eclipse.viatra.solver.language.model.problem.ScopeDeclaration
430 * @generated
431 */
432 public Adapter createScopeDeclarationAdapter() {
433 return null;
434 }
435
436 /**
437 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.Statement <em>Statement</em>}'.
438 * <!-- begin-user-doc -->
439 * This default implementation returns null so that we can easily ignore cases;
440 * it's useful to ignore a case when inheritance will catch all the cases anyway.
441 * <!-- end-user-doc -->
442 * @return the new adapter.
443 * @see org.eclipse.viatra.solver.language.model.problem.Statement
444 * @generated
445 */
446 public Adapter createStatementAdapter() {
447 return null;
448 }
449
450 /**
451 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.TypeScope <em>Type Scope</em>}'.
452 * <!-- begin-user-doc -->
453 * This default implementation returns null so that we can easily ignore cases;
454 * it's useful to ignore a case when inheritance will catch all the cases anyway.
455 * <!-- end-user-doc -->
456 * @return the new adapter.
457 * @see org.eclipse.viatra.solver.language.model.problem.TypeScope
458 * @generated
459 */
460 public Adapter createTypeScopeAdapter() {
461 return null;
462 }
463
464 /**
465 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.Multiplicity <em>Multiplicity</em>}'.
466 * <!-- begin-user-doc -->
467 * This default implementation returns null so that we can easily ignore cases;
468 * it's useful to ignore a case when inheritance will catch all the cases anyway.
469 * <!-- end-user-doc -->
470 * @return the new adapter.
471 * @see org.eclipse.viatra.solver.language.model.problem.Multiplicity
472 * @generated
473 */
474 public Adapter createMultiplicityAdapter() {
475 return null;
476 }
477
478 /**
479 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.RangeMultiplicity <em>Range Multiplicity</em>}'.
480 * <!-- begin-user-doc -->
481 * This default implementation returns null so that we can easily ignore cases;
482 * it's useful to ignore a case when inheritance will catch all the cases anyway.
483 * <!-- end-user-doc -->
484 * @return the new adapter.
485 * @see org.eclipse.viatra.solver.language.model.problem.RangeMultiplicity
486 * @generated
487 */
488 public Adapter createRangeMultiplicityAdapter() {
489 return null;
490 }
491
492 /**
493 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.ExactMultiplicity <em>Exact Multiplicity</em>}'.
494 * <!-- begin-user-doc -->
495 * This default implementation returns null so that we can easily ignore cases;
496 * it's useful to ignore a case when inheritance will catch all the cases anyway.
497 * <!-- end-user-doc -->
498 * @return the new adapter.
499 * @see org.eclipse.viatra.solver.language.model.problem.ExactMultiplicity
500 * @generated
501 */
502 public Adapter createExactMultiplicityAdapter() {
503 return null;
504 }
505
506 /**
507 * Creates a new adapter for the default case.
508 * <!-- begin-user-doc -->
509 * This default implementation returns null.
510 * <!-- end-user-doc -->
511 * @return the new adapter.
512 * @generated
513 */
514 public Adapter createEObjectAdapter() {
515 return null;
516 }
517
518} //ProblemAdapterFactory
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemSwitch.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemSwitch.java
new file mode 100644
index 00000000..a9e1455b
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemSwitch.java
@@ -0,0 +1,620 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.util;
4
5import org.eclipse.emf.ecore.EObject;
6import org.eclipse.emf.ecore.EPackage;
7
8import org.eclipse.emf.ecore.util.Switch;
9
10import org.eclipse.viatra.solver.language.model.problem.*;
11
12/**
13 * <!-- begin-user-doc -->
14 * The <b>Switch</b> for the model's inheritance hierarchy.
15 * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
16 * to invoke the <code>caseXXX</code> method for each class of the model,
17 * starting with the actual class of the object
18 * and proceeding up the inheritance hierarchy
19 * until a non-null result is returned,
20 * which is the result of the switch.
21 * <!-- end-user-doc -->
22 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage
23 * @generated
24 */
25public class ProblemSwitch<T> extends Switch<T> {
26 /**
27 * The cached model package
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 protected static ProblemPackage modelPackage;
33
34 /**
35 * Creates an instance of the switch.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @generated
39 */
40 public ProblemSwitch() {
41 if (modelPackage == null) {
42 modelPackage = ProblemPackage.eINSTANCE;
43 }
44 }
45
46 /**
47 * Checks whether this is a switch for the given package.
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @param ePackage the package in question.
51 * @return whether this is a switch for the given package.
52 * @generated
53 */
54 @Override
55 protected boolean isSwitchFor(EPackage ePackage) {
56 return ePackage == modelPackage;
57 }
58
59 /**
60 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @return the first non-null result returned by a <code>caseXXX</code> call.
64 * @generated
65 */
66 @Override
67 protected T doSwitch(int classifierID, EObject theEObject) {
68 switch (classifierID) {
69 case ProblemPackage.PROBLEM: {
70 Problem problem = (Problem) theEObject;
71 T result = caseProblem(problem);
72 if (result == null)
73 result = defaultCase(theEObject);
74 return result;
75 }
76 case ProblemPackage.RELATION: {
77 Relation relation = (Relation) theEObject;
78 T result = caseRelation(relation);
79 if (result == null)
80 result = caseNamedElement(relation);
81 if (result == null)
82 result = defaultCase(theEObject);
83 return result;
84 }
85 case ProblemPackage.CLASS_DECLARATION: {
86 ClassDeclaration classDeclaration = (ClassDeclaration) theEObject;
87 T result = caseClassDeclaration(classDeclaration);
88 if (result == null)
89 result = caseRelation(classDeclaration);
90 if (result == null)
91 result = caseStatement(classDeclaration);
92 if (result == null)
93 result = caseNamedElement(classDeclaration);
94 if (result == null)
95 result = defaultCase(theEObject);
96 return result;
97 }
98 case ProblemPackage.REFERENCE_DECLARATION: {
99 ReferenceDeclaration referenceDeclaration = (ReferenceDeclaration) theEObject;
100 T result = caseReferenceDeclaration(referenceDeclaration);
101 if (result == null)
102 result = caseRelation(referenceDeclaration);
103 if (result == null)
104 result = caseNamedElement(referenceDeclaration);
105 if (result == null)
106 result = defaultCase(theEObject);
107 return result;
108 }
109 case ProblemPackage.NAMED_ELEMENT: {
110 NamedElement namedElement = (NamedElement) theEObject;
111 T result = caseNamedElement(namedElement);
112 if (result == null)
113 result = defaultCase(theEObject);
114 return result;
115 }
116 case ProblemPackage.PREDICATE_DEFINITION: {
117 PredicateDefinition predicateDefinition = (PredicateDefinition) theEObject;
118 T result = casePredicateDefinition(predicateDefinition);
119 if (result == null)
120 result = caseRelation(predicateDefinition);
121 if (result == null)
122 result = caseStatement(predicateDefinition);
123 if (result == null)
124 result = caseNamedElement(predicateDefinition);
125 if (result == null)
126 result = defaultCase(theEObject);
127 return result;
128 }
129 case ProblemPackage.PARAMETER: {
130 Parameter parameter = (Parameter) theEObject;
131 T result = caseParameter(parameter);
132 if (result == null)
133 result = caseVariable(parameter);
134 if (result == null)
135 result = caseNamedElement(parameter);
136 if (result == null)
137 result = defaultCase(theEObject);
138 return result;
139 }
140 case ProblemPackage.VARIABLE: {
141 Variable variable = (Variable) theEObject;
142 T result = caseVariable(variable);
143 if (result == null)
144 result = caseNamedElement(variable);
145 if (result == null)
146 result = defaultCase(theEObject);
147 return result;
148 }
149 case ProblemPackage.CONJUNCTION: {
150 Conjunction conjunction = (Conjunction) theEObject;
151 T result = caseConjunction(conjunction);
152 if (result == null)
153 result = caseExistentialQuantifier(conjunction);
154 if (result == null)
155 result = defaultCase(theEObject);
156 return result;
157 }
158 case ProblemPackage.LITERAL: {
159 Literal literal = (Literal) theEObject;
160 T result = caseLiteral(literal);
161 if (result == null)
162 result = defaultCase(theEObject);
163 return result;
164 }
165 case ProblemPackage.ATOM: {
166 Atom atom = (Atom) theEObject;
167 T result = caseAtom(atom);
168 if (result == null)
169 result = caseLiteral(atom);
170 if (result == null)
171 result = defaultCase(theEObject);
172 return result;
173 }
174 case ProblemPackage.IMPLICIT_VARIABLE: {
175 ImplicitVariable implicitVariable = (ImplicitVariable) theEObject;
176 T result = caseImplicitVariable(implicitVariable);
177 if (result == null)
178 result = caseVariable(implicitVariable);
179 if (result == null)
180 result = caseNamedElement(implicitVariable);
181 if (result == null)
182 result = defaultCase(theEObject);
183 return result;
184 }
185 case ProblemPackage.NEGATIVE_LITERAL: {
186 NegativeLiteral negativeLiteral = (NegativeLiteral) theEObject;
187 T result = caseNegativeLiteral(negativeLiteral);
188 if (result == null)
189 result = caseExistentialQuantifier(negativeLiteral);
190 if (result == null)
191 result = caseLiteral(negativeLiteral);
192 if (result == null)
193 result = defaultCase(theEObject);
194 return result;
195 }
196 case ProblemPackage.EXISTENTIAL_QUANTIFIER: {
197 ExistentialQuantifier existentialQuantifier = (ExistentialQuantifier) theEObject;
198 T result = caseExistentialQuantifier(existentialQuantifier);
199 if (result == null)
200 result = defaultCase(theEObject);
201 return result;
202 }
203 case ProblemPackage.ASSERTION: {
204 Assertion assertion = (Assertion) theEObject;
205 T result = caseAssertion(assertion);
206 if (result == null)
207 result = caseStatement(assertion);
208 if (result == null)
209 result = defaultCase(theEObject);
210 return result;
211 }
212 case ProblemPackage.NODE: {
213 Node node = (Node) theEObject;
214 T result = caseNode(node);
215 if (result == null)
216 result = caseNamedElement(node);
217 if (result == null)
218 result = defaultCase(theEObject);
219 return result;
220 }
221 case ProblemPackage.SCOPE_DECLARATION: {
222 ScopeDeclaration scopeDeclaration = (ScopeDeclaration) theEObject;
223 T result = caseScopeDeclaration(scopeDeclaration);
224 if (result == null)
225 result = caseStatement(scopeDeclaration);
226 if (result == null)
227 result = defaultCase(theEObject);
228 return result;
229 }
230 case ProblemPackage.STATEMENT: {
231 Statement statement = (Statement) theEObject;
232 T result = caseStatement(statement);
233 if (result == null)
234 result = defaultCase(theEObject);
235 return result;
236 }
237 case ProblemPackage.TYPE_SCOPE: {
238 TypeScope typeScope = (TypeScope) theEObject;
239 T result = caseTypeScope(typeScope);
240 if (result == null)
241 result = defaultCase(theEObject);
242 return result;
243 }
244 case ProblemPackage.MULTIPLICITY: {
245 Multiplicity multiplicity = (Multiplicity) theEObject;
246 T result = caseMultiplicity(multiplicity);
247 if (result == null)
248 result = defaultCase(theEObject);
249 return result;
250 }
251 case ProblemPackage.RANGE_MULTIPLICITY: {
252 RangeMultiplicity rangeMultiplicity = (RangeMultiplicity) theEObject;
253 T result = caseRangeMultiplicity(rangeMultiplicity);
254 if (result == null)
255 result = caseMultiplicity(rangeMultiplicity);
256 if (result == null)
257 result = defaultCase(theEObject);
258 return result;
259 }
260 case ProblemPackage.EXACT_MULTIPLICITY: {
261 ExactMultiplicity exactMultiplicity = (ExactMultiplicity) theEObject;
262 T result = caseExactMultiplicity(exactMultiplicity);
263 if (result == null)
264 result = caseMultiplicity(exactMultiplicity);
265 if (result == null)
266 result = defaultCase(theEObject);
267 return result;
268 }
269 default:
270 return defaultCase(theEObject);
271 }
272 }
273
274 /**
275 * Returns the result of interpreting the object as an instance of '<em>Problem</em>'.
276 * <!-- begin-user-doc -->
277 * This implementation returns null;
278 * returning a non-null result will terminate the switch.
279 * <!-- end-user-doc -->
280 * @param object the target of the switch.
281 * @return the result of interpreting the object as an instance of '<em>Problem</em>'.
282 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
283 * @generated
284 */
285 public T caseProblem(Problem object) {
286 return null;
287 }
288
289 /**
290 * Returns the result of interpreting the object as an instance of '<em>Relation</em>'.
291 * <!-- begin-user-doc -->
292 * This implementation returns null;
293 * returning a non-null result will terminate the switch.
294 * <!-- end-user-doc -->
295 * @param object the target of the switch.
296 * @return the result of interpreting the object as an instance of '<em>Relation</em>'.
297 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
298 * @generated
299 */
300 public T caseRelation(Relation object) {
301 return null;
302 }
303
304 /**
305 * Returns the result of interpreting the object as an instance of '<em>Class Declaration</em>'.
306 * <!-- begin-user-doc -->
307 * This implementation returns null;
308 * returning a non-null result will terminate the switch.
309 * <!-- end-user-doc -->
310 * @param object the target of the switch.
311 * @return the result of interpreting the object as an instance of '<em>Class Declaration</em>'.
312 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
313 * @generated
314 */
315 public T caseClassDeclaration(ClassDeclaration object) {
316 return null;
317 }
318
319 /**
320 * Returns the result of interpreting the object as an instance of '<em>Reference Declaration</em>'.
321 * <!-- begin-user-doc -->
322 * This implementation returns null;
323 * returning a non-null result will terminate the switch.
324 * <!-- end-user-doc -->
325 * @param object the target of the switch.
326 * @return the result of interpreting the object as an instance of '<em>Reference Declaration</em>'.
327 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
328 * @generated
329 */
330 public T caseReferenceDeclaration(ReferenceDeclaration object) {
331 return null;
332 }
333
334 /**
335 * Returns the result of interpreting the object as an instance of '<em>Named Element</em>'.
336 * <!-- begin-user-doc -->
337 * This implementation returns null;
338 * returning a non-null result will terminate the switch.
339 * <!-- end-user-doc -->
340 * @param object the target of the switch.
341 * @return the result of interpreting the object as an instance of '<em>Named Element</em>'.
342 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
343 * @generated
344 */
345 public T caseNamedElement(NamedElement object) {
346 return null;
347 }
348
349 /**
350 * Returns the result of interpreting the object as an instance of '<em>Predicate Definition</em>'.
351 * <!-- begin-user-doc -->
352 * This implementation returns null;
353 * returning a non-null result will terminate the switch.
354 * <!-- end-user-doc -->
355 * @param object the target of the switch.
356 * @return the result of interpreting the object as an instance of '<em>Predicate Definition</em>'.
357 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
358 * @generated
359 */
360 public T casePredicateDefinition(PredicateDefinition object) {
361 return null;
362 }
363
364 /**
365 * Returns the result of interpreting the object as an instance of '<em>Parameter</em>'.
366 * <!-- begin-user-doc -->
367 * This implementation returns null;
368 * returning a non-null result will terminate the switch.
369 * <!-- end-user-doc -->
370 * @param object the target of the switch.
371 * @return the result of interpreting the object as an instance of '<em>Parameter</em>'.
372 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
373 * @generated
374 */
375 public T caseParameter(Parameter object) {
376 return null;
377 }
378
379 /**
380 * Returns the result of interpreting the object as an instance of '<em>Variable</em>'.
381 * <!-- begin-user-doc -->
382 * This implementation returns null;
383 * returning a non-null result will terminate the switch.
384 * <!-- end-user-doc -->
385 * @param object the target of the switch.
386 * @return the result of interpreting the object as an instance of '<em>Variable</em>'.
387 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
388 * @generated
389 */
390 public T caseVariable(Variable object) {
391 return null;
392 }
393
394 /**
395 * Returns the result of interpreting the object as an instance of '<em>Conjunction</em>'.
396 * <!-- begin-user-doc -->
397 * This implementation returns null;
398 * returning a non-null result will terminate the switch.
399 * <!-- end-user-doc -->
400 * @param object the target of the switch.
401 * @return the result of interpreting the object as an instance of '<em>Conjunction</em>'.
402 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
403 * @generated
404 */
405 public T caseConjunction(Conjunction object) {
406 return null;
407 }
408
409 /**
410 * Returns the result of interpreting the object as an instance of '<em>Literal</em>'.
411 * <!-- begin-user-doc -->
412 * This implementation returns null;
413 * returning a non-null result will terminate the switch.
414 * <!-- end-user-doc -->
415 * @param object the target of the switch.
416 * @return the result of interpreting the object as an instance of '<em>Literal</em>'.
417 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
418 * @generated
419 */
420 public T caseLiteral(Literal object) {
421 return null;
422 }
423
424 /**
425 * Returns the result of interpreting the object as an instance of '<em>Atom</em>'.
426 * <!-- begin-user-doc -->
427 * This implementation returns null;
428 * returning a non-null result will terminate the switch.
429 * <!-- end-user-doc -->
430 * @param object the target of the switch.
431 * @return the result of interpreting the object as an instance of '<em>Atom</em>'.
432 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
433 * @generated
434 */
435 public T caseAtom(Atom object) {
436 return null;
437 }
438
439 /**
440 * Returns the result of interpreting the object as an instance of '<em>Implicit Variable</em>'.
441 * <!-- begin-user-doc -->
442 * This implementation returns null;
443 * returning a non-null result will terminate the switch.
444 * <!-- end-user-doc -->
445 * @param object the target of the switch.
446 * @return the result of interpreting the object as an instance of '<em>Implicit Variable</em>'.
447 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
448 * @generated
449 */
450 public T caseImplicitVariable(ImplicitVariable object) {
451 return null;
452 }
453
454 /**
455 * Returns the result of interpreting the object as an instance of '<em>Negative Literal</em>'.
456 * <!-- begin-user-doc -->
457 * This implementation returns null;
458 * returning a non-null result will terminate the switch.
459 * <!-- end-user-doc -->
460 * @param object the target of the switch.
461 * @return the result of interpreting the object as an instance of '<em>Negative Literal</em>'.
462 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
463 * @generated
464 */
465 public T caseNegativeLiteral(NegativeLiteral object) {
466 return null;
467 }
468
469 /**
470 * Returns the result of interpreting the object as an instance of '<em>Existential Quantifier</em>'.
471 * <!-- begin-user-doc -->
472 * This implementation returns null;
473 * returning a non-null result will terminate the switch.
474 * <!-- end-user-doc -->
475 * @param object the target of the switch.
476 * @return the result of interpreting the object as an instance of '<em>Existential Quantifier</em>'.
477 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
478 * @generated
479 */
480 public T caseExistentialQuantifier(ExistentialQuantifier object) {
481 return null;
482 }
483
484 /**
485 * Returns the result of interpreting the object as an instance of '<em>Assertion</em>'.
486 * <!-- begin-user-doc -->
487 * This implementation returns null;
488 * returning a non-null result will terminate the switch.
489 * <!-- end-user-doc -->
490 * @param object the target of the switch.
491 * @return the result of interpreting the object as an instance of '<em>Assertion</em>'.
492 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
493 * @generated
494 */
495 public T caseAssertion(Assertion object) {
496 return null;
497 }
498
499 /**
500 * Returns the result of interpreting the object as an instance of '<em>Node</em>'.
501 * <!-- begin-user-doc -->
502 * This implementation returns null;
503 * returning a non-null result will terminate the switch.
504 * <!-- end-user-doc -->
505 * @param object the target of the switch.
506 * @return the result of interpreting the object as an instance of '<em>Node</em>'.
507 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
508 * @generated
509 */
510 public T caseNode(Node object) {
511 return null;
512 }
513
514 /**
515 * Returns the result of interpreting the object as an instance of '<em>Scope Declaration</em>'.
516 * <!-- begin-user-doc -->
517 * This implementation returns null;
518 * returning a non-null result will terminate the switch.
519 * <!-- end-user-doc -->
520 * @param object the target of the switch.
521 * @return the result of interpreting the object as an instance of '<em>Scope Declaration</em>'.
522 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
523 * @generated
524 */
525 public T caseScopeDeclaration(ScopeDeclaration object) {
526 return null;
527 }
528
529 /**
530 * Returns the result of interpreting the object as an instance of '<em>Statement</em>'.
531 * <!-- begin-user-doc -->
532 * This implementation returns null;
533 * returning a non-null result will terminate the switch.
534 * <!-- end-user-doc -->
535 * @param object the target of the switch.
536 * @return the result of interpreting the object as an instance of '<em>Statement</em>'.
537 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
538 * @generated
539 */
540 public T caseStatement(Statement object) {
541 return null;
542 }
543
544 /**
545 * Returns the result of interpreting the object as an instance of '<em>Type Scope</em>'.
546 * <!-- begin-user-doc -->
547 * This implementation returns null;
548 * returning a non-null result will terminate the switch.
549 * <!-- end-user-doc -->
550 * @param object the target of the switch.
551 * @return the result of interpreting the object as an instance of '<em>Type Scope</em>'.
552 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
553 * @generated
554 */
555 public T caseTypeScope(TypeScope object) {
556 return null;
557 }
558
559 /**
560 * Returns the result of interpreting the object as an instance of '<em>Multiplicity</em>'.
561 * <!-- begin-user-doc -->
562 * This implementation returns null;
563 * returning a non-null result will terminate the switch.
564 * <!-- end-user-doc -->
565 * @param object the target of the switch.
566 * @return the result of interpreting the object as an instance of '<em>Multiplicity</em>'.
567 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
568 * @generated
569 */
570 public T caseMultiplicity(Multiplicity object) {
571 return null;
572 }
573
574 /**
575 * Returns the result of interpreting the object as an instance of '<em>Range Multiplicity</em>'.
576 * <!-- begin-user-doc -->
577 * This implementation returns null;
578 * returning a non-null result will terminate the switch.
579 * <!-- end-user-doc -->
580 * @param object the target of the switch.
581 * @return the result of interpreting the object as an instance of '<em>Range Multiplicity</em>'.
582 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
583 * @generated
584 */
585 public T caseRangeMultiplicity(RangeMultiplicity object) {
586 return null;
587 }
588
589 /**
590 * Returns the result of interpreting the object as an instance of '<em>Exact Multiplicity</em>'.
591 * <!-- begin-user-doc -->
592 * This implementation returns null;
593 * returning a non-null result will terminate the switch.
594 * <!-- end-user-doc -->
595 * @param object the target of the switch.
596 * @return the result of interpreting the object as an instance of '<em>Exact Multiplicity</em>'.
597 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
598 * @generated
599 */
600 public T caseExactMultiplicity(ExactMultiplicity object) {
601 return null;
602 }
603
604 /**
605 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
606 * <!-- begin-user-doc -->
607 * This implementation returns null;
608 * returning a non-null result will terminate the switch, but this is the last case anyway.
609 * <!-- end-user-doc -->
610 * @param object the target of the switch.
611 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
612 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
613 * @generated
614 */
615 @Override
616 public T defaultCase(EObject object) {
617 return null;
618 }
619
620} //ProblemSwitch