aboutsummaryrefslogtreecommitdiffstats
path: root/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl
diff options
context:
space:
mode:
Diffstat (limited to 'Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl')
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AbstractAssertionImpl.java255
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregateExpressionImpl.java228
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationImpl.java245
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationOperatorImpl.java222
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentImpl.java39
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentListImpl.java153
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AssertionImpl.java37
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AttributeImpl.java230
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BaseRelationImpl.java37
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BinaryExpressionImpl.java326
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedMultiplicityImpl.java219
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedScopeImpl.java219
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java256
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CaseImpl.java254
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CastExpressionImpl.java246
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassDeclarationImpl.java371
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConditionalExpressionImpl.java328
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConjunctionImpl.java37
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CountImpl.java37
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DatatypeImpl.java37
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultAssertionImpl.java37
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DisjunctionImpl.java37
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EmptyLiteralImpl.java37
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EnumDeclarationImpl.java224
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EnumLiteralImpl.java165
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactMultiplicityImpl.java164
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactScopeImpl.java164
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionArgumentImpl.java182
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionImpl.java151
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternAggregationOperatorDeclarationImpl.java227
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternDatatypeDeclarationImpl.java37
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternDeclarationImpl.java164
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternFunctionDeclarationImpl.java159
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternFunctorDeclarationImpl.java184
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternPredicateDeclarationImpl.java260
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FieldImpl.java488
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ForallImpl.java182
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctionDefinitionImpl.java159
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctionImpl.java159
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctorDefinitonImpl.java255
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctorImpl.java151
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ImportImpl.java165
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InfinityLiteralImpl.java37
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntLiteralImpl.java164
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntervalImpl.java255
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetBindingImpl.java391
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetExpressionImpl.java228
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LiteralImpl.java37
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LogicLiteralImpl.java165
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LowerBoundedScopeImpl.java164
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricImpl.java37
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiaryExpessionImpl.java151
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityImpl.java39
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamespaceImportImpl.java166
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NodeImpl.java163
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectiveDeclarationImpl.java253
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/OperatorImpl.java37
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PathComponentImpl.java341
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateDefinitionImpl.java260
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateImpl.java37
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ProblemImpl.java298
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/RealLiteralImpl.java166
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReferenceImpl.java151
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/RelationImpl.java37
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ScopeDeclarationImpl.java159
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java985
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java3364
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StarArgumentImpl.java37
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java39
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringLiteralImpl.java164
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SwitchImpl.java150
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SymbolImpl.java164
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypeReferenceImpl.java230
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedArgumentImpl.java182
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedStarArgumentImpl.java37
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedVariableArgumentImpl.java164
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnaryExpressionImpl.java253
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnboundedMultiplicityImpl.java37
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedErrorPredicateDefintionImpl.java262
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UriImportImpl.java163
-rw-r--r--Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/VariableImpl.java182
81 files changed, 17676 insertions, 0 deletions
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AbstractAssertionImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AbstractAssertionImpl.java
new file mode 100644
index 00000000..ec01140f
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AbstractAssertionImpl.java
@@ -0,0 +1,255 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.AbstractAssertion;
14import org.eclipse.viatra.solver.language.solverLanguage.Expression;
15import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Abstract Assertion</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AbstractAssertionImpl#getExpression <em>Expression</em>}</li>
26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AbstractAssertionImpl#getRange <em>Range</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public abstract class AbstractAssertionImpl extends StatementImpl implements AbstractAssertion {
32 /**
33 * The cached value of the '{@link #getExpression() <em>Expression</em>}' containment reference.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #getExpression()
37 * @generated
38 * @ordered
39 */
40 protected Expression expression;
41
42 /**
43 * The cached value of the '{@link #getRange() <em>Range</em>}' containment reference.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @see #getRange()
47 * @generated
48 * @ordered
49 */
50 protected Expression range;
51
52 /**
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 protected AbstractAssertionImpl() {
58 super();
59 }
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 @Override
67 protected EClass eStaticClass() {
68 return SolverLanguagePackage.Literals.ABSTRACT_ASSERTION;
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 public Expression getExpression() {
77 return expression;
78 }
79
80 /**
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @generated
84 */
85 public NotificationChain basicSetExpression(Expression newExpression, NotificationChain msgs) {
86 Expression oldExpression = expression;
87 expression = newExpression;
88 if (eNotificationRequired()) {
89 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
90 SolverLanguagePackage.ABSTRACT_ASSERTION__EXPRESSION, oldExpression, newExpression);
91 if (msgs == null)
92 msgs = notification;
93 else
94 msgs.add(notification);
95 }
96 return msgs;
97 }
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 public void setExpression(Expression newExpression) {
105 if (newExpression != expression) {
106 NotificationChain msgs = null;
107 if (expression != null)
108 msgs = ((InternalEObject) expression).eInverseRemove(this,
109 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.ABSTRACT_ASSERTION__EXPRESSION, null, msgs);
110 if (newExpression != null)
111 msgs = ((InternalEObject) newExpression).eInverseAdd(this,
112 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.ABSTRACT_ASSERTION__EXPRESSION, null, msgs);
113 msgs = basicSetExpression(newExpression, msgs);
114 if (msgs != null)
115 msgs.dispatch();
116 } else if (eNotificationRequired())
117 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ABSTRACT_ASSERTION__EXPRESSION,
118 newExpression, newExpression));
119 }
120
121 /**
122 * <!-- begin-user-doc -->
123 * <!-- end-user-doc -->
124 * @generated
125 */
126 public Expression getRange() {
127 return range;
128 }
129
130 /**
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @generated
134 */
135 public NotificationChain basicSetRange(Expression newRange, NotificationChain msgs) {
136 Expression oldRange = range;
137 range = newRange;
138 if (eNotificationRequired()) {
139 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
140 SolverLanguagePackage.ABSTRACT_ASSERTION__RANGE, oldRange, newRange);
141 if (msgs == null)
142 msgs = notification;
143 else
144 msgs.add(notification);
145 }
146 return msgs;
147 }
148
149 /**
150 * <!-- begin-user-doc -->
151 * <!-- end-user-doc -->
152 * @generated
153 */
154 public void setRange(Expression newRange) {
155 if (newRange != range) {
156 NotificationChain msgs = null;
157 if (range != null)
158 msgs = ((InternalEObject) range).eInverseRemove(this,
159 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.ABSTRACT_ASSERTION__RANGE, null, msgs);
160 if (newRange != null)
161 msgs = ((InternalEObject) newRange).eInverseAdd(this,
162 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.ABSTRACT_ASSERTION__RANGE, null, msgs);
163 msgs = basicSetRange(newRange, msgs);
164 if (msgs != null)
165 msgs.dispatch();
166 } else if (eNotificationRequired())
167 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ABSTRACT_ASSERTION__RANGE,
168 newRange, newRange));
169 }
170
171 /**
172 * <!-- begin-user-doc -->
173 * <!-- end-user-doc -->
174 * @generated
175 */
176 @Override
177 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
178 switch (featureID) {
179 case SolverLanguagePackage.ABSTRACT_ASSERTION__EXPRESSION:
180 return basicSetExpression(null, msgs);
181 case SolverLanguagePackage.ABSTRACT_ASSERTION__RANGE:
182 return basicSetRange(null, msgs);
183 }
184 return super.eInverseRemove(otherEnd, featureID, msgs);
185 }
186
187 /**
188 * <!-- begin-user-doc -->
189 * <!-- end-user-doc -->
190 * @generated
191 */
192 @Override
193 public Object eGet(int featureID, boolean resolve, boolean coreType) {
194 switch (featureID) {
195 case SolverLanguagePackage.ABSTRACT_ASSERTION__EXPRESSION:
196 return getExpression();
197 case SolverLanguagePackage.ABSTRACT_ASSERTION__RANGE:
198 return getRange();
199 }
200 return super.eGet(featureID, resolve, coreType);
201 }
202
203 /**
204 * <!-- begin-user-doc -->
205 * <!-- end-user-doc -->
206 * @generated
207 */
208 @Override
209 public void eSet(int featureID, Object newValue) {
210 switch (featureID) {
211 case SolverLanguagePackage.ABSTRACT_ASSERTION__EXPRESSION:
212 setExpression((Expression) newValue);
213 return;
214 case SolverLanguagePackage.ABSTRACT_ASSERTION__RANGE:
215 setRange((Expression) newValue);
216 return;
217 }
218 super.eSet(featureID, newValue);
219 }
220
221 /**
222 * <!-- begin-user-doc -->
223 * <!-- end-user-doc -->
224 * @generated
225 */
226 @Override
227 public void eUnset(int featureID) {
228 switch (featureID) {
229 case SolverLanguagePackage.ABSTRACT_ASSERTION__EXPRESSION:
230 setExpression((Expression) null);
231 return;
232 case SolverLanguagePackage.ABSTRACT_ASSERTION__RANGE:
233 setRange((Expression) null);
234 return;
235 }
236 super.eUnset(featureID);
237 }
238
239 /**
240 * <!-- begin-user-doc -->
241 * <!-- end-user-doc -->
242 * @generated
243 */
244 @Override
245 public boolean eIsSet(int featureID) {
246 switch (featureID) {
247 case SolverLanguagePackage.ABSTRACT_ASSERTION__EXPRESSION:
248 return expression != null;
249 case SolverLanguagePackage.ABSTRACT_ASSERTION__RANGE:
250 return range != null;
251 }
252 return super.eIsSet(featureID);
253 }
254
255} //AbstractAssertionImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregateExpressionImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregateExpressionImpl.java
new file mode 100644
index 00000000..9427a84d
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregateExpressionImpl.java
@@ -0,0 +1,228 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.AggregateExpression;
21import org.eclipse.viatra.solver.language.solverLanguage.Expression;
22import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
23import org.eclipse.viatra.solver.language.solverLanguage.Variable;
24
25/**
26 * <!-- begin-user-doc -->
27 * An implementation of the model object '<em><b>Aggregate Expression</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.solverLanguage.impl.AggregateExpressionImpl#getForallVariables <em>Forall Variables</em>}</li>
34 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregateExpressionImpl#getCondition <em>Condition</em>}</li>
35 * </ul>
36 *
37 * @generated
38 */
39public abstract class AggregateExpressionImpl extends ExpressionImpl implements AggregateExpression {
40 /**
41 * The cached value of the '{@link #getForallVariables() <em>Forall Variables</em>}' containment reference list.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @see #getForallVariables()
45 * @generated
46 * @ordered
47 */
48 protected EList<Variable> forallVariables;
49
50 /**
51 * The cached value of the '{@link #getCondition() <em>Condition</em>}' containment reference.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @see #getCondition()
55 * @generated
56 * @ordered
57 */
58 protected Expression condition;
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 protected AggregateExpressionImpl() {
66 super();
67 }
68
69 /**
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @generated
73 */
74 @Override
75 protected EClass eStaticClass() {
76 return SolverLanguagePackage.Literals.AGGREGATE_EXPRESSION;
77 }
78
79 /**
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @generated
83 */
84 public EList<Variable> getForallVariables() {
85 if (forallVariables == null) {
86 forallVariables = new EObjectContainmentEList<Variable>(Variable.class, this,
87 SolverLanguagePackage.AGGREGATE_EXPRESSION__FORALL_VARIABLES);
88 }
89 return forallVariables;
90 }
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 public Expression getCondition() {
98 return condition;
99 }
100
101 /**
102 * <!-- begin-user-doc -->
103 * <!-- end-user-doc -->
104 * @generated
105 */
106 public NotificationChain basicSetCondition(Expression newCondition, NotificationChain msgs) {
107 Expression oldCondition = condition;
108 condition = newCondition;
109 if (eNotificationRequired()) {
110 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
111 SolverLanguagePackage.AGGREGATE_EXPRESSION__CONDITION, oldCondition, newCondition);
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 setCondition(Expression newCondition) {
126 if (newCondition != condition) {
127 NotificationChain msgs = null;
128 if (condition != null)
129 msgs = ((InternalEObject) condition).eInverseRemove(this,
130 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.AGGREGATE_EXPRESSION__CONDITION, null, msgs);
131 if (newCondition != null)
132 msgs = ((InternalEObject) newCondition).eInverseAdd(this,
133 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.AGGREGATE_EXPRESSION__CONDITION, null, msgs);
134 msgs = basicSetCondition(newCondition, msgs);
135 if (msgs != null)
136 msgs.dispatch();
137 } else if (eNotificationRequired())
138 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.AGGREGATE_EXPRESSION__CONDITION,
139 newCondition, newCondition));
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 SolverLanguagePackage.AGGREGATE_EXPRESSION__FORALL_VARIABLES:
151 return ((InternalEList<?>) getForallVariables()).basicRemove(otherEnd, msgs);
152 case SolverLanguagePackage.AGGREGATE_EXPRESSION__CONDITION:
153 return basicSetCondition(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 SolverLanguagePackage.AGGREGATE_EXPRESSION__FORALL_VARIABLES:
167 return getForallVariables();
168 case SolverLanguagePackage.AGGREGATE_EXPRESSION__CONDITION:
169 return getCondition();
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 SolverLanguagePackage.AGGREGATE_EXPRESSION__FORALL_VARIABLES:
184 getForallVariables().clear();
185 getForallVariables().addAll((Collection<? extends Variable>) newValue);
186 return;
187 case SolverLanguagePackage.AGGREGATE_EXPRESSION__CONDITION:
188 setCondition((Expression) 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 SolverLanguagePackage.AGGREGATE_EXPRESSION__FORALL_VARIABLES:
203 getForallVariables().clear();
204 return;
205 case SolverLanguagePackage.AGGREGATE_EXPRESSION__CONDITION:
206 setCondition((Expression) 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 SolverLanguagePackage.AGGREGATE_EXPRESSION__FORALL_VARIABLES:
221 return forallVariables != null && !forallVariables.isEmpty();
222 case SolverLanguagePackage.AGGREGATE_EXPRESSION__CONDITION:
223 return condition != null;
224 }
225 return super.eIsSet(featureID);
226 }
227
228} //AggregateExpressionImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationImpl.java
new file mode 100644
index 00000000..f67de89a
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationImpl.java
@@ -0,0 +1,245 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.Aggregation;
14import org.eclipse.viatra.solver.language.solverLanguage.Expression;
15import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
16import org.eclipse.viatra.solver.language.solverLanguage.Symbol;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Aggregation</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.solverLanguage.impl.AggregationImpl#getValue <em>Value</em>}</li>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl#getOp <em>Op</em>}</li>
28 * </ul>
29 *
30 * @generated
31 */
32public class AggregationImpl extends AggregateExpressionImpl implements Aggregation {
33 /**
34 * The cached value of the '{@link #getValue() <em>Value</em>}' containment reference.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #getValue()
38 * @generated
39 * @ordered
40 */
41 protected Expression value;
42
43 /**
44 * The cached value of the '{@link #getOp() <em>Op</em>}' reference.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #getOp()
48 * @generated
49 * @ordered
50 */
51 protected Symbol op;
52
53 /**
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @generated
57 */
58 protected AggregationImpl() {
59 super();
60 }
61
62 /**
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @generated
66 */
67 @Override
68 protected EClass eStaticClass() {
69 return SolverLanguagePackage.Literals.AGGREGATION;
70 }
71
72 /**
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @generated
76 */
77 public Expression getValue() {
78 return value;
79 }
80
81 /**
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @generated
85 */
86 public NotificationChain basicSetValue(Expression newValue, NotificationChain msgs) {
87 Expression oldValue = value;
88 value = newValue;
89 if (eNotificationRequired()) {
90 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
91 SolverLanguagePackage.AGGREGATION__VALUE, oldValue, newValue);
92 if (msgs == null)
93 msgs = notification;
94 else
95 msgs.add(notification);
96 }
97 return msgs;
98 }
99
100 /**
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @generated
104 */
105 public void setValue(Expression newValue) {
106 if (newValue != value) {
107 NotificationChain msgs = null;
108 if (value != null)
109 msgs = ((InternalEObject) value).eInverseRemove(this,
110 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.AGGREGATION__VALUE, null, msgs);
111 if (newValue != null)
112 msgs = ((InternalEObject) newValue).eInverseAdd(this,
113 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.AGGREGATION__VALUE, null, msgs);
114 msgs = basicSetValue(newValue, msgs);
115 if (msgs != null)
116 msgs.dispatch();
117 } else if (eNotificationRequired())
118 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.AGGREGATION__VALUE, newValue,
119 newValue));
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 public Symbol getOp() {
128 if (op != null && op.eIsProxy()) {
129 InternalEObject oldOp = (InternalEObject) op;
130 op = (Symbol) eResolveProxy(oldOp);
131 if (op != oldOp) {
132 if (eNotificationRequired())
133 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.AGGREGATION__OP,
134 oldOp, op));
135 }
136 }
137 return op;
138 }
139
140 /**
141 * <!-- begin-user-doc -->
142 * <!-- end-user-doc -->
143 * @generated
144 */
145 public Symbol basicGetOp() {
146 return op;
147 }
148
149 /**
150 * <!-- begin-user-doc -->
151 * <!-- end-user-doc -->
152 * @generated
153 */
154 public void setOp(Symbol newOp) {
155 Symbol oldOp = op;
156 op = newOp;
157 if (eNotificationRequired())
158 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.AGGREGATION__OP, oldOp, op));
159 }
160
161 /**
162 * <!-- begin-user-doc -->
163 * <!-- end-user-doc -->
164 * @generated
165 */
166 @Override
167 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
168 switch (featureID) {
169 case SolverLanguagePackage.AGGREGATION__VALUE:
170 return basicSetValue(null, msgs);
171 }
172 return super.eInverseRemove(otherEnd, featureID, msgs);
173 }
174
175 /**
176 * <!-- begin-user-doc -->
177 * <!-- end-user-doc -->
178 * @generated
179 */
180 @Override
181 public Object eGet(int featureID, boolean resolve, boolean coreType) {
182 switch (featureID) {
183 case SolverLanguagePackage.AGGREGATION__VALUE:
184 return getValue();
185 case SolverLanguagePackage.AGGREGATION__OP:
186 if (resolve)
187 return getOp();
188 return basicGetOp();
189 }
190 return super.eGet(featureID, resolve, coreType);
191 }
192
193 /**
194 * <!-- begin-user-doc -->
195 * <!-- end-user-doc -->
196 * @generated
197 */
198 @Override
199 public void eSet(int featureID, Object newValue) {
200 switch (featureID) {
201 case SolverLanguagePackage.AGGREGATION__VALUE:
202 setValue((Expression) newValue);
203 return;
204 case SolverLanguagePackage.AGGREGATION__OP:
205 setOp((Symbol) newValue);
206 return;
207 }
208 super.eSet(featureID, newValue);
209 }
210
211 /**
212 * <!-- begin-user-doc -->
213 * <!-- end-user-doc -->
214 * @generated
215 */
216 @Override
217 public void eUnset(int featureID) {
218 switch (featureID) {
219 case SolverLanguagePackage.AGGREGATION__VALUE:
220 setValue((Expression) null);
221 return;
222 case SolverLanguagePackage.AGGREGATION__OP:
223 setOp((Symbol) null);
224 return;
225 }
226 super.eUnset(featureID);
227 }
228
229 /**
230 * <!-- begin-user-doc -->
231 * <!-- end-user-doc -->
232 * @generated
233 */
234 @Override
235 public boolean eIsSet(int featureID) {
236 switch (featureID) {
237 case SolverLanguagePackage.AGGREGATION__VALUE:
238 return value != null;
239 case SolverLanguagePackage.AGGREGATION__OP:
240 return op != null;
241 }
242 return super.eIsSet(featureID);
243 }
244
245} //AggregationImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationOperatorImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationOperatorImpl.java
new file mode 100644
index 00000000..6842754e
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationOperatorImpl.java
@@ -0,0 +1,222 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.AggregationOperator;
13import org.eclipse.viatra.solver.language.solverLanguage.Datatype;
14import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
15
16/**
17 * <!-- begin-user-doc -->
18 * An implementation of the model object '<em><b>Aggregation Operator</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.solverLanguage.impl.AggregationOperatorImpl#getArgumentType <em>Argument Type</em>}</li>
25 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationOperatorImpl#getResultType <em>Result Type</em>}</li>
26 * </ul>
27 *
28 * @generated
29 */
30public class AggregationOperatorImpl extends SymbolImpl implements AggregationOperator {
31 /**
32 * The cached value of the '{@link #getArgumentType() <em>Argument Type</em>}' reference.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @see #getArgumentType()
36 * @generated
37 * @ordered
38 */
39 protected Datatype argumentType;
40
41 /**
42 * The cached value of the '{@link #getResultType() <em>Result Type</em>}' reference.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #getResultType()
46 * @generated
47 * @ordered
48 */
49 protected Datatype resultType;
50
51 /**
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @generated
55 */
56 protected AggregationOperatorImpl() {
57 super();
58 }
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 @Override
66 protected EClass eStaticClass() {
67 return SolverLanguagePackage.Literals.AGGREGATION_OPERATOR;
68 }
69
70 /**
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @generated
74 */
75 public Datatype getArgumentType() {
76 if (argumentType != null && argumentType.eIsProxy()) {
77 InternalEObject oldArgumentType = (InternalEObject) argumentType;
78 argumentType = (Datatype) eResolveProxy(oldArgumentType);
79 if (argumentType != oldArgumentType) {
80 if (eNotificationRequired())
81 eNotify(new ENotificationImpl(this, Notification.RESOLVE,
82 SolverLanguagePackage.AGGREGATION_OPERATOR__ARGUMENT_TYPE, oldArgumentType, argumentType));
83 }
84 }
85 return argumentType;
86 }
87
88 /**
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 */
93 public Datatype basicGetArgumentType() {
94 return argumentType;
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 public void setArgumentType(Datatype newArgumentType) {
103 Datatype oldArgumentType = argumentType;
104 argumentType = newArgumentType;
105 if (eNotificationRequired())
106 eNotify(new ENotificationImpl(this, Notification.SET,
107 SolverLanguagePackage.AGGREGATION_OPERATOR__ARGUMENT_TYPE, oldArgumentType, argumentType));
108 }
109
110 /**
111 * <!-- begin-user-doc -->
112 * <!-- end-user-doc -->
113 * @generated
114 */
115 public Datatype getResultType() {
116 if (resultType != null && resultType.eIsProxy()) {
117 InternalEObject oldResultType = (InternalEObject) resultType;
118 resultType = (Datatype) eResolveProxy(oldResultType);
119 if (resultType != oldResultType) {
120 if (eNotificationRequired())
121 eNotify(new ENotificationImpl(this, Notification.RESOLVE,
122 SolverLanguagePackage.AGGREGATION_OPERATOR__RESULT_TYPE, oldResultType, resultType));
123 }
124 }
125 return resultType;
126 }
127
128 /**
129 * <!-- begin-user-doc -->
130 * <!-- end-user-doc -->
131 * @generated
132 */
133 public Datatype basicGetResultType() {
134 return resultType;
135 }
136
137 /**
138 * <!-- begin-user-doc -->
139 * <!-- end-user-doc -->
140 * @generated
141 */
142 public void setResultType(Datatype newResultType) {
143 Datatype oldResultType = resultType;
144 resultType = newResultType;
145 if (eNotificationRequired())
146 eNotify(new ENotificationImpl(this, Notification.SET,
147 SolverLanguagePackage.AGGREGATION_OPERATOR__RESULT_TYPE, oldResultType, resultType));
148 }
149
150 /**
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 @Override
156 public Object eGet(int featureID, boolean resolve, boolean coreType) {
157 switch (featureID) {
158 case SolverLanguagePackage.AGGREGATION_OPERATOR__ARGUMENT_TYPE:
159 if (resolve)
160 return getArgumentType();
161 return basicGetArgumentType();
162 case SolverLanguagePackage.AGGREGATION_OPERATOR__RESULT_TYPE:
163 if (resolve)
164 return getResultType();
165 return basicGetResultType();
166 }
167 return super.eGet(featureID, resolve, coreType);
168 }
169
170 /**
171 * <!-- begin-user-doc -->
172 * <!-- end-user-doc -->
173 * @generated
174 */
175 @Override
176 public void eSet(int featureID, Object newValue) {
177 switch (featureID) {
178 case SolverLanguagePackage.AGGREGATION_OPERATOR__ARGUMENT_TYPE:
179 setArgumentType((Datatype) newValue);
180 return;
181 case SolverLanguagePackage.AGGREGATION_OPERATOR__RESULT_TYPE:
182 setResultType((Datatype) newValue);
183 return;
184 }
185 super.eSet(featureID, newValue);
186 }
187
188 /**
189 * <!-- begin-user-doc -->
190 * <!-- end-user-doc -->
191 * @generated
192 */
193 @Override
194 public void eUnset(int featureID) {
195 switch (featureID) {
196 case SolverLanguagePackage.AGGREGATION_OPERATOR__ARGUMENT_TYPE:
197 setArgumentType((Datatype) null);
198 return;
199 case SolverLanguagePackage.AGGREGATION_OPERATOR__RESULT_TYPE:
200 setResultType((Datatype) null);
201 return;
202 }
203 super.eUnset(featureID);
204 }
205
206 /**
207 * <!-- begin-user-doc -->
208 * <!-- end-user-doc -->
209 * @generated
210 */
211 @Override
212 public boolean eIsSet(int featureID) {
213 switch (featureID) {
214 case SolverLanguagePackage.AGGREGATION_OPERATOR__ARGUMENT_TYPE:
215 return argumentType != null;
216 case SolverLanguagePackage.AGGREGATION_OPERATOR__RESULT_TYPE:
217 return resultType != null;
218 }
219 return super.eIsSet(featureID);
220 }
221
222} //AggregationOperatorImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentImpl.java
new file mode 100644
index 00000000..c245d5aa
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentImpl.java
@@ -0,0 +1,39 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
8
9import org.eclipse.viatra.solver.language.solverLanguage.Argument;
10import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
11
12/**
13 * <!-- begin-user-doc -->
14 * An implementation of the model object '<em><b>Argument</b></em>'.
15 * <!-- end-user-doc -->
16 *
17 * @generated
18 */
19public abstract class ArgumentImpl extends MinimalEObjectImpl.Container implements Argument {
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected ArgumentImpl() {
26 super();
27 }
28
29 /**
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @generated
33 */
34 @Override
35 protected EClass eStaticClass() {
36 return SolverLanguagePackage.Literals.ARGUMENT;
37 }
38
39} //ArgumentImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentListImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentListImpl.java
new file mode 100644
index 00000000..9d6cc468
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentListImpl.java
@@ -0,0 +1,153 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.Argument;
20import org.eclipse.viatra.solver.language.solverLanguage.ArgumentList;
21import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
22
23/**
24 * <!-- begin-user-doc -->
25 * An implementation of the model object '<em><b>Argument List</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.solverLanguage.impl.ArgumentListImpl#getArguments <em>Arguments</em>}</li>
32 * </ul>
33 *
34 * @generated
35 */
36public class ArgumentListImpl extends MinimalEObjectImpl.Container implements ArgumentList {
37 /**
38 * The cached value of the '{@link #getArguments() <em>Arguments</em>}' containment reference list.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @see #getArguments()
42 * @generated
43 * @ordered
44 */
45 protected EList<Argument> arguments;
46
47 /**
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @generated
51 */
52 protected ArgumentListImpl() {
53 super();
54 }
55
56 /**
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @generated
60 */
61 @Override
62 protected EClass eStaticClass() {
63 return SolverLanguagePackage.Literals.ARGUMENT_LIST;
64 }
65
66 /**
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @generated
70 */
71 public EList<Argument> getArguments() {
72 if (arguments == null) {
73 arguments = new EObjectContainmentEList<Argument>(Argument.class, this,
74 SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS);
75 }
76 return arguments;
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 SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS:
88 return ((InternalEList<?>) getArguments()).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 SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS:
102 return getArguments();
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 SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS:
117 getArguments().clear();
118 getArguments().addAll((Collection<? extends Argument>) 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 SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS:
133 getArguments().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 SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS:
148 return arguments != null && !arguments.isEmpty();
149 }
150 return super.eIsSet(featureID);
151 }
152
153} //ArgumentListImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AssertionImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AssertionImpl.java
new file mode 100644
index 00000000..8b4e2cde
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AssertionImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import org.eclipse.viatra.solver.language.solverLanguage.Assertion;
8import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Assertion</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class AssertionImpl extends AbstractAssertionImpl implements Assertion {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected AssertionImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return SolverLanguagePackage.Literals.ASSERTION;
35 }
36
37} //AssertionImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AttributeImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AttributeImpl.java
new file mode 100644
index 00000000..c9974907
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AttributeImpl.java
@@ -0,0 +1,230 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.Attribute;
13import org.eclipse.viatra.solver.language.solverLanguage.AttributeKind;
14import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
15import org.eclipse.viatra.solver.language.solverLanguage.Symbol;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Attribute</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AttributeImpl#getTarget <em>Target</em>}</li>
26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AttributeImpl#getKind <em>Kind</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public abstract class AttributeImpl extends StatementImpl implements Attribute {
32 /**
33 * The cached value of the '{@link #getTarget() <em>Target</em>}' reference.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #getTarget()
37 * @generated
38 * @ordered
39 */
40 protected Symbol target;
41
42 /**
43 * The default value of the '{@link #getKind() <em>Kind</em>}' attribute.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @see #getKind()
47 * @generated
48 * @ordered
49 */
50 protected static final AttributeKind KIND_EDEFAULT = AttributeKind.FUNCTIONAL;
51
52 /**
53 * The cached value of the '{@link #getKind() <em>Kind</em>}' attribute.
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @see #getKind()
57 * @generated
58 * @ordered
59 */
60 protected AttributeKind kind = KIND_EDEFAULT;
61
62 /**
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @generated
66 */
67 protected AttributeImpl() {
68 super();
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 @Override
77 protected EClass eStaticClass() {
78 return SolverLanguagePackage.Literals.ATTRIBUTE;
79 }
80
81 /**
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @generated
85 */
86 public Symbol getTarget() {
87 if (target != null && target.eIsProxy()) {
88 InternalEObject oldTarget = (InternalEObject) target;
89 target = (Symbol) eResolveProxy(oldTarget);
90 if (target != oldTarget) {
91 if (eNotificationRequired())
92 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.ATTRIBUTE__TARGET,
93 oldTarget, target));
94 }
95 }
96 return target;
97 }
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 public Symbol basicGetTarget() {
105 return target;
106 }
107
108 /**
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 public void setTarget(Symbol newTarget) {
114 Symbol oldTarget = target;
115 target = newTarget;
116 if (eNotificationRequired())
117 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ATTRIBUTE__TARGET, oldTarget,
118 target));
119 }
120
121 /**
122 * <!-- begin-user-doc -->
123 * <!-- end-user-doc -->
124 * @generated
125 */
126 public AttributeKind getKind() {
127 return kind;
128 }
129
130 /**
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @generated
134 */
135 public void setKind(AttributeKind newKind) {
136 AttributeKind oldKind = kind;
137 kind = newKind == null ? KIND_EDEFAULT : newKind;
138 if (eNotificationRequired())
139 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ATTRIBUTE__KIND, oldKind,
140 kind));
141 }
142
143 /**
144 * <!-- begin-user-doc -->
145 * <!-- end-user-doc -->
146 * @generated
147 */
148 @Override
149 public Object eGet(int featureID, boolean resolve, boolean coreType) {
150 switch (featureID) {
151 case SolverLanguagePackage.ATTRIBUTE__TARGET:
152 if (resolve)
153 return getTarget();
154 return basicGetTarget();
155 case SolverLanguagePackage.ATTRIBUTE__KIND:
156 return getKind();
157 }
158 return super.eGet(featureID, resolve, coreType);
159 }
160
161 /**
162 * <!-- begin-user-doc -->
163 * <!-- end-user-doc -->
164 * @generated
165 */
166 @Override
167 public void eSet(int featureID, Object newValue) {
168 switch (featureID) {
169 case SolverLanguagePackage.ATTRIBUTE__TARGET:
170 setTarget((Symbol) newValue);
171 return;
172 case SolverLanguagePackage.ATTRIBUTE__KIND:
173 setKind((AttributeKind) newValue);
174 return;
175 }
176 super.eSet(featureID, newValue);
177 }
178
179 /**
180 * <!-- begin-user-doc -->
181 * <!-- end-user-doc -->
182 * @generated
183 */
184 @Override
185 public void eUnset(int featureID) {
186 switch (featureID) {
187 case SolverLanguagePackage.ATTRIBUTE__TARGET:
188 setTarget((Symbol) null);
189 return;
190 case SolverLanguagePackage.ATTRIBUTE__KIND:
191 setKind(KIND_EDEFAULT);
192 return;
193 }
194 super.eUnset(featureID);
195 }
196
197 /**
198 * <!-- begin-user-doc -->
199 * <!-- end-user-doc -->
200 * @generated
201 */
202 @Override
203 public boolean eIsSet(int featureID) {
204 switch (featureID) {
205 case SolverLanguagePackage.ATTRIBUTE__TARGET:
206 return target != null;
207 case SolverLanguagePackage.ATTRIBUTE__KIND:
208 return kind != KIND_EDEFAULT;
209 }
210 return super.eIsSet(featureID);
211 }
212
213 /**
214 * <!-- begin-user-doc -->
215 * <!-- end-user-doc -->
216 * @generated
217 */
218 @Override
219 public String toString() {
220 if (eIsProxy())
221 return super.toString();
222
223 StringBuilder result = new StringBuilder(super.toString());
224 result.append(" (kind: ");
225 result.append(kind);
226 result.append(')');
227 return result.toString();
228 }
229
230} //AttributeImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BaseRelationImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BaseRelationImpl.java
new file mode 100644
index 00000000..797b3a48
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BaseRelationImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import org.eclipse.viatra.solver.language.solverLanguage.BaseRelation;
8import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Base Relation</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class BaseRelationImpl extends RelationImpl implements BaseRelation {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected BaseRelationImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return SolverLanguagePackage.Literals.BASE_RELATION;
35 }
36
37} //BaseRelationImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BinaryExpressionImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BinaryExpressionImpl.java
new file mode 100644
index 00000000..e93a12ce
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BinaryExpressionImpl.java
@@ -0,0 +1,326 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.BinaryExpression;
14import org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator;
15import org.eclipse.viatra.solver.language.solverLanguage.Expression;
16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Binary Expression</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.solverLanguage.impl.BinaryExpressionImpl#getOp <em>Op</em>}</li>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl#getLeft <em>Left</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl#getRight <em>Right</em>}</li>
29 * </ul>
30 *
31 * @generated
32 */
33public class BinaryExpressionImpl extends ExpressionImpl implements BinaryExpression {
34 /**
35 * The default value of the '{@link #getOp() <em>Op</em>}' attribute.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @see #getOp()
39 * @generated
40 * @ordered
41 */
42 protected static final BinaryOperator OP_EDEFAULT = BinaryOperator.PLUS;
43
44 /**
45 * The cached value of the '{@link #getOp() <em>Op</em>}' attribute.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @see #getOp()
49 * @generated
50 * @ordered
51 */
52 protected BinaryOperator op = OP_EDEFAULT;
53
54 /**
55 * The cached value of the '{@link #getLeft() <em>Left</em>}' containment reference.
56 * <!-- begin-user-doc -->
57 * <!-- end-user-doc -->
58 * @see #getLeft()
59 * @generated
60 * @ordered
61 */
62 protected Expression left;
63
64 /**
65 * The cached value of the '{@link #getRight() <em>Right</em>}' containment reference.
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @see #getRight()
69 * @generated
70 * @ordered
71 */
72 protected Expression right;
73
74 /**
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @generated
78 */
79 protected BinaryExpressionImpl() {
80 super();
81 }
82
83 /**
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @generated
87 */
88 @Override
89 protected EClass eStaticClass() {
90 return SolverLanguagePackage.Literals.BINARY_EXPRESSION;
91 }
92
93 /**
94 * <!-- begin-user-doc -->
95 * <!-- end-user-doc -->
96 * @generated
97 */
98 public BinaryOperator getOp() {
99 return op;
100 }
101
102 /**
103 * <!-- begin-user-doc -->
104 * <!-- end-user-doc -->
105 * @generated
106 */
107 public void setOp(BinaryOperator newOp) {
108 BinaryOperator oldOp = op;
109 op = newOp == null ? OP_EDEFAULT : newOp;
110 if (eNotificationRequired())
111 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BINARY_EXPRESSION__OP, oldOp,
112 op));
113 }
114
115 /**
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 */
120 public Expression getLeft() {
121 return left;
122 }
123
124 /**
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @generated
128 */
129 public NotificationChain basicSetLeft(Expression newLeft, NotificationChain msgs) {
130 Expression oldLeft = left;
131 left = newLeft;
132 if (eNotificationRequired()) {
133 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
134 SolverLanguagePackage.BINARY_EXPRESSION__LEFT, oldLeft, newLeft);
135 if (msgs == null)
136 msgs = notification;
137 else
138 msgs.add(notification);
139 }
140 return msgs;
141 }
142
143 /**
144 * <!-- begin-user-doc -->
145 * <!-- end-user-doc -->
146 * @generated
147 */
148 public void setLeft(Expression newLeft) {
149 if (newLeft != left) {
150 NotificationChain msgs = null;
151 if (left != null)
152 msgs = ((InternalEObject) left).eInverseRemove(this,
153 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BINARY_EXPRESSION__LEFT, null, msgs);
154 if (newLeft != null)
155 msgs = ((InternalEObject) newLeft).eInverseAdd(this,
156 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BINARY_EXPRESSION__LEFT, null, msgs);
157 msgs = basicSetLeft(newLeft, msgs);
158 if (msgs != null)
159 msgs.dispatch();
160 } else if (eNotificationRequired())
161 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BINARY_EXPRESSION__LEFT,
162 newLeft, newLeft));
163 }
164
165 /**
166 * <!-- begin-user-doc -->
167 * <!-- end-user-doc -->
168 * @generated
169 */
170 public Expression getRight() {
171 return right;
172 }
173
174 /**
175 * <!-- begin-user-doc -->
176 * <!-- end-user-doc -->
177 * @generated
178 */
179 public NotificationChain basicSetRight(Expression newRight, NotificationChain msgs) {
180 Expression oldRight = right;
181 right = newRight;
182 if (eNotificationRequired()) {
183 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
184 SolverLanguagePackage.BINARY_EXPRESSION__RIGHT, oldRight, newRight);
185 if (msgs == null)
186 msgs = notification;
187 else
188 msgs.add(notification);
189 }
190 return msgs;
191 }
192
193 /**
194 * <!-- begin-user-doc -->
195 * <!-- end-user-doc -->
196 * @generated
197 */
198 public void setRight(Expression newRight) {
199 if (newRight != right) {
200 NotificationChain msgs = null;
201 if (right != null)
202 msgs = ((InternalEObject) right).eInverseRemove(this,
203 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BINARY_EXPRESSION__RIGHT, null, msgs);
204 if (newRight != null)
205 msgs = ((InternalEObject) newRight).eInverseAdd(this,
206 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BINARY_EXPRESSION__RIGHT, null, msgs);
207 msgs = basicSetRight(newRight, msgs);
208 if (msgs != null)
209 msgs.dispatch();
210 } else if (eNotificationRequired())
211 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BINARY_EXPRESSION__RIGHT,
212 newRight, newRight));
213 }
214
215 /**
216 * <!-- begin-user-doc -->
217 * <!-- end-user-doc -->
218 * @generated
219 */
220 @Override
221 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
222 switch (featureID) {
223 case SolverLanguagePackage.BINARY_EXPRESSION__LEFT:
224 return basicSetLeft(null, msgs);
225 case SolverLanguagePackage.BINARY_EXPRESSION__RIGHT:
226 return basicSetRight(null, msgs);
227 }
228 return super.eInverseRemove(otherEnd, featureID, msgs);
229 }
230
231 /**
232 * <!-- begin-user-doc -->
233 * <!-- end-user-doc -->
234 * @generated
235 */
236 @Override
237 public Object eGet(int featureID, boolean resolve, boolean coreType) {
238 switch (featureID) {
239 case SolverLanguagePackage.BINARY_EXPRESSION__OP:
240 return getOp();
241 case SolverLanguagePackage.BINARY_EXPRESSION__LEFT:
242 return getLeft();
243 case SolverLanguagePackage.BINARY_EXPRESSION__RIGHT:
244 return getRight();
245 }
246 return super.eGet(featureID, resolve, coreType);
247 }
248
249 /**
250 * <!-- begin-user-doc -->
251 * <!-- end-user-doc -->
252 * @generated
253 */
254 @Override
255 public void eSet(int featureID, Object newValue) {
256 switch (featureID) {
257 case SolverLanguagePackage.BINARY_EXPRESSION__OP:
258 setOp((BinaryOperator) newValue);
259 return;
260 case SolverLanguagePackage.BINARY_EXPRESSION__LEFT:
261 setLeft((Expression) newValue);
262 return;
263 case SolverLanguagePackage.BINARY_EXPRESSION__RIGHT:
264 setRight((Expression) newValue);
265 return;
266 }
267 super.eSet(featureID, newValue);
268 }
269
270 /**
271 * <!-- begin-user-doc -->
272 * <!-- end-user-doc -->
273 * @generated
274 */
275 @Override
276 public void eUnset(int featureID) {
277 switch (featureID) {
278 case SolverLanguagePackage.BINARY_EXPRESSION__OP:
279 setOp(OP_EDEFAULT);
280 return;
281 case SolverLanguagePackage.BINARY_EXPRESSION__LEFT:
282 setLeft((Expression) null);
283 return;
284 case SolverLanguagePackage.BINARY_EXPRESSION__RIGHT:
285 setRight((Expression) null);
286 return;
287 }
288 super.eUnset(featureID);
289 }
290
291 /**
292 * <!-- begin-user-doc -->
293 * <!-- end-user-doc -->
294 * @generated
295 */
296 @Override
297 public boolean eIsSet(int featureID) {
298 switch (featureID) {
299 case SolverLanguagePackage.BINARY_EXPRESSION__OP:
300 return op != OP_EDEFAULT;
301 case SolverLanguagePackage.BINARY_EXPRESSION__LEFT:
302 return left != null;
303 case SolverLanguagePackage.BINARY_EXPRESSION__RIGHT:
304 return right != null;
305 }
306 return super.eIsSet(featureID);
307 }
308
309 /**
310 * <!-- begin-user-doc -->
311 * <!-- end-user-doc -->
312 * @generated
313 */
314 @Override
315 public String toString() {
316 if (eIsProxy())
317 return super.toString();
318
319 StringBuilder result = new StringBuilder(super.toString());
320 result.append(" (op: ");
321 result.append(op);
322 result.append(')');
323 return result.toString();
324 }
325
326} //BinaryExpressionImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedMultiplicityImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedMultiplicityImpl.java
new file mode 100644
index 00000000..c4aa7dfd
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedMultiplicityImpl.java
@@ -0,0 +1,219 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.BoundedMultiplicity;
12import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
13
14/**
15 * <!-- begin-user-doc -->
16 * An implementation of the model object '<em><b>Bounded 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.solverLanguage.impl.BoundedMultiplicityImpl#getLowerBound <em>Lower Bound</em>}</li>
23 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl#getUpperBound <em>Upper Bound</em>}</li>
24 * </ul>
25 *
26 * @generated
27 */
28public class BoundedMultiplicityImpl extends MultiplicityImpl implements BoundedMultiplicity {
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 = 0;
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 BoundedMultiplicityImpl() {
75 super();
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 @Override
84 protected EClass eStaticClass() {
85 return SolverLanguagePackage.Literals.BOUNDED_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,
107 SolverLanguagePackage.BOUNDED_MULTIPLICITY__LOWER_BOUND, 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,
129 SolverLanguagePackage.BOUNDED_MULTIPLICITY__UPPER_BOUND, 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 SolverLanguagePackage.BOUNDED_MULTIPLICITY__LOWER_BOUND:
141 return getLowerBound();
142 case SolverLanguagePackage.BOUNDED_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 SolverLanguagePackage.BOUNDED_MULTIPLICITY__LOWER_BOUND:
157 setLowerBound((Integer) newValue);
158 return;
159 case SolverLanguagePackage.BOUNDED_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 SolverLanguagePackage.BOUNDED_MULTIPLICITY__LOWER_BOUND:
175 setLowerBound(LOWER_BOUND_EDEFAULT);
176 return;
177 case SolverLanguagePackage.BOUNDED_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 SolverLanguagePackage.BOUNDED_MULTIPLICITY__LOWER_BOUND:
193 return lowerBound != LOWER_BOUND_EDEFAULT;
194 case SolverLanguagePackage.BOUNDED_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} //BoundedMultiplicityImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedScopeImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedScopeImpl.java
new file mode 100644
index 00000000..acd63c55
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedScopeImpl.java
@@ -0,0 +1,219 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.BoundedScope;
12import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
13
14/**
15 * <!-- begin-user-doc -->
16 * An implementation of the model object '<em><b>Bounded Scope</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.solverLanguage.impl.BoundedScopeImpl#getLowerBound <em>Lower Bound</em>}</li>
23 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeImpl#getUpperBound <em>Upper Bound</em>}</li>
24 * </ul>
25 *
26 * @generated
27 */
28public class BoundedScopeImpl extends ScopeDeclarationImpl implements BoundedScope {
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 = 0;
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 BoundedScopeImpl() {
75 super();
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 @Override
84 protected EClass eStaticClass() {
85 return SolverLanguagePackage.Literals.BOUNDED_SCOPE;
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, SolverLanguagePackage.BOUNDED_SCOPE__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, SolverLanguagePackage.BOUNDED_SCOPE__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 SolverLanguagePackage.BOUNDED_SCOPE__LOWER_BOUND:
141 return getLowerBound();
142 case SolverLanguagePackage.BOUNDED_SCOPE__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 SolverLanguagePackage.BOUNDED_SCOPE__LOWER_BOUND:
157 setLowerBound((Integer) newValue);
158 return;
159 case SolverLanguagePackage.BOUNDED_SCOPE__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 SolverLanguagePackage.BOUNDED_SCOPE__LOWER_BOUND:
175 setLowerBound(LOWER_BOUND_EDEFAULT);
176 return;
177 case SolverLanguagePackage.BOUNDED_SCOPE__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 SolverLanguagePackage.BOUNDED_SCOPE__LOWER_BOUND:
193 return lowerBound != LOWER_BOUND_EDEFAULT;
194 case SolverLanguagePackage.BOUNDED_SCOPE__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} //BoundedScopeImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java
new file mode 100644
index 00000000..59c2a372
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java
@@ -0,0 +1,256 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.ArgumentList;
14import org.eclipse.viatra.solver.language.solverLanguage.Call;
15import org.eclipse.viatra.solver.language.solverLanguage.Reference;
16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Call</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.solverLanguage.impl.CallImpl#getFunctor <em>Functor</em>}</li>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl#getArgumentList <em>Argument List</em>}</li>
28 * </ul>
29 *
30 * @generated
31 */
32public class CallImpl extends ExpressionImpl implements Call {
33 /**
34 * The cached value of the '{@link #getFunctor() <em>Functor</em>}' containment reference.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #getFunctor()
38 * @generated
39 * @ordered
40 */
41 protected Reference functor;
42
43 /**
44 * The cached value of the '{@link #getArgumentList() <em>Argument List</em>}' containment reference.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #getArgumentList()
48 * @generated
49 * @ordered
50 */
51 protected ArgumentList argumentList;
52
53 /**
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @generated
57 */
58 protected CallImpl() {
59 super();
60 }
61
62 /**
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @generated
66 */
67 @Override
68 protected EClass eStaticClass() {
69 return SolverLanguagePackage.Literals.CALL;
70 }
71
72 /**
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @generated
76 */
77 public Reference getFunctor() {
78 return functor;
79 }
80
81 /**
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @generated
85 */
86 public NotificationChain basicSetFunctor(Reference newFunctor, NotificationChain msgs) {
87 Reference oldFunctor = functor;
88 functor = newFunctor;
89 if (eNotificationRequired()) {
90 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
91 SolverLanguagePackage.CALL__FUNCTOR, oldFunctor, newFunctor);
92 if (msgs == null)
93 msgs = notification;
94 else
95 msgs.add(notification);
96 }
97 return msgs;
98 }
99
100 /**
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @generated
104 */
105 public void setFunctor(Reference newFunctor) {
106 if (newFunctor != functor) {
107 NotificationChain msgs = null;
108 if (functor != null)
109 msgs = ((InternalEObject) functor).eInverseRemove(this,
110 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CALL__FUNCTOR, null, msgs);
111 if (newFunctor != null)
112 msgs = ((InternalEObject) newFunctor).eInverseAdd(this,
113 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CALL__FUNCTOR, null, msgs);
114 msgs = basicSetFunctor(newFunctor, msgs);
115 if (msgs != null)
116 msgs.dispatch();
117 } else if (eNotificationRequired())
118 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__FUNCTOR, newFunctor,
119 newFunctor));
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 public ArgumentList getArgumentList() {
128 return argumentList;
129 }
130
131 /**
132 * <!-- begin-user-doc -->
133 * <!-- end-user-doc -->
134 * @generated
135 */
136 public NotificationChain basicSetArgumentList(ArgumentList newArgumentList, NotificationChain msgs) {
137 ArgumentList oldArgumentList = argumentList;
138 argumentList = newArgumentList;
139 if (eNotificationRequired()) {
140 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
141 SolverLanguagePackage.CALL__ARGUMENT_LIST, oldArgumentList, newArgumentList);
142 if (msgs == null)
143 msgs = notification;
144 else
145 msgs.add(notification);
146 }
147 return msgs;
148 }
149
150 /**
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 public void setArgumentList(ArgumentList newArgumentList) {
156 if (newArgumentList != argumentList) {
157 NotificationChain msgs = null;
158 if (argumentList != null)
159 msgs = ((InternalEObject) argumentList).eInverseRemove(this,
160 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CALL__ARGUMENT_LIST, null, msgs);
161 if (newArgumentList != null)
162 msgs = ((InternalEObject) newArgumentList).eInverseAdd(this,
163 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CALL__ARGUMENT_LIST, null, msgs);
164 msgs = basicSetArgumentList(newArgumentList, msgs);
165 if (msgs != null)
166 msgs.dispatch();
167 } else if (eNotificationRequired())
168 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__ARGUMENT_LIST,
169 newArgumentList, newArgumentList));
170 }
171
172 /**
173 * <!-- begin-user-doc -->
174 * <!-- end-user-doc -->
175 * @generated
176 */
177 @Override
178 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
179 switch (featureID) {
180 case SolverLanguagePackage.CALL__FUNCTOR:
181 return basicSetFunctor(null, msgs);
182 case SolverLanguagePackage.CALL__ARGUMENT_LIST:
183 return basicSetArgumentList(null, msgs);
184 }
185 return super.eInverseRemove(otherEnd, featureID, msgs);
186 }
187
188 /**
189 * <!-- begin-user-doc -->
190 * <!-- end-user-doc -->
191 * @generated
192 */
193 @Override
194 public Object eGet(int featureID, boolean resolve, boolean coreType) {
195 switch (featureID) {
196 case SolverLanguagePackage.CALL__FUNCTOR:
197 return getFunctor();
198 case SolverLanguagePackage.CALL__ARGUMENT_LIST:
199 return getArgumentList();
200 }
201 return super.eGet(featureID, resolve, coreType);
202 }
203
204 /**
205 * <!-- begin-user-doc -->
206 * <!-- end-user-doc -->
207 * @generated
208 */
209 @Override
210 public void eSet(int featureID, Object newValue) {
211 switch (featureID) {
212 case SolverLanguagePackage.CALL__FUNCTOR:
213 setFunctor((Reference) newValue);
214 return;
215 case SolverLanguagePackage.CALL__ARGUMENT_LIST:
216 setArgumentList((ArgumentList) newValue);
217 return;
218 }
219 super.eSet(featureID, newValue);
220 }
221
222 /**
223 * <!-- begin-user-doc -->
224 * <!-- end-user-doc -->
225 * @generated
226 */
227 @Override
228 public void eUnset(int featureID) {
229 switch (featureID) {
230 case SolverLanguagePackage.CALL__FUNCTOR:
231 setFunctor((Reference) null);
232 return;
233 case SolverLanguagePackage.CALL__ARGUMENT_LIST:
234 setArgumentList((ArgumentList) null);
235 return;
236 }
237 super.eUnset(featureID);
238 }
239
240 /**
241 * <!-- begin-user-doc -->
242 * <!-- end-user-doc -->
243 * @generated
244 */
245 @Override
246 public boolean eIsSet(int featureID) {
247 switch (featureID) {
248 case SolverLanguagePackage.CALL__FUNCTOR:
249 return functor != null;
250 case SolverLanguagePackage.CALL__ARGUMENT_LIST:
251 return argumentList != null;
252 }
253 return super.eIsSet(featureID);
254 }
255
256} //CallImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CaseImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CaseImpl.java
new file mode 100644
index 00000000..9c4d6820
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CaseImpl.java
@@ -0,0 +1,254 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.Case;
14import org.eclipse.viatra.solver.language.solverLanguage.Expression;
15import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Case</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl#getCondition <em>Condition</em>}</li>
26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl#getBody <em>Body</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public class CaseImpl extends ExpressionImpl implements Case {
32 /**
33 * The cached value of the '{@link #getCondition() <em>Condition</em>}' containment reference.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #getCondition()
37 * @generated
38 * @ordered
39 */
40 protected Expression condition;
41
42 /**
43 * The cached value of the '{@link #getBody() <em>Body</em>}' containment reference.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @see #getBody()
47 * @generated
48 * @ordered
49 */
50 protected Expression body;
51
52 /**
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 protected CaseImpl() {
58 super();
59 }
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 @Override
67 protected EClass eStaticClass() {
68 return SolverLanguagePackage.Literals.CASE;
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 public Expression getCondition() {
77 return condition;
78 }
79
80 /**
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @generated
84 */
85 public NotificationChain basicSetCondition(Expression newCondition, NotificationChain msgs) {
86 Expression oldCondition = condition;
87 condition = newCondition;
88 if (eNotificationRequired()) {
89 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
90 SolverLanguagePackage.CASE__CONDITION, oldCondition, newCondition);
91 if (msgs == null)
92 msgs = notification;
93 else
94 msgs.add(notification);
95 }
96 return msgs;
97 }
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 public void setCondition(Expression newCondition) {
105 if (newCondition != condition) {
106 NotificationChain msgs = null;
107 if (condition != null)
108 msgs = ((InternalEObject) condition).eInverseRemove(this,
109 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CASE__CONDITION, null, msgs);
110 if (newCondition != null)
111 msgs = ((InternalEObject) newCondition).eInverseAdd(this,
112 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CASE__CONDITION, null, msgs);
113 msgs = basicSetCondition(newCondition, msgs);
114 if (msgs != null)
115 msgs.dispatch();
116 } else if (eNotificationRequired())
117 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CASE__CONDITION, newCondition,
118 newCondition));
119 }
120
121 /**
122 * <!-- begin-user-doc -->
123 * <!-- end-user-doc -->
124 * @generated
125 */
126 public Expression getBody() {
127 return body;
128 }
129
130 /**
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @generated
134 */
135 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs) {
136 Expression oldBody = body;
137 body = newBody;
138 if (eNotificationRequired()) {
139 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
140 SolverLanguagePackage.CASE__BODY, oldBody, newBody);
141 if (msgs == null)
142 msgs = notification;
143 else
144 msgs.add(notification);
145 }
146 return msgs;
147 }
148
149 /**
150 * <!-- begin-user-doc -->
151 * <!-- end-user-doc -->
152 * @generated
153 */
154 public void setBody(Expression newBody) {
155 if (newBody != body) {
156 NotificationChain msgs = null;
157 if (body != null)
158 msgs = ((InternalEObject) body).eInverseRemove(this,
159 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CASE__BODY, null, msgs);
160 if (newBody != null)
161 msgs = ((InternalEObject) newBody).eInverseAdd(this,
162 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CASE__BODY, null, msgs);
163 msgs = basicSetBody(newBody, msgs);
164 if (msgs != null)
165 msgs.dispatch();
166 } else if (eNotificationRequired())
167 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CASE__BODY, newBody, newBody));
168 }
169
170 /**
171 * <!-- begin-user-doc -->
172 * <!-- end-user-doc -->
173 * @generated
174 */
175 @Override
176 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
177 switch (featureID) {
178 case SolverLanguagePackage.CASE__CONDITION:
179 return basicSetCondition(null, msgs);
180 case SolverLanguagePackage.CASE__BODY:
181 return basicSetBody(null, msgs);
182 }
183 return super.eInverseRemove(otherEnd, featureID, msgs);
184 }
185
186 /**
187 * <!-- begin-user-doc -->
188 * <!-- end-user-doc -->
189 * @generated
190 */
191 @Override
192 public Object eGet(int featureID, boolean resolve, boolean coreType) {
193 switch (featureID) {
194 case SolverLanguagePackage.CASE__CONDITION:
195 return getCondition();
196 case SolverLanguagePackage.CASE__BODY:
197 return getBody();
198 }
199 return super.eGet(featureID, resolve, coreType);
200 }
201
202 /**
203 * <!-- begin-user-doc -->
204 * <!-- end-user-doc -->
205 * @generated
206 */
207 @Override
208 public void eSet(int featureID, Object newValue) {
209 switch (featureID) {
210 case SolverLanguagePackage.CASE__CONDITION:
211 setCondition((Expression) newValue);
212 return;
213 case SolverLanguagePackage.CASE__BODY:
214 setBody((Expression) newValue);
215 return;
216 }
217 super.eSet(featureID, newValue);
218 }
219
220 /**
221 * <!-- begin-user-doc -->
222 * <!-- end-user-doc -->
223 * @generated
224 */
225 @Override
226 public void eUnset(int featureID) {
227 switch (featureID) {
228 case SolverLanguagePackage.CASE__CONDITION:
229 setCondition((Expression) null);
230 return;
231 case SolverLanguagePackage.CASE__BODY:
232 setBody((Expression) null);
233 return;
234 }
235 super.eUnset(featureID);
236 }
237
238 /**
239 * <!-- begin-user-doc -->
240 * <!-- end-user-doc -->
241 * @generated
242 */
243 @Override
244 public boolean eIsSet(int featureID) {
245 switch (featureID) {
246 case SolverLanguagePackage.CASE__CONDITION:
247 return condition != null;
248 case SolverLanguagePackage.CASE__BODY:
249 return body != null;
250 }
251 return super.eIsSet(featureID);
252 }
253
254} //CaseImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CastExpressionImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CastExpressionImpl.java
new file mode 100644
index 00000000..66baf204
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CastExpressionImpl.java
@@ -0,0 +1,246 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.CastExpression;
14import org.eclipse.viatra.solver.language.solverLanguage.Expression;
15import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
16import org.eclipse.viatra.solver.language.solverLanguage.Symbol;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Cast Expression</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.solverLanguage.impl.CastExpressionImpl#getBody <em>Body</em>}</li>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CastExpressionImpl#getTargetType <em>Target Type</em>}</li>
28 * </ul>
29 *
30 * @generated
31 */
32public class CastExpressionImpl extends ExpressionImpl implements CastExpression {
33 /**
34 * The cached value of the '{@link #getBody() <em>Body</em>}' containment reference.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #getBody()
38 * @generated
39 * @ordered
40 */
41 protected Expression body;
42
43 /**
44 * The cached value of the '{@link #getTargetType() <em>Target Type</em>}' reference.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #getTargetType()
48 * @generated
49 * @ordered
50 */
51 protected Symbol targetType;
52
53 /**
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @generated
57 */
58 protected CastExpressionImpl() {
59 super();
60 }
61
62 /**
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @generated
66 */
67 @Override
68 protected EClass eStaticClass() {
69 return SolverLanguagePackage.Literals.CAST_EXPRESSION;
70 }
71
72 /**
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @generated
76 */
77 public Expression getBody() {
78 return body;
79 }
80
81 /**
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @generated
85 */
86 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs) {
87 Expression oldBody = body;
88 body = newBody;
89 if (eNotificationRequired()) {
90 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
91 SolverLanguagePackage.CAST_EXPRESSION__BODY, oldBody, newBody);
92 if (msgs == null)
93 msgs = notification;
94 else
95 msgs.add(notification);
96 }
97 return msgs;
98 }
99
100 /**
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @generated
104 */
105 public void setBody(Expression newBody) {
106 if (newBody != body) {
107 NotificationChain msgs = null;
108 if (body != null)
109 msgs = ((InternalEObject) body).eInverseRemove(this,
110 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CAST_EXPRESSION__BODY, null, msgs);
111 if (newBody != null)
112 msgs = ((InternalEObject) newBody).eInverseAdd(this,
113 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CAST_EXPRESSION__BODY, null, msgs);
114 msgs = basicSetBody(newBody, msgs);
115 if (msgs != null)
116 msgs.dispatch();
117 } else if (eNotificationRequired())
118 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CAST_EXPRESSION__BODY, newBody,
119 newBody));
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 public Symbol getTargetType() {
128 if (targetType != null && targetType.eIsProxy()) {
129 InternalEObject oldTargetType = (InternalEObject) targetType;
130 targetType = (Symbol) eResolveProxy(oldTargetType);
131 if (targetType != oldTargetType) {
132 if (eNotificationRequired())
133 eNotify(new ENotificationImpl(this, Notification.RESOLVE,
134 SolverLanguagePackage.CAST_EXPRESSION__TARGET_TYPE, oldTargetType, targetType));
135 }
136 }
137 return targetType;
138 }
139
140 /**
141 * <!-- begin-user-doc -->
142 * <!-- end-user-doc -->
143 * @generated
144 */
145 public Symbol basicGetTargetType() {
146 return targetType;
147 }
148
149 /**
150 * <!-- begin-user-doc -->
151 * <!-- end-user-doc -->
152 * @generated
153 */
154 public void setTargetType(Symbol newTargetType) {
155 Symbol oldTargetType = targetType;
156 targetType = newTargetType;
157 if (eNotificationRequired())
158 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CAST_EXPRESSION__TARGET_TYPE,
159 oldTargetType, targetType));
160 }
161
162 /**
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 */
167 @Override
168 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
169 switch (featureID) {
170 case SolverLanguagePackage.CAST_EXPRESSION__BODY:
171 return basicSetBody(null, msgs);
172 }
173 return super.eInverseRemove(otherEnd, featureID, msgs);
174 }
175
176 /**
177 * <!-- begin-user-doc -->
178 * <!-- end-user-doc -->
179 * @generated
180 */
181 @Override
182 public Object eGet(int featureID, boolean resolve, boolean coreType) {
183 switch (featureID) {
184 case SolverLanguagePackage.CAST_EXPRESSION__BODY:
185 return getBody();
186 case SolverLanguagePackage.CAST_EXPRESSION__TARGET_TYPE:
187 if (resolve)
188 return getTargetType();
189 return basicGetTargetType();
190 }
191 return super.eGet(featureID, resolve, coreType);
192 }
193
194 /**
195 * <!-- begin-user-doc -->
196 * <!-- end-user-doc -->
197 * @generated
198 */
199 @Override
200 public void eSet(int featureID, Object newValue) {
201 switch (featureID) {
202 case SolverLanguagePackage.CAST_EXPRESSION__BODY:
203 setBody((Expression) newValue);
204 return;
205 case SolverLanguagePackage.CAST_EXPRESSION__TARGET_TYPE:
206 setTargetType((Symbol) newValue);
207 return;
208 }
209 super.eSet(featureID, newValue);
210 }
211
212 /**
213 * <!-- begin-user-doc -->
214 * <!-- end-user-doc -->
215 * @generated
216 */
217 @Override
218 public void eUnset(int featureID) {
219 switch (featureID) {
220 case SolverLanguagePackage.CAST_EXPRESSION__BODY:
221 setBody((Expression) null);
222 return;
223 case SolverLanguagePackage.CAST_EXPRESSION__TARGET_TYPE:
224 setTargetType((Symbol) null);
225 return;
226 }
227 super.eUnset(featureID);
228 }
229
230 /**
231 * <!-- begin-user-doc -->
232 * <!-- end-user-doc -->
233 * @generated
234 */
235 @Override
236 public boolean eIsSet(int featureID) {
237 switch (featureID) {
238 case SolverLanguagePackage.CAST_EXPRESSION__BODY:
239 return body != null;
240 case SolverLanguagePackage.CAST_EXPRESSION__TARGET_TYPE:
241 return targetType != null;
242 }
243 return super.eIsSet(featureID);
244 }
245
246} //CastExpressionImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassDeclarationImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassDeclarationImpl.java
new file mode 100644
index 00000000..a9bfeab7
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassDeclarationImpl.java
@@ -0,0 +1,371 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.ClassDeclaration;
22import org.eclipse.viatra.solver.language.solverLanguage.Field;
23import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
24import org.eclipse.viatra.solver.language.solverLanguage.Symbol;
25
26/**
27 * <!-- begin-user-doc -->
28 * An implementation of the model object '<em><b>Class Declaration</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.solverLanguage.impl.ClassDeclarationImpl#getFields <em>Fields</em>}</li>
35 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDeclarationImpl#getName <em>Name</em>}</li>
36 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDeclarationImpl#isAbstract <em>Abstract</em>}</li>
37 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDeclarationImpl#getSupertypes <em>Supertypes</em>}</li>
38 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDeclarationImpl#isRoot <em>Root</em>}</li>
39 * </ul>
40 *
41 * @generated
42 */
43public class ClassDeclarationImpl extends StatementImpl implements ClassDeclaration {
44 /**
45 * The cached value of the '{@link #getFields() <em>Fields</em>}' containment reference list.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @see #getFields()
49 * @generated
50 * @ordered
51 */
52 protected EList<Field> fields;
53
54 /**
55 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
56 * <!-- begin-user-doc -->
57 * <!-- end-user-doc -->
58 * @see #getName()
59 * @generated
60 * @ordered
61 */
62 protected static final String NAME_EDEFAULT = null;
63
64 /**
65 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @see #getName()
69 * @generated
70 * @ordered
71 */
72 protected String name = NAME_EDEFAULT;
73
74 /**
75 * The default value of the '{@link #isAbstract() <em>Abstract</em>}' attribute.
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @see #isAbstract()
79 * @generated
80 * @ordered
81 */
82 protected static final boolean ABSTRACT_EDEFAULT = false;
83
84 /**
85 * The cached value of the '{@link #isAbstract() <em>Abstract</em>}' attribute.
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @see #isAbstract()
89 * @generated
90 * @ordered
91 */
92 protected boolean abstract_ = ABSTRACT_EDEFAULT;
93
94 /**
95 * The cached value of the '{@link #getSupertypes() <em>Supertypes</em>}' reference list.
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @see #getSupertypes()
99 * @generated
100 * @ordered
101 */
102 protected EList<Symbol> supertypes;
103
104 /**
105 * The default value of the '{@link #isRoot() <em>Root</em>}' attribute.
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @see #isRoot()
109 * @generated
110 * @ordered
111 */
112 protected static final boolean ROOT_EDEFAULT = false;
113
114 /**
115 * The cached value of the '{@link #isRoot() <em>Root</em>}' attribute.
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @see #isRoot()
119 * @generated
120 * @ordered
121 */
122 protected boolean root = ROOT_EDEFAULT;
123
124 /**
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @generated
128 */
129 protected ClassDeclarationImpl() {
130 super();
131 }
132
133 /**
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 */
138 @Override
139 protected EClass eStaticClass() {
140 return SolverLanguagePackage.Literals.CLASS_DECLARATION;
141 }
142
143 /**
144 * <!-- begin-user-doc -->
145 * <!-- end-user-doc -->
146 * @generated
147 */
148 public EList<Field> getFields() {
149 if (fields == null) {
150 fields = new EObjectContainmentEList<Field>(Field.class, this,
151 SolverLanguagePackage.CLASS_DECLARATION__FIELDS);
152 }
153 return fields;
154 }
155
156 /**
157 * <!-- begin-user-doc -->
158 * <!-- end-user-doc -->
159 * @generated
160 */
161 public String getName() {
162 return name;
163 }
164
165 /**
166 * <!-- begin-user-doc -->
167 * <!-- end-user-doc -->
168 * @generated
169 */
170 public void setName(String newName) {
171 String oldName = name;
172 name = newName;
173 if (eNotificationRequired())
174 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CLASS_DECLARATION__NAME,
175 oldName, name));
176 }
177
178 /**
179 * <!-- begin-user-doc -->
180 * <!-- end-user-doc -->
181 * @generated
182 */
183 public boolean isAbstract() {
184 return abstract_;
185 }
186
187 /**
188 * <!-- begin-user-doc -->
189 * <!-- end-user-doc -->
190 * @generated
191 */
192 public void setAbstract(boolean newAbstract) {
193 boolean oldAbstract = abstract_;
194 abstract_ = newAbstract;
195 if (eNotificationRequired())
196 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CLASS_DECLARATION__ABSTRACT,
197 oldAbstract, abstract_));
198 }
199
200 /**
201 * <!-- begin-user-doc -->
202 * <!-- end-user-doc -->
203 * @generated
204 */
205 public EList<Symbol> getSupertypes() {
206 if (supertypes == null) {
207 supertypes = new EObjectResolvingEList<Symbol>(Symbol.class, this,
208 SolverLanguagePackage.CLASS_DECLARATION__SUPERTYPES);
209 }
210 return supertypes;
211 }
212
213 /**
214 * <!-- begin-user-doc -->
215 * <!-- end-user-doc -->
216 * @generated
217 */
218 public boolean isRoot() {
219 return root;
220 }
221
222 /**
223 * <!-- begin-user-doc -->
224 * <!-- end-user-doc -->
225 * @generated
226 */
227 public void setRoot(boolean newRoot) {
228 boolean oldRoot = root;
229 root = newRoot;
230 if (eNotificationRequired())
231 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CLASS_DECLARATION__ROOT,
232 oldRoot, root));
233 }
234
235 /**
236 * <!-- begin-user-doc -->
237 * <!-- end-user-doc -->
238 * @generated
239 */
240 @Override
241 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
242 switch (featureID) {
243 case SolverLanguagePackage.CLASS_DECLARATION__FIELDS:
244 return ((InternalEList<?>) getFields()).basicRemove(otherEnd, msgs);
245 }
246 return super.eInverseRemove(otherEnd, featureID, msgs);
247 }
248
249 /**
250 * <!-- begin-user-doc -->
251 * <!-- end-user-doc -->
252 * @generated
253 */
254 @Override
255 public Object eGet(int featureID, boolean resolve, boolean coreType) {
256 switch (featureID) {
257 case SolverLanguagePackage.CLASS_DECLARATION__FIELDS:
258 return getFields();
259 case SolverLanguagePackage.CLASS_DECLARATION__NAME:
260 return getName();
261 case SolverLanguagePackage.CLASS_DECLARATION__ABSTRACT:
262 return isAbstract();
263 case SolverLanguagePackage.CLASS_DECLARATION__SUPERTYPES:
264 return getSupertypes();
265 case SolverLanguagePackage.CLASS_DECLARATION__ROOT:
266 return isRoot();
267 }
268 return super.eGet(featureID, resolve, coreType);
269 }
270
271 /**
272 * <!-- begin-user-doc -->
273 * <!-- end-user-doc -->
274 * @generated
275 */
276 @SuppressWarnings("unchecked")
277 @Override
278 public void eSet(int featureID, Object newValue) {
279 switch (featureID) {
280 case SolverLanguagePackage.CLASS_DECLARATION__FIELDS:
281 getFields().clear();
282 getFields().addAll((Collection<? extends Field>) newValue);
283 return;
284 case SolverLanguagePackage.CLASS_DECLARATION__NAME:
285 setName((String) newValue);
286 return;
287 case SolverLanguagePackage.CLASS_DECLARATION__ABSTRACT:
288 setAbstract((Boolean) newValue);
289 return;
290 case SolverLanguagePackage.CLASS_DECLARATION__SUPERTYPES:
291 getSupertypes().clear();
292 getSupertypes().addAll((Collection<? extends Symbol>) newValue);
293 return;
294 case SolverLanguagePackage.CLASS_DECLARATION__ROOT:
295 setRoot((Boolean) newValue);
296 return;
297 }
298 super.eSet(featureID, newValue);
299 }
300
301 /**
302 * <!-- begin-user-doc -->
303 * <!-- end-user-doc -->
304 * @generated
305 */
306 @Override
307 public void eUnset(int featureID) {
308 switch (featureID) {
309 case SolverLanguagePackage.CLASS_DECLARATION__FIELDS:
310 getFields().clear();
311 return;
312 case SolverLanguagePackage.CLASS_DECLARATION__NAME:
313 setName(NAME_EDEFAULT);
314 return;
315 case SolverLanguagePackage.CLASS_DECLARATION__ABSTRACT:
316 setAbstract(ABSTRACT_EDEFAULT);
317 return;
318 case SolverLanguagePackage.CLASS_DECLARATION__SUPERTYPES:
319 getSupertypes().clear();
320 return;
321 case SolverLanguagePackage.CLASS_DECLARATION__ROOT:
322 setRoot(ROOT_EDEFAULT);
323 return;
324 }
325 super.eUnset(featureID);
326 }
327
328 /**
329 * <!-- begin-user-doc -->
330 * <!-- end-user-doc -->
331 * @generated
332 */
333 @Override
334 public boolean eIsSet(int featureID) {
335 switch (featureID) {
336 case SolverLanguagePackage.CLASS_DECLARATION__FIELDS:
337 return fields != null && !fields.isEmpty();
338 case SolverLanguagePackage.CLASS_DECLARATION__NAME:
339 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
340 case SolverLanguagePackage.CLASS_DECLARATION__ABSTRACT:
341 return abstract_ != ABSTRACT_EDEFAULT;
342 case SolverLanguagePackage.CLASS_DECLARATION__SUPERTYPES:
343 return supertypes != null && !supertypes.isEmpty();
344 case SolverLanguagePackage.CLASS_DECLARATION__ROOT:
345 return root != ROOT_EDEFAULT;
346 }
347 return super.eIsSet(featureID);
348 }
349
350 /**
351 * <!-- begin-user-doc -->
352 * <!-- end-user-doc -->
353 * @generated
354 */
355 @Override
356 public String toString() {
357 if (eIsProxy())
358 return super.toString();
359
360 StringBuilder result = new StringBuilder(super.toString());
361 result.append(" (name: ");
362 result.append(name);
363 result.append(", abstract: ");
364 result.append(abstract_);
365 result.append(", root: ");
366 result.append(root);
367 result.append(')');
368 return result.toString();
369 }
370
371} //ClassDeclarationImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConditionalExpressionImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConditionalExpressionImpl.java
new file mode 100644
index 00000000..30d5c6c1
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConditionalExpressionImpl.java
@@ -0,0 +1,328 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.ConditionalExpression;
14import org.eclipse.viatra.solver.language.solverLanguage.Expression;
15import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Conditional Expression</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConditionalExpressionImpl#getCondition <em>Condition</em>}</li>
26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConditionalExpressionImpl#getThen <em>Then</em>}</li>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConditionalExpressionImpl#getElse <em>Else</em>}</li>
28 * </ul>
29 *
30 * @generated
31 */
32public class ConditionalExpressionImpl extends ExpressionImpl implements ConditionalExpression {
33 /**
34 * The cached value of the '{@link #getCondition() <em>Condition</em>}' containment reference.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #getCondition()
38 * @generated
39 * @ordered
40 */
41 protected Expression condition;
42
43 /**
44 * The cached value of the '{@link #getThen() <em>Then</em>}' containment reference.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #getThen()
48 * @generated
49 * @ordered
50 */
51 protected Expression then;
52
53 /**
54 * The cached value of the '{@link #getElse() <em>Else</em>}' containment reference.
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @see #getElse()
58 * @generated
59 * @ordered
60 */
61 protected Expression else_;
62
63 /**
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @generated
67 */
68 protected ConditionalExpressionImpl() {
69 super();
70 }
71
72 /**
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @generated
76 */
77 @Override
78 protected EClass eStaticClass() {
79 return SolverLanguagePackage.Literals.CONDITIONAL_EXPRESSION;
80 }
81
82 /**
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @generated
86 */
87 public Expression getCondition() {
88 return condition;
89 }
90
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 public NotificationChain basicSetCondition(Expression newCondition, NotificationChain msgs) {
97 Expression oldCondition = condition;
98 condition = newCondition;
99 if (eNotificationRequired()) {
100 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
101 SolverLanguagePackage.CONDITIONAL_EXPRESSION__CONDITION, oldCondition, newCondition);
102 if (msgs == null)
103 msgs = notification;
104 else
105 msgs.add(notification);
106 }
107 return msgs;
108 }
109
110 /**
111 * <!-- begin-user-doc -->
112 * <!-- end-user-doc -->
113 * @generated
114 */
115 public void setCondition(Expression newCondition) {
116 if (newCondition != condition) {
117 NotificationChain msgs = null;
118 if (condition != null)
119 msgs = ((InternalEObject) condition).eInverseRemove(this,
120 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CONDITIONAL_EXPRESSION__CONDITION, null, msgs);
121 if (newCondition != null)
122 msgs = ((InternalEObject) newCondition).eInverseAdd(this,
123 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CONDITIONAL_EXPRESSION__CONDITION, null, msgs);
124 msgs = basicSetCondition(newCondition, msgs);
125 if (msgs != null)
126 msgs.dispatch();
127 } else if (eNotificationRequired())
128 eNotify(new ENotificationImpl(this, Notification.SET,
129 SolverLanguagePackage.CONDITIONAL_EXPRESSION__CONDITION, newCondition, newCondition));
130 }
131
132 /**
133 * <!-- begin-user-doc -->
134 * <!-- end-user-doc -->
135 * @generated
136 */
137 public Expression getThen() {
138 return then;
139 }
140
141 /**
142 * <!-- begin-user-doc -->
143 * <!-- end-user-doc -->
144 * @generated
145 */
146 public NotificationChain basicSetThen(Expression newThen, NotificationChain msgs) {
147 Expression oldThen = then;
148 then = newThen;
149 if (eNotificationRequired()) {
150 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
151 SolverLanguagePackage.CONDITIONAL_EXPRESSION__THEN, oldThen, newThen);
152 if (msgs == null)
153 msgs = notification;
154 else
155 msgs.add(notification);
156 }
157 return msgs;
158 }
159
160 /**
161 * <!-- begin-user-doc -->
162 * <!-- end-user-doc -->
163 * @generated
164 */
165 public void setThen(Expression newThen) {
166 if (newThen != then) {
167 NotificationChain msgs = null;
168 if (then != null)
169 msgs = ((InternalEObject) then).eInverseRemove(this,
170 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CONDITIONAL_EXPRESSION__THEN, null, msgs);
171 if (newThen != null)
172 msgs = ((InternalEObject) newThen).eInverseAdd(this,
173 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CONDITIONAL_EXPRESSION__THEN, null, msgs);
174 msgs = basicSetThen(newThen, msgs);
175 if (msgs != null)
176 msgs.dispatch();
177 } else if (eNotificationRequired())
178 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CONDITIONAL_EXPRESSION__THEN,
179 newThen, newThen));
180 }
181
182 /**
183 * <!-- begin-user-doc -->
184 * <!-- end-user-doc -->
185 * @generated
186 */
187 public Expression getElse() {
188 return else_;
189 }
190
191 /**
192 * <!-- begin-user-doc -->
193 * <!-- end-user-doc -->
194 * @generated
195 */
196 public NotificationChain basicSetElse(Expression newElse, NotificationChain msgs) {
197 Expression oldElse = else_;
198 else_ = newElse;
199 if (eNotificationRequired()) {
200 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
201 SolverLanguagePackage.CONDITIONAL_EXPRESSION__ELSE, oldElse, newElse);
202 if (msgs == null)
203 msgs = notification;
204 else
205 msgs.add(notification);
206 }
207 return msgs;
208 }
209
210 /**
211 * <!-- begin-user-doc -->
212 * <!-- end-user-doc -->
213 * @generated
214 */
215 public void setElse(Expression newElse) {
216 if (newElse != else_) {
217 NotificationChain msgs = null;
218 if (else_ != null)
219 msgs = ((InternalEObject) else_).eInverseRemove(this,
220 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CONDITIONAL_EXPRESSION__ELSE, null, msgs);
221 if (newElse != null)
222 msgs = ((InternalEObject) newElse).eInverseAdd(this,
223 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CONDITIONAL_EXPRESSION__ELSE, null, msgs);
224 msgs = basicSetElse(newElse, msgs);
225 if (msgs != null)
226 msgs.dispatch();
227 } else if (eNotificationRequired())
228 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CONDITIONAL_EXPRESSION__ELSE,
229 newElse, newElse));
230 }
231
232 /**
233 * <!-- begin-user-doc -->
234 * <!-- end-user-doc -->
235 * @generated
236 */
237 @Override
238 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
239 switch (featureID) {
240 case SolverLanguagePackage.CONDITIONAL_EXPRESSION__CONDITION:
241 return basicSetCondition(null, msgs);
242 case SolverLanguagePackage.CONDITIONAL_EXPRESSION__THEN:
243 return basicSetThen(null, msgs);
244 case SolverLanguagePackage.CONDITIONAL_EXPRESSION__ELSE:
245 return basicSetElse(null, msgs);
246 }
247 return super.eInverseRemove(otherEnd, featureID, msgs);
248 }
249
250 /**
251 * <!-- begin-user-doc -->
252 * <!-- end-user-doc -->
253 * @generated
254 */
255 @Override
256 public Object eGet(int featureID, boolean resolve, boolean coreType) {
257 switch (featureID) {
258 case SolverLanguagePackage.CONDITIONAL_EXPRESSION__CONDITION:
259 return getCondition();
260 case SolverLanguagePackage.CONDITIONAL_EXPRESSION__THEN:
261 return getThen();
262 case SolverLanguagePackage.CONDITIONAL_EXPRESSION__ELSE:
263 return getElse();
264 }
265 return super.eGet(featureID, resolve, coreType);
266 }
267
268 /**
269 * <!-- begin-user-doc -->
270 * <!-- end-user-doc -->
271 * @generated
272 */
273 @Override
274 public void eSet(int featureID, Object newValue) {
275 switch (featureID) {
276 case SolverLanguagePackage.CONDITIONAL_EXPRESSION__CONDITION:
277 setCondition((Expression) newValue);
278 return;
279 case SolverLanguagePackage.CONDITIONAL_EXPRESSION__THEN:
280 setThen((Expression) newValue);
281 return;
282 case SolverLanguagePackage.CONDITIONAL_EXPRESSION__ELSE:
283 setElse((Expression) newValue);
284 return;
285 }
286 super.eSet(featureID, newValue);
287 }
288
289 /**
290 * <!-- begin-user-doc -->
291 * <!-- end-user-doc -->
292 * @generated
293 */
294 @Override
295 public void eUnset(int featureID) {
296 switch (featureID) {
297 case SolverLanguagePackage.CONDITIONAL_EXPRESSION__CONDITION:
298 setCondition((Expression) null);
299 return;
300 case SolverLanguagePackage.CONDITIONAL_EXPRESSION__THEN:
301 setThen((Expression) null);
302 return;
303 case SolverLanguagePackage.CONDITIONAL_EXPRESSION__ELSE:
304 setElse((Expression) null);
305 return;
306 }
307 super.eUnset(featureID);
308 }
309
310 /**
311 * <!-- begin-user-doc -->
312 * <!-- end-user-doc -->
313 * @generated
314 */
315 @Override
316 public boolean eIsSet(int featureID) {
317 switch (featureID) {
318 case SolverLanguagePackage.CONDITIONAL_EXPRESSION__CONDITION:
319 return condition != null;
320 case SolverLanguagePackage.CONDITIONAL_EXPRESSION__THEN:
321 return then != null;
322 case SolverLanguagePackage.CONDITIONAL_EXPRESSION__ELSE:
323 return else_ != null;
324 }
325 return super.eIsSet(featureID);
326 }
327
328} //ConditionalExpressionImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConjunctionImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConjunctionImpl.java
new file mode 100644
index 00000000..6ac60dc1
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConjunctionImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import org.eclipse.viatra.solver.language.solverLanguage.Conjunction;
8import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Conjunction</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class ConjunctionImpl extends MultiaryExpessionImpl implements Conjunction {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected ConjunctionImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return SolverLanguagePackage.Literals.CONJUNCTION;
35 }
36
37} //ConjunctionImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CountImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CountImpl.java
new file mode 100644
index 00000000..b4a870c7
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CountImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import org.eclipse.viatra.solver.language.solverLanguage.Count;
8import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Count</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class CountImpl extends AggregateExpressionImpl implements Count {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected CountImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return SolverLanguagePackage.Literals.COUNT;
35 }
36
37} //CountImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DatatypeImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DatatypeImpl.java
new file mode 100644
index 00000000..eeb6a1d4
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DatatypeImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import org.eclipse.viatra.solver.language.solverLanguage.Datatype;
8import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Datatype</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class DatatypeImpl extends RelationImpl implements Datatype {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected DatatypeImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return SolverLanguagePackage.Literals.DATATYPE;
35 }
36
37} //DatatypeImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultAssertionImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultAssertionImpl.java
new file mode 100644
index 00000000..52d5240c
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultAssertionImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import org.eclipse.viatra.solver.language.solverLanguage.DefaultAssertion;
8import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Default Assertion</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class DefaultAssertionImpl extends AbstractAssertionImpl implements DefaultAssertion {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected DefaultAssertionImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return SolverLanguagePackage.Literals.DEFAULT_ASSERTION;
35 }
36
37} //DefaultAssertionImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DisjunctionImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DisjunctionImpl.java
new file mode 100644
index 00000000..a13a92f5
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DisjunctionImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import org.eclipse.viatra.solver.language.solverLanguage.Disjunction;
8import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Disjunction</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class DisjunctionImpl extends MultiaryExpessionImpl implements Disjunction {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected DisjunctionImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return SolverLanguagePackage.Literals.DISJUNCTION;
35 }
36
37} //DisjunctionImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EmptyLiteralImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EmptyLiteralImpl.java
new file mode 100644
index 00000000..b5dc7e54
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EmptyLiteralImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import org.eclipse.viatra.solver.language.solverLanguage.EmptyLiteral;
8import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Empty Literal</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class EmptyLiteralImpl extends LiteralImpl implements EmptyLiteral {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected EmptyLiteralImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return SolverLanguagePackage.Literals.EMPTY_LITERAL;
35 }
36
37} //EmptyLiteralImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EnumDeclarationImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EnumDeclarationImpl.java
new file mode 100644
index 00000000..1ddcc2f1
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EnumDeclarationImpl.java
@@ -0,0 +1,224 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.EnumDeclaration;
21import org.eclipse.viatra.solver.language.solverLanguage.EnumLiteral;
22import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
23
24/**
25 * <!-- begin-user-doc -->
26 * An implementation of the model object '<em><b>Enum Declaration</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.solverLanguage.impl.EnumDeclarationImpl#getLiterals <em>Literals</em>}</li>
33 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.EnumDeclarationImpl#getName <em>Name</em>}</li>
34 * </ul>
35 *
36 * @generated
37 */
38public class EnumDeclarationImpl extends StatementImpl implements EnumDeclaration {
39 /**
40 * The cached value of the '{@link #getLiterals() <em>Literals</em>}' containment reference list.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #getLiterals()
44 * @generated
45 * @ordered
46 */
47 protected EList<EnumLiteral> literals;
48
49 /**
50 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @see #getName()
54 * @generated
55 * @ordered
56 */
57 protected static final String NAME_EDEFAULT = null;
58
59 /**
60 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @see #getName()
64 * @generated
65 * @ordered
66 */
67 protected String name = NAME_EDEFAULT;
68
69 /**
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @generated
73 */
74 protected EnumDeclarationImpl() {
75 super();
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 @Override
84 protected EClass eStaticClass() {
85 return SolverLanguagePackage.Literals.ENUM_DECLARATION;
86 }
87
88 /**
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 */
93 public EList<EnumLiteral> getLiterals() {
94 if (literals == null) {
95 literals = new EObjectContainmentEList<EnumLiteral>(EnumLiteral.class, this,
96 SolverLanguagePackage.ENUM_DECLARATION__LITERALS);
97 }
98 return literals;
99 }
100
101 /**
102 * <!-- begin-user-doc -->
103 * <!-- end-user-doc -->
104 * @generated
105 */
106 public String getName() {
107 return name;
108 }
109
110 /**
111 * <!-- begin-user-doc -->
112 * <!-- end-user-doc -->
113 * @generated
114 */
115 public void setName(String newName) {
116 String oldName = name;
117 name = newName;
118 if (eNotificationRequired())
119 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ENUM_DECLARATION__NAME, oldName,
120 name));
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 @Override
129 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
130 switch (featureID) {
131 case SolverLanguagePackage.ENUM_DECLARATION__LITERALS:
132 return ((InternalEList<?>) getLiterals()).basicRemove(otherEnd, msgs);
133 }
134 return super.eInverseRemove(otherEnd, featureID, msgs);
135 }
136
137 /**
138 * <!-- begin-user-doc -->
139 * <!-- end-user-doc -->
140 * @generated
141 */
142 @Override
143 public Object eGet(int featureID, boolean resolve, boolean coreType) {
144 switch (featureID) {
145 case SolverLanguagePackage.ENUM_DECLARATION__LITERALS:
146 return getLiterals();
147 case SolverLanguagePackage.ENUM_DECLARATION__NAME:
148 return getName();
149 }
150 return super.eGet(featureID, resolve, coreType);
151 }
152
153 /**
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @generated
157 */
158 @SuppressWarnings("unchecked")
159 @Override
160 public void eSet(int featureID, Object newValue) {
161 switch (featureID) {
162 case SolverLanguagePackage.ENUM_DECLARATION__LITERALS:
163 getLiterals().clear();
164 getLiterals().addAll((Collection<? extends EnumLiteral>) newValue);
165 return;
166 case SolverLanguagePackage.ENUM_DECLARATION__NAME:
167 setName((String) newValue);
168 return;
169 }
170 super.eSet(featureID, newValue);
171 }
172
173 /**
174 * <!-- begin-user-doc -->
175 * <!-- end-user-doc -->
176 * @generated
177 */
178 @Override
179 public void eUnset(int featureID) {
180 switch (featureID) {
181 case SolverLanguagePackage.ENUM_DECLARATION__LITERALS:
182 getLiterals().clear();
183 return;
184 case SolverLanguagePackage.ENUM_DECLARATION__NAME:
185 setName(NAME_EDEFAULT);
186 return;
187 }
188 super.eUnset(featureID);
189 }
190
191 /**
192 * <!-- begin-user-doc -->
193 * <!-- end-user-doc -->
194 * @generated
195 */
196 @Override
197 public boolean eIsSet(int featureID) {
198 switch (featureID) {
199 case SolverLanguagePackage.ENUM_DECLARATION__LITERALS:
200 return literals != null && !literals.isEmpty();
201 case SolverLanguagePackage.ENUM_DECLARATION__NAME:
202 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
203 }
204 return super.eIsSet(featureID);
205 }
206
207 /**
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @generated
211 */
212 @Override
213 public String toString() {
214 if (eIsProxy())
215 return super.toString();
216
217 StringBuilder result = new StringBuilder(super.toString());
218 result.append(" (name: ");
219 result.append(name);
220 result.append(')');
221 return result.toString();
222 }
223
224} //EnumDeclarationImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EnumLiteralImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EnumLiteralImpl.java
new file mode 100644
index 00000000..5b7f9cb1
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EnumLiteralImpl.java
@@ -0,0 +1,165 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.EnumLiteral;
13import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>Enum Literal</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.solverLanguage.impl.EnumLiteralImpl#getName <em>Name</em>}</li>
24 * </ul>
25 *
26 * @generated
27 */
28public class EnumLiteralImpl extends MinimalEObjectImpl.Container implements EnumLiteral {
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 EnumLiteralImpl() {
55 super();
56 }
57
58 /**
59 * <!-- begin-user-doc -->
60 * <!-- end-user-doc -->
61 * @generated
62 */
63 @Override
64 protected EClass eStaticClass() {
65 return SolverLanguagePackage.Literals.ENUM_LITERAL;
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, SolverLanguagePackage.ENUM_LITERAL__NAME, oldName,
87 name));
88 }
89
90 /**
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @generated
94 */
95 @Override
96 public Object eGet(int featureID, boolean resolve, boolean coreType) {
97 switch (featureID) {
98 case SolverLanguagePackage.ENUM_LITERAL__NAME:
99 return getName();
100 }
101 return super.eGet(featureID, resolve, coreType);
102 }
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 @Override
110 public void eSet(int featureID, Object newValue) {
111 switch (featureID) {
112 case SolverLanguagePackage.ENUM_LITERAL__NAME:
113 setName((String) newValue);
114 return;
115 }
116 super.eSet(featureID, newValue);
117 }
118
119 /**
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 */
124 @Override
125 public void eUnset(int featureID) {
126 switch (featureID) {
127 case SolverLanguagePackage.ENUM_LITERAL__NAME:
128 setName(NAME_EDEFAULT);
129 return;
130 }
131 super.eUnset(featureID);
132 }
133
134 /**
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @generated
138 */
139 @Override
140 public boolean eIsSet(int featureID) {
141 switch (featureID) {
142 case SolverLanguagePackage.ENUM_LITERAL__NAME:
143 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
144 }
145 return super.eIsSet(featureID);
146 }
147
148 /**
149 * <!-- begin-user-doc -->
150 * <!-- end-user-doc -->
151 * @generated
152 */
153 @Override
154 public String toString() {
155 if (eIsProxy())
156 return super.toString();
157
158 StringBuilder result = new StringBuilder(super.toString());
159 result.append(" (name: ");
160 result.append(name);
161 result.append(')');
162 return result.toString();
163 }
164
165} //EnumLiteralImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactMultiplicityImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactMultiplicityImpl.java
new file mode 100644
index 00000000..f981aede
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactMultiplicityImpl.java
@@ -0,0 +1,164 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.ExactMultiplicity;
12import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
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.solverLanguage.impl.ExactMultiplicityImpl#getValue <em>Value</em>}</li>
23 * </ul>
24 *
25 * @generated
26 */
27public class ExactMultiplicityImpl extends MultiplicityImpl implements ExactMultiplicity {
28 /**
29 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @see #getValue()
33 * @generated
34 * @ordered
35 */
36 protected static final int VALUE_EDEFAULT = 0;
37
38 /**
39 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @see #getValue()
43 * @generated
44 * @ordered
45 */
46 protected int value = 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 SolverLanguagePackage.Literals.EXACT_MULTIPLICITY;
65 }
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 public int getValue() {
73 return value;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 public void setValue(int newValue) {
82 int oldValue = value;
83 value = newValue;
84 if (eNotificationRequired())
85 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXACT_MULTIPLICITY__VALUE,
86 oldValue, value));
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 SolverLanguagePackage.EXACT_MULTIPLICITY__VALUE:
98 return getValue();
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 SolverLanguagePackage.EXACT_MULTIPLICITY__VALUE:
112 setValue((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 SolverLanguagePackage.EXACT_MULTIPLICITY__VALUE:
127 setValue(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 SolverLanguagePackage.EXACT_MULTIPLICITY__VALUE:
142 return value != 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(" (value: ");
159 result.append(value);
160 result.append(')');
161 return result.toString();
162 }
163
164} //ExactMultiplicityImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactScopeImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactScopeImpl.java
new file mode 100644
index 00000000..80b06171
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactScopeImpl.java
@@ -0,0 +1,164 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.ExactScope;
12import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
13
14/**
15 * <!-- begin-user-doc -->
16 * An implementation of the model object '<em><b>Exact Scope</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.solverLanguage.impl.ExactScopeImpl#getSize <em>Size</em>}</li>
23 * </ul>
24 *
25 * @generated
26 */
27public class ExactScopeImpl extends ScopeDeclarationImpl implements ExactScope {
28 /**
29 * The default value of the '{@link #getSize() <em>Size</em>}' attribute.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @see #getSize()
33 * @generated
34 * @ordered
35 */
36 protected static final int SIZE_EDEFAULT = 0;
37
38 /**
39 * The cached value of the '{@link #getSize() <em>Size</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @see #getSize()
43 * @generated
44 * @ordered
45 */
46 protected int size = SIZE_EDEFAULT;
47
48 /**
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @generated
52 */
53 protected ExactScopeImpl() {
54 super();
55 }
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 @Override
63 protected EClass eStaticClass() {
64 return SolverLanguagePackage.Literals.EXACT_SCOPE;
65 }
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 public int getSize() {
73 return size;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 public void setSize(int newSize) {
82 int oldSize = size;
83 size = newSize;
84 if (eNotificationRequired())
85 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXACT_SCOPE__SIZE, oldSize,
86 size));
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 SolverLanguagePackage.EXACT_SCOPE__SIZE:
98 return getSize();
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 SolverLanguagePackage.EXACT_SCOPE__SIZE:
112 setSize((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 SolverLanguagePackage.EXACT_SCOPE__SIZE:
127 setSize(SIZE_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 SolverLanguagePackage.EXACT_SCOPE__SIZE:
142 return size != SIZE_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(" (size: ");
159 result.append(size);
160 result.append(')');
161 return result.toString();
162 }
163
164} //ExactScopeImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionArgumentImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionArgumentImpl.java
new file mode 100644
index 00000000..7e84a49a
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionArgumentImpl.java
@@ -0,0 +1,182 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.Expression;
14import org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument;
15import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Expression Argument</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionArgumentImpl#getExpression <em>Expression</em>}</li>
26 * </ul>
27 *
28 * @generated
29 */
30public class ExpressionArgumentImpl extends ArgumentImpl implements ExpressionArgument {
31 /**
32 * The cached value of the '{@link #getExpression() <em>Expression</em>}' containment reference.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @see #getExpression()
36 * @generated
37 * @ordered
38 */
39 protected Expression expression;
40
41 /**
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @generated
45 */
46 protected ExpressionArgumentImpl() {
47 super();
48 }
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 @Override
56 protected EClass eStaticClass() {
57 return SolverLanguagePackage.Literals.EXPRESSION_ARGUMENT;
58 }
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 public Expression getExpression() {
66 return expression;
67 }
68
69 /**
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @generated
73 */
74 public NotificationChain basicSetExpression(Expression newExpression, NotificationChain msgs) {
75 Expression oldExpression = expression;
76 expression = newExpression;
77 if (eNotificationRequired()) {
78 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
79 SolverLanguagePackage.EXPRESSION_ARGUMENT__EXPRESSION, oldExpression, newExpression);
80 if (msgs == null)
81 msgs = notification;
82 else
83 msgs.add(notification);
84 }
85 return msgs;
86 }
87
88 /**
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 */
93 public void setExpression(Expression newExpression) {
94 if (newExpression != expression) {
95 NotificationChain msgs = null;
96 if (expression != null)
97 msgs = ((InternalEObject) expression).eInverseRemove(this,
98 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXPRESSION_ARGUMENT__EXPRESSION, null, msgs);
99 if (newExpression != null)
100 msgs = ((InternalEObject) newExpression).eInverseAdd(this,
101 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXPRESSION_ARGUMENT__EXPRESSION, null, msgs);
102 msgs = basicSetExpression(newExpression, msgs);
103 if (msgs != null)
104 msgs.dispatch();
105 } else if (eNotificationRequired())
106 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXPRESSION_ARGUMENT__EXPRESSION,
107 newExpression, newExpression));
108 }
109
110 /**
111 * <!-- begin-user-doc -->
112 * <!-- end-user-doc -->
113 * @generated
114 */
115 @Override
116 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
117 switch (featureID) {
118 case SolverLanguagePackage.EXPRESSION_ARGUMENT__EXPRESSION:
119 return basicSetExpression(null, msgs);
120 }
121 return super.eInverseRemove(otherEnd, featureID, msgs);
122 }
123
124 /**
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @generated
128 */
129 @Override
130 public Object eGet(int featureID, boolean resolve, boolean coreType) {
131 switch (featureID) {
132 case SolverLanguagePackage.EXPRESSION_ARGUMENT__EXPRESSION:
133 return getExpression();
134 }
135 return super.eGet(featureID, resolve, coreType);
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 @Override
144 public void eSet(int featureID, Object newValue) {
145 switch (featureID) {
146 case SolverLanguagePackage.EXPRESSION_ARGUMENT__EXPRESSION:
147 setExpression((Expression) newValue);
148 return;
149 }
150 super.eSet(featureID, newValue);
151 }
152
153 /**
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @generated
157 */
158 @Override
159 public void eUnset(int featureID) {
160 switch (featureID) {
161 case SolverLanguagePackage.EXPRESSION_ARGUMENT__EXPRESSION:
162 setExpression((Expression) null);
163 return;
164 }
165 super.eUnset(featureID);
166 }
167
168 /**
169 * <!-- begin-user-doc -->
170 * <!-- end-user-doc -->
171 * @generated
172 */
173 @Override
174 public boolean eIsSet(int featureID) {
175 switch (featureID) {
176 case SolverLanguagePackage.EXPRESSION_ARGUMENT__EXPRESSION:
177 return expression != null;
178 }
179 return super.eIsSet(featureID);
180 }
181
182} //ExpressionArgumentImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionImpl.java
new file mode 100644
index 00000000..0b917b30
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionImpl.java
@@ -0,0 +1,151 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.util.EObjectContainmentEList;
15import org.eclipse.emf.ecore.util.InternalEList;
16
17import org.eclipse.viatra.solver.language.solverLanguage.Expression;
18import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
19import org.eclipse.viatra.solver.language.solverLanguage.Variable;
20
21/**
22 * <!-- begin-user-doc -->
23 * An implementation of the model object '<em><b>Expression</b></em>'.
24 * <!-- end-user-doc -->
25 * <p>
26 * The following features are implemented:
27 * </p>
28 * <ul>
29 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionImpl#getExistsVariables <em>Exists Variables</em>}</li>
30 * </ul>
31 *
32 * @generated
33 */
34public abstract class ExpressionImpl extends StatementImpl implements Expression {
35 /**
36 * The cached value of the '{@link #getExistsVariables() <em>Exists Variables</em>}' containment reference list.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getExistsVariables()
40 * @generated
41 * @ordered
42 */
43 protected EList<Variable> existsVariables;
44
45 /**
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @generated
49 */
50 protected ExpressionImpl() {
51 super();
52 }
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 @Override
60 protected EClass eStaticClass() {
61 return SolverLanguagePackage.Literals.EXPRESSION;
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 public EList<Variable> getExistsVariables() {
70 if (existsVariables == null) {
71 existsVariables = new EObjectContainmentEList<Variable>(Variable.class, this,
72 SolverLanguagePackage.EXPRESSION__EXISTS_VARIABLES);
73 }
74 return existsVariables;
75 }
76
77 /**
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @generated
81 */
82 @Override
83 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
84 switch (featureID) {
85 case SolverLanguagePackage.EXPRESSION__EXISTS_VARIABLES:
86 return ((InternalEList<?>) getExistsVariables()).basicRemove(otherEnd, msgs);
87 }
88 return super.eInverseRemove(otherEnd, featureID, msgs);
89 }
90
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 @Override
97 public Object eGet(int featureID, boolean resolve, boolean coreType) {
98 switch (featureID) {
99 case SolverLanguagePackage.EXPRESSION__EXISTS_VARIABLES:
100 return getExistsVariables();
101 }
102 return super.eGet(featureID, resolve, coreType);
103 }
104
105 /**
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 @SuppressWarnings("unchecked")
111 @Override
112 public void eSet(int featureID, Object newValue) {
113 switch (featureID) {
114 case SolverLanguagePackage.EXPRESSION__EXISTS_VARIABLES:
115 getExistsVariables().clear();
116 getExistsVariables().addAll((Collection<? extends Variable>) newValue);
117 return;
118 }
119 super.eSet(featureID, newValue);
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 @Override
128 public void eUnset(int featureID) {
129 switch (featureID) {
130 case SolverLanguagePackage.EXPRESSION__EXISTS_VARIABLES:
131 getExistsVariables().clear();
132 return;
133 }
134 super.eUnset(featureID);
135 }
136
137 /**
138 * <!-- begin-user-doc -->
139 * <!-- end-user-doc -->
140 * @generated
141 */
142 @Override
143 public boolean eIsSet(int featureID) {
144 switch (featureID) {
145 case SolverLanguagePackage.EXPRESSION__EXISTS_VARIABLES:
146 return existsVariables != null && !existsVariables.isEmpty();
147 }
148 return super.eIsSet(featureID);
149 }
150
151} //ExpressionImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternAggregationOperatorDeclarationImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternAggregationOperatorDeclarationImpl.java
new file mode 100644
index 00000000..f3a34f73
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternAggregationOperatorDeclarationImpl.java
@@ -0,0 +1,227 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.ExternAggregationOperatorDeclaration;
13import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
14import org.eclipse.viatra.solver.language.solverLanguage.Symbol;
15
16/**
17 * <!-- begin-user-doc -->
18 * An implementation of the model object '<em><b>Extern Aggregation Operator Declaration</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.solverLanguage.impl.ExternAggregationOperatorDeclarationImpl#getArgumentType <em>Argument Type</em>}</li>
25 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternAggregationOperatorDeclarationImpl#getResultType <em>Result Type</em>}</li>
26 * </ul>
27 *
28 * @generated
29 */
30public class ExternAggregationOperatorDeclarationImpl extends ExternDeclarationImpl
31 implements ExternAggregationOperatorDeclaration {
32 /**
33 * The cached value of the '{@link #getArgumentType() <em>Argument Type</em>}' reference.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #getArgumentType()
37 * @generated
38 * @ordered
39 */
40 protected Symbol argumentType;
41
42 /**
43 * The cached value of the '{@link #getResultType() <em>Result Type</em>}' reference.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @see #getResultType()
47 * @generated
48 * @ordered
49 */
50 protected Symbol resultType;
51
52 /**
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 protected ExternAggregationOperatorDeclarationImpl() {
58 super();
59 }
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 @Override
67 protected EClass eStaticClass() {
68 return SolverLanguagePackage.Literals.EXTERN_AGGREGATION_OPERATOR_DECLARATION;
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 public Symbol getArgumentType() {
77 if (argumentType != null && argumentType.eIsProxy()) {
78 InternalEObject oldArgumentType = (InternalEObject) argumentType;
79 argumentType = (Symbol) eResolveProxy(oldArgumentType);
80 if (argumentType != oldArgumentType) {
81 if (eNotificationRequired())
82 eNotify(new ENotificationImpl(this, Notification.RESOLVE,
83 SolverLanguagePackage.EXTERN_AGGREGATION_OPERATOR_DECLARATION__ARGUMENT_TYPE,
84 oldArgumentType, argumentType));
85 }
86 }
87 return argumentType;
88 }
89
90 /**
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @generated
94 */
95 public Symbol basicGetArgumentType() {
96 return argumentType;
97 }
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 public void setArgumentType(Symbol newArgumentType) {
105 Symbol oldArgumentType = argumentType;
106 argumentType = newArgumentType;
107 if (eNotificationRequired())
108 eNotify(new ENotificationImpl(this, Notification.SET,
109 SolverLanguagePackage.EXTERN_AGGREGATION_OPERATOR_DECLARATION__ARGUMENT_TYPE, oldArgumentType,
110 argumentType));
111 }
112
113 /**
114 * <!-- begin-user-doc -->
115 * <!-- end-user-doc -->
116 * @generated
117 */
118 public Symbol getResultType() {
119 if (resultType != null && resultType.eIsProxy()) {
120 InternalEObject oldResultType = (InternalEObject) resultType;
121 resultType = (Symbol) eResolveProxy(oldResultType);
122 if (resultType != oldResultType) {
123 if (eNotificationRequired())
124 eNotify(new ENotificationImpl(this, Notification.RESOLVE,
125 SolverLanguagePackage.EXTERN_AGGREGATION_OPERATOR_DECLARATION__RESULT_TYPE, oldResultType,
126 resultType));
127 }
128 }
129 return resultType;
130 }
131
132 /**
133 * <!-- begin-user-doc -->
134 * <!-- end-user-doc -->
135 * @generated
136 */
137 public Symbol basicGetResultType() {
138 return resultType;
139 }
140
141 /**
142 * <!-- begin-user-doc -->
143 * <!-- end-user-doc -->
144 * @generated
145 */
146 public void setResultType(Symbol newResultType) {
147 Symbol oldResultType = resultType;
148 resultType = newResultType;
149 if (eNotificationRequired())
150 eNotify(new ENotificationImpl(this, Notification.SET,
151 SolverLanguagePackage.EXTERN_AGGREGATION_OPERATOR_DECLARATION__RESULT_TYPE, oldResultType,
152 resultType));
153 }
154
155 /**
156 * <!-- begin-user-doc -->
157 * <!-- end-user-doc -->
158 * @generated
159 */
160 @Override
161 public Object eGet(int featureID, boolean resolve, boolean coreType) {
162 switch (featureID) {
163 case SolverLanguagePackage.EXTERN_AGGREGATION_OPERATOR_DECLARATION__ARGUMENT_TYPE:
164 if (resolve)
165 return getArgumentType();
166 return basicGetArgumentType();
167 case SolverLanguagePackage.EXTERN_AGGREGATION_OPERATOR_DECLARATION__RESULT_TYPE:
168 if (resolve)
169 return getResultType();
170 return basicGetResultType();
171 }
172 return super.eGet(featureID, resolve, coreType);
173 }
174
175 /**
176 * <!-- begin-user-doc -->
177 * <!-- end-user-doc -->
178 * @generated
179 */
180 @Override
181 public void eSet(int featureID, Object newValue) {
182 switch (featureID) {
183 case SolverLanguagePackage.EXTERN_AGGREGATION_OPERATOR_DECLARATION__ARGUMENT_TYPE:
184 setArgumentType((Symbol) newValue);
185 return;
186 case SolverLanguagePackage.EXTERN_AGGREGATION_OPERATOR_DECLARATION__RESULT_TYPE:
187 setResultType((Symbol) newValue);
188 return;
189 }
190 super.eSet(featureID, newValue);
191 }
192
193 /**
194 * <!-- begin-user-doc -->
195 * <!-- end-user-doc -->
196 * @generated
197 */
198 @Override
199 public void eUnset(int featureID) {
200 switch (featureID) {
201 case SolverLanguagePackage.EXTERN_AGGREGATION_OPERATOR_DECLARATION__ARGUMENT_TYPE:
202 setArgumentType((Symbol) null);
203 return;
204 case SolverLanguagePackage.EXTERN_AGGREGATION_OPERATOR_DECLARATION__RESULT_TYPE:
205 setResultType((Symbol) null);
206 return;
207 }
208 super.eUnset(featureID);
209 }
210
211 /**
212 * <!-- begin-user-doc -->
213 * <!-- end-user-doc -->
214 * @generated
215 */
216 @Override
217 public boolean eIsSet(int featureID) {
218 switch (featureID) {
219 case SolverLanguagePackage.EXTERN_AGGREGATION_OPERATOR_DECLARATION__ARGUMENT_TYPE:
220 return argumentType != null;
221 case SolverLanguagePackage.EXTERN_AGGREGATION_OPERATOR_DECLARATION__RESULT_TYPE:
222 return resultType != null;
223 }
224 return super.eIsSet(featureID);
225 }
226
227} //ExternAggregationOperatorDeclarationImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternDatatypeDeclarationImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternDatatypeDeclarationImpl.java
new file mode 100644
index 00000000..f2411a6b
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternDatatypeDeclarationImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDeclaration;
8import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Extern Datatype Declaration</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class ExternDatatypeDeclarationImpl extends ExternDeclarationImpl implements ExternDatatypeDeclaration {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected ExternDatatypeDeclarationImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return SolverLanguagePackage.Literals.EXTERN_DATATYPE_DECLARATION;
35 }
36
37} //ExternDatatypeDeclarationImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternDeclarationImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternDeclarationImpl.java
new file mode 100644
index 00000000..4086decd
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternDeclarationImpl.java
@@ -0,0 +1,164 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.ExternDeclaration;
12import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
13
14/**
15 * <!-- begin-user-doc -->
16 * An implementation of the model object '<em><b>Extern Declaration</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.solverLanguage.impl.ExternDeclarationImpl#getName <em>Name</em>}</li>
23 * </ul>
24 *
25 * @generated
26 */
27public abstract class ExternDeclarationImpl extends StatementImpl implements ExternDeclaration {
28 /**
29 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @see #getName()
33 * @generated
34 * @ordered
35 */
36 protected static final String NAME_EDEFAULT = null;
37
38 /**
39 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @see #getName()
43 * @generated
44 * @ordered
45 */
46 protected String name = NAME_EDEFAULT;
47
48 /**
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @generated
52 */
53 protected ExternDeclarationImpl() {
54 super();
55 }
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 @Override
63 protected EClass eStaticClass() {
64 return SolverLanguagePackage.Literals.EXTERN_DECLARATION;
65 }
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 public String getName() {
73 return name;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 public void setName(String newName) {
82 String oldName = name;
83 name = newName;
84 if (eNotificationRequired())
85 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_DECLARATION__NAME,
86 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 SolverLanguagePackage.EXTERN_DECLARATION__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 SolverLanguagePackage.EXTERN_DECLARATION__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 SolverLanguagePackage.EXTERN_DECLARATION__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 SolverLanguagePackage.EXTERN_DECLARATION__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} //ExternDeclarationImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternFunctionDeclarationImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternFunctionDeclarationImpl.java
new file mode 100644
index 00000000..83ec9f13
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternFunctionDeclarationImpl.java
@@ -0,0 +1,159 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.ExternFunctionDeclaration;
13import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
14import org.eclipse.viatra.solver.language.solverLanguage.Symbol;
15
16/**
17 * <!-- begin-user-doc -->
18 * An implementation of the model object '<em><b>Extern Function Declaration</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.solverLanguage.impl.ExternFunctionDeclarationImpl#getResultType <em>Result Type</em>}</li>
25 * </ul>
26 *
27 * @generated
28 */
29public class ExternFunctionDeclarationImpl extends ExternFunctorDeclarationImpl implements ExternFunctionDeclaration {
30 /**
31 * The cached value of the '{@link #getResultType() <em>Result Type</em>}' reference.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @see #getResultType()
35 * @generated
36 * @ordered
37 */
38 protected Symbol resultType;
39
40 /**
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @generated
44 */
45 protected ExternFunctionDeclarationImpl() {
46 super();
47 }
48
49 /**
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @generated
53 */
54 @Override
55 protected EClass eStaticClass() {
56 return SolverLanguagePackage.Literals.EXTERN_FUNCTION_DECLARATION;
57 }
58
59 /**
60 * <!-- begin-user-doc -->
61 * <!-- end-user-doc -->
62 * @generated
63 */
64 public Symbol getResultType() {
65 if (resultType != null && resultType.eIsProxy()) {
66 InternalEObject oldResultType = (InternalEObject) resultType;
67 resultType = (Symbol) eResolveProxy(oldResultType);
68 if (resultType != oldResultType) {
69 if (eNotificationRequired())
70 eNotify(new ENotificationImpl(this, Notification.RESOLVE,
71 SolverLanguagePackage.EXTERN_FUNCTION_DECLARATION__RESULT_TYPE, oldResultType, resultType));
72 }
73 }
74 return resultType;
75 }
76
77 /**
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @generated
81 */
82 public Symbol basicGetResultType() {
83 return resultType;
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 public void setResultType(Symbol newResultType) {
92 Symbol oldResultType = resultType;
93 resultType = newResultType;
94 if (eNotificationRequired())
95 eNotify(new ENotificationImpl(this, Notification.SET,
96 SolverLanguagePackage.EXTERN_FUNCTION_DECLARATION__RESULT_TYPE, oldResultType, resultType));
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 SolverLanguagePackage.EXTERN_FUNCTION_DECLARATION__RESULT_TYPE:
108 if (resolve)
109 return getResultType();
110 return basicGetResultType();
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 SolverLanguagePackage.EXTERN_FUNCTION_DECLARATION__RESULT_TYPE:
124 setResultType((Symbol) 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 SolverLanguagePackage.EXTERN_FUNCTION_DECLARATION__RESULT_TYPE:
139 setResultType((Symbol) 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 SolverLanguagePackage.EXTERN_FUNCTION_DECLARATION__RESULT_TYPE:
154 return resultType != null;
155 }
156 return super.eIsSet(featureID);
157 }
158
159} //ExternFunctionDeclarationImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternFunctorDeclarationImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternFunctorDeclarationImpl.java
new file mode 100644
index 00000000..f3c58b99
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternFunctorDeclarationImpl.java
@@ -0,0 +1,184 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.ArgumentList;
14import org.eclipse.viatra.solver.language.solverLanguage.ExternFunctorDeclaration;
15import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Extern Functor Declaration</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternFunctorDeclarationImpl#getArgumentList <em>Argument List</em>}</li>
26 * </ul>
27 *
28 * @generated
29 */
30public abstract class ExternFunctorDeclarationImpl extends ExternDeclarationImpl implements ExternFunctorDeclaration {
31 /**
32 * The cached value of the '{@link #getArgumentList() <em>Argument List</em>}' containment reference.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @see #getArgumentList()
36 * @generated
37 * @ordered
38 */
39 protected ArgumentList argumentList;
40
41 /**
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @generated
45 */
46 protected ExternFunctorDeclarationImpl() {
47 super();
48 }
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 @Override
56 protected EClass eStaticClass() {
57 return SolverLanguagePackage.Literals.EXTERN_FUNCTOR_DECLARATION;
58 }
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 public ArgumentList getArgumentList() {
66 return argumentList;
67 }
68
69 /**
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @generated
73 */
74 public NotificationChain basicSetArgumentList(ArgumentList newArgumentList, NotificationChain msgs) {
75 ArgumentList oldArgumentList = argumentList;
76 argumentList = newArgumentList;
77 if (eNotificationRequired()) {
78 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
79 SolverLanguagePackage.EXTERN_FUNCTOR_DECLARATION__ARGUMENT_LIST, oldArgumentList, newArgumentList);
80 if (msgs == null)
81 msgs = notification;
82 else
83 msgs.add(notification);
84 }
85 return msgs;
86 }
87
88 /**
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 */
93 public void setArgumentList(ArgumentList newArgumentList) {
94 if (newArgumentList != argumentList) {
95 NotificationChain msgs = null;
96 if (argumentList != null)
97 msgs = ((InternalEObject) argumentList).eInverseRemove(this,
98 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXTERN_FUNCTOR_DECLARATION__ARGUMENT_LIST, null,
99 msgs);
100 if (newArgumentList != null)
101 msgs = ((InternalEObject) newArgumentList).eInverseAdd(this,
102 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXTERN_FUNCTOR_DECLARATION__ARGUMENT_LIST, null,
103 msgs);
104 msgs = basicSetArgumentList(newArgumentList, msgs);
105 if (msgs != null)
106 msgs.dispatch();
107 } else if (eNotificationRequired())
108 eNotify(new ENotificationImpl(this, Notification.SET,
109 SolverLanguagePackage.EXTERN_FUNCTOR_DECLARATION__ARGUMENT_LIST, newArgumentList, newArgumentList));
110 }
111
112 /**
113 * <!-- begin-user-doc -->
114 * <!-- end-user-doc -->
115 * @generated
116 */
117 @Override
118 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
119 switch (featureID) {
120 case SolverLanguagePackage.EXTERN_FUNCTOR_DECLARATION__ARGUMENT_LIST:
121 return basicSetArgumentList(null, msgs);
122 }
123 return super.eInverseRemove(otherEnd, featureID, msgs);
124 }
125
126 /**
127 * <!-- begin-user-doc -->
128 * <!-- end-user-doc -->
129 * @generated
130 */
131 @Override
132 public Object eGet(int featureID, boolean resolve, boolean coreType) {
133 switch (featureID) {
134 case SolverLanguagePackage.EXTERN_FUNCTOR_DECLARATION__ARGUMENT_LIST:
135 return getArgumentList();
136 }
137 return super.eGet(featureID, resolve, coreType);
138 }
139
140 /**
141 * <!-- begin-user-doc -->
142 * <!-- end-user-doc -->
143 * @generated
144 */
145 @Override
146 public void eSet(int featureID, Object newValue) {
147 switch (featureID) {
148 case SolverLanguagePackage.EXTERN_FUNCTOR_DECLARATION__ARGUMENT_LIST:
149 setArgumentList((ArgumentList) 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 SolverLanguagePackage.EXTERN_FUNCTOR_DECLARATION__ARGUMENT_LIST:
164 setArgumentList((ArgumentList) null);
165 return;
166 }
167 super.eUnset(featureID);
168 }
169
170 /**
171 * <!-- begin-user-doc -->
172 * <!-- end-user-doc -->
173 * @generated
174 */
175 @Override
176 public boolean eIsSet(int featureID) {
177 switch (featureID) {
178 case SolverLanguagePackage.EXTERN_FUNCTOR_DECLARATION__ARGUMENT_LIST:
179 return argumentList != null;
180 }
181 return super.eIsSet(featureID);
182 }
183
184} //ExternFunctorDeclarationImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternPredicateDeclarationImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternPredicateDeclarationImpl.java
new file mode 100644
index 00000000..fa6646bf
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternPredicateDeclarationImpl.java
@@ -0,0 +1,260 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.ExternPredicateDeclaration;
12import org.eclipse.viatra.solver.language.solverLanguage.InlinePredicateAttrributes;
13import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>Extern Predicate Declaration</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.solverLanguage.impl.ExternPredicateDeclarationImpl#isError <em>Error</em>}</li>
24 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDeclarationImpl#isFunctional <em>Functional</em>}</li>
25 * </ul>
26 *
27 * @generated
28 */
29public class ExternPredicateDeclarationImpl extends ExternFunctorDeclarationImpl implements ExternPredicateDeclaration {
30 /**
31 * The default value of the '{@link #isError() <em>Error</em>}' attribute.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @see #isError()
35 * @generated
36 * @ordered
37 */
38 protected static final boolean ERROR_EDEFAULT = false;
39
40 /**
41 * The cached value of the '{@link #isError() <em>Error</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @see #isError()
45 * @generated
46 * @ordered
47 */
48 protected boolean error = ERROR_EDEFAULT;
49
50 /**
51 * The default value of the '{@link #isFunctional() <em>Functional</em>}' attribute.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @see #isFunctional()
55 * @generated
56 * @ordered
57 */
58 protected static final boolean FUNCTIONAL_EDEFAULT = false;
59
60 /**
61 * The cached value of the '{@link #isFunctional() <em>Functional</em>}' attribute.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @see #isFunctional()
65 * @generated
66 * @ordered
67 */
68 protected boolean functional = FUNCTIONAL_EDEFAULT;
69
70 /**
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @generated
74 */
75 protected ExternPredicateDeclarationImpl() {
76 super();
77 }
78
79 /**
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @generated
83 */
84 @Override
85 protected EClass eStaticClass() {
86 return SolverLanguagePackage.Literals.EXTERN_PREDICATE_DECLARATION;
87 }
88
89 /**
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @generated
93 */
94 public boolean isError() {
95 return error;
96 }
97
98 /**
99 * <!-- begin-user-doc -->
100 * <!-- end-user-doc -->
101 * @generated
102 */
103 public void setError(boolean newError) {
104 boolean oldError = error;
105 error = newError;
106 if (eNotificationRequired())
107 eNotify(new ENotificationImpl(this, Notification.SET,
108 SolverLanguagePackage.EXTERN_PREDICATE_DECLARATION__ERROR, oldError, error));
109 }
110
111 /**
112 * <!-- begin-user-doc -->
113 * <!-- end-user-doc -->
114 * @generated
115 */
116 public boolean isFunctional() {
117 return functional;
118 }
119
120 /**
121 * <!-- begin-user-doc -->
122 * <!-- end-user-doc -->
123 * @generated
124 */
125 public void setFunctional(boolean newFunctional) {
126 boolean oldFunctional = functional;
127 functional = newFunctional;
128 if (eNotificationRequired())
129 eNotify(new ENotificationImpl(this, Notification.SET,
130 SolverLanguagePackage.EXTERN_PREDICATE_DECLARATION__FUNCTIONAL, oldFunctional, functional));
131 }
132
133 /**
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 */
138 @Override
139 public Object eGet(int featureID, boolean resolve, boolean coreType) {
140 switch (featureID) {
141 case SolverLanguagePackage.EXTERN_PREDICATE_DECLARATION__ERROR:
142 return isError();
143 case SolverLanguagePackage.EXTERN_PREDICATE_DECLARATION__FUNCTIONAL:
144 return isFunctional();
145 }
146 return super.eGet(featureID, resolve, coreType);
147 }
148
149 /**
150 * <!-- begin-user-doc -->
151 * <!-- end-user-doc -->
152 * @generated
153 */
154 @Override
155 public void eSet(int featureID, Object newValue) {
156 switch (featureID) {
157 case SolverLanguagePackage.EXTERN_PREDICATE_DECLARATION__ERROR:
158 setError((Boolean) newValue);
159 return;
160 case SolverLanguagePackage.EXTERN_PREDICATE_DECLARATION__FUNCTIONAL:
161 setFunctional((Boolean) newValue);
162 return;
163 }
164 super.eSet(featureID, newValue);
165 }
166
167 /**
168 * <!-- begin-user-doc -->
169 * <!-- end-user-doc -->
170 * @generated
171 */
172 @Override
173 public void eUnset(int featureID) {
174 switch (featureID) {
175 case SolverLanguagePackage.EXTERN_PREDICATE_DECLARATION__ERROR:
176 setError(ERROR_EDEFAULT);
177 return;
178 case SolverLanguagePackage.EXTERN_PREDICATE_DECLARATION__FUNCTIONAL:
179 setFunctional(FUNCTIONAL_EDEFAULT);
180 return;
181 }
182 super.eUnset(featureID);
183 }
184
185 /**
186 * <!-- begin-user-doc -->
187 * <!-- end-user-doc -->
188 * @generated
189 */
190 @Override
191 public boolean eIsSet(int featureID) {
192 switch (featureID) {
193 case SolverLanguagePackage.EXTERN_PREDICATE_DECLARATION__ERROR:
194 return error != ERROR_EDEFAULT;
195 case SolverLanguagePackage.EXTERN_PREDICATE_DECLARATION__FUNCTIONAL:
196 return functional != FUNCTIONAL_EDEFAULT;
197 }
198 return super.eIsSet(featureID);
199 }
200
201 /**
202 * <!-- begin-user-doc -->
203 * <!-- end-user-doc -->
204 * @generated
205 */
206 @Override
207 public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
208 if (baseClass == InlinePredicateAttrributes.class) {
209 switch (derivedFeatureID) {
210 case SolverLanguagePackage.EXTERN_PREDICATE_DECLARATION__ERROR:
211 return SolverLanguagePackage.INLINE_PREDICATE_ATTRRIBUTES__ERROR;
212 case SolverLanguagePackage.EXTERN_PREDICATE_DECLARATION__FUNCTIONAL:
213 return SolverLanguagePackage.INLINE_PREDICATE_ATTRRIBUTES__FUNCTIONAL;
214 default:
215 return -1;
216 }
217 }
218 return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
219 }
220
221 /**
222 * <!-- begin-user-doc -->
223 * <!-- end-user-doc -->
224 * @generated
225 */
226 @Override
227 public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
228 if (baseClass == InlinePredicateAttrributes.class) {
229 switch (baseFeatureID) {
230 case SolverLanguagePackage.INLINE_PREDICATE_ATTRRIBUTES__ERROR:
231 return SolverLanguagePackage.EXTERN_PREDICATE_DECLARATION__ERROR;
232 case SolverLanguagePackage.INLINE_PREDICATE_ATTRRIBUTES__FUNCTIONAL:
233 return SolverLanguagePackage.EXTERN_PREDICATE_DECLARATION__FUNCTIONAL;
234 default:
235 return -1;
236 }
237 }
238 return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
239 }
240
241 /**
242 * <!-- begin-user-doc -->
243 * <!-- end-user-doc -->
244 * @generated
245 */
246 @Override
247 public String toString() {
248 if (eIsProxy())
249 return super.toString();
250
251 StringBuilder result = new StringBuilder(super.toString());
252 result.append(" (error: ");
253 result.append(error);
254 result.append(", functional: ");
255 result.append(functional);
256 result.append(')');
257 return result.toString();
258 }
259
260} //ExternPredicateDeclarationImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FieldImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FieldImpl.java
new file mode 100644
index 00000000..20fc50b9
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FieldImpl.java
@@ -0,0 +1,488 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.Field;
15import org.eclipse.viatra.solver.language.solverLanguage.Multiplicity;
16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
17import org.eclipse.viatra.solver.language.solverLanguage.Symbol;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Field</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.solverLanguage.impl.FieldImpl#isContainment <em>Containment</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FieldImpl#isCrossReference <em>Cross Reference</em>}</li>
29 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FieldImpl#getOpposite <em>Opposite</em>}</li>
30 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FieldImpl#getMultiplicity <em>Multiplicity</em>}</li>
31 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FieldImpl#getType <em>Type</em>}</li>
32 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FieldImpl#getName <em>Name</em>}</li>
33 * </ul>
34 *
35 * @generated
36 */
37public class FieldImpl extends MinimalEObjectImpl.Container implements Field {
38 /**
39 * The default value of the '{@link #isContainment() <em>Containment</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @see #isContainment()
43 * @generated
44 * @ordered
45 */
46 protected static final boolean CONTAINMENT_EDEFAULT = false;
47
48 /**
49 * The cached value of the '{@link #isContainment() <em>Containment</em>}' attribute.
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @see #isContainment()
53 * @generated
54 * @ordered
55 */
56 protected boolean containment = CONTAINMENT_EDEFAULT;
57
58 /**
59 * The default value of the '{@link #isCrossReference() <em>Cross Reference</em>}' attribute.
60 * <!-- begin-user-doc -->
61 * <!-- end-user-doc -->
62 * @see #isCrossReference()
63 * @generated
64 * @ordered
65 */
66 protected static final boolean CROSS_REFERENCE_EDEFAULT = false;
67
68 /**
69 * The cached value of the '{@link #isCrossReference() <em>Cross Reference</em>}' attribute.
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @see #isCrossReference()
73 * @generated
74 * @ordered
75 */
76 protected boolean crossReference = CROSS_REFERENCE_EDEFAULT;
77
78 /**
79 * The cached value of the '{@link #getOpposite() <em>Opposite</em>}' reference.
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @see #getOpposite()
83 * @generated
84 * @ordered
85 */
86 protected Symbol opposite;
87
88 /**
89 * The cached value of the '{@link #getMultiplicity() <em>Multiplicity</em>}' containment reference.
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @see #getMultiplicity()
93 * @generated
94 * @ordered
95 */
96 protected Multiplicity multiplicity;
97
98 /**
99 * The cached value of the '{@link #getType() <em>Type</em>}' reference.
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @see #getType()
103 * @generated
104 * @ordered
105 */
106 protected Symbol type;
107
108 /**
109 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
110 * <!-- begin-user-doc -->
111 * <!-- end-user-doc -->
112 * @see #getName()
113 * @generated
114 * @ordered
115 */
116 protected static final String NAME_EDEFAULT = null;
117
118 /**
119 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @see #getName()
123 * @generated
124 * @ordered
125 */
126 protected String name = NAME_EDEFAULT;
127
128 /**
129 * <!-- begin-user-doc -->
130 * <!-- end-user-doc -->
131 * @generated
132 */
133 protected FieldImpl() {
134 super();
135 }
136
137 /**
138 * <!-- begin-user-doc -->
139 * <!-- end-user-doc -->
140 * @generated
141 */
142 @Override
143 protected EClass eStaticClass() {
144 return SolverLanguagePackage.Literals.FIELD;
145 }
146
147 /**
148 * <!-- begin-user-doc -->
149 * <!-- end-user-doc -->
150 * @generated
151 */
152 public boolean isContainment() {
153 return containment;
154 }
155
156 /**
157 * <!-- begin-user-doc -->
158 * <!-- end-user-doc -->
159 * @generated
160 */
161 public void setContainment(boolean newContainment) {
162 boolean oldContainment = containment;
163 containment = newContainment;
164 if (eNotificationRequired())
165 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FIELD__CONTAINMENT,
166 oldContainment, containment));
167 }
168
169 /**
170 * <!-- begin-user-doc -->
171 * <!-- end-user-doc -->
172 * @generated
173 */
174 public boolean isCrossReference() {
175 return crossReference;
176 }
177
178 /**
179 * <!-- begin-user-doc -->
180 * <!-- end-user-doc -->
181 * @generated
182 */
183 public void setCrossReference(boolean newCrossReference) {
184 boolean oldCrossReference = crossReference;
185 crossReference = newCrossReference;
186 if (eNotificationRequired())
187 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FIELD__CROSS_REFERENCE,
188 oldCrossReference, crossReference));
189 }
190
191 /**
192 * <!-- begin-user-doc -->
193 * <!-- end-user-doc -->
194 * @generated
195 */
196 public Symbol getOpposite() {
197 if (opposite != null && opposite.eIsProxy()) {
198 InternalEObject oldOpposite = (InternalEObject) opposite;
199 opposite = (Symbol) eResolveProxy(oldOpposite);
200 if (opposite != oldOpposite) {
201 if (eNotificationRequired())
202 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.FIELD__OPPOSITE,
203 oldOpposite, opposite));
204 }
205 }
206 return opposite;
207 }
208
209 /**
210 * <!-- begin-user-doc -->
211 * <!-- end-user-doc -->
212 * @generated
213 */
214 public Symbol basicGetOpposite() {
215 return opposite;
216 }
217
218 /**
219 * <!-- begin-user-doc -->
220 * <!-- end-user-doc -->
221 * @generated
222 */
223 public void setOpposite(Symbol newOpposite) {
224 Symbol oldOpposite = opposite;
225 opposite = newOpposite;
226 if (eNotificationRequired())
227 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FIELD__OPPOSITE, oldOpposite,
228 opposite));
229 }
230
231 /**
232 * <!-- begin-user-doc -->
233 * <!-- end-user-doc -->
234 * @generated
235 */
236 public Multiplicity getMultiplicity() {
237 return multiplicity;
238 }
239
240 /**
241 * <!-- begin-user-doc -->
242 * <!-- end-user-doc -->
243 * @generated
244 */
245 public NotificationChain basicSetMultiplicity(Multiplicity newMultiplicity, NotificationChain msgs) {
246 Multiplicity oldMultiplicity = multiplicity;
247 multiplicity = newMultiplicity;
248 if (eNotificationRequired()) {
249 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
250 SolverLanguagePackage.FIELD__MULTIPLICITY, oldMultiplicity, newMultiplicity);
251 if (msgs == null)
252 msgs = notification;
253 else
254 msgs.add(notification);
255 }
256 return msgs;
257 }
258
259 /**
260 * <!-- begin-user-doc -->
261 * <!-- end-user-doc -->
262 * @generated
263 */
264 public void setMultiplicity(Multiplicity newMultiplicity) {
265 if (newMultiplicity != multiplicity) {
266 NotificationChain msgs = null;
267 if (multiplicity != null)
268 msgs = ((InternalEObject) multiplicity).eInverseRemove(this,
269 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.FIELD__MULTIPLICITY, null, msgs);
270 if (newMultiplicity != null)
271 msgs = ((InternalEObject) newMultiplicity).eInverseAdd(this,
272 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.FIELD__MULTIPLICITY, null, msgs);
273 msgs = basicSetMultiplicity(newMultiplicity, msgs);
274 if (msgs != null)
275 msgs.dispatch();
276 } else if (eNotificationRequired())
277 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FIELD__MULTIPLICITY,
278 newMultiplicity, newMultiplicity));
279 }
280
281 /**
282 * <!-- begin-user-doc -->
283 * <!-- end-user-doc -->
284 * @generated
285 */
286 public Symbol getType() {
287 if (type != null && type.eIsProxy()) {
288 InternalEObject oldType = (InternalEObject) type;
289 type = (Symbol) eResolveProxy(oldType);
290 if (type != oldType) {
291 if (eNotificationRequired())
292 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.FIELD__TYPE,
293 oldType, type));
294 }
295 }
296 return type;
297 }
298
299 /**
300 * <!-- begin-user-doc -->
301 * <!-- end-user-doc -->
302 * @generated
303 */
304 public Symbol basicGetType() {
305 return type;
306 }
307
308 /**
309 * <!-- begin-user-doc -->
310 * <!-- end-user-doc -->
311 * @generated
312 */
313 public void setType(Symbol newType) {
314 Symbol oldType = type;
315 type = newType;
316 if (eNotificationRequired())
317 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FIELD__TYPE, oldType, type));
318 }
319
320 /**
321 * <!-- begin-user-doc -->
322 * <!-- end-user-doc -->
323 * @generated
324 */
325 public String getName() {
326 return name;
327 }
328
329 /**
330 * <!-- begin-user-doc -->
331 * <!-- end-user-doc -->
332 * @generated
333 */
334 public void setName(String newName) {
335 String oldName = name;
336 name = newName;
337 if (eNotificationRequired())
338 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FIELD__NAME, oldName, name));
339 }
340
341 /**
342 * <!-- begin-user-doc -->
343 * <!-- end-user-doc -->
344 * @generated
345 */
346 @Override
347 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
348 switch (featureID) {
349 case SolverLanguagePackage.FIELD__MULTIPLICITY:
350 return basicSetMultiplicity(null, msgs);
351 }
352 return super.eInverseRemove(otherEnd, featureID, msgs);
353 }
354
355 /**
356 * <!-- begin-user-doc -->
357 * <!-- end-user-doc -->
358 * @generated
359 */
360 @Override
361 public Object eGet(int featureID, boolean resolve, boolean coreType) {
362 switch (featureID) {
363 case SolverLanguagePackage.FIELD__CONTAINMENT:
364 return isContainment();
365 case SolverLanguagePackage.FIELD__CROSS_REFERENCE:
366 return isCrossReference();
367 case SolverLanguagePackage.FIELD__OPPOSITE:
368 if (resolve)
369 return getOpposite();
370 return basicGetOpposite();
371 case SolverLanguagePackage.FIELD__MULTIPLICITY:
372 return getMultiplicity();
373 case SolverLanguagePackage.FIELD__TYPE:
374 if (resolve)
375 return getType();
376 return basicGetType();
377 case SolverLanguagePackage.FIELD__NAME:
378 return getName();
379 }
380 return super.eGet(featureID, resolve, coreType);
381 }
382
383 /**
384 * <!-- begin-user-doc -->
385 * <!-- end-user-doc -->
386 * @generated
387 */
388 @Override
389 public void eSet(int featureID, Object newValue) {
390 switch (featureID) {
391 case SolverLanguagePackage.FIELD__CONTAINMENT:
392 setContainment((Boolean) newValue);
393 return;
394 case SolverLanguagePackage.FIELD__CROSS_REFERENCE:
395 setCrossReference((Boolean) newValue);
396 return;
397 case SolverLanguagePackage.FIELD__OPPOSITE:
398 setOpposite((Symbol) newValue);
399 return;
400 case SolverLanguagePackage.FIELD__MULTIPLICITY:
401 setMultiplicity((Multiplicity) newValue);
402 return;
403 case SolverLanguagePackage.FIELD__TYPE:
404 setType((Symbol) newValue);
405 return;
406 case SolverLanguagePackage.FIELD__NAME:
407 setName((String) newValue);
408 return;
409 }
410 super.eSet(featureID, newValue);
411 }
412
413 /**
414 * <!-- begin-user-doc -->
415 * <!-- end-user-doc -->
416 * @generated
417 */
418 @Override
419 public void eUnset(int featureID) {
420 switch (featureID) {
421 case SolverLanguagePackage.FIELD__CONTAINMENT:
422 setContainment(CONTAINMENT_EDEFAULT);
423 return;
424 case SolverLanguagePackage.FIELD__CROSS_REFERENCE:
425 setCrossReference(CROSS_REFERENCE_EDEFAULT);
426 return;
427 case SolverLanguagePackage.FIELD__OPPOSITE:
428 setOpposite((Symbol) null);
429 return;
430 case SolverLanguagePackage.FIELD__MULTIPLICITY:
431 setMultiplicity((Multiplicity) null);
432 return;
433 case SolverLanguagePackage.FIELD__TYPE:
434 setType((Symbol) null);
435 return;
436 case SolverLanguagePackage.FIELD__NAME:
437 setName(NAME_EDEFAULT);
438 return;
439 }
440 super.eUnset(featureID);
441 }
442
443 /**
444 * <!-- begin-user-doc -->
445 * <!-- end-user-doc -->
446 * @generated
447 */
448 @Override
449 public boolean eIsSet(int featureID) {
450 switch (featureID) {
451 case SolverLanguagePackage.FIELD__CONTAINMENT:
452 return containment != CONTAINMENT_EDEFAULT;
453 case SolverLanguagePackage.FIELD__CROSS_REFERENCE:
454 return crossReference != CROSS_REFERENCE_EDEFAULT;
455 case SolverLanguagePackage.FIELD__OPPOSITE:
456 return opposite != null;
457 case SolverLanguagePackage.FIELD__MULTIPLICITY:
458 return multiplicity != null;
459 case SolverLanguagePackage.FIELD__TYPE:
460 return type != null;
461 case SolverLanguagePackage.FIELD__NAME:
462 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
463 }
464 return super.eIsSet(featureID);
465 }
466
467 /**
468 * <!-- begin-user-doc -->
469 * <!-- end-user-doc -->
470 * @generated
471 */
472 @Override
473 public String toString() {
474 if (eIsProxy())
475 return super.toString();
476
477 StringBuilder result = new StringBuilder(super.toString());
478 result.append(" (containment: ");
479 result.append(containment);
480 result.append(", crossReference: ");
481 result.append(crossReference);
482 result.append(", name: ");
483 result.append(name);
484 result.append(')');
485 return result.toString();
486 }
487
488} //FieldImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ForallImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ForallImpl.java
new file mode 100644
index 00000000..0007f67f
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ForallImpl.java
@@ -0,0 +1,182 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.Expression;
14import org.eclipse.viatra.solver.language.solverLanguage.Forall;
15import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Forall</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ForallImpl#getBody <em>Body</em>}</li>
26 * </ul>
27 *
28 * @generated
29 */
30public class ForallImpl extends AggregateExpressionImpl implements Forall {
31 /**
32 * The cached value of the '{@link #getBody() <em>Body</em>}' containment reference.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @see #getBody()
36 * @generated
37 * @ordered
38 */
39 protected Expression body;
40
41 /**
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @generated
45 */
46 protected ForallImpl() {
47 super();
48 }
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 @Override
56 protected EClass eStaticClass() {
57 return SolverLanguagePackage.Literals.FORALL;
58 }
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 public Expression getBody() {
66 return body;
67 }
68
69 /**
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @generated
73 */
74 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs) {
75 Expression oldBody = body;
76 body = newBody;
77 if (eNotificationRequired()) {
78 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
79 SolverLanguagePackage.FORALL__BODY, oldBody, newBody);
80 if (msgs == null)
81 msgs = notification;
82 else
83 msgs.add(notification);
84 }
85 return msgs;
86 }
87
88 /**
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 */
93 public void setBody(Expression newBody) {
94 if (newBody != body) {
95 NotificationChain msgs = null;
96 if (body != null)
97 msgs = ((InternalEObject) body).eInverseRemove(this,
98 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.FORALL__BODY, null, msgs);
99 if (newBody != null)
100 msgs = ((InternalEObject) newBody).eInverseAdd(this,
101 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.FORALL__BODY, null, msgs);
102 msgs = basicSetBody(newBody, msgs);
103 if (msgs != null)
104 msgs.dispatch();
105 } else if (eNotificationRequired())
106 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FORALL__BODY, newBody,
107 newBody));
108 }
109
110 /**
111 * <!-- begin-user-doc -->
112 * <!-- end-user-doc -->
113 * @generated
114 */
115 @Override
116 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
117 switch (featureID) {
118 case SolverLanguagePackage.FORALL__BODY:
119 return basicSetBody(null, msgs);
120 }
121 return super.eInverseRemove(otherEnd, featureID, msgs);
122 }
123
124 /**
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @generated
128 */
129 @Override
130 public Object eGet(int featureID, boolean resolve, boolean coreType) {
131 switch (featureID) {
132 case SolverLanguagePackage.FORALL__BODY:
133 return getBody();
134 }
135 return super.eGet(featureID, resolve, coreType);
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 @Override
144 public void eSet(int featureID, Object newValue) {
145 switch (featureID) {
146 case SolverLanguagePackage.FORALL__BODY:
147 setBody((Expression) newValue);
148 return;
149 }
150 super.eSet(featureID, newValue);
151 }
152
153 /**
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @generated
157 */
158 @Override
159 public void eUnset(int featureID) {
160 switch (featureID) {
161 case SolverLanguagePackage.FORALL__BODY:
162 setBody((Expression) null);
163 return;
164 }
165 super.eUnset(featureID);
166 }
167
168 /**
169 * <!-- begin-user-doc -->
170 * <!-- end-user-doc -->
171 * @generated
172 */
173 @Override
174 public boolean eIsSet(int featureID) {
175 switch (featureID) {
176 case SolverLanguagePackage.FORALL__BODY:
177 return body != null;
178 }
179 return super.eIsSet(featureID);
180 }
181
182} //ForallImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctionDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctionDefinitionImpl.java
new file mode 100644
index 00000000..9fa59d1c
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctionDefinitionImpl.java
@@ -0,0 +1,159 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.FunctionDefinition;
13import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
14import org.eclipse.viatra.solver.language.solverLanguage.Symbol;
15
16/**
17 * <!-- begin-user-doc -->
18 * An implementation of the model object '<em><b>Function Definition</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.solverLanguage.impl.FunctionDefinitionImpl#getResultType <em>Result Type</em>}</li>
25 * </ul>
26 *
27 * @generated
28 */
29public class FunctionDefinitionImpl extends FunctorDefinitonImpl implements FunctionDefinition {
30 /**
31 * The cached value of the '{@link #getResultType() <em>Result Type</em>}' reference.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @see #getResultType()
35 * @generated
36 * @ordered
37 */
38 protected Symbol resultType;
39
40 /**
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @generated
44 */
45 protected FunctionDefinitionImpl() {
46 super();
47 }
48
49 /**
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @generated
53 */
54 @Override
55 protected EClass eStaticClass() {
56 return SolverLanguagePackage.Literals.FUNCTION_DEFINITION;
57 }
58
59 /**
60 * <!-- begin-user-doc -->
61 * <!-- end-user-doc -->
62 * @generated
63 */
64 public Symbol getResultType() {
65 if (resultType != null && resultType.eIsProxy()) {
66 InternalEObject oldResultType = (InternalEObject) resultType;
67 resultType = (Symbol) eResolveProxy(oldResultType);
68 if (resultType != oldResultType) {
69 if (eNotificationRequired())
70 eNotify(new ENotificationImpl(this, Notification.RESOLVE,
71 SolverLanguagePackage.FUNCTION_DEFINITION__RESULT_TYPE, oldResultType, resultType));
72 }
73 }
74 return resultType;
75 }
76
77 /**
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @generated
81 */
82 public Symbol basicGetResultType() {
83 return resultType;
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 public void setResultType(Symbol newResultType) {
92 Symbol oldResultType = resultType;
93 resultType = newResultType;
94 if (eNotificationRequired())
95 eNotify(new ENotificationImpl(this, Notification.SET,
96 SolverLanguagePackage.FUNCTION_DEFINITION__RESULT_TYPE, oldResultType, resultType));
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 SolverLanguagePackage.FUNCTION_DEFINITION__RESULT_TYPE:
108 if (resolve)
109 return getResultType();
110 return basicGetResultType();
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 SolverLanguagePackage.FUNCTION_DEFINITION__RESULT_TYPE:
124 setResultType((Symbol) 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 SolverLanguagePackage.FUNCTION_DEFINITION__RESULT_TYPE:
139 setResultType((Symbol) 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 SolverLanguagePackage.FUNCTION_DEFINITION__RESULT_TYPE:
154 return resultType != null;
155 }
156 return super.eIsSet(featureID);
157 }
158
159} //FunctionDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctionImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctionImpl.java
new file mode 100644
index 00000000..2a3e7e8b
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctionImpl.java
@@ -0,0 +1,159 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.Datatype;
13import org.eclipse.viatra.solver.language.solverLanguage.Function;
14import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
15
16/**
17 * <!-- begin-user-doc -->
18 * An implementation of the model object '<em><b>Function</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.solverLanguage.impl.FunctionImpl#getResultType <em>Result Type</em>}</li>
25 * </ul>
26 *
27 * @generated
28 */
29public abstract class FunctionImpl extends FunctorImpl implements Function {
30 /**
31 * The cached value of the '{@link #getResultType() <em>Result Type</em>}' reference.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @see #getResultType()
35 * @generated
36 * @ordered
37 */
38 protected Datatype resultType;
39
40 /**
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @generated
44 */
45 protected FunctionImpl() {
46 super();
47 }
48
49 /**
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @generated
53 */
54 @Override
55 protected EClass eStaticClass() {
56 return SolverLanguagePackage.Literals.FUNCTION;
57 }
58
59 /**
60 * <!-- begin-user-doc -->
61 * <!-- end-user-doc -->
62 * @generated
63 */
64 public Datatype getResultType() {
65 if (resultType != null && resultType.eIsProxy()) {
66 InternalEObject oldResultType = (InternalEObject) resultType;
67 resultType = (Datatype) eResolveProxy(oldResultType);
68 if (resultType != oldResultType) {
69 if (eNotificationRequired())
70 eNotify(new ENotificationImpl(this, Notification.RESOLVE,
71 SolverLanguagePackage.FUNCTION__RESULT_TYPE, oldResultType, resultType));
72 }
73 }
74 return resultType;
75 }
76
77 /**
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @generated
81 */
82 public Datatype basicGetResultType() {
83 return resultType;
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 public void setResultType(Datatype newResultType) {
92 Datatype oldResultType = resultType;
93 resultType = newResultType;
94 if (eNotificationRequired())
95 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FUNCTION__RESULT_TYPE,
96 oldResultType, resultType));
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 SolverLanguagePackage.FUNCTION__RESULT_TYPE:
108 if (resolve)
109 return getResultType();
110 return basicGetResultType();
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 SolverLanguagePackage.FUNCTION__RESULT_TYPE:
124 setResultType((Datatype) 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 SolverLanguagePackage.FUNCTION__RESULT_TYPE:
139 setResultType((Datatype) 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 SolverLanguagePackage.FUNCTION__RESULT_TYPE:
154 return resultType != null;
155 }
156 return super.eIsSet(featureID);
157 }
158
159} //FunctionImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctorDefinitonImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctorDefinitonImpl.java
new file mode 100644
index 00000000..0dff447f
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctorDefinitonImpl.java
@@ -0,0 +1,255 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.Expression;
14import org.eclipse.viatra.solver.language.solverLanguage.FunctorDefiniton;
15import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Functor Definiton</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FunctorDefinitonImpl#getHead <em>Head</em>}</li>
26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FunctorDefinitonImpl#getBody <em>Body</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public abstract class FunctorDefinitonImpl extends StatementImpl implements FunctorDefiniton {
32 /**
33 * The cached value of the '{@link #getHead() <em>Head</em>}' containment reference.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #getHead()
37 * @generated
38 * @ordered
39 */
40 protected Expression head;
41
42 /**
43 * The cached value of the '{@link #getBody() <em>Body</em>}' containment reference.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @see #getBody()
47 * @generated
48 * @ordered
49 */
50 protected Expression body;
51
52 /**
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 protected FunctorDefinitonImpl() {
58 super();
59 }
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 @Override
67 protected EClass eStaticClass() {
68 return SolverLanguagePackage.Literals.FUNCTOR_DEFINITON;
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 public Expression getHead() {
77 return head;
78 }
79
80 /**
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @generated
84 */
85 public NotificationChain basicSetHead(Expression newHead, NotificationChain msgs) {
86 Expression oldHead = head;
87 head = newHead;
88 if (eNotificationRequired()) {
89 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
90 SolverLanguagePackage.FUNCTOR_DEFINITON__HEAD, oldHead, newHead);
91 if (msgs == null)
92 msgs = notification;
93 else
94 msgs.add(notification);
95 }
96 return msgs;
97 }
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 public void setHead(Expression newHead) {
105 if (newHead != head) {
106 NotificationChain msgs = null;
107 if (head != null)
108 msgs = ((InternalEObject) head).eInverseRemove(this,
109 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.FUNCTOR_DEFINITON__HEAD, null, msgs);
110 if (newHead != null)
111 msgs = ((InternalEObject) newHead).eInverseAdd(this,
112 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.FUNCTOR_DEFINITON__HEAD, null, msgs);
113 msgs = basicSetHead(newHead, msgs);
114 if (msgs != null)
115 msgs.dispatch();
116 } else if (eNotificationRequired())
117 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FUNCTOR_DEFINITON__HEAD,
118 newHead, newHead));
119 }
120
121 /**
122 * <!-- begin-user-doc -->
123 * <!-- end-user-doc -->
124 * @generated
125 */
126 public Expression getBody() {
127 return body;
128 }
129
130 /**
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @generated
134 */
135 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs) {
136 Expression oldBody = body;
137 body = newBody;
138 if (eNotificationRequired()) {
139 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
140 SolverLanguagePackage.FUNCTOR_DEFINITON__BODY, oldBody, newBody);
141 if (msgs == null)
142 msgs = notification;
143 else
144 msgs.add(notification);
145 }
146 return msgs;
147 }
148
149 /**
150 * <!-- begin-user-doc -->
151 * <!-- end-user-doc -->
152 * @generated
153 */
154 public void setBody(Expression newBody) {
155 if (newBody != body) {
156 NotificationChain msgs = null;
157 if (body != null)
158 msgs = ((InternalEObject) body).eInverseRemove(this,
159 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.FUNCTOR_DEFINITON__BODY, null, msgs);
160 if (newBody != null)
161 msgs = ((InternalEObject) newBody).eInverseAdd(this,
162 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.FUNCTOR_DEFINITON__BODY, null, msgs);
163 msgs = basicSetBody(newBody, msgs);
164 if (msgs != null)
165 msgs.dispatch();
166 } else if (eNotificationRequired())
167 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FUNCTOR_DEFINITON__BODY,
168 newBody, newBody));
169 }
170
171 /**
172 * <!-- begin-user-doc -->
173 * <!-- end-user-doc -->
174 * @generated
175 */
176 @Override
177 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
178 switch (featureID) {
179 case SolverLanguagePackage.FUNCTOR_DEFINITON__HEAD:
180 return basicSetHead(null, msgs);
181 case SolverLanguagePackage.FUNCTOR_DEFINITON__BODY:
182 return basicSetBody(null, msgs);
183 }
184 return super.eInverseRemove(otherEnd, featureID, msgs);
185 }
186
187 /**
188 * <!-- begin-user-doc -->
189 * <!-- end-user-doc -->
190 * @generated
191 */
192 @Override
193 public Object eGet(int featureID, boolean resolve, boolean coreType) {
194 switch (featureID) {
195 case SolverLanguagePackage.FUNCTOR_DEFINITON__HEAD:
196 return getHead();
197 case SolverLanguagePackage.FUNCTOR_DEFINITON__BODY:
198 return getBody();
199 }
200 return super.eGet(featureID, resolve, coreType);
201 }
202
203 /**
204 * <!-- begin-user-doc -->
205 * <!-- end-user-doc -->
206 * @generated
207 */
208 @Override
209 public void eSet(int featureID, Object newValue) {
210 switch (featureID) {
211 case SolverLanguagePackage.FUNCTOR_DEFINITON__HEAD:
212 setHead((Expression) newValue);
213 return;
214 case SolverLanguagePackage.FUNCTOR_DEFINITON__BODY:
215 setBody((Expression) newValue);
216 return;
217 }
218 super.eSet(featureID, newValue);
219 }
220
221 /**
222 * <!-- begin-user-doc -->
223 * <!-- end-user-doc -->
224 * @generated
225 */
226 @Override
227 public void eUnset(int featureID) {
228 switch (featureID) {
229 case SolverLanguagePackage.FUNCTOR_DEFINITON__HEAD:
230 setHead((Expression) null);
231 return;
232 case SolverLanguagePackage.FUNCTOR_DEFINITON__BODY:
233 setBody((Expression) null);
234 return;
235 }
236 super.eUnset(featureID);
237 }
238
239 /**
240 * <!-- begin-user-doc -->
241 * <!-- end-user-doc -->
242 * @generated
243 */
244 @Override
245 public boolean eIsSet(int featureID) {
246 switch (featureID) {
247 case SolverLanguagePackage.FUNCTOR_DEFINITON__HEAD:
248 return head != null;
249 case SolverLanguagePackage.FUNCTOR_DEFINITON__BODY:
250 return body != null;
251 }
252 return super.eIsSet(featureID);
253 }
254
255} //FunctorDefinitonImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctorImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctorImpl.java
new file mode 100644
index 00000000..f0003552
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctorImpl.java
@@ -0,0 +1,151 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.util.EObjectContainmentEList;
15import org.eclipse.emf.ecore.util.InternalEList;
16
17import org.eclipse.viatra.solver.language.solverLanguage.Functor;
18import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
19import org.eclipse.viatra.solver.language.solverLanguage.Variable;
20
21/**
22 * <!-- begin-user-doc -->
23 * An implementation of the model object '<em><b>Functor</b></em>'.
24 * <!-- end-user-doc -->
25 * <p>
26 * The following features are implemented:
27 * </p>
28 * <ul>
29 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FunctorImpl#getParameters <em>Parameters</em>}</li>
30 * </ul>
31 *
32 * @generated
33 */
34public abstract class FunctorImpl extends SymbolImpl implements Functor {
35 /**
36 * The cached value of the '{@link #getParameters() <em>Parameters</em>}' containment reference list.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getParameters()
40 * @generated
41 * @ordered
42 */
43 protected EList<Variable> parameters;
44
45 /**
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @generated
49 */
50 protected FunctorImpl() {
51 super();
52 }
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 @Override
60 protected EClass eStaticClass() {
61 return SolverLanguagePackage.Literals.FUNCTOR;
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 public EList<Variable> getParameters() {
70 if (parameters == null) {
71 parameters = new EObjectContainmentEList<Variable>(Variable.class, this,
72 SolverLanguagePackage.FUNCTOR__PARAMETERS);
73 }
74 return parameters;
75 }
76
77 /**
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @generated
81 */
82 @Override
83 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
84 switch (featureID) {
85 case SolverLanguagePackage.FUNCTOR__PARAMETERS:
86 return ((InternalEList<?>) getParameters()).basicRemove(otherEnd, msgs);
87 }
88 return super.eInverseRemove(otherEnd, featureID, msgs);
89 }
90
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 @Override
97 public Object eGet(int featureID, boolean resolve, boolean coreType) {
98 switch (featureID) {
99 case SolverLanguagePackage.FUNCTOR__PARAMETERS:
100 return getParameters();
101 }
102 return super.eGet(featureID, resolve, coreType);
103 }
104
105 /**
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 @SuppressWarnings("unchecked")
111 @Override
112 public void eSet(int featureID, Object newValue) {
113 switch (featureID) {
114 case SolverLanguagePackage.FUNCTOR__PARAMETERS:
115 getParameters().clear();
116 getParameters().addAll((Collection<? extends Variable>) newValue);
117 return;
118 }
119 super.eSet(featureID, newValue);
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 @Override
128 public void eUnset(int featureID) {
129 switch (featureID) {
130 case SolverLanguagePackage.FUNCTOR__PARAMETERS:
131 getParameters().clear();
132 return;
133 }
134 super.eUnset(featureID);
135 }
136
137 /**
138 * <!-- begin-user-doc -->
139 * <!-- end-user-doc -->
140 * @generated
141 */
142 @Override
143 public boolean eIsSet(int featureID) {
144 switch (featureID) {
145 case SolverLanguagePackage.FUNCTOR__PARAMETERS:
146 return parameters != null && !parameters.isEmpty();
147 }
148 return super.eIsSet(featureID);
149 }
150
151} //FunctorImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ImportImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ImportImpl.java
new file mode 100644
index 00000000..5d37e837
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ImportImpl.java
@@ -0,0 +1,165 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.Import;
13import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>Import</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.solverLanguage.impl.ImportImpl#getAlias <em>Alias</em>}</li>
24 * </ul>
25 *
26 * @generated
27 */
28public class ImportImpl extends MinimalEObjectImpl.Container implements Import {
29 /**
30 * The default value of the '{@link #getAlias() <em>Alias</em>}' attribute.
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @see #getAlias()
34 * @generated
35 * @ordered
36 */
37 protected static final String ALIAS_EDEFAULT = null;
38
39 /**
40 * The cached value of the '{@link #getAlias() <em>Alias</em>}' attribute.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #getAlias()
44 * @generated
45 * @ordered
46 */
47 protected String alias = ALIAS_EDEFAULT;
48
49 /**
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @generated
53 */
54 protected ImportImpl() {
55 super();
56 }
57
58 /**
59 * <!-- begin-user-doc -->
60 * <!-- end-user-doc -->
61 * @generated
62 */
63 @Override
64 protected EClass eStaticClass() {
65 return SolverLanguagePackage.Literals.IMPORT;
66 }
67
68 /**
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @generated
72 */
73 public String getAlias() {
74 return alias;
75 }
76
77 /**
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @generated
81 */
82 public void setAlias(String newAlias) {
83 String oldAlias = alias;
84 alias = newAlias;
85 if (eNotificationRequired())
86 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.IMPORT__ALIAS, oldAlias,
87 alias));
88 }
89
90 /**
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @generated
94 */
95 @Override
96 public Object eGet(int featureID, boolean resolve, boolean coreType) {
97 switch (featureID) {
98 case SolverLanguagePackage.IMPORT__ALIAS:
99 return getAlias();
100 }
101 return super.eGet(featureID, resolve, coreType);
102 }
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 @Override
110 public void eSet(int featureID, Object newValue) {
111 switch (featureID) {
112 case SolverLanguagePackage.IMPORT__ALIAS:
113 setAlias((String) newValue);
114 return;
115 }
116 super.eSet(featureID, newValue);
117 }
118
119 /**
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 */
124 @Override
125 public void eUnset(int featureID) {
126 switch (featureID) {
127 case SolverLanguagePackage.IMPORT__ALIAS:
128 setAlias(ALIAS_EDEFAULT);
129 return;
130 }
131 super.eUnset(featureID);
132 }
133
134 /**
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @generated
138 */
139 @Override
140 public boolean eIsSet(int featureID) {
141 switch (featureID) {
142 case SolverLanguagePackage.IMPORT__ALIAS:
143 return ALIAS_EDEFAULT == null ? alias != null : !ALIAS_EDEFAULT.equals(alias);
144 }
145 return super.eIsSet(featureID);
146 }
147
148 /**
149 * <!-- begin-user-doc -->
150 * <!-- end-user-doc -->
151 * @generated
152 */
153 @Override
154 public String toString() {
155 if (eIsProxy())
156 return super.toString();
157
158 StringBuilder result = new StringBuilder(super.toString());
159 result.append(" (alias: ");
160 result.append(alias);
161 result.append(')');
162 return result.toString();
163 }
164
165} //ImportImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InfinityLiteralImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InfinityLiteralImpl.java
new file mode 100644
index 00000000..ab6025ff
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InfinityLiteralImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral;
8import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Infinity Literal</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class InfinityLiteralImpl extends LiteralImpl implements InfinityLiteral {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected InfinityLiteralImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return SolverLanguagePackage.Literals.INFINITY_LITERAL;
35 }
36
37} //InfinityLiteralImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntLiteralImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntLiteralImpl.java
new file mode 100644
index 00000000..0e247f42
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntLiteralImpl.java
@@ -0,0 +1,164 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.IntLiteral;
12import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
13
14/**
15 * <!-- begin-user-doc -->
16 * An implementation of the model object '<em><b>Int Literal</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.solverLanguage.impl.IntLiteralImpl#getValue <em>Value</em>}</li>
23 * </ul>
24 *
25 * @generated
26 */
27public class IntLiteralImpl extends LiteralImpl implements IntLiteral {
28 /**
29 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @see #getValue()
33 * @generated
34 * @ordered
35 */
36 protected static final int VALUE_EDEFAULT = 0;
37
38 /**
39 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @see #getValue()
43 * @generated
44 * @ordered
45 */
46 protected int value = VALUE_EDEFAULT;
47
48 /**
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @generated
52 */
53 protected IntLiteralImpl() {
54 super();
55 }
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 @Override
63 protected EClass eStaticClass() {
64 return SolverLanguagePackage.Literals.INT_LITERAL;
65 }
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 public int getValue() {
73 return value;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 public void setValue(int newValue) {
82 int oldValue = value;
83 value = newValue;
84 if (eNotificationRequired())
85 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.INT_LITERAL__VALUE, oldValue,
86 value));
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 SolverLanguagePackage.INT_LITERAL__VALUE:
98 return getValue();
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 SolverLanguagePackage.INT_LITERAL__VALUE:
112 setValue((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 SolverLanguagePackage.INT_LITERAL__VALUE:
127 setValue(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 SolverLanguagePackage.INT_LITERAL__VALUE:
142 return value != 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(" (value: ");
159 result.append(value);
160 result.append(')');
161 return result.toString();
162 }
163
164} //IntLiteralImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntervalImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntervalImpl.java
new file mode 100644
index 00000000..d599db6d
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntervalImpl.java
@@ -0,0 +1,255 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.Expression;
14import org.eclipse.viatra.solver.language.solverLanguage.Interval;
15import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Interval</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntervalImpl#getLowerBound <em>Lower Bound</em>}</li>
26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntervalImpl#getUpperBound <em>Upper Bound</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public class IntervalImpl extends ExpressionImpl implements Interval {
32 /**
33 * The cached value of the '{@link #getLowerBound() <em>Lower Bound</em>}' containment reference.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #getLowerBound()
37 * @generated
38 * @ordered
39 */
40 protected Expression lowerBound;
41
42 /**
43 * The cached value of the '{@link #getUpperBound() <em>Upper Bound</em>}' containment reference.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @see #getUpperBound()
47 * @generated
48 * @ordered
49 */
50 protected Expression upperBound;
51
52 /**
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 protected IntervalImpl() {
58 super();
59 }
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 @Override
67 protected EClass eStaticClass() {
68 return SolverLanguagePackage.Literals.INTERVAL;
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 public Expression getLowerBound() {
77 return lowerBound;
78 }
79
80 /**
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @generated
84 */
85 public NotificationChain basicSetLowerBound(Expression newLowerBound, NotificationChain msgs) {
86 Expression oldLowerBound = lowerBound;
87 lowerBound = newLowerBound;
88 if (eNotificationRequired()) {
89 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
90 SolverLanguagePackage.INTERVAL__LOWER_BOUND, oldLowerBound, newLowerBound);
91 if (msgs == null)
92 msgs = notification;
93 else
94 msgs.add(notification);
95 }
96 return msgs;
97 }
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 public void setLowerBound(Expression newLowerBound) {
105 if (newLowerBound != lowerBound) {
106 NotificationChain msgs = null;
107 if (lowerBound != null)
108 msgs = ((InternalEObject) lowerBound).eInverseRemove(this,
109 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.INTERVAL__LOWER_BOUND, null, msgs);
110 if (newLowerBound != null)
111 msgs = ((InternalEObject) newLowerBound).eInverseAdd(this,
112 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.INTERVAL__LOWER_BOUND, null, msgs);
113 msgs = basicSetLowerBound(newLowerBound, msgs);
114 if (msgs != null)
115 msgs.dispatch();
116 } else if (eNotificationRequired())
117 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.INTERVAL__LOWER_BOUND,
118 newLowerBound, newLowerBound));
119 }
120
121 /**
122 * <!-- begin-user-doc -->
123 * <!-- end-user-doc -->
124 * @generated
125 */
126 public Expression getUpperBound() {
127 return upperBound;
128 }
129
130 /**
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @generated
134 */
135 public NotificationChain basicSetUpperBound(Expression newUpperBound, NotificationChain msgs) {
136 Expression oldUpperBound = upperBound;
137 upperBound = newUpperBound;
138 if (eNotificationRequired()) {
139 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
140 SolverLanguagePackage.INTERVAL__UPPER_BOUND, oldUpperBound, newUpperBound);
141 if (msgs == null)
142 msgs = notification;
143 else
144 msgs.add(notification);
145 }
146 return msgs;
147 }
148
149 /**
150 * <!-- begin-user-doc -->
151 * <!-- end-user-doc -->
152 * @generated
153 */
154 public void setUpperBound(Expression newUpperBound) {
155 if (newUpperBound != upperBound) {
156 NotificationChain msgs = null;
157 if (upperBound != null)
158 msgs = ((InternalEObject) upperBound).eInverseRemove(this,
159 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.INTERVAL__UPPER_BOUND, null, msgs);
160 if (newUpperBound != null)
161 msgs = ((InternalEObject) newUpperBound).eInverseAdd(this,
162 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.INTERVAL__UPPER_BOUND, null, msgs);
163 msgs = basicSetUpperBound(newUpperBound, msgs);
164 if (msgs != null)
165 msgs.dispatch();
166 } else if (eNotificationRequired())
167 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.INTERVAL__UPPER_BOUND,
168 newUpperBound, newUpperBound));
169 }
170
171 /**
172 * <!-- begin-user-doc -->
173 * <!-- end-user-doc -->
174 * @generated
175 */
176 @Override
177 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
178 switch (featureID) {
179 case SolverLanguagePackage.INTERVAL__LOWER_BOUND:
180 return basicSetLowerBound(null, msgs);
181 case SolverLanguagePackage.INTERVAL__UPPER_BOUND:
182 return basicSetUpperBound(null, msgs);
183 }
184 return super.eInverseRemove(otherEnd, featureID, msgs);
185 }
186
187 /**
188 * <!-- begin-user-doc -->
189 * <!-- end-user-doc -->
190 * @generated
191 */
192 @Override
193 public Object eGet(int featureID, boolean resolve, boolean coreType) {
194 switch (featureID) {
195 case SolverLanguagePackage.INTERVAL__LOWER_BOUND:
196 return getLowerBound();
197 case SolverLanguagePackage.INTERVAL__UPPER_BOUND:
198 return getUpperBound();
199 }
200 return super.eGet(featureID, resolve, coreType);
201 }
202
203 /**
204 * <!-- begin-user-doc -->
205 * <!-- end-user-doc -->
206 * @generated
207 */
208 @Override
209 public void eSet(int featureID, Object newValue) {
210 switch (featureID) {
211 case SolverLanguagePackage.INTERVAL__LOWER_BOUND:
212 setLowerBound((Expression) newValue);
213 return;
214 case SolverLanguagePackage.INTERVAL__UPPER_BOUND:
215 setUpperBound((Expression) newValue);
216 return;
217 }
218 super.eSet(featureID, newValue);
219 }
220
221 /**
222 * <!-- begin-user-doc -->
223 * <!-- end-user-doc -->
224 * @generated
225 */
226 @Override
227 public void eUnset(int featureID) {
228 switch (featureID) {
229 case SolverLanguagePackage.INTERVAL__LOWER_BOUND:
230 setLowerBound((Expression) null);
231 return;
232 case SolverLanguagePackage.INTERVAL__UPPER_BOUND:
233 setUpperBound((Expression) null);
234 return;
235 }
236 super.eUnset(featureID);
237 }
238
239 /**
240 * <!-- begin-user-doc -->
241 * <!-- end-user-doc -->
242 * @generated
243 */
244 @Override
245 public boolean eIsSet(int featureID) {
246 switch (featureID) {
247 case SolverLanguagePackage.INTERVAL__LOWER_BOUND:
248 return lowerBound != null;
249 case SolverLanguagePackage.INTERVAL__UPPER_BOUND:
250 return upperBound != null;
251 }
252 return super.eIsSet(featureID);
253 }
254
255} //IntervalImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetBindingImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetBindingImpl.java
new file mode 100644
index 00000000..1f724c55
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetBindingImpl.java
@@ -0,0 +1,391 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.Expression;
15import org.eclipse.viatra.solver.language.solverLanguage.LetBinding;
16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
17import org.eclipse.viatra.solver.language.solverLanguage.Symbol;
18import org.eclipse.viatra.solver.language.solverLanguage.Variable;
19
20/**
21 * <!-- begin-user-doc -->
22 * An implementation of the model object '<em><b>Let Binding</b></em>'.
23 * <!-- end-user-doc -->
24 * <p>
25 * The following features are implemented:
26 * </p>
27 * <ul>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LetBindingImpl#getValue <em>Value</em>}</li>
29 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LetBindingImpl#getVariable <em>Variable</em>}</li>
30 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LetBindingImpl#getName <em>Name</em>}</li>
31 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LetBindingImpl#getType <em>Type</em>}</li>
32 * </ul>
33 *
34 * @generated
35 */
36public class LetBindingImpl extends MinimalEObjectImpl.Container implements LetBinding {
37 /**
38 * The cached value of the '{@link #getValue() <em>Value</em>}' containment reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @see #getValue()
42 * @generated
43 * @ordered
44 */
45 protected Expression value;
46
47 /**
48 * The cached value of the '{@link #getVariable() <em>Variable</em>}' containment reference.
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @see #getVariable()
52 * @generated
53 * @ordered
54 */
55 protected Variable variable;
56
57 /**
58 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
59 * <!-- begin-user-doc -->
60 * <!-- end-user-doc -->
61 * @see #getName()
62 * @generated
63 * @ordered
64 */
65 protected static final String NAME_EDEFAULT = null;
66
67 /**
68 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @see #getName()
72 * @generated
73 * @ordered
74 */
75 protected String name = NAME_EDEFAULT;
76
77 /**
78 * The cached value of the '{@link #getType() <em>Type</em>}' reference.
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @see #getType()
82 * @generated
83 * @ordered
84 */
85 protected Symbol type;
86
87 /**
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @generated
91 */
92 protected LetBindingImpl() {
93 super();
94 }
95
96 /**
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @generated
100 */
101 @Override
102 protected EClass eStaticClass() {
103 return SolverLanguagePackage.Literals.LET_BINDING;
104 }
105
106 /**
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @generated
110 */
111 public Expression getValue() {
112 return value;
113 }
114
115 /**
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 */
120 public NotificationChain basicSetValue(Expression newValue, NotificationChain msgs) {
121 Expression oldValue = value;
122 value = newValue;
123 if (eNotificationRequired()) {
124 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
125 SolverLanguagePackage.LET_BINDING__VALUE, oldValue, newValue);
126 if (msgs == null)
127 msgs = notification;
128 else
129 msgs.add(notification);
130 }
131 return msgs;
132 }
133
134 /**
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @generated
138 */
139 public void setValue(Expression newValue) {
140 if (newValue != value) {
141 NotificationChain msgs = null;
142 if (value != null)
143 msgs = ((InternalEObject) value).eInverseRemove(this,
144 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.LET_BINDING__VALUE, null, msgs);
145 if (newValue != null)
146 msgs = ((InternalEObject) newValue).eInverseAdd(this,
147 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.LET_BINDING__VALUE, null, msgs);
148 msgs = basicSetValue(newValue, msgs);
149 if (msgs != null)
150 msgs.dispatch();
151 } else if (eNotificationRequired())
152 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.LET_BINDING__VALUE, newValue,
153 newValue));
154 }
155
156 /**
157 * <!-- begin-user-doc -->
158 * <!-- end-user-doc -->
159 * @generated
160 */
161 public Variable getVariable() {
162 return variable;
163 }
164
165 /**
166 * <!-- begin-user-doc -->
167 * <!-- end-user-doc -->
168 * @generated
169 */
170 public NotificationChain basicSetVariable(Variable newVariable, NotificationChain msgs) {
171 Variable oldVariable = variable;
172 variable = newVariable;
173 if (eNotificationRequired()) {
174 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
175 SolverLanguagePackage.LET_BINDING__VARIABLE, oldVariable, newVariable);
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 setVariable(Variable newVariable) {
190 if (newVariable != variable) {
191 NotificationChain msgs = null;
192 if (variable != null)
193 msgs = ((InternalEObject) variable).eInverseRemove(this,
194 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.LET_BINDING__VARIABLE, null, msgs);
195 if (newVariable != null)
196 msgs = ((InternalEObject) newVariable).eInverseAdd(this,
197 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.LET_BINDING__VARIABLE, null, msgs);
198 msgs = basicSetVariable(newVariable, msgs);
199 if (msgs != null)
200 msgs.dispatch();
201 } else if (eNotificationRequired())
202 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.LET_BINDING__VARIABLE,
203 newVariable, newVariable));
204 }
205
206 /**
207 * <!-- begin-user-doc -->
208 * <!-- end-user-doc -->
209 * @generated
210 */
211 public String getName() {
212 return name;
213 }
214
215 /**
216 * <!-- begin-user-doc -->
217 * <!-- end-user-doc -->
218 * @generated
219 */
220 public void setName(String newName) {
221 String oldName = name;
222 name = newName;
223 if (eNotificationRequired())
224 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.LET_BINDING__NAME, oldName,
225 name));
226 }
227
228 /**
229 * <!-- begin-user-doc -->
230 * <!-- end-user-doc -->
231 * @generated
232 */
233 public Symbol getType() {
234 if (type != null && type.eIsProxy()) {
235 InternalEObject oldType = (InternalEObject) type;
236 type = (Symbol) eResolveProxy(oldType);
237 if (type != oldType) {
238 if (eNotificationRequired())
239 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.LET_BINDING__TYPE,
240 oldType, type));
241 }
242 }
243 return type;
244 }
245
246 /**
247 * <!-- begin-user-doc -->
248 * <!-- end-user-doc -->
249 * @generated
250 */
251 public Symbol basicGetType() {
252 return type;
253 }
254
255 /**
256 * <!-- begin-user-doc -->
257 * <!-- end-user-doc -->
258 * @generated
259 */
260 public void setType(Symbol newType) {
261 Symbol oldType = type;
262 type = newType;
263 if (eNotificationRequired())
264 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.LET_BINDING__TYPE, oldType,
265 type));
266 }
267
268 /**
269 * <!-- begin-user-doc -->
270 * <!-- end-user-doc -->
271 * @generated
272 */
273 @Override
274 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
275 switch (featureID) {
276 case SolverLanguagePackage.LET_BINDING__VALUE:
277 return basicSetValue(null, msgs);
278 case SolverLanguagePackage.LET_BINDING__VARIABLE:
279 return basicSetVariable(null, msgs);
280 }
281 return super.eInverseRemove(otherEnd, featureID, msgs);
282 }
283
284 /**
285 * <!-- begin-user-doc -->
286 * <!-- end-user-doc -->
287 * @generated
288 */
289 @Override
290 public Object eGet(int featureID, boolean resolve, boolean coreType) {
291 switch (featureID) {
292 case SolverLanguagePackage.LET_BINDING__VALUE:
293 return getValue();
294 case SolverLanguagePackage.LET_BINDING__VARIABLE:
295 return getVariable();
296 case SolverLanguagePackage.LET_BINDING__NAME:
297 return getName();
298 case SolverLanguagePackage.LET_BINDING__TYPE:
299 if (resolve)
300 return getType();
301 return basicGetType();
302 }
303 return super.eGet(featureID, resolve, coreType);
304 }
305
306 /**
307 * <!-- begin-user-doc -->
308 * <!-- end-user-doc -->
309 * @generated
310 */
311 @Override
312 public void eSet(int featureID, Object newValue) {
313 switch (featureID) {
314 case SolverLanguagePackage.LET_BINDING__VALUE:
315 setValue((Expression) newValue);
316 return;
317 case SolverLanguagePackage.LET_BINDING__VARIABLE:
318 setVariable((Variable) newValue);
319 return;
320 case SolverLanguagePackage.LET_BINDING__NAME:
321 setName((String) newValue);
322 return;
323 case SolverLanguagePackage.LET_BINDING__TYPE:
324 setType((Symbol) newValue);
325 return;
326 }
327 super.eSet(featureID, newValue);
328 }
329
330 /**
331 * <!-- begin-user-doc -->
332 * <!-- end-user-doc -->
333 * @generated
334 */
335 @Override
336 public void eUnset(int featureID) {
337 switch (featureID) {
338 case SolverLanguagePackage.LET_BINDING__VALUE:
339 setValue((Expression) null);
340 return;
341 case SolverLanguagePackage.LET_BINDING__VARIABLE:
342 setVariable((Variable) null);
343 return;
344 case SolverLanguagePackage.LET_BINDING__NAME:
345 setName(NAME_EDEFAULT);
346 return;
347 case SolverLanguagePackage.LET_BINDING__TYPE:
348 setType((Symbol) null);
349 return;
350 }
351 super.eUnset(featureID);
352 }
353
354 /**
355 * <!-- begin-user-doc -->
356 * <!-- end-user-doc -->
357 * @generated
358 */
359 @Override
360 public boolean eIsSet(int featureID) {
361 switch (featureID) {
362 case SolverLanguagePackage.LET_BINDING__VALUE:
363 return value != null;
364 case SolverLanguagePackage.LET_BINDING__VARIABLE:
365 return variable != null;
366 case SolverLanguagePackage.LET_BINDING__NAME:
367 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
368 case SolverLanguagePackage.LET_BINDING__TYPE:
369 return type != null;
370 }
371 return super.eIsSet(featureID);
372 }
373
374 /**
375 * <!-- begin-user-doc -->
376 * <!-- end-user-doc -->
377 * @generated
378 */
379 @Override
380 public String toString() {
381 if (eIsProxy())
382 return super.toString();
383
384 StringBuilder result = new StringBuilder(super.toString());
385 result.append(" (name: ");
386 result.append(name);
387 result.append(')');
388 return result.toString();
389 }
390
391} //LetBindingImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetExpressionImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetExpressionImpl.java
new file mode 100644
index 00000000..2aa319c6
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetExpressionImpl.java
@@ -0,0 +1,228 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.Expression;
21import org.eclipse.viatra.solver.language.solverLanguage.LetBinding;
22import org.eclipse.viatra.solver.language.solverLanguage.LetExpression;
23import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
24
25/**
26 * <!-- begin-user-doc -->
27 * An implementation of the model object '<em><b>Let Expression</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.solverLanguage.impl.LetExpressionImpl#getBindings <em>Bindings</em>}</li>
34 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LetExpressionImpl#getBody <em>Body</em>}</li>
35 * </ul>
36 *
37 * @generated
38 */
39public class LetExpressionImpl extends ExpressionImpl implements LetExpression {
40 /**
41 * The cached value of the '{@link #getBindings() <em>Bindings</em>}' containment reference list.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @see #getBindings()
45 * @generated
46 * @ordered
47 */
48 protected EList<LetBinding> bindings;
49
50 /**
51 * The cached value of the '{@link #getBody() <em>Body</em>}' containment reference.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @see #getBody()
55 * @generated
56 * @ordered
57 */
58 protected Expression body;
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 protected LetExpressionImpl() {
66 super();
67 }
68
69 /**
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @generated
73 */
74 @Override
75 protected EClass eStaticClass() {
76 return SolverLanguagePackage.Literals.LET_EXPRESSION;
77 }
78
79 /**
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @generated
83 */
84 public EList<LetBinding> getBindings() {
85 if (bindings == null) {
86 bindings = new EObjectContainmentEList<LetBinding>(LetBinding.class, this,
87 SolverLanguagePackage.LET_EXPRESSION__BINDINGS);
88 }
89 return bindings;
90 }
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 public Expression getBody() {
98 return body;
99 }
100
101 /**
102 * <!-- begin-user-doc -->
103 * <!-- end-user-doc -->
104 * @generated
105 */
106 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs) {
107 Expression oldBody = body;
108 body = newBody;
109 if (eNotificationRequired()) {
110 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
111 SolverLanguagePackage.LET_EXPRESSION__BODY, oldBody, newBody);
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 setBody(Expression newBody) {
126 if (newBody != body) {
127 NotificationChain msgs = null;
128 if (body != null)
129 msgs = ((InternalEObject) body).eInverseRemove(this,
130 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.LET_EXPRESSION__BODY, null, msgs);
131 if (newBody != null)
132 msgs = ((InternalEObject) newBody).eInverseAdd(this,
133 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.LET_EXPRESSION__BODY, null, msgs);
134 msgs = basicSetBody(newBody, msgs);
135 if (msgs != null)
136 msgs.dispatch();
137 } else if (eNotificationRequired())
138 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.LET_EXPRESSION__BODY, newBody,
139 newBody));
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 SolverLanguagePackage.LET_EXPRESSION__BINDINGS:
151 return ((InternalEList<?>) getBindings()).basicRemove(otherEnd, msgs);
152 case SolverLanguagePackage.LET_EXPRESSION__BODY:
153 return basicSetBody(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 SolverLanguagePackage.LET_EXPRESSION__BINDINGS:
167 return getBindings();
168 case SolverLanguagePackage.LET_EXPRESSION__BODY:
169 return getBody();
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 SolverLanguagePackage.LET_EXPRESSION__BINDINGS:
184 getBindings().clear();
185 getBindings().addAll((Collection<? extends LetBinding>) newValue);
186 return;
187 case SolverLanguagePackage.LET_EXPRESSION__BODY:
188 setBody((Expression) 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 SolverLanguagePackage.LET_EXPRESSION__BINDINGS:
203 getBindings().clear();
204 return;
205 case SolverLanguagePackage.LET_EXPRESSION__BODY:
206 setBody((Expression) 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 SolverLanguagePackage.LET_EXPRESSION__BINDINGS:
221 return bindings != null && !bindings.isEmpty();
222 case SolverLanguagePackage.LET_EXPRESSION__BODY:
223 return body != null;
224 }
225 return super.eIsSet(featureID);
226 }
227
228} //LetExpressionImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LiteralImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LiteralImpl.java
new file mode 100644
index 00000000..4222a258
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LiteralImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import org.eclipse.viatra.solver.language.solverLanguage.Literal;
8import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Literal</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public abstract class LiteralImpl extends ExpressionImpl implements Literal {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected LiteralImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return SolverLanguagePackage.Literals.LITERAL;
35 }
36
37} //LiteralImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LogicLiteralImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LogicLiteralImpl.java
new file mode 100644
index 00000000..6eb60cd5
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LogicLiteralImpl.java
@@ -0,0 +1,165 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.LogicLiteral;
12import org.eclipse.viatra.solver.language.solverLanguage.LogicValue;
13import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>Logic Literal</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.solverLanguage.impl.LogicLiteralImpl#getValue <em>Value</em>}</li>
24 * </ul>
25 *
26 * @generated
27 */
28public class LogicLiteralImpl extends LiteralImpl implements LogicLiteral {
29 /**
30 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @see #getValue()
34 * @generated
35 * @ordered
36 */
37 protected static final LogicValue VALUE_EDEFAULT = LogicValue.UNKNOWN;
38
39 /**
40 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #getValue()
44 * @generated
45 * @ordered
46 */
47 protected LogicValue value = VALUE_EDEFAULT;
48
49 /**
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @generated
53 */
54 protected LogicLiteralImpl() {
55 super();
56 }
57
58 /**
59 * <!-- begin-user-doc -->
60 * <!-- end-user-doc -->
61 * @generated
62 */
63 @Override
64 protected EClass eStaticClass() {
65 return SolverLanguagePackage.Literals.LOGIC_LITERAL;
66 }
67
68 /**
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @generated
72 */
73 public LogicValue getValue() {
74 return value;
75 }
76
77 /**
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @generated
81 */
82 public void setValue(LogicValue newValue) {
83 LogicValue oldValue = value;
84 value = newValue == null ? VALUE_EDEFAULT : newValue;
85 if (eNotificationRequired())
86 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.LOGIC_LITERAL__VALUE, oldValue,
87 value));
88 }
89
90 /**
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @generated
94 */
95 @Override
96 public Object eGet(int featureID, boolean resolve, boolean coreType) {
97 switch (featureID) {
98 case SolverLanguagePackage.LOGIC_LITERAL__VALUE:
99 return getValue();
100 }
101 return super.eGet(featureID, resolve, coreType);
102 }
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 @Override
110 public void eSet(int featureID, Object newValue) {
111 switch (featureID) {
112 case SolverLanguagePackage.LOGIC_LITERAL__VALUE:
113 setValue((LogicValue) newValue);
114 return;
115 }
116 super.eSet(featureID, newValue);
117 }
118
119 /**
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 */
124 @Override
125 public void eUnset(int featureID) {
126 switch (featureID) {
127 case SolverLanguagePackage.LOGIC_LITERAL__VALUE:
128 setValue(VALUE_EDEFAULT);
129 return;
130 }
131 super.eUnset(featureID);
132 }
133
134 /**
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @generated
138 */
139 @Override
140 public boolean eIsSet(int featureID) {
141 switch (featureID) {
142 case SolverLanguagePackage.LOGIC_LITERAL__VALUE:
143 return value != VALUE_EDEFAULT;
144 }
145 return super.eIsSet(featureID);
146 }
147
148 /**
149 * <!-- begin-user-doc -->
150 * <!-- end-user-doc -->
151 * @generated
152 */
153 @Override
154 public String toString() {
155 if (eIsProxy())
156 return super.toString();
157
158 StringBuilder result = new StringBuilder(super.toString());
159 result.append(" (value: ");
160 result.append(value);
161 result.append(')');
162 return result.toString();
163 }
164
165} //LogicLiteralImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LowerBoundedScopeImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LowerBoundedScopeImpl.java
new file mode 100644
index 00000000..56716e2c
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LowerBoundedScopeImpl.java
@@ -0,0 +1,164 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.LowerBoundedScope;
12import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
13
14/**
15 * <!-- begin-user-doc -->
16 * An implementation of the model object '<em><b>Lower Bounded Scope</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.solverLanguage.impl.LowerBoundedScopeImpl#getLowerBound <em>Lower Bound</em>}</li>
23 * </ul>
24 *
25 * @generated
26 */
27public class LowerBoundedScopeImpl extends ScopeDeclarationImpl implements LowerBoundedScope {
28 /**
29 * The default value of the '{@link #getLowerBound() <em>Lower Bound</em>}' attribute.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @see #getLowerBound()
33 * @generated
34 * @ordered
35 */
36 protected static final int LOWER_BOUND_EDEFAULT = 0;
37
38 /**
39 * The cached value of the '{@link #getLowerBound() <em>Lower Bound</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @see #getLowerBound()
43 * @generated
44 * @ordered
45 */
46 protected int lowerBound = LOWER_BOUND_EDEFAULT;
47
48 /**
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @generated
52 */
53 protected LowerBoundedScopeImpl() {
54 super();
55 }
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 @Override
63 protected EClass eStaticClass() {
64 return SolverLanguagePackage.Literals.LOWER_BOUNDED_SCOPE;
65 }
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 public int getLowerBound() {
73 return lowerBound;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 public void setLowerBound(int newLowerBound) {
82 int oldLowerBound = lowerBound;
83 lowerBound = newLowerBound;
84 if (eNotificationRequired())
85 eNotify(new ENotificationImpl(this, Notification.SET,
86 SolverLanguagePackage.LOWER_BOUNDED_SCOPE__LOWER_BOUND, oldLowerBound, lowerBound));
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 SolverLanguagePackage.LOWER_BOUNDED_SCOPE__LOWER_BOUND:
98 return getLowerBound();
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 SolverLanguagePackage.LOWER_BOUNDED_SCOPE__LOWER_BOUND:
112 setLowerBound((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 SolverLanguagePackage.LOWER_BOUNDED_SCOPE__LOWER_BOUND:
127 setLowerBound(LOWER_BOUND_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 SolverLanguagePackage.LOWER_BOUNDED_SCOPE__LOWER_BOUND:
142 return lowerBound != LOWER_BOUND_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(" (lowerBound: ");
159 result.append(lowerBound);
160 result.append(')');
161 return result.toString();
162 }
163
164} //LowerBoundedScopeImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricImpl.java
new file mode 100644
index 00000000..0dfc03a6
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import org.eclipse.viatra.solver.language.solverLanguage.Metric;
8import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Metric</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class MetricImpl extends FunctionImpl implements Metric {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected MetricImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return SolverLanguagePackage.Literals.METRIC;
35 }
36
37} //MetricImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiaryExpessionImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiaryExpessionImpl.java
new file mode 100644
index 00000000..75d28976
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiaryExpessionImpl.java
@@ -0,0 +1,151 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.util.EObjectContainmentEList;
15import org.eclipse.emf.ecore.util.InternalEList;
16
17import org.eclipse.viatra.solver.language.solverLanguage.Expression;
18import org.eclipse.viatra.solver.language.solverLanguage.MultiaryExpession;
19import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
20
21/**
22 * <!-- begin-user-doc -->
23 * An implementation of the model object '<em><b>Multiary Expession</b></em>'.
24 * <!-- end-user-doc -->
25 * <p>
26 * The following features are implemented:
27 * </p>
28 * <ul>
29 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MultiaryExpessionImpl#getChildren <em>Children</em>}</li>
30 * </ul>
31 *
32 * @generated
33 */
34public abstract class MultiaryExpessionImpl extends ExpressionImpl implements MultiaryExpession {
35 /**
36 * The cached value of the '{@link #getChildren() <em>Children</em>}' containment reference list.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getChildren()
40 * @generated
41 * @ordered
42 */
43 protected EList<Expression> children;
44
45 /**
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @generated
49 */
50 protected MultiaryExpessionImpl() {
51 super();
52 }
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 @Override
60 protected EClass eStaticClass() {
61 return SolverLanguagePackage.Literals.MULTIARY_EXPESSION;
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 public EList<Expression> getChildren() {
70 if (children == null) {
71 children = new EObjectContainmentEList<Expression>(Expression.class, this,
72 SolverLanguagePackage.MULTIARY_EXPESSION__CHILDREN);
73 }
74 return children;
75 }
76
77 /**
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @generated
81 */
82 @Override
83 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
84 switch (featureID) {
85 case SolverLanguagePackage.MULTIARY_EXPESSION__CHILDREN:
86 return ((InternalEList<?>) getChildren()).basicRemove(otherEnd, msgs);
87 }
88 return super.eInverseRemove(otherEnd, featureID, msgs);
89 }
90
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 @Override
97 public Object eGet(int featureID, boolean resolve, boolean coreType) {
98 switch (featureID) {
99 case SolverLanguagePackage.MULTIARY_EXPESSION__CHILDREN:
100 return getChildren();
101 }
102 return super.eGet(featureID, resolve, coreType);
103 }
104
105 /**
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 @SuppressWarnings("unchecked")
111 @Override
112 public void eSet(int featureID, Object newValue) {
113 switch (featureID) {
114 case SolverLanguagePackage.MULTIARY_EXPESSION__CHILDREN:
115 getChildren().clear();
116 getChildren().addAll((Collection<? extends Expression>) newValue);
117 return;
118 }
119 super.eSet(featureID, newValue);
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 @Override
128 public void eUnset(int featureID) {
129 switch (featureID) {
130 case SolverLanguagePackage.MULTIARY_EXPESSION__CHILDREN:
131 getChildren().clear();
132 return;
133 }
134 super.eUnset(featureID);
135 }
136
137 /**
138 * <!-- begin-user-doc -->
139 * <!-- end-user-doc -->
140 * @generated
141 */
142 @Override
143 public boolean eIsSet(int featureID) {
144 switch (featureID) {
145 case SolverLanguagePackage.MULTIARY_EXPESSION__CHILDREN:
146 return children != null && !children.isEmpty();
147 }
148 return super.eIsSet(featureID);
149 }
150
151} //MultiaryExpessionImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityImpl.java
new file mode 100644
index 00000000..1f8c27a4
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityImpl.java
@@ -0,0 +1,39 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
8
9import org.eclipse.viatra.solver.language.solverLanguage.Multiplicity;
10import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
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 SolverLanguagePackage.Literals.MULTIPLICITY;
37 }
38
39} //MultiplicityImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamespaceImportImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamespaceImportImpl.java
new file mode 100644
index 00000000..24ac11e5
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamespaceImportImpl.java
@@ -0,0 +1,166 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.NamespaceImport;
12import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
13
14/**
15 * <!-- begin-user-doc -->
16 * An implementation of the model object '<em><b>Namespace Import</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.solverLanguage.impl.NamespaceImportImpl#getImportedNamespace <em>Imported Namespace</em>}</li>
23 * </ul>
24 *
25 * @generated
26 */
27public class NamespaceImportImpl extends ImportImpl implements NamespaceImport {
28 /**
29 * The default value of the '{@link #getImportedNamespace() <em>Imported Namespace</em>}' attribute.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @see #getImportedNamespace()
33 * @generated
34 * @ordered
35 */
36 protected static final String IMPORTED_NAMESPACE_EDEFAULT = null;
37
38 /**
39 * The cached value of the '{@link #getImportedNamespace() <em>Imported Namespace</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @see #getImportedNamespace()
43 * @generated
44 * @ordered
45 */
46 protected String importedNamespace = IMPORTED_NAMESPACE_EDEFAULT;
47
48 /**
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @generated
52 */
53 protected NamespaceImportImpl() {
54 super();
55 }
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 @Override
63 protected EClass eStaticClass() {
64 return SolverLanguagePackage.Literals.NAMESPACE_IMPORT;
65 }
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 public String getImportedNamespace() {
73 return importedNamespace;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 public void setImportedNamespace(String newImportedNamespace) {
82 String oldImportedNamespace = importedNamespace;
83 importedNamespace = newImportedNamespace;
84 if (eNotificationRequired())
85 eNotify(new ENotificationImpl(this, Notification.SET,
86 SolverLanguagePackage.NAMESPACE_IMPORT__IMPORTED_NAMESPACE, oldImportedNamespace,
87 importedNamespace));
88 }
89
90 /**
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @generated
94 */
95 @Override
96 public Object eGet(int featureID, boolean resolve, boolean coreType) {
97 switch (featureID) {
98 case SolverLanguagePackage.NAMESPACE_IMPORT__IMPORTED_NAMESPACE:
99 return getImportedNamespace();
100 }
101 return super.eGet(featureID, resolve, coreType);
102 }
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 @Override
110 public void eSet(int featureID, Object newValue) {
111 switch (featureID) {
112 case SolverLanguagePackage.NAMESPACE_IMPORT__IMPORTED_NAMESPACE:
113 setImportedNamespace((String) newValue);
114 return;
115 }
116 super.eSet(featureID, newValue);
117 }
118
119 /**
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 */
124 @Override
125 public void eUnset(int featureID) {
126 switch (featureID) {
127 case SolverLanguagePackage.NAMESPACE_IMPORT__IMPORTED_NAMESPACE:
128 setImportedNamespace(IMPORTED_NAMESPACE_EDEFAULT);
129 return;
130 }
131 super.eUnset(featureID);
132 }
133
134 /**
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @generated
138 */
139 @Override
140 public boolean eIsSet(int featureID) {
141 switch (featureID) {
142 case SolverLanguagePackage.NAMESPACE_IMPORT__IMPORTED_NAMESPACE:
143 return IMPORTED_NAMESPACE_EDEFAULT == null ? importedNamespace != null
144 : !IMPORTED_NAMESPACE_EDEFAULT.equals(importedNamespace);
145 }
146 return super.eIsSet(featureID);
147 }
148
149 /**
150 * <!-- begin-user-doc -->
151 * <!-- end-user-doc -->
152 * @generated
153 */
154 @Override
155 public String toString() {
156 if (eIsProxy())
157 return super.toString();
158
159 StringBuilder result = new StringBuilder(super.toString());
160 result.append(" (importedNamespace: ");
161 result.append(importedNamespace);
162 result.append(')');
163 return result.toString();
164 }
165
166} //NamespaceImportImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NodeImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NodeImpl.java
new file mode 100644
index 00000000..7307fada
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NodeImpl.java
@@ -0,0 +1,163 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.Node;
12import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
13
14/**
15 * <!-- begin-user-doc -->
16 * An implementation of the model object '<em><b>Node</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.solverLanguage.impl.NodeImpl#isNamed <em>Named</em>}</li>
23 * </ul>
24 *
25 * @generated
26 */
27public class NodeImpl extends SymbolImpl implements Node {
28 /**
29 * The default value of the '{@link #isNamed() <em>Named</em>}' attribute.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @see #isNamed()
33 * @generated
34 * @ordered
35 */
36 protected static final boolean NAMED_EDEFAULT = false;
37
38 /**
39 * The cached value of the '{@link #isNamed() <em>Named</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @see #isNamed()
43 * @generated
44 * @ordered
45 */
46 protected boolean named = NAMED_EDEFAULT;
47
48 /**
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @generated
52 */
53 protected NodeImpl() {
54 super();
55 }
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 @Override
63 protected EClass eStaticClass() {
64 return SolverLanguagePackage.Literals.NODE;
65 }
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 public boolean isNamed() {
73 return named;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 public void setNamed(boolean newNamed) {
82 boolean oldNamed = named;
83 named = newNamed;
84 if (eNotificationRequired())
85 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.NODE__NAMED, oldNamed, named));
86 }
87
88 /**
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 */
93 @Override
94 public Object eGet(int featureID, boolean resolve, boolean coreType) {
95 switch (featureID) {
96 case SolverLanguagePackage.NODE__NAMED:
97 return isNamed();
98 }
99 return super.eGet(featureID, resolve, coreType);
100 }
101
102 /**
103 * <!-- begin-user-doc -->
104 * <!-- end-user-doc -->
105 * @generated
106 */
107 @Override
108 public void eSet(int featureID, Object newValue) {
109 switch (featureID) {
110 case SolverLanguagePackage.NODE__NAMED:
111 setNamed((Boolean) newValue);
112 return;
113 }
114 super.eSet(featureID, newValue);
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 */
122 @Override
123 public void eUnset(int featureID) {
124 switch (featureID) {
125 case SolverLanguagePackage.NODE__NAMED:
126 setNamed(NAMED_EDEFAULT);
127 return;
128 }
129 super.eUnset(featureID);
130 }
131
132 /**
133 * <!-- begin-user-doc -->
134 * <!-- end-user-doc -->
135 * @generated
136 */
137 @Override
138 public boolean eIsSet(int featureID) {
139 switch (featureID) {
140 case SolverLanguagePackage.NODE__NAMED:
141 return named != NAMED_EDEFAULT;
142 }
143 return super.eIsSet(featureID);
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public String toString() {
153 if (eIsProxy())
154 return super.toString();
155
156 StringBuilder result = new StringBuilder(super.toString());
157 result.append(" (named: ");
158 result.append(named);
159 result.append(')');
160 return result.toString();
161 }
162
163} //NodeImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectiveDeclarationImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectiveDeclarationImpl.java
new file mode 100644
index 00000000..541c06ec
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectiveDeclarationImpl.java
@@ -0,0 +1,253 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.Expression;
14import org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDeclaration;
15import org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind;
16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Objective 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.solverLanguage.impl.ObjectiveDeclarationImpl#getKind <em>Kind</em>}</li>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDeclarationImpl#getObjective <em>Objective</em>}</li>
28 * </ul>
29 *
30 * @generated
31 */
32public class ObjectiveDeclarationImpl extends StatementImpl implements ObjectiveDeclaration {
33 /**
34 * The default value of the '{@link #getKind() <em>Kind</em>}' attribute.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #getKind()
38 * @generated
39 * @ordered
40 */
41 protected static final ObjectiveKind KIND_EDEFAULT = ObjectiveKind.MINIMIZATION;
42
43 /**
44 * The cached value of the '{@link #getKind() <em>Kind</em>}' attribute.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #getKind()
48 * @generated
49 * @ordered
50 */
51 protected ObjectiveKind kind = KIND_EDEFAULT;
52
53 /**
54 * The cached value of the '{@link #getObjective() <em>Objective</em>}' containment reference.
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @see #getObjective()
58 * @generated
59 * @ordered
60 */
61 protected Expression objective;
62
63 /**
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @generated
67 */
68 protected ObjectiveDeclarationImpl() {
69 super();
70 }
71
72 /**
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @generated
76 */
77 @Override
78 protected EClass eStaticClass() {
79 return SolverLanguagePackage.Literals.OBJECTIVE_DECLARATION;
80 }
81
82 /**
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @generated
86 */
87 public ObjectiveKind getKind() {
88 return kind;
89 }
90
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 public void setKind(ObjectiveKind newKind) {
97 ObjectiveKind oldKind = kind;
98 kind = newKind == null ? KIND_EDEFAULT : newKind;
99 if (eNotificationRequired())
100 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.OBJECTIVE_DECLARATION__KIND,
101 oldKind, kind));
102 }
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 public Expression getObjective() {
110 return objective;
111 }
112
113 /**
114 * <!-- begin-user-doc -->
115 * <!-- end-user-doc -->
116 * @generated
117 */
118 public NotificationChain basicSetObjective(Expression newObjective, NotificationChain msgs) {
119 Expression oldObjective = objective;
120 objective = newObjective;
121 if (eNotificationRequired()) {
122 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
123 SolverLanguagePackage.OBJECTIVE_DECLARATION__OBJECTIVE, oldObjective, newObjective);
124 if (msgs == null)
125 msgs = notification;
126 else
127 msgs.add(notification);
128 }
129 return msgs;
130 }
131
132 /**
133 * <!-- begin-user-doc -->
134 * <!-- end-user-doc -->
135 * @generated
136 */
137 public void setObjective(Expression newObjective) {
138 if (newObjective != objective) {
139 NotificationChain msgs = null;
140 if (objective != null)
141 msgs = ((InternalEObject) objective).eInverseRemove(this,
142 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.OBJECTIVE_DECLARATION__OBJECTIVE, null, msgs);
143 if (newObjective != null)
144 msgs = ((InternalEObject) newObjective).eInverseAdd(this,
145 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.OBJECTIVE_DECLARATION__OBJECTIVE, null, msgs);
146 msgs = basicSetObjective(newObjective, msgs);
147 if (msgs != null)
148 msgs.dispatch();
149 } else if (eNotificationRequired())
150 eNotify(new ENotificationImpl(this, Notification.SET,
151 SolverLanguagePackage.OBJECTIVE_DECLARATION__OBJECTIVE, newObjective, newObjective));
152 }
153
154 /**
155 * <!-- begin-user-doc -->
156 * <!-- end-user-doc -->
157 * @generated
158 */
159 @Override
160 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
161 switch (featureID) {
162 case SolverLanguagePackage.OBJECTIVE_DECLARATION__OBJECTIVE:
163 return basicSetObjective(null, msgs);
164 }
165 return super.eInverseRemove(otherEnd, featureID, msgs);
166 }
167
168 /**
169 * <!-- begin-user-doc -->
170 * <!-- end-user-doc -->
171 * @generated
172 */
173 @Override
174 public Object eGet(int featureID, boolean resolve, boolean coreType) {
175 switch (featureID) {
176 case SolverLanguagePackage.OBJECTIVE_DECLARATION__KIND:
177 return getKind();
178 case SolverLanguagePackage.OBJECTIVE_DECLARATION__OBJECTIVE:
179 return getObjective();
180 }
181 return super.eGet(featureID, resolve, coreType);
182 }
183
184 /**
185 * <!-- begin-user-doc -->
186 * <!-- end-user-doc -->
187 * @generated
188 */
189 @Override
190 public void eSet(int featureID, Object newValue) {
191 switch (featureID) {
192 case SolverLanguagePackage.OBJECTIVE_DECLARATION__KIND:
193 setKind((ObjectiveKind) newValue);
194 return;
195 case SolverLanguagePackage.OBJECTIVE_DECLARATION__OBJECTIVE:
196 setObjective((Expression) newValue);
197 return;
198 }
199 super.eSet(featureID, newValue);
200 }
201
202 /**
203 * <!-- begin-user-doc -->
204 * <!-- end-user-doc -->
205 * @generated
206 */
207 @Override
208 public void eUnset(int featureID) {
209 switch (featureID) {
210 case SolverLanguagePackage.OBJECTIVE_DECLARATION__KIND:
211 setKind(KIND_EDEFAULT);
212 return;
213 case SolverLanguagePackage.OBJECTIVE_DECLARATION__OBJECTIVE:
214 setObjective((Expression) null);
215 return;
216 }
217 super.eUnset(featureID);
218 }
219
220 /**
221 * <!-- begin-user-doc -->
222 * <!-- end-user-doc -->
223 * @generated
224 */
225 @Override
226 public boolean eIsSet(int featureID) {
227 switch (featureID) {
228 case SolverLanguagePackage.OBJECTIVE_DECLARATION__KIND:
229 return kind != KIND_EDEFAULT;
230 case SolverLanguagePackage.OBJECTIVE_DECLARATION__OBJECTIVE:
231 return objective != null;
232 }
233 return super.eIsSet(featureID);
234 }
235
236 /**
237 * <!-- begin-user-doc -->
238 * <!-- end-user-doc -->
239 * @generated
240 */
241 @Override
242 public String toString() {
243 if (eIsProxy())
244 return super.toString();
245
246 StringBuilder result = new StringBuilder(super.toString());
247 result.append(" (kind: ");
248 result.append(kind);
249 result.append(')');
250 return result.toString();
251 }
252
253} //ObjectiveDeclarationImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/OperatorImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/OperatorImpl.java
new file mode 100644
index 00000000..13f190c9
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/OperatorImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import org.eclipse.viatra.solver.language.solverLanguage.Operator;
8import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Operator</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class OperatorImpl extends FunctionImpl implements Operator {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected OperatorImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return SolverLanguagePackage.Literals.OPERATOR;
35 }
36
37} //OperatorImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PathComponentImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PathComponentImpl.java
new file mode 100644
index 00000000..afad504d
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PathComponentImpl.java
@@ -0,0 +1,341 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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;
11import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
12
13import org.eclipse.viatra.solver.language.solverLanguage.PathComponent;
14import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
15import org.eclipse.viatra.solver.language.solverLanguage.Symbol;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Path Component</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PathComponentImpl#getSymbol <em>Symbol</em>}</li>
26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PathComponentImpl#isInverse <em>Inverse</em>}</li>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PathComponentImpl#isTransitiveClosure <em>Transitive Closure</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PathComponentImpl#isReflexiveTransitiveClosure <em>Reflexive Transitive Closure</em>}</li>
29 * </ul>
30 *
31 * @generated
32 */
33public class PathComponentImpl extends MinimalEObjectImpl.Container implements PathComponent {
34 /**
35 * The cached value of the '{@link #getSymbol() <em>Symbol</em>}' reference.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @see #getSymbol()
39 * @generated
40 * @ordered
41 */
42 protected Symbol symbol;
43
44 /**
45 * The default value of the '{@link #isInverse() <em>Inverse</em>}' attribute.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @see #isInverse()
49 * @generated
50 * @ordered
51 */
52 protected static final boolean INVERSE_EDEFAULT = false;
53
54 /**
55 * The cached value of the '{@link #isInverse() <em>Inverse</em>}' attribute.
56 * <!-- begin-user-doc -->
57 * <!-- end-user-doc -->
58 * @see #isInverse()
59 * @generated
60 * @ordered
61 */
62 protected boolean inverse = INVERSE_EDEFAULT;
63
64 /**
65 * The default value of the '{@link #isTransitiveClosure() <em>Transitive Closure</em>}' attribute.
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @see #isTransitiveClosure()
69 * @generated
70 * @ordered
71 */
72 protected static final boolean TRANSITIVE_CLOSURE_EDEFAULT = false;
73
74 /**
75 * The cached value of the '{@link #isTransitiveClosure() <em>Transitive Closure</em>}' attribute.
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @see #isTransitiveClosure()
79 * @generated
80 * @ordered
81 */
82 protected boolean transitiveClosure = TRANSITIVE_CLOSURE_EDEFAULT;
83
84 /**
85 * The default value of the '{@link #isReflexiveTransitiveClosure() <em>Reflexive Transitive Closure</em>}' attribute.
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @see #isReflexiveTransitiveClosure()
89 * @generated
90 * @ordered
91 */
92 protected static final boolean REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT = false;
93
94 /**
95 * The cached value of the '{@link #isReflexiveTransitiveClosure() <em>Reflexive Transitive Closure</em>}' attribute.
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @see #isReflexiveTransitiveClosure()
99 * @generated
100 * @ordered
101 */
102 protected boolean reflexiveTransitiveClosure = REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT;
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 protected PathComponentImpl() {
110 super();
111 }
112
113 /**
114 * <!-- begin-user-doc -->
115 * <!-- end-user-doc -->
116 * @generated
117 */
118 @Override
119 protected EClass eStaticClass() {
120 return SolverLanguagePackage.Literals.PATH_COMPONENT;
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 public Symbol getSymbol() {
129 if (symbol != null && symbol.eIsProxy()) {
130 InternalEObject oldSymbol = (InternalEObject) symbol;
131 symbol = (Symbol) eResolveProxy(oldSymbol);
132 if (symbol != oldSymbol) {
133 if (eNotificationRequired())
134 eNotify(new ENotificationImpl(this, Notification.RESOLVE,
135 SolverLanguagePackage.PATH_COMPONENT__SYMBOL, oldSymbol, symbol));
136 }
137 }
138 return symbol;
139 }
140
141 /**
142 * <!-- begin-user-doc -->
143 * <!-- end-user-doc -->
144 * @generated
145 */
146 public Symbol basicGetSymbol() {
147 return symbol;
148 }
149
150 /**
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 public void setSymbol(Symbol newSymbol) {
156 Symbol oldSymbol = symbol;
157 symbol = newSymbol;
158 if (eNotificationRequired())
159 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PATH_COMPONENT__SYMBOL,
160 oldSymbol, symbol));
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 public boolean isInverse() {
169 return inverse;
170 }
171
172 /**
173 * <!-- begin-user-doc -->
174 * <!-- end-user-doc -->
175 * @generated
176 */
177 public void setInverse(boolean newInverse) {
178 boolean oldInverse = inverse;
179 inverse = newInverse;
180 if (eNotificationRequired())
181 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PATH_COMPONENT__INVERSE,
182 oldInverse, inverse));
183 }
184
185 /**
186 * <!-- begin-user-doc -->
187 * <!-- end-user-doc -->
188 * @generated
189 */
190 public boolean isTransitiveClosure() {
191 return transitiveClosure;
192 }
193
194 /**
195 * <!-- begin-user-doc -->
196 * <!-- end-user-doc -->
197 * @generated
198 */
199 public void setTransitiveClosure(boolean newTransitiveClosure) {
200 boolean oldTransitiveClosure = transitiveClosure;
201 transitiveClosure = newTransitiveClosure;
202 if (eNotificationRequired())
203 eNotify(new ENotificationImpl(this, Notification.SET,
204 SolverLanguagePackage.PATH_COMPONENT__TRANSITIVE_CLOSURE, oldTransitiveClosure, transitiveClosure));
205 }
206
207 /**
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @generated
211 */
212 public boolean isReflexiveTransitiveClosure() {
213 return reflexiveTransitiveClosure;
214 }
215
216 /**
217 * <!-- begin-user-doc -->
218 * <!-- end-user-doc -->
219 * @generated
220 */
221 public void setReflexiveTransitiveClosure(boolean newReflexiveTransitiveClosure) {
222 boolean oldReflexiveTransitiveClosure = reflexiveTransitiveClosure;
223 reflexiveTransitiveClosure = newReflexiveTransitiveClosure;
224 if (eNotificationRequired())
225 eNotify(new ENotificationImpl(this, Notification.SET,
226 SolverLanguagePackage.PATH_COMPONENT__REFLEXIVE_TRANSITIVE_CLOSURE, oldReflexiveTransitiveClosure,
227 reflexiveTransitiveClosure));
228 }
229
230 /**
231 * <!-- begin-user-doc -->
232 * <!-- end-user-doc -->
233 * @generated
234 */
235 @Override
236 public Object eGet(int featureID, boolean resolve, boolean coreType) {
237 switch (featureID) {
238 case SolverLanguagePackage.PATH_COMPONENT__SYMBOL:
239 if (resolve)
240 return getSymbol();
241 return basicGetSymbol();
242 case SolverLanguagePackage.PATH_COMPONENT__INVERSE:
243 return isInverse();
244 case SolverLanguagePackage.PATH_COMPONENT__TRANSITIVE_CLOSURE:
245 return isTransitiveClosure();
246 case SolverLanguagePackage.PATH_COMPONENT__REFLEXIVE_TRANSITIVE_CLOSURE:
247 return isReflexiveTransitiveClosure();
248 }
249 return super.eGet(featureID, resolve, coreType);
250 }
251
252 /**
253 * <!-- begin-user-doc -->
254 * <!-- end-user-doc -->
255 * @generated
256 */
257 @Override
258 public void eSet(int featureID, Object newValue) {
259 switch (featureID) {
260 case SolverLanguagePackage.PATH_COMPONENT__SYMBOL:
261 setSymbol((Symbol) newValue);
262 return;
263 case SolverLanguagePackage.PATH_COMPONENT__INVERSE:
264 setInverse((Boolean) newValue);
265 return;
266 case SolverLanguagePackage.PATH_COMPONENT__TRANSITIVE_CLOSURE:
267 setTransitiveClosure((Boolean) newValue);
268 return;
269 case SolverLanguagePackage.PATH_COMPONENT__REFLEXIVE_TRANSITIVE_CLOSURE:
270 setReflexiveTransitiveClosure((Boolean) newValue);
271 return;
272 }
273 super.eSet(featureID, newValue);
274 }
275
276 /**
277 * <!-- begin-user-doc -->
278 * <!-- end-user-doc -->
279 * @generated
280 */
281 @Override
282 public void eUnset(int featureID) {
283 switch (featureID) {
284 case SolverLanguagePackage.PATH_COMPONENT__SYMBOL:
285 setSymbol((Symbol) null);
286 return;
287 case SolverLanguagePackage.PATH_COMPONENT__INVERSE:
288 setInverse(INVERSE_EDEFAULT);
289 return;
290 case SolverLanguagePackage.PATH_COMPONENT__TRANSITIVE_CLOSURE:
291 setTransitiveClosure(TRANSITIVE_CLOSURE_EDEFAULT);
292 return;
293 case SolverLanguagePackage.PATH_COMPONENT__REFLEXIVE_TRANSITIVE_CLOSURE:
294 setReflexiveTransitiveClosure(REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT);
295 return;
296 }
297 super.eUnset(featureID);
298 }
299
300 /**
301 * <!-- begin-user-doc -->
302 * <!-- end-user-doc -->
303 * @generated
304 */
305 @Override
306 public boolean eIsSet(int featureID) {
307 switch (featureID) {
308 case SolverLanguagePackage.PATH_COMPONENT__SYMBOL:
309 return symbol != null;
310 case SolverLanguagePackage.PATH_COMPONENT__INVERSE:
311 return inverse != INVERSE_EDEFAULT;
312 case SolverLanguagePackage.PATH_COMPONENT__TRANSITIVE_CLOSURE:
313 return transitiveClosure != TRANSITIVE_CLOSURE_EDEFAULT;
314 case SolverLanguagePackage.PATH_COMPONENT__REFLEXIVE_TRANSITIVE_CLOSURE:
315 return reflexiveTransitiveClosure != REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT;
316 }
317 return super.eIsSet(featureID);
318 }
319
320 /**
321 * <!-- begin-user-doc -->
322 * <!-- end-user-doc -->
323 * @generated
324 */
325 @Override
326 public String toString() {
327 if (eIsProxy())
328 return super.toString();
329
330 StringBuilder result = new StringBuilder(super.toString());
331 result.append(" (inverse: ");
332 result.append(inverse);
333 result.append(", transitiveClosure: ");
334 result.append(transitiveClosure);
335 result.append(", reflexiveTransitiveClosure: ");
336 result.append(reflexiveTransitiveClosure);
337 result.append(')');
338 return result.toString();
339 }
340
341} //PathComponentImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateDefinitionImpl.java
new file mode 100644
index 00000000..c6afa7f5
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateDefinitionImpl.java
@@ -0,0 +1,260 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.InlinePredicateAttrributes;
12import org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition;
13import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>Predicate Definition</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.solverLanguage.impl.PredicateDefinitionImpl#isError <em>Error</em>}</li>
24 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl#isFunctional <em>Functional</em>}</li>
25 * </ul>
26 *
27 * @generated
28 */
29public class PredicateDefinitionImpl extends FunctorDefinitonImpl implements PredicateDefinition {
30 /**
31 * The default value of the '{@link #isError() <em>Error</em>}' attribute.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @see #isError()
35 * @generated
36 * @ordered
37 */
38 protected static final boolean ERROR_EDEFAULT = false;
39
40 /**
41 * The cached value of the '{@link #isError() <em>Error</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @see #isError()
45 * @generated
46 * @ordered
47 */
48 protected boolean error = ERROR_EDEFAULT;
49
50 /**
51 * The default value of the '{@link #isFunctional() <em>Functional</em>}' attribute.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @see #isFunctional()
55 * @generated
56 * @ordered
57 */
58 protected static final boolean FUNCTIONAL_EDEFAULT = false;
59
60 /**
61 * The cached value of the '{@link #isFunctional() <em>Functional</em>}' attribute.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @see #isFunctional()
65 * @generated
66 * @ordered
67 */
68 protected boolean functional = FUNCTIONAL_EDEFAULT;
69
70 /**
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @generated
74 */
75 protected PredicateDefinitionImpl() {
76 super();
77 }
78
79 /**
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @generated
83 */
84 @Override
85 protected EClass eStaticClass() {
86 return SolverLanguagePackage.Literals.PREDICATE_DEFINITION;
87 }
88
89 /**
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @generated
93 */
94 public boolean isError() {
95 return error;
96 }
97
98 /**
99 * <!-- begin-user-doc -->
100 * <!-- end-user-doc -->
101 * @generated
102 */
103 public void setError(boolean newError) {
104 boolean oldError = error;
105 error = newError;
106 if (eNotificationRequired())
107 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE_DEFINITION__ERROR,
108 oldError, error));
109 }
110
111 /**
112 * <!-- begin-user-doc -->
113 * <!-- end-user-doc -->
114 * @generated
115 */
116 public boolean isFunctional() {
117 return functional;
118 }
119
120 /**
121 * <!-- begin-user-doc -->
122 * <!-- end-user-doc -->
123 * @generated
124 */
125 public void setFunctional(boolean newFunctional) {
126 boolean oldFunctional = functional;
127 functional = newFunctional;
128 if (eNotificationRequired())
129 eNotify(new ENotificationImpl(this, Notification.SET,
130 SolverLanguagePackage.PREDICATE_DEFINITION__FUNCTIONAL, oldFunctional, functional));
131 }
132
133 /**
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 */
138 @Override
139 public Object eGet(int featureID, boolean resolve, boolean coreType) {
140 switch (featureID) {
141 case SolverLanguagePackage.PREDICATE_DEFINITION__ERROR:
142 return isError();
143 case SolverLanguagePackage.PREDICATE_DEFINITION__FUNCTIONAL:
144 return isFunctional();
145 }
146 return super.eGet(featureID, resolve, coreType);
147 }
148
149 /**
150 * <!-- begin-user-doc -->
151 * <!-- end-user-doc -->
152 * @generated
153 */
154 @Override
155 public void eSet(int featureID, Object newValue) {
156 switch (featureID) {
157 case SolverLanguagePackage.PREDICATE_DEFINITION__ERROR:
158 setError((Boolean) newValue);
159 return;
160 case SolverLanguagePackage.PREDICATE_DEFINITION__FUNCTIONAL:
161 setFunctional((Boolean) newValue);
162 return;
163 }
164 super.eSet(featureID, newValue);
165 }
166
167 /**
168 * <!-- begin-user-doc -->
169 * <!-- end-user-doc -->
170 * @generated
171 */
172 @Override
173 public void eUnset(int featureID) {
174 switch (featureID) {
175 case SolverLanguagePackage.PREDICATE_DEFINITION__ERROR:
176 setError(ERROR_EDEFAULT);
177 return;
178 case SolverLanguagePackage.PREDICATE_DEFINITION__FUNCTIONAL:
179 setFunctional(FUNCTIONAL_EDEFAULT);
180 return;
181 }
182 super.eUnset(featureID);
183 }
184
185 /**
186 * <!-- begin-user-doc -->
187 * <!-- end-user-doc -->
188 * @generated
189 */
190 @Override
191 public boolean eIsSet(int featureID) {
192 switch (featureID) {
193 case SolverLanguagePackage.PREDICATE_DEFINITION__ERROR:
194 return error != ERROR_EDEFAULT;
195 case SolverLanguagePackage.PREDICATE_DEFINITION__FUNCTIONAL:
196 return functional != FUNCTIONAL_EDEFAULT;
197 }
198 return super.eIsSet(featureID);
199 }
200
201 /**
202 * <!-- begin-user-doc -->
203 * <!-- end-user-doc -->
204 * @generated
205 */
206 @Override
207 public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
208 if (baseClass == InlinePredicateAttrributes.class) {
209 switch (derivedFeatureID) {
210 case SolverLanguagePackage.PREDICATE_DEFINITION__ERROR:
211 return SolverLanguagePackage.INLINE_PREDICATE_ATTRRIBUTES__ERROR;
212 case SolverLanguagePackage.PREDICATE_DEFINITION__FUNCTIONAL:
213 return SolverLanguagePackage.INLINE_PREDICATE_ATTRRIBUTES__FUNCTIONAL;
214 default:
215 return -1;
216 }
217 }
218 return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
219 }
220
221 /**
222 * <!-- begin-user-doc -->
223 * <!-- end-user-doc -->
224 * @generated
225 */
226 @Override
227 public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
228 if (baseClass == InlinePredicateAttrributes.class) {
229 switch (baseFeatureID) {
230 case SolverLanguagePackage.INLINE_PREDICATE_ATTRRIBUTES__ERROR:
231 return SolverLanguagePackage.PREDICATE_DEFINITION__ERROR;
232 case SolverLanguagePackage.INLINE_PREDICATE_ATTRRIBUTES__FUNCTIONAL:
233 return SolverLanguagePackage.PREDICATE_DEFINITION__FUNCTIONAL;
234 default:
235 return -1;
236 }
237 }
238 return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
239 }
240
241 /**
242 * <!-- begin-user-doc -->
243 * <!-- end-user-doc -->
244 * @generated
245 */
246 @Override
247 public String toString() {
248 if (eIsProxy())
249 return super.toString();
250
251 StringBuilder result = new StringBuilder(super.toString());
252 result.append(" (error: ");
253 result.append(error);
254 result.append(", functional: ");
255 result.append(functional);
256 result.append(')');
257 return result.toString();
258 }
259
260} //PredicateDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateImpl.java
new file mode 100644
index 00000000..316217af
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import org.eclipse.viatra.solver.language.solverLanguage.Predicate;
8import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Predicate</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class PredicateImpl extends RelationImpl implements Predicate {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected PredicateImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return SolverLanguagePackage.Literals.PREDICATE;
35 }
36
37} //PredicateImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ProblemImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ProblemImpl.java
new file mode 100644
index 00000000..08cec167
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ProblemImpl.java
@@ -0,0 +1,298 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.Import;
22import org.eclipse.viatra.solver.language.solverLanguage.Problem;
23import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
24import org.eclipse.viatra.solver.language.solverLanguage.Statement;
25import org.eclipse.viatra.solver.language.solverLanguage.Symbol;
26
27/**
28 * <!-- begin-user-doc -->
29 * An implementation of the model object '<em><b>Problem</b></em>'.
30 * <!-- end-user-doc -->
31 * <p>
32 * The following features are implemented:
33 * </p>
34 * <ul>
35 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ProblemImpl#getName <em>Name</em>}</li>
36 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ProblemImpl#getStatements <em>Statements</em>}</li>
37 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ProblemImpl#getSymbols <em>Symbols</em>}</li>
38 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ProblemImpl#getImports <em>Imports</em>}</li>
39 * </ul>
40 *
41 * @generated
42 */
43public class ProblemImpl extends MinimalEObjectImpl.Container implements Problem {
44 /**
45 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @see #getName()
49 * @generated
50 * @ordered
51 */
52 protected static final String NAME_EDEFAULT = null;
53
54 /**
55 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
56 * <!-- begin-user-doc -->
57 * <!-- end-user-doc -->
58 * @see #getName()
59 * @generated
60 * @ordered
61 */
62 protected String name = NAME_EDEFAULT;
63
64 /**
65 * The cached value of the '{@link #getStatements() <em>Statements</em>}' containment reference list.
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @see #getStatements()
69 * @generated
70 * @ordered
71 */
72 protected EList<Statement> statements;
73
74 /**
75 * The cached value of the '{@link #getSymbols() <em>Symbols</em>}' containment reference list.
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @see #getSymbols()
79 * @generated
80 * @ordered
81 */
82 protected EList<Symbol> symbols;
83
84 /**
85 * The cached value of the '{@link #getImports() <em>Imports</em>}' containment reference list.
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @see #getImports()
89 * @generated
90 * @ordered
91 */
92 protected EList<Import> imports;
93
94 /**
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @generated
98 */
99 protected ProblemImpl() {
100 super();
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 @Override
109 protected EClass eStaticClass() {
110 return SolverLanguagePackage.Literals.PROBLEM;
111 }
112
113 /**
114 * <!-- begin-user-doc -->
115 * <!-- end-user-doc -->
116 * @generated
117 */
118 public String getName() {
119 return name;
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 public void setName(String newName) {
128 String oldName = name;
129 name = newName;
130 if (eNotificationRequired())
131 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PROBLEM__NAME, oldName, name));
132 }
133
134 /**
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @generated
138 */
139 public EList<Statement> getStatements() {
140 if (statements == null) {
141 statements = new EObjectContainmentEList<Statement>(Statement.class, this,
142 SolverLanguagePackage.PROBLEM__STATEMENTS);
143 }
144 return statements;
145 }
146
147 /**
148 * <!-- begin-user-doc -->
149 * <!-- end-user-doc -->
150 * @generated
151 */
152 public EList<Symbol> getSymbols() {
153 if (symbols == null) {
154 symbols = new EObjectContainmentEList<Symbol>(Symbol.class, this, SolverLanguagePackage.PROBLEM__SYMBOLS);
155 }
156 return symbols;
157 }
158
159 /**
160 * <!-- begin-user-doc -->
161 * <!-- end-user-doc -->
162 * @generated
163 */
164 public EList<Import> getImports() {
165 if (imports == null) {
166 imports = new EObjectContainmentEList<Import>(Import.class, this, SolverLanguagePackage.PROBLEM__IMPORTS);
167 }
168 return imports;
169 }
170
171 /**
172 * <!-- begin-user-doc -->
173 * <!-- end-user-doc -->
174 * @generated
175 */
176 @Override
177 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
178 switch (featureID) {
179 case SolverLanguagePackage.PROBLEM__STATEMENTS:
180 return ((InternalEList<?>) getStatements()).basicRemove(otherEnd, msgs);
181 case SolverLanguagePackage.PROBLEM__SYMBOLS:
182 return ((InternalEList<?>) getSymbols()).basicRemove(otherEnd, msgs);
183 case SolverLanguagePackage.PROBLEM__IMPORTS:
184 return ((InternalEList<?>) getImports()).basicRemove(otherEnd, msgs);
185 }
186 return super.eInverseRemove(otherEnd, featureID, msgs);
187 }
188
189 /**
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 @Override
195 public Object eGet(int featureID, boolean resolve, boolean coreType) {
196 switch (featureID) {
197 case SolverLanguagePackage.PROBLEM__NAME:
198 return getName();
199 case SolverLanguagePackage.PROBLEM__STATEMENTS:
200 return getStatements();
201 case SolverLanguagePackage.PROBLEM__SYMBOLS:
202 return getSymbols();
203 case SolverLanguagePackage.PROBLEM__IMPORTS:
204 return getImports();
205 }
206 return super.eGet(featureID, resolve, coreType);
207 }
208
209 /**
210 * <!-- begin-user-doc -->
211 * <!-- end-user-doc -->
212 * @generated
213 */
214 @SuppressWarnings("unchecked")
215 @Override
216 public void eSet(int featureID, Object newValue) {
217 switch (featureID) {
218 case SolverLanguagePackage.PROBLEM__NAME:
219 setName((String) newValue);
220 return;
221 case SolverLanguagePackage.PROBLEM__STATEMENTS:
222 getStatements().clear();
223 getStatements().addAll((Collection<? extends Statement>) newValue);
224 return;
225 case SolverLanguagePackage.PROBLEM__SYMBOLS:
226 getSymbols().clear();
227 getSymbols().addAll((Collection<? extends Symbol>) newValue);
228 return;
229 case SolverLanguagePackage.PROBLEM__IMPORTS:
230 getImports().clear();
231 getImports().addAll((Collection<? extends Import>) newValue);
232 return;
233 }
234 super.eSet(featureID, newValue);
235 }
236
237 /**
238 * <!-- begin-user-doc -->
239 * <!-- end-user-doc -->
240 * @generated
241 */
242 @Override
243 public void eUnset(int featureID) {
244 switch (featureID) {
245 case SolverLanguagePackage.PROBLEM__NAME:
246 setName(NAME_EDEFAULT);
247 return;
248 case SolverLanguagePackage.PROBLEM__STATEMENTS:
249 getStatements().clear();
250 return;
251 case SolverLanguagePackage.PROBLEM__SYMBOLS:
252 getSymbols().clear();
253 return;
254 case SolverLanguagePackage.PROBLEM__IMPORTS:
255 getImports().clear();
256 return;
257 }
258 super.eUnset(featureID);
259 }
260
261 /**
262 * <!-- begin-user-doc -->
263 * <!-- end-user-doc -->
264 * @generated
265 */
266 @Override
267 public boolean eIsSet(int featureID) {
268 switch (featureID) {
269 case SolverLanguagePackage.PROBLEM__NAME:
270 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
271 case SolverLanguagePackage.PROBLEM__STATEMENTS:
272 return statements != null && !statements.isEmpty();
273 case SolverLanguagePackage.PROBLEM__SYMBOLS:
274 return symbols != null && !symbols.isEmpty();
275 case SolverLanguagePackage.PROBLEM__IMPORTS:
276 return imports != null && !imports.isEmpty();
277 }
278 return super.eIsSet(featureID);
279 }
280
281 /**
282 * <!-- begin-user-doc -->
283 * <!-- end-user-doc -->
284 * @generated
285 */
286 @Override
287 public String toString() {
288 if (eIsProxy())
289 return super.toString();
290
291 StringBuilder result = new StringBuilder(super.toString());
292 result.append(" (name: ");
293 result.append(name);
294 result.append(')');
295 return result.toString();
296 }
297
298} //ProblemImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/RealLiteralImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/RealLiteralImpl.java
new file mode 100644
index 00000000..7ab526b6
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/RealLiteralImpl.java
@@ -0,0 +1,166 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.impl;
4
5import java.math.BigDecimal;
6
7import org.eclipse.emf.common.notify.Notification;
8
9import org.eclipse.emf.ecore.EClass;
10
11import org.eclipse.emf.ecore.impl.ENotificationImpl;
12
13import org.eclipse.viatra.solver.language.solverLanguage.RealLiteral;
14import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
15
16/**
17 * <!-- begin-user-doc -->
18 * An implementation of the model object '<em><b>Real Literal</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.solverLanguage.impl.RealLiteralImpl#getValue <em>Value</em>}</li>
25 * </ul>
26 *
27 * @generated
28 */
29public class RealLiteralImpl extends LiteralImpl implements RealLiteral {
30 /**
31 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @see #getValue()
35 * @generated
36 * @ordered
37 */
38 protected static final BigDecimal VALUE_EDEFAULT = null;
39
40 /**
41 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @see #getValue()
45 * @generated
46 * @ordered
47 */
48 protected BigDecimal value = VALUE_EDEFAULT;
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 protected RealLiteralImpl() {
56 super();
57 }
58
59 /**
60 * <!-- begin-user-doc -->
61 * <!-- end-user-doc -->
62 * @generated
63 */
64 @Override
65 protected EClass eStaticClass() {
66 return SolverLanguagePackage.Literals.REAL_LITERAL;
67 }
68
69 /**
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @generated
73 */
74 public BigDecimal getValue() {
75 return value;
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 public void setValue(BigDecimal newValue) {
84 BigDecimal oldValue = value;
85 value = newValue;
86 if (eNotificationRequired())
87 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.REAL_LITERAL__VALUE, oldValue,
88 value));
89 }
90
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 @Override
97 public Object eGet(int featureID, boolean resolve, boolean coreType) {
98 switch (featureID) {
99 case SolverLanguagePackage.REAL_LITERAL__VALUE:
100 return getValue();
101 }
102 return super.eGet(featureID, resolve, coreType);
103 }
104
105 /**
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 @Override
111 public void eSet(int featureID, Object newValue) {
112 switch (featureID) {
113 case SolverLanguagePackage.REAL_LITERAL__VALUE:
114 setValue((BigDecimal) newValue);
115 return;
116 }
117 super.eSet(featureID, newValue);
118 }
119
120 /**
121 * <!-- begin-user-doc -->
122 * <!-- end-user-doc -->
123 * @generated
124 */
125 @Override
126 public void eUnset(int featureID) {
127 switch (featureID) {
128 case SolverLanguagePackage.REAL_LITERAL__VALUE:
129 setValue(VALUE_EDEFAULT);
130 return;
131 }
132 super.eUnset(featureID);
133 }
134
135 /**
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @generated
139 */
140 @Override
141 public boolean eIsSet(int featureID) {
142 switch (featureID) {
143 case SolverLanguagePackage.REAL_LITERAL__VALUE:
144 return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
145 }
146 return super.eIsSet(featureID);
147 }
148
149 /**
150 * <!-- begin-user-doc -->
151 * <!-- end-user-doc -->
152 * @generated
153 */
154 @Override
155 public String toString() {
156 if (eIsProxy())
157 return super.toString();
158
159 StringBuilder result = new StringBuilder(super.toString());
160 result.append(" (value: ");
161 result.append(value);
162 result.append(')');
163 return result.toString();
164 }
165
166} //RealLiteralImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReferenceImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReferenceImpl.java
new file mode 100644
index 00000000..6224f3aa
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReferenceImpl.java
@@ -0,0 +1,151 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.util.EObjectContainmentEList;
15import org.eclipse.emf.ecore.util.InternalEList;
16
17import org.eclipse.viatra.solver.language.solverLanguage.PathComponent;
18import org.eclipse.viatra.solver.language.solverLanguage.Reference;
19import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
20
21/**
22 * <!-- begin-user-doc -->
23 * An implementation of the model object '<em><b>Reference</b></em>'.
24 * <!-- end-user-doc -->
25 * <p>
26 * The following features are implemented:
27 * </p>
28 * <ul>
29 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ReferenceImpl#getComponents <em>Components</em>}</li>
30 * </ul>
31 *
32 * @generated
33 */
34public class ReferenceImpl extends ExpressionImpl implements Reference {
35 /**
36 * The cached value of the '{@link #getComponents() <em>Components</em>}' containment reference list.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getComponents()
40 * @generated
41 * @ordered
42 */
43 protected EList<PathComponent> components;
44
45 /**
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @generated
49 */
50 protected ReferenceImpl() {
51 super();
52 }
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 @Override
60 protected EClass eStaticClass() {
61 return SolverLanguagePackage.Literals.REFERENCE;
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 public EList<PathComponent> getComponents() {
70 if (components == null) {
71 components = new EObjectContainmentEList<PathComponent>(PathComponent.class, this,
72 SolverLanguagePackage.REFERENCE__COMPONENTS);
73 }
74 return components;
75 }
76
77 /**
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @generated
81 */
82 @Override
83 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
84 switch (featureID) {
85 case SolverLanguagePackage.REFERENCE__COMPONENTS:
86 return ((InternalEList<?>) getComponents()).basicRemove(otherEnd, msgs);
87 }
88 return super.eInverseRemove(otherEnd, featureID, msgs);
89 }
90
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 @Override
97 public Object eGet(int featureID, boolean resolve, boolean coreType) {
98 switch (featureID) {
99 case SolverLanguagePackage.REFERENCE__COMPONENTS:
100 return getComponents();
101 }
102 return super.eGet(featureID, resolve, coreType);
103 }
104
105 /**
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 @SuppressWarnings("unchecked")
111 @Override
112 public void eSet(int featureID, Object newValue) {
113 switch (featureID) {
114 case SolverLanguagePackage.REFERENCE__COMPONENTS:
115 getComponents().clear();
116 getComponents().addAll((Collection<? extends PathComponent>) newValue);
117 return;
118 }
119 super.eSet(featureID, newValue);
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 @Override
128 public void eUnset(int featureID) {
129 switch (featureID) {
130 case SolverLanguagePackage.REFERENCE__COMPONENTS:
131 getComponents().clear();
132 return;
133 }
134 super.eUnset(featureID);
135 }
136
137 /**
138 * <!-- begin-user-doc -->
139 * <!-- end-user-doc -->
140 * @generated
141 */
142 @Override
143 public boolean eIsSet(int featureID) {
144 switch (featureID) {
145 case SolverLanguagePackage.REFERENCE__COMPONENTS:
146 return components != null && !components.isEmpty();
147 }
148 return super.eIsSet(featureID);
149 }
150
151} //ReferenceImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/RelationImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/RelationImpl.java
new file mode 100644
index 00000000..9c612858
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/RelationImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import org.eclipse.viatra.solver.language.solverLanguage.Relation;
8import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
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 FunctorImpl 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 SolverLanguagePackage.Literals.RELATION;
35 }
36
37} //RelationImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ScopeDeclarationImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ScopeDeclarationImpl.java
new file mode 100644
index 00000000..31c2fa9f
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ScopeDeclarationImpl.java
@@ -0,0 +1,159 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.ScopeDeclaration;
13import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
14import org.eclipse.viatra.solver.language.solverLanguage.Symbol;
15
16/**
17 * <!-- begin-user-doc -->
18 * An implementation of the model object '<em><b>Scope Declaration</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.solverLanguage.impl.ScopeDeclarationImpl#getType <em>Type</em>}</li>
25 * </ul>
26 *
27 * @generated
28 */
29public class ScopeDeclarationImpl extends StatementImpl implements ScopeDeclaration {
30 /**
31 * The cached value of the '{@link #getType() <em>Type</em>}' reference.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @see #getType()
35 * @generated
36 * @ordered
37 */
38 protected Symbol type;
39
40 /**
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @generated
44 */
45 protected ScopeDeclarationImpl() {
46 super();
47 }
48
49 /**
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @generated
53 */
54 @Override
55 protected EClass eStaticClass() {
56 return SolverLanguagePackage.Literals.SCOPE_DECLARATION;
57 }
58
59 /**
60 * <!-- begin-user-doc -->
61 * <!-- end-user-doc -->
62 * @generated
63 */
64 public Symbol getType() {
65 if (type != null && type.eIsProxy()) {
66 InternalEObject oldType = (InternalEObject) type;
67 type = (Symbol) eResolveProxy(oldType);
68 if (type != oldType) {
69 if (eNotificationRequired())
70 eNotify(new ENotificationImpl(this, Notification.RESOLVE,
71 SolverLanguagePackage.SCOPE_DECLARATION__TYPE, oldType, type));
72 }
73 }
74 return type;
75 }
76
77 /**
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @generated
81 */
82 public Symbol basicGetType() {
83 return type;
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 public void setType(Symbol newType) {
92 Symbol oldType = type;
93 type = newType;
94 if (eNotificationRequired())
95 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.SCOPE_DECLARATION__TYPE,
96 oldType, type));
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 SolverLanguagePackage.SCOPE_DECLARATION__TYPE:
108 if (resolve)
109 return getType();
110 return basicGetType();
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 SolverLanguagePackage.SCOPE_DECLARATION__TYPE:
124 setType((Symbol) 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 SolverLanguagePackage.SCOPE_DECLARATION__TYPE:
139 setType((Symbol) 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 SolverLanguagePackage.SCOPE_DECLARATION__TYPE:
154 return type != null;
155 }
156 return super.eIsSet(featureID);
157 }
158
159} //ScopeDeclarationImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java
new file mode 100644
index 00000000..96e741b9
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java
@@ -0,0 +1,985 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.*;
15
16/**
17 * <!-- begin-user-doc -->
18 * An implementation of the model <b>Factory</b>.
19 * <!-- end-user-doc -->
20 * @generated
21 */
22public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLanguageFactory {
23 /**
24 * Creates the default factory implementation.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @generated
28 */
29 public static SolverLanguageFactory init() {
30 try {
31 SolverLanguageFactory theSolverLanguageFactory = (SolverLanguageFactory) EPackage.Registry.INSTANCE
32 .getEFactory(SolverLanguagePackage.eNS_URI);
33 if (theSolverLanguageFactory != null) {
34 return theSolverLanguageFactory;
35 }
36 } catch (Exception exception) {
37 EcorePlugin.INSTANCE.log(exception);
38 }
39 return new SolverLanguageFactoryImpl();
40 }
41
42 /**
43 * Creates an instance of the factory.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @generated
47 */
48 public SolverLanguageFactoryImpl() {
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 SolverLanguagePackage.PATH_COMPONENT:
61 return createPathComponent();
62 case SolverLanguagePackage.CALL:
63 return createCall();
64 case SolverLanguagePackage.REFERENCE:
65 return createReference();
66 case SolverLanguagePackage.ARGUMENT_LIST:
67 return createArgumentList();
68 case SolverLanguagePackage.EXPRESSION_ARGUMENT:
69 return createExpressionArgument();
70 case SolverLanguagePackage.STAR_ARGUMENT:
71 return createStarArgument();
72 case SolverLanguagePackage.VARIABLE:
73 return createVariable();
74 case SolverLanguagePackage.UNARY_EXPRESSION:
75 return createUnaryExpression();
76 case SolverLanguagePackage.BINARY_EXPRESSION:
77 return createBinaryExpression();
78 case SolverLanguagePackage.DISJUNCTION:
79 return createDisjunction();
80 case SolverLanguagePackage.CONJUNCTION:
81 return createConjunction();
82 case SolverLanguagePackage.CONDITIONAL_EXPRESSION:
83 return createConditionalExpression();
84 case SolverLanguagePackage.SWITCH:
85 return createSwitch();
86 case SolverLanguagePackage.CASE:
87 return createCase();
88 case SolverLanguagePackage.LET_EXPRESSION:
89 return createLetExpression();
90 case SolverLanguagePackage.LET_BINDING:
91 return createLetBinding();
92 case SolverLanguagePackage.INT_LITERAL:
93 return createIntLiteral();
94 case SolverLanguagePackage.REAL_LITERAL:
95 return createRealLiteral();
96 case SolverLanguagePackage.STRING_LITERAL:
97 return createStringLiteral();
98 case SolverLanguagePackage.LOGIC_LITERAL:
99 return createLogicLiteral();
100 case SolverLanguagePackage.EMPTY_LITERAL:
101 return createEmptyLiteral();
102 case SolverLanguagePackage.CAST_EXPRESSION:
103 return createCastExpression();
104 case SolverLanguagePackage.COUNT:
105 return createCount();
106 case SolverLanguagePackage.AGGREGATION:
107 return createAggregation();
108 case SolverLanguagePackage.FORALL:
109 return createForall();
110 case SolverLanguagePackage.TYPE_REFERENCE:
111 return createTypeReference();
112 case SolverLanguagePackage.INFINITY_LITERAL:
113 return createInfinityLiteral();
114 case SolverLanguagePackage.INTERVAL:
115 return createInterval();
116 case SolverLanguagePackage.BASE_RELATION:
117 return createBaseRelation();
118 case SolverLanguagePackage.PREDICATE:
119 return createPredicate();
120 case SolverLanguagePackage.DATATYPE:
121 return createDatatype();
122 case SolverLanguagePackage.METRIC:
123 return createMetric();
124 case SolverLanguagePackage.OPERATOR:
125 return createOperator();
126 case SolverLanguagePackage.NODE:
127 return createNode();
128 case SolverLanguagePackage.PREDICATE_DEFINITION:
129 return createPredicateDefinition();
130 case SolverLanguagePackage.FUNCTION_DEFINITION:
131 return createFunctionDefinition();
132 case SolverLanguagePackage.EXTERN_PREDICATE_DECLARATION:
133 return createExternPredicateDeclaration();
134 case SolverLanguagePackage.EXTERN_FUNCTION_DECLARATION:
135 return createExternFunctionDeclaration();
136 case SolverLanguagePackage.EXTERN_AGGREGATION_OPERATOR_DECLARATION:
137 return createExternAggregationOperatorDeclaration();
138 case SolverLanguagePackage.EXTERN_DATATYPE_DECLARATION:
139 return createExternDatatypeDeclaration();
140 case SolverLanguagePackage.CLASS_DECLARATION:
141 return createClassDeclaration();
142 case SolverLanguagePackage.ENUM_DECLARATION:
143 return createEnumDeclaration();
144 case SolverLanguagePackage.ENUM_LITERAL:
145 return createEnumLiteral();
146 case SolverLanguagePackage.FIELD:
147 return createField();
148 case SolverLanguagePackage.DEFAULT_ASSERTION:
149 return createDefaultAssertion();
150 case SolverLanguagePackage.ASSERTION:
151 return createAssertion();
152 case SolverLanguagePackage.UNBOUNDED_MULTIPLICITY:
153 return createUnboundedMultiplicity();
154 case SolverLanguagePackage.EXACT_MULTIPLICITY:
155 return createExactMultiplicity();
156 case SolverLanguagePackage.BOUNDED_MULTIPLICITY:
157 return createBoundedMultiplicity();
158 case SolverLanguagePackage.AGGREGATION_OPERATOR:
159 return createAggregationOperator();
160 case SolverLanguagePackage.PROBLEM:
161 return createProblem();
162 case SolverLanguagePackage.TYPED_STAR_ARGUMENT:
163 return createTypedStarArgument();
164 case SolverLanguagePackage.TYPED_VARIABLE_ARGUMENT:
165 return createTypedVariableArgument();
166 case SolverLanguagePackage.UNNAMED_ERROR_PREDICATE_DEFINTION:
167 return createUnnamedErrorPredicateDefintion();
168 case SolverLanguagePackage.OBJECTIVE_DECLARATION:
169 return createObjectiveDeclaration();
170 case SolverLanguagePackage.SCOPE_DECLARATION:
171 return createScopeDeclaration();
172 case SolverLanguagePackage.EXACT_SCOPE:
173 return createExactScope();
174 case SolverLanguagePackage.BOUNDED_SCOPE:
175 return createBoundedScope();
176 case SolverLanguagePackage.LOWER_BOUNDED_SCOPE:
177 return createLowerBoundedScope();
178 case SolverLanguagePackage.NAMESPACE_IMPORT:
179 return createNamespaceImport();
180 case SolverLanguagePackage.IMPORT:
181 return createImport();
182 case SolverLanguagePackage.URI_IMPORT:
183 return createUriImport();
184 default:
185 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
186 }
187 }
188
189 /**
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 @Override
195 public Object createFromString(EDataType eDataType, String initialValue) {
196 switch (eDataType.getClassifierID()) {
197 case SolverLanguagePackage.UNARY_OPERATOR:
198 return createUnaryOperatorFromString(eDataType, initialValue);
199 case SolverLanguagePackage.BINARY_OPERATOR:
200 return createBinaryOperatorFromString(eDataType, initialValue);
201 case SolverLanguagePackage.LOGIC_VALUE:
202 return createLogicValueFromString(eDataType, initialValue);
203 case SolverLanguagePackage.OBJECTIVE_KIND:
204 return createObjectiveKindFromString(eDataType, initialValue);
205 case SolverLanguagePackage.ATTRIBUTE_KIND:
206 return createAttributeKindFromString(eDataType, initialValue);
207 default:
208 throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
209 }
210 }
211
212 /**
213 * <!-- begin-user-doc -->
214 * <!-- end-user-doc -->
215 * @generated
216 */
217 @Override
218 public String convertToString(EDataType eDataType, Object instanceValue) {
219 switch (eDataType.getClassifierID()) {
220 case SolverLanguagePackage.UNARY_OPERATOR:
221 return convertUnaryOperatorToString(eDataType, instanceValue);
222 case SolverLanguagePackage.BINARY_OPERATOR:
223 return convertBinaryOperatorToString(eDataType, instanceValue);
224 case SolverLanguagePackage.LOGIC_VALUE:
225 return convertLogicValueToString(eDataType, instanceValue);
226 case SolverLanguagePackage.OBJECTIVE_KIND:
227 return convertObjectiveKindToString(eDataType, instanceValue);
228 case SolverLanguagePackage.ATTRIBUTE_KIND:
229 return convertAttributeKindToString(eDataType, instanceValue);
230 default:
231 throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
232 }
233 }
234
235 /**
236 * <!-- begin-user-doc -->
237 * <!-- end-user-doc -->
238 * @generated
239 */
240 public PathComponent createPathComponent() {
241 PathComponentImpl pathComponent = new PathComponentImpl();
242 return pathComponent;
243 }
244
245 /**
246 * <!-- begin-user-doc -->
247 * <!-- end-user-doc -->
248 * @generated
249 */
250 public Call createCall() {
251 CallImpl call = new CallImpl();
252 return call;
253 }
254
255 /**
256 * <!-- begin-user-doc -->
257 * <!-- end-user-doc -->
258 * @generated
259 */
260 public Reference createReference() {
261 ReferenceImpl reference = new ReferenceImpl();
262 return reference;
263 }
264
265 /**
266 * <!-- begin-user-doc -->
267 * <!-- end-user-doc -->
268 * @generated
269 */
270 public ArgumentList createArgumentList() {
271 ArgumentListImpl argumentList = new ArgumentListImpl();
272 return argumentList;
273 }
274
275 /**
276 * <!-- begin-user-doc -->
277 * <!-- end-user-doc -->
278 * @generated
279 */
280 public ExpressionArgument createExpressionArgument() {
281 ExpressionArgumentImpl expressionArgument = new ExpressionArgumentImpl();
282 return expressionArgument;
283 }
284
285 /**
286 * <!-- begin-user-doc -->
287 * <!-- end-user-doc -->
288 * @generated
289 */
290 public StarArgument createStarArgument() {
291 StarArgumentImpl starArgument = new StarArgumentImpl();
292 return starArgument;
293 }
294
295 /**
296 * <!-- begin-user-doc -->
297 * <!-- end-user-doc -->
298 * @generated
299 */
300 public Variable createVariable() {
301 VariableImpl variable = new VariableImpl();
302 return variable;
303 }
304
305 /**
306 * <!-- begin-user-doc -->
307 * <!-- end-user-doc -->
308 * @generated
309 */
310 public UnaryExpression createUnaryExpression() {
311 UnaryExpressionImpl unaryExpression = new UnaryExpressionImpl();
312 return unaryExpression;
313 }
314
315 /**
316 * <!-- begin-user-doc -->
317 * <!-- end-user-doc -->
318 * @generated
319 */
320 public BinaryExpression createBinaryExpression() {
321 BinaryExpressionImpl binaryExpression = new BinaryExpressionImpl();
322 return binaryExpression;
323 }
324
325 /**
326 * <!-- begin-user-doc -->
327 * <!-- end-user-doc -->
328 * @generated
329 */
330 public Disjunction createDisjunction() {
331 DisjunctionImpl disjunction = new DisjunctionImpl();
332 return disjunction;
333 }
334
335 /**
336 * <!-- begin-user-doc -->
337 * <!-- end-user-doc -->
338 * @generated
339 */
340 public Conjunction createConjunction() {
341 ConjunctionImpl conjunction = new ConjunctionImpl();
342 return conjunction;
343 }
344
345 /**
346 * <!-- begin-user-doc -->
347 * <!-- end-user-doc -->
348 * @generated
349 */
350 public ConditionalExpression createConditionalExpression() {
351 ConditionalExpressionImpl conditionalExpression = new ConditionalExpressionImpl();
352 return conditionalExpression;
353 }
354
355 /**
356 * <!-- begin-user-doc -->
357 * <!-- end-user-doc -->
358 * @generated
359 */
360 public Switch createSwitch() {
361 SwitchImpl switch_ = new SwitchImpl();
362 return switch_;
363 }
364
365 /**
366 * <!-- begin-user-doc -->
367 * <!-- end-user-doc -->
368 * @generated
369 */
370 public Case createCase() {
371 CaseImpl case_ = new CaseImpl();
372 return case_;
373 }
374
375 /**
376 * <!-- begin-user-doc -->
377 * <!-- end-user-doc -->
378 * @generated
379 */
380 public LetExpression createLetExpression() {
381 LetExpressionImpl letExpression = new LetExpressionImpl();
382 return letExpression;
383 }
384
385 /**
386 * <!-- begin-user-doc -->
387 * <!-- end-user-doc -->
388 * @generated
389 */
390 public LetBinding createLetBinding() {
391 LetBindingImpl letBinding = new LetBindingImpl();
392 return letBinding;
393 }
394
395 /**
396 * <!-- begin-user-doc -->
397 * <!-- end-user-doc -->
398 * @generated
399 */
400 public IntLiteral createIntLiteral() {
401 IntLiteralImpl intLiteral = new IntLiteralImpl();
402 return intLiteral;
403 }
404
405 /**
406 * <!-- begin-user-doc -->
407 * <!-- end-user-doc -->
408 * @generated
409 */
410 public RealLiteral createRealLiteral() {
411 RealLiteralImpl realLiteral = new RealLiteralImpl();
412 return realLiteral;
413 }
414
415 /**
416 * <!-- begin-user-doc -->
417 * <!-- end-user-doc -->
418 * @generated
419 */
420 public StringLiteral createStringLiteral() {
421 StringLiteralImpl stringLiteral = new StringLiteralImpl();
422 return stringLiteral;
423 }
424
425 /**
426 * <!-- begin-user-doc -->
427 * <!-- end-user-doc -->
428 * @generated
429 */
430 public LogicLiteral createLogicLiteral() {
431 LogicLiteralImpl logicLiteral = new LogicLiteralImpl();
432 return logicLiteral;
433 }
434
435 /**
436 * <!-- begin-user-doc -->
437 * <!-- end-user-doc -->
438 * @generated
439 */
440 public EmptyLiteral createEmptyLiteral() {
441 EmptyLiteralImpl emptyLiteral = new EmptyLiteralImpl();
442 return emptyLiteral;
443 }
444
445 /**
446 * <!-- begin-user-doc -->
447 * <!-- end-user-doc -->
448 * @generated
449 */
450 public CastExpression createCastExpression() {
451 CastExpressionImpl castExpression = new CastExpressionImpl();
452 return castExpression;
453 }
454
455 /**
456 * <!-- begin-user-doc -->
457 * <!-- end-user-doc -->
458 * @generated
459 */
460 public Count createCount() {
461 CountImpl count = new CountImpl();
462 return count;
463 }
464
465 /**
466 * <!-- begin-user-doc -->
467 * <!-- end-user-doc -->
468 * @generated
469 */
470 public Aggregation createAggregation() {
471 AggregationImpl aggregation = new AggregationImpl();
472 return aggregation;
473 }
474
475 /**
476 * <!-- begin-user-doc -->
477 * <!-- end-user-doc -->
478 * @generated
479 */
480 public Forall createForall() {
481 ForallImpl forall = new ForallImpl();
482 return forall;
483 }
484
485 /**
486 * <!-- begin-user-doc -->
487 * <!-- end-user-doc -->
488 * @generated
489 */
490 public TypeReference createTypeReference() {
491 TypeReferenceImpl typeReference = new TypeReferenceImpl();
492 return typeReference;
493 }
494
495 /**
496 * <!-- begin-user-doc -->
497 * <!-- end-user-doc -->
498 * @generated
499 */
500 public InfinityLiteral createInfinityLiteral() {
501 InfinityLiteralImpl infinityLiteral = new InfinityLiteralImpl();
502 return infinityLiteral;
503 }
504
505 /**
506 * <!-- begin-user-doc -->
507 * <!-- end-user-doc -->
508 * @generated
509 */
510 public Interval createInterval() {
511 IntervalImpl interval = new IntervalImpl();
512 return interval;
513 }
514
515 /**
516 * <!-- begin-user-doc -->
517 * <!-- end-user-doc -->
518 * @generated
519 */
520 public BaseRelation createBaseRelation() {
521 BaseRelationImpl baseRelation = new BaseRelationImpl();
522 return baseRelation;
523 }
524
525 /**
526 * <!-- begin-user-doc -->
527 * <!-- end-user-doc -->
528 * @generated
529 */
530 public Predicate createPredicate() {
531 PredicateImpl predicate = new PredicateImpl();
532 return predicate;
533 }
534
535 /**
536 * <!-- begin-user-doc -->
537 * <!-- end-user-doc -->
538 * @generated
539 */
540 public Datatype createDatatype() {
541 DatatypeImpl datatype = new DatatypeImpl();
542 return datatype;
543 }
544
545 /**
546 * <!-- begin-user-doc -->
547 * <!-- end-user-doc -->
548 * @generated
549 */
550 public Metric createMetric() {
551 MetricImpl metric = new MetricImpl();
552 return metric;
553 }
554
555 /**
556 * <!-- begin-user-doc -->
557 * <!-- end-user-doc -->
558 * @generated
559 */
560 public Operator createOperator() {
561 OperatorImpl operator = new OperatorImpl();
562 return operator;
563 }
564
565 /**
566 * <!-- begin-user-doc -->
567 * <!-- end-user-doc -->
568 * @generated
569 */
570 public Node createNode() {
571 NodeImpl node = new NodeImpl();
572 return node;
573 }
574
575 /**
576 * <!-- begin-user-doc -->
577 * <!-- end-user-doc -->
578 * @generated
579 */
580 public PredicateDefinition createPredicateDefinition() {
581 PredicateDefinitionImpl predicateDefinition = new PredicateDefinitionImpl();
582 return predicateDefinition;
583 }
584
585 /**
586 * <!-- begin-user-doc -->
587 * <!-- end-user-doc -->
588 * @generated
589 */
590 public FunctionDefinition createFunctionDefinition() {
591 FunctionDefinitionImpl functionDefinition = new FunctionDefinitionImpl();
592 return functionDefinition;
593 }
594
595 /**
596 * <!-- begin-user-doc -->
597 * <!-- end-user-doc -->
598 * @generated
599 */
600 public ExternPredicateDeclaration createExternPredicateDeclaration() {
601 ExternPredicateDeclarationImpl externPredicateDeclaration = new ExternPredicateDeclarationImpl();
602 return externPredicateDeclaration;
603 }
604
605 /**
606 * <!-- begin-user-doc -->
607 * <!-- end-user-doc -->
608 * @generated
609 */
610 public ExternFunctionDeclaration createExternFunctionDeclaration() {
611 ExternFunctionDeclarationImpl externFunctionDeclaration = new ExternFunctionDeclarationImpl();
612 return externFunctionDeclaration;
613 }
614
615 /**
616 * <!-- begin-user-doc -->
617 * <!-- end-user-doc -->
618 * @generated
619 */
620 public ExternAggregationOperatorDeclaration createExternAggregationOperatorDeclaration() {
621 ExternAggregationOperatorDeclarationImpl externAggregationOperatorDeclaration = new ExternAggregationOperatorDeclarationImpl();
622 return externAggregationOperatorDeclaration;
623 }
624
625 /**
626 * <!-- begin-user-doc -->
627 * <!-- end-user-doc -->
628 * @generated
629 */
630 public ExternDatatypeDeclaration createExternDatatypeDeclaration() {
631 ExternDatatypeDeclarationImpl externDatatypeDeclaration = new ExternDatatypeDeclarationImpl();
632 return externDatatypeDeclaration;
633 }
634
635 /**
636 * <!-- begin-user-doc -->
637 * <!-- end-user-doc -->
638 * @generated
639 */
640 public ClassDeclaration createClassDeclaration() {
641 ClassDeclarationImpl classDeclaration = new ClassDeclarationImpl();
642 return classDeclaration;
643 }
644
645 /**
646 * <!-- begin-user-doc -->
647 * <!-- end-user-doc -->
648 * @generated
649 */
650 public EnumDeclaration createEnumDeclaration() {
651 EnumDeclarationImpl enumDeclaration = new EnumDeclarationImpl();
652 return enumDeclaration;
653 }
654
655 /**
656 * <!-- begin-user-doc -->
657 * <!-- end-user-doc -->
658 * @generated
659 */
660 public EnumLiteral createEnumLiteral() {
661 EnumLiteralImpl enumLiteral = new EnumLiteralImpl();
662 return enumLiteral;
663 }
664
665 /**
666 * <!-- begin-user-doc -->
667 * <!-- end-user-doc -->
668 * @generated
669 */
670 public Field createField() {
671 FieldImpl field = new FieldImpl();
672 return field;
673 }
674
675 /**
676 * <!-- begin-user-doc -->
677 * <!-- end-user-doc -->
678 * @generated
679 */
680 public DefaultAssertion createDefaultAssertion() {
681 DefaultAssertionImpl defaultAssertion = new DefaultAssertionImpl();
682 return defaultAssertion;
683 }
684
685 /**
686 * <!-- begin-user-doc -->
687 * <!-- end-user-doc -->
688 * @generated
689 */
690 public Assertion createAssertion() {
691 AssertionImpl assertion = new AssertionImpl();
692 return assertion;
693 }
694
695 /**
696 * <!-- begin-user-doc -->
697 * <!-- end-user-doc -->
698 * @generated
699 */
700 public UnboundedMultiplicity createUnboundedMultiplicity() {
701 UnboundedMultiplicityImpl unboundedMultiplicity = new UnboundedMultiplicityImpl();
702 return unboundedMultiplicity;
703 }
704
705 /**
706 * <!-- begin-user-doc -->
707 * <!-- end-user-doc -->
708 * @generated
709 */
710 public ExactMultiplicity createExactMultiplicity() {
711 ExactMultiplicityImpl exactMultiplicity = new ExactMultiplicityImpl();
712 return exactMultiplicity;
713 }
714
715 /**
716 * <!-- begin-user-doc -->
717 * <!-- end-user-doc -->
718 * @generated
719 */
720 public BoundedMultiplicity createBoundedMultiplicity() {
721 BoundedMultiplicityImpl boundedMultiplicity = new BoundedMultiplicityImpl();
722 return boundedMultiplicity;
723 }
724
725 /**
726 * <!-- begin-user-doc -->
727 * <!-- end-user-doc -->
728 * @generated
729 */
730 public AggregationOperator createAggregationOperator() {
731 AggregationOperatorImpl aggregationOperator = new AggregationOperatorImpl();
732 return aggregationOperator;
733 }
734
735 /**
736 * <!-- begin-user-doc -->
737 * <!-- end-user-doc -->
738 * @generated
739 */
740 public Problem createProblem() {
741 ProblemImpl problem = new ProblemImpl();
742 return problem;
743 }
744
745 /**
746 * <!-- begin-user-doc -->
747 * <!-- end-user-doc -->
748 * @generated
749 */
750 public TypedStarArgument createTypedStarArgument() {
751 TypedStarArgumentImpl typedStarArgument = new TypedStarArgumentImpl();
752 return typedStarArgument;
753 }
754
755 /**
756 * <!-- begin-user-doc -->
757 * <!-- end-user-doc -->
758 * @generated
759 */
760 public TypedVariableArgument createTypedVariableArgument() {
761 TypedVariableArgumentImpl typedVariableArgument = new TypedVariableArgumentImpl();
762 return typedVariableArgument;
763 }
764
765 /**
766 * <!-- begin-user-doc -->
767 * <!-- end-user-doc -->
768 * @generated
769 */
770 public UnnamedErrorPredicateDefintion createUnnamedErrorPredicateDefintion() {
771 UnnamedErrorPredicateDefintionImpl unnamedErrorPredicateDefintion = new UnnamedErrorPredicateDefintionImpl();
772 return unnamedErrorPredicateDefintion;
773 }
774
775 /**
776 * <!-- begin-user-doc -->
777 * <!-- end-user-doc -->
778 * @generated
779 */
780 public ObjectiveDeclaration createObjectiveDeclaration() {
781 ObjectiveDeclarationImpl objectiveDeclaration = new ObjectiveDeclarationImpl();
782 return objectiveDeclaration;
783 }
784
785 /**
786 * <!-- begin-user-doc -->
787 * <!-- end-user-doc -->
788 * @generated
789 */
790 public ScopeDeclaration createScopeDeclaration() {
791 ScopeDeclarationImpl scopeDeclaration = new ScopeDeclarationImpl();
792 return scopeDeclaration;
793 }
794
795 /**
796 * <!-- begin-user-doc -->
797 * <!-- end-user-doc -->
798 * @generated
799 */
800 public ExactScope createExactScope() {
801 ExactScopeImpl exactScope = new ExactScopeImpl();
802 return exactScope;
803 }
804
805 /**
806 * <!-- begin-user-doc -->
807 * <!-- end-user-doc -->
808 * @generated
809 */
810 public BoundedScope createBoundedScope() {
811 BoundedScopeImpl boundedScope = new BoundedScopeImpl();
812 return boundedScope;
813 }
814
815 /**
816 * <!-- begin-user-doc -->
817 * <!-- end-user-doc -->
818 * @generated
819 */
820 public LowerBoundedScope createLowerBoundedScope() {
821 LowerBoundedScopeImpl lowerBoundedScope = new LowerBoundedScopeImpl();
822 return lowerBoundedScope;
823 }
824
825 /**
826 * <!-- begin-user-doc -->
827 * <!-- end-user-doc -->
828 * @generated
829 */
830 public NamespaceImport createNamespaceImport() {
831 NamespaceImportImpl namespaceImport = new NamespaceImportImpl();
832 return namespaceImport;
833 }
834
835 /**
836 * <!-- begin-user-doc -->
837 * <!-- end-user-doc -->
838 * @generated
839 */
840 public Import createImport() {
841 ImportImpl import_ = new ImportImpl();
842 return import_;
843 }
844
845 /**
846 * <!-- begin-user-doc -->
847 * <!-- end-user-doc -->
848 * @generated
849 */
850 public UriImport createUriImport() {
851 UriImportImpl uriImport = new UriImportImpl();
852 return uriImport;
853 }
854
855 /**
856 * <!-- begin-user-doc -->
857 * <!-- end-user-doc -->
858 * @generated
859 */
860 public UnaryOperator createUnaryOperatorFromString(EDataType eDataType, String initialValue) {
861 UnaryOperator result = UnaryOperator.get(initialValue);
862 if (result == null)
863 throw new IllegalArgumentException(
864 "The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
865 return result;
866 }
867
868 /**
869 * <!-- begin-user-doc -->
870 * <!-- end-user-doc -->
871 * @generated
872 */
873 public String convertUnaryOperatorToString(EDataType eDataType, Object instanceValue) {
874 return instanceValue == null ? null : instanceValue.toString();
875 }
876
877 /**
878 * <!-- begin-user-doc -->
879 * <!-- end-user-doc -->
880 * @generated
881 */
882 public BinaryOperator createBinaryOperatorFromString(EDataType eDataType, String initialValue) {
883 BinaryOperator result = BinaryOperator.get(initialValue);
884 if (result == null)
885 throw new IllegalArgumentException(
886 "The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
887 return result;
888 }
889
890 /**
891 * <!-- begin-user-doc -->
892 * <!-- end-user-doc -->
893 * @generated
894 */
895 public String convertBinaryOperatorToString(EDataType eDataType, Object instanceValue) {
896 return instanceValue == null ? null : instanceValue.toString();
897 }
898
899 /**
900 * <!-- begin-user-doc -->
901 * <!-- end-user-doc -->
902 * @generated
903 */
904 public LogicValue createLogicValueFromString(EDataType eDataType, String initialValue) {
905 LogicValue result = LogicValue.get(initialValue);
906 if (result == null)
907 throw new IllegalArgumentException(
908 "The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
909 return result;
910 }
911
912 /**
913 * <!-- begin-user-doc -->
914 * <!-- end-user-doc -->
915 * @generated
916 */
917 public String convertLogicValueToString(EDataType eDataType, Object instanceValue) {
918 return instanceValue == null ? null : instanceValue.toString();
919 }
920
921 /**
922 * <!-- begin-user-doc -->
923 * <!-- end-user-doc -->
924 * @generated
925 */
926 public ObjectiveKind createObjectiveKindFromString(EDataType eDataType, String initialValue) {
927 ObjectiveKind result = ObjectiveKind.get(initialValue);
928 if (result == null)
929 throw new IllegalArgumentException(
930 "The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
931 return result;
932 }
933
934 /**
935 * <!-- begin-user-doc -->
936 * <!-- end-user-doc -->
937 * @generated
938 */
939 public String convertObjectiveKindToString(EDataType eDataType, Object instanceValue) {
940 return instanceValue == null ? null : instanceValue.toString();
941 }
942
943 /**
944 * <!-- begin-user-doc -->
945 * <!-- end-user-doc -->
946 * @generated
947 */
948 public AttributeKind createAttributeKindFromString(EDataType eDataType, String initialValue) {
949 AttributeKind result = AttributeKind.get(initialValue);
950 if (result == null)
951 throw new IllegalArgumentException(
952 "The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
953 return result;
954 }
955
956 /**
957 * <!-- begin-user-doc -->
958 * <!-- end-user-doc -->
959 * @generated
960 */
961 public String convertAttributeKindToString(EDataType eDataType, Object instanceValue) {
962 return instanceValue == null ? null : instanceValue.toString();
963 }
964
965 /**
966 * <!-- begin-user-doc -->
967 * <!-- end-user-doc -->
968 * @generated
969 */
970 public SolverLanguagePackage getSolverLanguagePackage() {
971 return (SolverLanguagePackage) getEPackage();
972 }
973
974 /**
975 * <!-- begin-user-doc -->
976 * <!-- end-user-doc -->
977 * @deprecated
978 * @generated
979 */
980 @Deprecated
981 public static SolverLanguagePackage getPackage() {
982 return SolverLanguagePackage.eINSTANCE;
983 }
984
985} //SolverLanguageFactoryImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java
new file mode 100644
index 00000000..52dde045
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java
@@ -0,0 +1,3364 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.AbstractAssertion;
14import org.eclipse.viatra.solver.language.solverLanguage.AggregateExpression;
15import org.eclipse.viatra.solver.language.solverLanguage.Aggregation;
16import org.eclipse.viatra.solver.language.solverLanguage.AggregationOperator;
17import org.eclipse.viatra.solver.language.solverLanguage.Argument;
18import org.eclipse.viatra.solver.language.solverLanguage.ArgumentList;
19import org.eclipse.viatra.solver.language.solverLanguage.Assertion;
20import org.eclipse.viatra.solver.language.solverLanguage.Attribute;
21import org.eclipse.viatra.solver.language.solverLanguage.AttributeKind;
22import org.eclipse.viatra.solver.language.solverLanguage.BaseRelation;
23import org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression;
24import org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator;
25import org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity;
26import org.eclipse.viatra.solver.language.solverLanguage.BoundedScope;
27import org.eclipse.viatra.solver.language.solverLanguage.Call;
28import org.eclipse.viatra.solver.language.solverLanguage.Case;
29import org.eclipse.viatra.solver.language.solverLanguage.CastExpression;
30import org.eclipse.viatra.solver.language.solverLanguage.ClassDeclaration;
31import org.eclipse.viatra.solver.language.solverLanguage.ConditionalExpression;
32import org.eclipse.viatra.solver.language.solverLanguage.Conjunction;
33import org.eclipse.viatra.solver.language.solverLanguage.Count;
34import org.eclipse.viatra.solver.language.solverLanguage.Datatype;
35import org.eclipse.viatra.solver.language.solverLanguage.DefaultAssertion;
36import org.eclipse.viatra.solver.language.solverLanguage.Disjunction;
37import org.eclipse.viatra.solver.language.solverLanguage.EmptyLiteral;
38import org.eclipse.viatra.solver.language.solverLanguage.EnumDeclaration;
39import org.eclipse.viatra.solver.language.solverLanguage.EnumLiteral;
40import org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity;
41import org.eclipse.viatra.solver.language.solverLanguage.ExactScope;
42import org.eclipse.viatra.solver.language.solverLanguage.Expression;
43import org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument;
44import org.eclipse.viatra.solver.language.solverLanguage.ExternAggregationOperatorDeclaration;
45import org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDeclaration;
46import org.eclipse.viatra.solver.language.solverLanguage.ExternDeclaration;
47import org.eclipse.viatra.solver.language.solverLanguage.ExternFunctionDeclaration;
48import org.eclipse.viatra.solver.language.solverLanguage.ExternFunctorDeclaration;
49import org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDeclaration;
50import org.eclipse.viatra.solver.language.solverLanguage.Field;
51import org.eclipse.viatra.solver.language.solverLanguage.Forall;
52import org.eclipse.viatra.solver.language.solverLanguage.Function;
53import org.eclipse.viatra.solver.language.solverLanguage.FunctionDefinition;
54import org.eclipse.viatra.solver.language.solverLanguage.Functor;
55import org.eclipse.viatra.solver.language.solverLanguage.FunctorDefiniton;
56import org.eclipse.viatra.solver.language.solverLanguage.Import;
57import org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral;
58import org.eclipse.viatra.solver.language.solverLanguage.InlinePredicateAttrributes;
59import org.eclipse.viatra.solver.language.solverLanguage.IntLiteral;
60import org.eclipse.viatra.solver.language.solverLanguage.Interval;
61import org.eclipse.viatra.solver.language.solverLanguage.LetBinding;
62import org.eclipse.viatra.solver.language.solverLanguage.LetExpression;
63import org.eclipse.viatra.solver.language.solverLanguage.Literal;
64import org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral;
65import org.eclipse.viatra.solver.language.solverLanguage.LogicValue;
66import org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScope;
67import org.eclipse.viatra.solver.language.solverLanguage.Metric;
68import org.eclipse.viatra.solver.language.solverLanguage.MultiaryExpession;
69import org.eclipse.viatra.solver.language.solverLanguage.Multiplicity;
70import org.eclipse.viatra.solver.language.solverLanguage.NamespaceImport;
71import org.eclipse.viatra.solver.language.solverLanguage.Node;
72import org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDeclaration;
73import org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind;
74import org.eclipse.viatra.solver.language.solverLanguage.Operator;
75import org.eclipse.viatra.solver.language.solverLanguage.PathComponent;
76import org.eclipse.viatra.solver.language.solverLanguage.Predicate;
77import org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition;
78import org.eclipse.viatra.solver.language.solverLanguage.Problem;
79import org.eclipse.viatra.solver.language.solverLanguage.RealLiteral;
80import org.eclipse.viatra.solver.language.solverLanguage.Reference;
81import org.eclipse.viatra.solver.language.solverLanguage.Relation;
82import org.eclipse.viatra.solver.language.solverLanguage.ScopeDeclaration;
83import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguageFactory;
84import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
85import org.eclipse.viatra.solver.language.solverLanguage.StarArgument;
86import org.eclipse.viatra.solver.language.solverLanguage.Statement;
87import org.eclipse.viatra.solver.language.solverLanguage.StringLiteral;
88import org.eclipse.viatra.solver.language.solverLanguage.Switch;
89import org.eclipse.viatra.solver.language.solverLanguage.Symbol;
90import org.eclipse.viatra.solver.language.solverLanguage.TypeReference;
91import org.eclipse.viatra.solver.language.solverLanguage.TypedArgument;
92import org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument;
93import org.eclipse.viatra.solver.language.solverLanguage.TypedVariableArgument;
94import org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression;
95import org.eclipse.viatra.solver.language.solverLanguage.UnaryOperator;
96import org.eclipse.viatra.solver.language.solverLanguage.UnboundedMultiplicity;
97import org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPredicateDefintion;
98import org.eclipse.viatra.solver.language.solverLanguage.UriImport;
99import org.eclipse.viatra.solver.language.solverLanguage.Variable;
100
101/**
102 * <!-- begin-user-doc -->
103 * An implementation of the model <b>Package</b>.
104 * <!-- end-user-doc -->
105 * @generated
106 */
107public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLanguagePackage {
108 /**
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 private EClass pathComponentEClass = null;
114
115 /**
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 */
120 private EClass symbolEClass = null;
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 private EClass callEClass = null;
128
129 /**
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @generated
133 */
134 private EClass referenceEClass = null;
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 private EClass expressionEClass = null;
142
143 /**
144 * <!-- begin-user-doc -->
145 * <!-- end-user-doc -->
146 * @generated
147 */
148 private EClass argumentEClass = null;
149
150 /**
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 private EClass argumentListEClass = null;
156
157 /**
158 * <!-- begin-user-doc -->
159 * <!-- end-user-doc -->
160 * @generated
161 */
162 private EClass expressionArgumentEClass = null;
163
164 /**
165 * <!-- begin-user-doc -->
166 * <!-- end-user-doc -->
167 * @generated
168 */
169 private EClass starArgumentEClass = null;
170
171 /**
172 * <!-- begin-user-doc -->
173 * <!-- end-user-doc -->
174 * @generated
175 */
176 private EClass typedArgumentEClass = null;
177
178 /**
179 * <!-- begin-user-doc -->
180 * <!-- end-user-doc -->
181 * @generated
182 */
183 private EClass multiaryExpessionEClass = null;
184
185 /**
186 * <!-- begin-user-doc -->
187 * <!-- end-user-doc -->
188 * @generated
189 */
190 private EClass variableEClass = null;
191
192 /**
193 * <!-- begin-user-doc -->
194 * <!-- end-user-doc -->
195 * @generated
196 */
197 private EClass unaryExpressionEClass = null;
198
199 /**
200 * <!-- begin-user-doc -->
201 * <!-- end-user-doc -->
202 * @generated
203 */
204 private EClass binaryExpressionEClass = null;
205
206 /**
207 * <!-- begin-user-doc -->
208 * <!-- end-user-doc -->
209 * @generated
210 */
211 private EClass disjunctionEClass = null;
212
213 /**
214 * <!-- begin-user-doc -->
215 * <!-- end-user-doc -->
216 * @generated
217 */
218 private EClass conjunctionEClass = null;
219
220 /**
221 * <!-- begin-user-doc -->
222 * <!-- end-user-doc -->
223 * @generated
224 */
225 private EClass conditionalExpressionEClass = null;
226
227 /**
228 * <!-- begin-user-doc -->
229 * <!-- end-user-doc -->
230 * @generated
231 */
232 private EClass switchEClass = null;
233
234 /**
235 * <!-- begin-user-doc -->
236 * <!-- end-user-doc -->
237 * @generated
238 */
239 private EClass caseEClass = null;
240
241 /**
242 * <!-- begin-user-doc -->
243 * <!-- end-user-doc -->
244 * @generated
245 */
246 private EClass letExpressionEClass = null;
247
248 /**
249 * <!-- begin-user-doc -->
250 * <!-- end-user-doc -->
251 * @generated
252 */
253 private EClass letBindingEClass = null;
254
255 /**
256 * <!-- begin-user-doc -->
257 * <!-- end-user-doc -->
258 * @generated
259 */
260 private EClass literalEClass = null;
261
262 /**
263 * <!-- begin-user-doc -->
264 * <!-- end-user-doc -->
265 * @generated
266 */
267 private EClass intLiteralEClass = null;
268
269 /**
270 * <!-- begin-user-doc -->
271 * <!-- end-user-doc -->
272 * @generated
273 */
274 private EClass realLiteralEClass = null;
275
276 /**
277 * <!-- begin-user-doc -->
278 * <!-- end-user-doc -->
279 * @generated
280 */
281 private EClass stringLiteralEClass = null;
282
283 /**
284 * <!-- begin-user-doc -->
285 * <!-- end-user-doc -->
286 * @generated
287 */
288 private EClass logicLiteralEClass = null;
289
290 /**
291 * <!-- begin-user-doc -->
292 * <!-- end-user-doc -->
293 * @generated
294 */
295 private EClass emptyLiteralEClass = null;
296
297 /**
298 * <!-- begin-user-doc -->
299 * <!-- end-user-doc -->
300 * @generated
301 */
302 private EClass castExpressionEClass = null;
303
304 /**
305 * <!-- begin-user-doc -->
306 * <!-- end-user-doc -->
307 * @generated
308 */
309 private EClass aggregateExpressionEClass = null;
310
311 /**
312 * <!-- begin-user-doc -->
313 * <!-- end-user-doc -->
314 * @generated
315 */
316 private EClass countEClass = null;
317
318 /**
319 * <!-- begin-user-doc -->
320 * <!-- end-user-doc -->
321 * @generated
322 */
323 private EClass aggregationEClass = null;
324
325 /**
326 * <!-- begin-user-doc -->
327 * <!-- end-user-doc -->
328 * @generated
329 */
330 private EClass forallEClass = null;
331
332 /**
333 * <!-- begin-user-doc -->
334 * <!-- end-user-doc -->
335 * @generated
336 */
337 private EClass typeReferenceEClass = null;
338
339 /**
340 * <!-- begin-user-doc -->
341 * <!-- end-user-doc -->
342 * @generated
343 */
344 private EClass infinityLiteralEClass = null;
345
346 /**
347 * <!-- begin-user-doc -->
348 * <!-- end-user-doc -->
349 * @generated
350 */
351 private EClass intervalEClass = null;
352
353 /**
354 * <!-- begin-user-doc -->
355 * <!-- end-user-doc -->
356 * @generated
357 */
358 private EClass functorEClass = null;
359
360 /**
361 * <!-- begin-user-doc -->
362 * <!-- end-user-doc -->
363 * @generated
364 */
365 private EClass relationEClass = null;
366
367 /**
368 * <!-- begin-user-doc -->
369 * <!-- end-user-doc -->
370 * @generated
371 */
372 private EClass baseRelationEClass = null;
373
374 /**
375 * <!-- begin-user-doc -->
376 * <!-- end-user-doc -->
377 * @generated
378 */
379 private EClass predicateEClass = null;
380
381 /**
382 * <!-- begin-user-doc -->
383 * <!-- end-user-doc -->
384 * @generated
385 */
386 private EClass datatypeEClass = null;
387
388 /**
389 * <!-- begin-user-doc -->
390 * <!-- end-user-doc -->
391 * @generated
392 */
393 private EClass functionEClass = null;
394
395 /**
396 * <!-- begin-user-doc -->
397 * <!-- end-user-doc -->
398 * @generated
399 */
400 private EClass metricEClass = null;
401
402 /**
403 * <!-- begin-user-doc -->
404 * <!-- end-user-doc -->
405 * @generated
406 */
407 private EClass operatorEClass = null;
408
409 /**
410 * <!-- begin-user-doc -->
411 * <!-- end-user-doc -->
412 * @generated
413 */
414 private EClass nodeEClass = null;
415
416 /**
417 * <!-- begin-user-doc -->
418 * <!-- end-user-doc -->
419 * @generated
420 */
421 private EClass statementEClass = null;
422
423 /**
424 * <!-- begin-user-doc -->
425 * <!-- end-user-doc -->
426 * @generated
427 */
428 private EClass abstractAssertionEClass = null;
429
430 /**
431 * <!-- begin-user-doc -->
432 * <!-- end-user-doc -->
433 * @generated
434 */
435 private EClass functorDefinitonEClass = null;
436
437 /**
438 * <!-- begin-user-doc -->
439 * <!-- end-user-doc -->
440 * @generated
441 */
442 private EClass predicateDefinitionEClass = null;
443
444 /**
445 * <!-- begin-user-doc -->
446 * <!-- end-user-doc -->
447 * @generated
448 */
449 private EClass functionDefinitionEClass = null;
450
451 /**
452 * <!-- begin-user-doc -->
453 * <!-- end-user-doc -->
454 * @generated
455 */
456 private EClass attributeEClass = null;
457
458 /**
459 * <!-- begin-user-doc -->
460 * <!-- end-user-doc -->
461 * @generated
462 */
463 private EClass externDeclarationEClass = null;
464
465 /**
466 * <!-- begin-user-doc -->
467 * <!-- end-user-doc -->
468 * @generated
469 */
470 private EClass externFunctorDeclarationEClass = null;
471
472 /**
473 * <!-- begin-user-doc -->
474 * <!-- end-user-doc -->
475 * @generated
476 */
477 private EClass externPredicateDeclarationEClass = null;
478
479 /**
480 * <!-- begin-user-doc -->
481 * <!-- end-user-doc -->
482 * @generated
483 */
484 private EClass externFunctionDeclarationEClass = null;
485
486 /**
487 * <!-- begin-user-doc -->
488 * <!-- end-user-doc -->
489 * @generated
490 */
491 private EClass externAggregationOperatorDeclarationEClass = null;
492
493 /**
494 * <!-- begin-user-doc -->
495 * <!-- end-user-doc -->
496 * @generated
497 */
498 private EClass externDatatypeDeclarationEClass = null;
499
500 /**
501 * <!-- begin-user-doc -->
502 * <!-- end-user-doc -->
503 * @generated
504 */
505 private EClass classDeclarationEClass = null;
506
507 /**
508 * <!-- begin-user-doc -->
509 * <!-- end-user-doc -->
510 * @generated
511 */
512 private EClass enumDeclarationEClass = null;
513
514 /**
515 * <!-- begin-user-doc -->
516 * <!-- end-user-doc -->
517 * @generated
518 */
519 private EClass enumLiteralEClass = null;
520
521 /**
522 * <!-- begin-user-doc -->
523 * <!-- end-user-doc -->
524 * @generated
525 */
526 private EClass fieldEClass = null;
527
528 /**
529 * <!-- begin-user-doc -->
530 * <!-- end-user-doc -->
531 * @generated
532 */
533 private EClass multiplicityEClass = null;
534
535 /**
536 * <!-- begin-user-doc -->
537 * <!-- end-user-doc -->
538 * @generated
539 */
540 private EClass defaultAssertionEClass = null;
541
542 /**
543 * <!-- begin-user-doc -->
544 * <!-- end-user-doc -->
545 * @generated
546 */
547 private EClass assertionEClass = null;
548
549 /**
550 * <!-- begin-user-doc -->
551 * <!-- end-user-doc -->
552 * @generated
553 */
554 private EClass unboundedMultiplicityEClass = null;
555
556 /**
557 * <!-- begin-user-doc -->
558 * <!-- end-user-doc -->
559 * @generated
560 */
561 private EClass exactMultiplicityEClass = null;
562
563 /**
564 * <!-- begin-user-doc -->
565 * <!-- end-user-doc -->
566 * @generated
567 */
568 private EClass boundedMultiplicityEClass = null;
569
570 /**
571 * <!-- begin-user-doc -->
572 * <!-- end-user-doc -->
573 * @generated
574 */
575 private EClass inlinePredicateAttrributesEClass = null;
576
577 /**
578 * <!-- begin-user-doc -->
579 * <!-- end-user-doc -->
580 * @generated
581 */
582 private EClass aggregationOperatorEClass = null;
583
584 /**
585 * <!-- begin-user-doc -->
586 * <!-- end-user-doc -->
587 * @generated
588 */
589 private EClass problemEClass = null;
590
591 /**
592 * <!-- begin-user-doc -->
593 * <!-- end-user-doc -->
594 * @generated
595 */
596 private EClass typedStarArgumentEClass = null;
597
598 /**
599 * <!-- begin-user-doc -->
600 * <!-- end-user-doc -->
601 * @generated
602 */
603 private EClass typedVariableArgumentEClass = null;
604
605 /**
606 * <!-- begin-user-doc -->
607 * <!-- end-user-doc -->
608 * @generated
609 */
610 private EClass unnamedErrorPredicateDefintionEClass = null;
611
612 /**
613 * <!-- begin-user-doc -->
614 * <!-- end-user-doc -->
615 * @generated
616 */
617 private EClass objectiveDeclarationEClass = null;
618
619 /**
620 * <!-- begin-user-doc -->
621 * <!-- end-user-doc -->
622 * @generated
623 */
624 private EClass scopeDeclarationEClass = null;
625
626 /**
627 * <!-- begin-user-doc -->
628 * <!-- end-user-doc -->
629 * @generated
630 */
631 private EClass exactScopeEClass = null;
632
633 /**
634 * <!-- begin-user-doc -->
635 * <!-- end-user-doc -->
636 * @generated
637 */
638 private EClass boundedScopeEClass = null;
639
640 /**
641 * <!-- begin-user-doc -->
642 * <!-- end-user-doc -->
643 * @generated
644 */
645 private EClass lowerBoundedScopeEClass = null;
646
647 /**
648 * <!-- begin-user-doc -->
649 * <!-- end-user-doc -->
650 * @generated
651 */
652 private EClass namespaceImportEClass = null;
653
654 /**
655 * <!-- begin-user-doc -->
656 * <!-- end-user-doc -->
657 * @generated
658 */
659 private EClass importEClass = null;
660
661 /**
662 * <!-- begin-user-doc -->
663 * <!-- end-user-doc -->
664 * @generated
665 */
666 private EClass uriImportEClass = null;
667
668 /**
669 * <!-- begin-user-doc -->
670 * <!-- end-user-doc -->
671 * @generated
672 */
673 private EEnum unaryOperatorEEnum = null;
674
675 /**
676 * <!-- begin-user-doc -->
677 * <!-- end-user-doc -->
678 * @generated
679 */
680 private EEnum binaryOperatorEEnum = null;
681
682 /**
683 * <!-- begin-user-doc -->
684 * <!-- end-user-doc -->
685 * @generated
686 */
687 private EEnum logicValueEEnum = null;
688
689 /**
690 * <!-- begin-user-doc -->
691 * <!-- end-user-doc -->
692 * @generated
693 */
694 private EEnum objectiveKindEEnum = null;
695
696 /**
697 * <!-- begin-user-doc -->
698 * <!-- end-user-doc -->
699 * @generated
700 */
701 private EEnum attributeKindEEnum = null;
702
703 /**
704 * Creates an instance of the model <b>Package</b>, registered with
705 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
706 * package URI value.
707 * <p>Note: the correct way to create the package is via the static
708 * factory method {@link #init init()}, which also performs
709 * initialization of the package, or returns the registered package,
710 * if one already exists.
711 * <!-- begin-user-doc -->
712 * <!-- end-user-doc -->
713 * @see org.eclipse.emf.ecore.EPackage.Registry
714 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#eNS_URI
715 * @see #init()
716 * @generated
717 */
718 private SolverLanguagePackageImpl() {
719 super(eNS_URI, SolverLanguageFactory.eINSTANCE);
720 }
721
722 /**
723 * <!-- begin-user-doc -->
724 * <!-- end-user-doc -->
725 * @generated
726 */
727 private static boolean isInited = false;
728
729 /**
730 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
731 *
732 * <p>This method is used to initialize {@link SolverLanguagePackage#eINSTANCE} when that field is accessed.
733 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
734 * <!-- begin-user-doc -->
735 * <!-- end-user-doc -->
736 * @see #eNS_URI
737 * @see #createPackageContents()
738 * @see #initializePackageContents()
739 * @generated
740 */
741 public static SolverLanguagePackage init() {
742 if (isInited)
743 return (SolverLanguagePackage) EPackage.Registry.INSTANCE.getEPackage(SolverLanguagePackage.eNS_URI);
744
745 // Obtain or create and register package
746 Object registeredSolverLanguagePackage = EPackage.Registry.INSTANCE.get(eNS_URI);
747 SolverLanguagePackageImpl theSolverLanguagePackage = registeredSolverLanguagePackage instanceof SolverLanguagePackageImpl
748 ? (SolverLanguagePackageImpl) registeredSolverLanguagePackage
749 : new SolverLanguagePackageImpl();
750
751 isInited = true;
752
753 // Create package meta-data objects
754 theSolverLanguagePackage.createPackageContents();
755
756 // Initialize created meta-data
757 theSolverLanguagePackage.initializePackageContents();
758
759 // Mark meta-data to indicate it can't be changed
760 theSolverLanguagePackage.freeze();
761
762 // Update the registry and return the package
763 EPackage.Registry.INSTANCE.put(SolverLanguagePackage.eNS_URI, theSolverLanguagePackage);
764 return theSolverLanguagePackage;
765 }
766
767 /**
768 * <!-- begin-user-doc -->
769 * <!-- end-user-doc -->
770 * @generated
771 */
772 public EClass getPathComponent() {
773 return pathComponentEClass;
774 }
775
776 /**
777 * <!-- begin-user-doc -->
778 * <!-- end-user-doc -->
779 * @generated
780 */
781 public EReference getPathComponent_Symbol() {
782 return (EReference) pathComponentEClass.getEStructuralFeatures().get(0);
783 }
784
785 /**
786 * <!-- begin-user-doc -->
787 * <!-- end-user-doc -->
788 * @generated
789 */
790 public EAttribute getPathComponent_Inverse() {
791 return (EAttribute) pathComponentEClass.getEStructuralFeatures().get(1);
792 }
793
794 /**
795 * <!-- begin-user-doc -->
796 * <!-- end-user-doc -->
797 * @generated
798 */
799 public EAttribute getPathComponent_TransitiveClosure() {
800 return (EAttribute) pathComponentEClass.getEStructuralFeatures().get(2);
801 }
802
803 /**
804 * <!-- begin-user-doc -->
805 * <!-- end-user-doc -->
806 * @generated
807 */
808 public EAttribute getPathComponent_ReflexiveTransitiveClosure() {
809 return (EAttribute) pathComponentEClass.getEStructuralFeatures().get(3);
810 }
811
812 /**
813 * <!-- begin-user-doc -->
814 * <!-- end-user-doc -->
815 * @generated
816 */
817 public EClass getSymbol() {
818 return symbolEClass;
819 }
820
821 /**
822 * <!-- begin-user-doc -->
823 * <!-- end-user-doc -->
824 * @generated
825 */
826 public EAttribute getSymbol_Name() {
827 return (EAttribute) symbolEClass.getEStructuralFeatures().get(0);
828 }
829
830 /**
831 * <!-- begin-user-doc -->
832 * <!-- end-user-doc -->
833 * @generated
834 */
835 public EClass getCall() {
836 return callEClass;
837 }
838
839 /**
840 * <!-- begin-user-doc -->
841 * <!-- end-user-doc -->
842 * @generated
843 */
844 public EReference getCall_Functor() {
845 return (EReference) callEClass.getEStructuralFeatures().get(0);
846 }
847
848 /**
849 * <!-- begin-user-doc -->
850 * <!-- end-user-doc -->
851 * @generated
852 */
853 public EReference getCall_ArgumentList() {
854 return (EReference) callEClass.getEStructuralFeatures().get(1);
855 }
856
857 /**
858 * <!-- begin-user-doc -->
859 * <!-- end-user-doc -->
860 * @generated
861 */
862 public EClass getReference() {
863 return referenceEClass;
864 }
865
866 /**
867 * <!-- begin-user-doc -->
868 * <!-- end-user-doc -->
869 * @generated
870 */
871 public EReference getReference_Components() {
872 return (EReference) referenceEClass.getEStructuralFeatures().get(0);
873 }
874
875 /**
876 * <!-- begin-user-doc -->
877 * <!-- end-user-doc -->
878 * @generated
879 */
880 public EClass getExpression() {
881 return expressionEClass;
882 }
883
884 /**
885 * <!-- begin-user-doc -->
886 * <!-- end-user-doc -->
887 * @generated
888 */
889 public EReference getExpression_ExistsVariables() {
890 return (EReference) expressionEClass.getEStructuralFeatures().get(0);
891 }
892
893 /**
894 * <!-- begin-user-doc -->
895 * <!-- end-user-doc -->
896 * @generated
897 */
898 public EClass getArgument() {
899 return argumentEClass;
900 }
901
902 /**
903 * <!-- begin-user-doc -->
904 * <!-- end-user-doc -->
905 * @generated
906 */
907 public EClass getArgumentList() {
908 return argumentListEClass;
909 }
910
911 /**
912 * <!-- begin-user-doc -->
913 * <!-- end-user-doc -->
914 * @generated
915 */
916 public EReference getArgumentList_Arguments() {
917 return (EReference) argumentListEClass.getEStructuralFeatures().get(0);
918 }
919
920 /**
921 * <!-- begin-user-doc -->
922 * <!-- end-user-doc -->
923 * @generated
924 */
925 public EClass getExpressionArgument() {
926 return expressionArgumentEClass;
927 }
928
929 /**
930 * <!-- begin-user-doc -->
931 * <!-- end-user-doc -->
932 * @generated
933 */
934 public EReference getExpressionArgument_Expression() {
935 return (EReference) expressionArgumentEClass.getEStructuralFeatures().get(0);
936 }
937
938 /**
939 * <!-- begin-user-doc -->
940 * <!-- end-user-doc -->
941 * @generated
942 */
943 public EClass getStarArgument() {
944 return starArgumentEClass;
945 }
946
947 /**
948 * <!-- begin-user-doc -->
949 * <!-- end-user-doc -->
950 * @generated
951 */
952 public EClass getTypedArgument() {
953 return typedArgumentEClass;
954 }
955
956 /**
957 * <!-- begin-user-doc -->
958 * <!-- end-user-doc -->
959 * @generated
960 */
961 public EReference getTypedArgument_TypeReference() {
962 return (EReference) typedArgumentEClass.getEStructuralFeatures().get(0);
963 }
964
965 /**
966 * <!-- begin-user-doc -->
967 * <!-- end-user-doc -->
968 * @generated
969 */
970 public EClass getMultiaryExpession() {
971 return multiaryExpessionEClass;
972 }
973
974 /**
975 * <!-- begin-user-doc -->
976 * <!-- end-user-doc -->
977 * @generated
978 */
979 public EReference getMultiaryExpession_Children() {
980 return (EReference) multiaryExpessionEClass.getEStructuralFeatures().get(0);
981 }
982
983 /**
984 * <!-- begin-user-doc -->
985 * <!-- end-user-doc -->
986 * @generated
987 */
988 public EClass getVariable() {
989 return variableEClass;
990 }
991
992 /**
993 * <!-- begin-user-doc -->
994 * <!-- end-user-doc -->
995 * @generated
996 */
997 public EReference getVariable_TypeReference() {
998 return (EReference) variableEClass.getEStructuralFeatures().get(0);
999 }
1000
1001 /**
1002 * <!-- begin-user-doc -->
1003 * <!-- end-user-doc -->
1004 * @generated
1005 */
1006 public EClass getUnaryExpression() {
1007 return unaryExpressionEClass;
1008 }
1009
1010 /**
1011 * <!-- begin-user-doc -->
1012 * <!-- end-user-doc -->
1013 * @generated
1014 */
1015 public EReference getUnaryExpression_Body() {
1016 return (EReference) unaryExpressionEClass.getEStructuralFeatures().get(0);
1017 }
1018
1019 /**
1020 * <!-- begin-user-doc -->
1021 * <!-- end-user-doc -->
1022 * @generated
1023 */
1024 public EAttribute getUnaryExpression_Op() {
1025 return (EAttribute) unaryExpressionEClass.getEStructuralFeatures().get(1);
1026 }
1027
1028 /**
1029 * <!-- begin-user-doc -->
1030 * <!-- end-user-doc -->
1031 * @generated
1032 */
1033 public EClass getBinaryExpression() {
1034 return binaryExpressionEClass;
1035 }
1036
1037 /**
1038 * <!-- begin-user-doc -->
1039 * <!-- end-user-doc -->
1040 * @generated
1041 */
1042 public EAttribute getBinaryExpression_Op() {
1043 return (EAttribute) binaryExpressionEClass.getEStructuralFeatures().get(0);
1044 }
1045
1046 /**
1047 * <!-- begin-user-doc -->
1048 * <!-- end-user-doc -->
1049 * @generated
1050 */
1051 public EReference getBinaryExpression_Left() {
1052 return (EReference) binaryExpressionEClass.getEStructuralFeatures().get(1);
1053 }
1054
1055 /**
1056 * <!-- begin-user-doc -->
1057 * <!-- end-user-doc -->
1058 * @generated
1059 */
1060 public EReference getBinaryExpression_Right() {
1061 return (EReference) binaryExpressionEClass.getEStructuralFeatures().get(2);
1062 }
1063
1064 /**
1065 * <!-- begin-user-doc -->
1066 * <!-- end-user-doc -->
1067 * @generated
1068 */
1069 public EClass getDisjunction() {
1070 return disjunctionEClass;
1071 }
1072
1073 /**
1074 * <!-- begin-user-doc -->
1075 * <!-- end-user-doc -->
1076 * @generated
1077 */
1078 public EClass getConjunction() {
1079 return conjunctionEClass;
1080 }
1081
1082 /**
1083 * <!-- begin-user-doc -->
1084 * <!-- end-user-doc -->
1085 * @generated
1086 */
1087 public EClass getConditionalExpression() {
1088 return conditionalExpressionEClass;
1089 }
1090
1091 /**
1092 * <!-- begin-user-doc -->
1093 * <!-- end-user-doc -->
1094 * @generated
1095 */
1096 public EReference getConditionalExpression_Condition() {
1097 return (EReference) conditionalExpressionEClass.getEStructuralFeatures().get(0);
1098 }
1099
1100 /**
1101 * <!-- begin-user-doc -->
1102 * <!-- end-user-doc -->
1103 * @generated
1104 */
1105 public EReference getConditionalExpression_Then() {
1106 return (EReference) conditionalExpressionEClass.getEStructuralFeatures().get(1);
1107 }
1108
1109 /**
1110 * <!-- begin-user-doc -->
1111 * <!-- end-user-doc -->
1112 * @generated
1113 */
1114 public EReference getConditionalExpression_Else() {
1115 return (EReference) conditionalExpressionEClass.getEStructuralFeatures().get(2);
1116 }
1117
1118 /**
1119 * <!-- begin-user-doc -->
1120 * <!-- end-user-doc -->
1121 * @generated
1122 */
1123 public EClass getSwitch() {
1124 return switchEClass;
1125 }
1126
1127 /**
1128 * <!-- begin-user-doc -->
1129 * <!-- end-user-doc -->
1130 * @generated
1131 */
1132 public EReference getSwitch_Cases() {
1133 return (EReference) switchEClass.getEStructuralFeatures().get(0);
1134 }
1135
1136 /**
1137 * <!-- begin-user-doc -->
1138 * <!-- end-user-doc -->
1139 * @generated
1140 */
1141 public EClass getCase() {
1142 return caseEClass;
1143 }
1144
1145 /**
1146 * <!-- begin-user-doc -->
1147 * <!-- end-user-doc -->
1148 * @generated
1149 */
1150 public EReference getCase_Condition() {
1151 return (EReference) caseEClass.getEStructuralFeatures().get(0);
1152 }
1153
1154 /**
1155 * <!-- begin-user-doc -->
1156 * <!-- end-user-doc -->
1157 * @generated
1158 */
1159 public EReference getCase_Body() {
1160 return (EReference) caseEClass.getEStructuralFeatures().get(1);
1161 }
1162
1163 /**
1164 * <!-- begin-user-doc -->
1165 * <!-- end-user-doc -->
1166 * @generated
1167 */
1168 public EClass getLetExpression() {
1169 return letExpressionEClass;
1170 }
1171
1172 /**
1173 * <!-- begin-user-doc -->
1174 * <!-- end-user-doc -->
1175 * @generated
1176 */
1177 public EReference getLetExpression_Bindings() {
1178 return (EReference) letExpressionEClass.getEStructuralFeatures().get(0);
1179 }
1180
1181 /**
1182 * <!-- begin-user-doc -->
1183 * <!-- end-user-doc -->
1184 * @generated
1185 */
1186 public EReference getLetExpression_Body() {
1187 return (EReference) letExpressionEClass.getEStructuralFeatures().get(1);
1188 }
1189
1190 /**
1191 * <!-- begin-user-doc -->
1192 * <!-- end-user-doc -->
1193 * @generated
1194 */
1195 public EClass getLetBinding() {
1196 return letBindingEClass;
1197 }
1198
1199 /**
1200 * <!-- begin-user-doc -->
1201 * <!-- end-user-doc -->
1202 * @generated
1203 */
1204 public EReference getLetBinding_Value() {
1205 return (EReference) letBindingEClass.getEStructuralFeatures().get(0);
1206 }
1207
1208 /**
1209 * <!-- begin-user-doc -->
1210 * <!-- end-user-doc -->
1211 * @generated
1212 */
1213 public EReference getLetBinding_Variable() {
1214 return (EReference) letBindingEClass.getEStructuralFeatures().get(1);
1215 }
1216
1217 /**
1218 * <!-- begin-user-doc -->
1219 * <!-- end-user-doc -->
1220 * @generated
1221 */
1222 public EAttribute getLetBinding_Name() {
1223 return (EAttribute) letBindingEClass.getEStructuralFeatures().get(2);
1224 }
1225
1226 /**
1227 * <!-- begin-user-doc -->
1228 * <!-- end-user-doc -->
1229 * @generated
1230 */
1231 public EReference getLetBinding_Type() {
1232 return (EReference) letBindingEClass.getEStructuralFeatures().get(3);
1233 }
1234
1235 /**
1236 * <!-- begin-user-doc -->
1237 * <!-- end-user-doc -->
1238 * @generated
1239 */
1240 public EClass getLiteral() {
1241 return literalEClass;
1242 }
1243
1244 /**
1245 * <!-- begin-user-doc -->
1246 * <!-- end-user-doc -->
1247 * @generated
1248 */
1249 public EClass getIntLiteral() {
1250 return intLiteralEClass;
1251 }
1252
1253 /**
1254 * <!-- begin-user-doc -->
1255 * <!-- end-user-doc -->
1256 * @generated
1257 */
1258 public EAttribute getIntLiteral_Value() {
1259 return (EAttribute) intLiteralEClass.getEStructuralFeatures().get(0);
1260 }
1261
1262 /**
1263 * <!-- begin-user-doc -->
1264 * <!-- end-user-doc -->
1265 * @generated
1266 */
1267 public EClass getRealLiteral() {
1268 return realLiteralEClass;
1269 }
1270
1271 /**
1272 * <!-- begin-user-doc -->
1273 * <!-- end-user-doc -->
1274 * @generated
1275 */
1276 public EAttribute getRealLiteral_Value() {
1277 return (EAttribute) realLiteralEClass.getEStructuralFeatures().get(0);
1278 }
1279
1280 /**
1281 * <!-- begin-user-doc -->
1282 * <!-- end-user-doc -->
1283 * @generated
1284 */
1285 public EClass getStringLiteral() {
1286 return stringLiteralEClass;
1287 }
1288
1289 /**
1290 * <!-- begin-user-doc -->
1291 * <!-- end-user-doc -->
1292 * @generated
1293 */
1294 public EAttribute getStringLiteral_Value() {
1295 return (EAttribute) stringLiteralEClass.getEStructuralFeatures().get(0);
1296 }
1297
1298 /**
1299 * <!-- begin-user-doc -->
1300 * <!-- end-user-doc -->
1301 * @generated
1302 */
1303 public EClass getLogicLiteral() {
1304 return logicLiteralEClass;
1305 }
1306
1307 /**
1308 * <!-- begin-user-doc -->
1309 * <!-- end-user-doc -->
1310 * @generated
1311 */
1312 public EAttribute getLogicLiteral_Value() {
1313 return (EAttribute) logicLiteralEClass.getEStructuralFeatures().get(0);
1314 }
1315
1316 /**
1317 * <!-- begin-user-doc -->
1318 * <!-- end-user-doc -->
1319 * @generated
1320 */
1321 public EClass getEmptyLiteral() {
1322 return emptyLiteralEClass;
1323 }
1324
1325 /**
1326 * <!-- begin-user-doc -->
1327 * <!-- end-user-doc -->
1328 * @generated
1329 */
1330 public EClass getCastExpression() {
1331 return castExpressionEClass;
1332 }
1333
1334 /**
1335 * <!-- begin-user-doc -->
1336 * <!-- end-user-doc -->
1337 * @generated
1338 */
1339 public EReference getCastExpression_Body() {
1340 return (EReference) castExpressionEClass.getEStructuralFeatures().get(0);
1341 }
1342
1343 /**
1344 * <!-- begin-user-doc -->
1345 * <!-- end-user-doc -->
1346 * @generated
1347 */
1348 public EReference getCastExpression_TargetType() {
1349 return (EReference) castExpressionEClass.getEStructuralFeatures().get(1);
1350 }
1351
1352 /**
1353 * <!-- begin-user-doc -->
1354 * <!-- end-user-doc -->
1355 * @generated
1356 */
1357 public EClass getAggregateExpression() {
1358 return aggregateExpressionEClass;
1359 }
1360
1361 /**
1362 * <!-- begin-user-doc -->
1363 * <!-- end-user-doc -->
1364 * @generated
1365 */
1366 public EReference getAggregateExpression_ForallVariables() {
1367 return (EReference) aggregateExpressionEClass.getEStructuralFeatures().get(0);
1368 }
1369
1370 /**
1371 * <!-- begin-user-doc -->
1372 * <!-- end-user-doc -->
1373 * @generated
1374 */
1375 public EReference getAggregateExpression_Condition() {
1376 return (EReference) aggregateExpressionEClass.getEStructuralFeatures().get(1);
1377 }
1378
1379 /**
1380 * <!-- begin-user-doc -->
1381 * <!-- end-user-doc -->
1382 * @generated
1383 */
1384 public EClass getCount() {
1385 return countEClass;
1386 }
1387
1388 /**
1389 * <!-- begin-user-doc -->
1390 * <!-- end-user-doc -->
1391 * @generated
1392 */
1393 public EClass getAggregation() {
1394 return aggregationEClass;
1395 }
1396
1397 /**
1398 * <!-- begin-user-doc -->
1399 * <!-- end-user-doc -->
1400 * @generated
1401 */
1402 public EReference getAggregation_Value() {
1403 return (EReference) aggregationEClass.getEStructuralFeatures().get(0);
1404 }
1405
1406 /**
1407 * <!-- begin-user-doc -->
1408 * <!-- end-user-doc -->
1409 * @generated
1410 */
1411 public EReference getAggregation_Op() {
1412 return (EReference) aggregationEClass.getEStructuralFeatures().get(1);
1413 }
1414
1415 /**
1416 * <!-- begin-user-doc -->
1417 * <!-- end-user-doc -->
1418 * @generated
1419 */
1420 public EClass getForall() {
1421 return forallEClass;
1422 }
1423
1424 /**
1425 * <!-- begin-user-doc -->
1426 * <!-- end-user-doc -->
1427 * @generated
1428 */
1429 public EReference getForall_Body() {
1430 return (EReference) forallEClass.getEStructuralFeatures().get(0);
1431 }
1432
1433 /**
1434 * <!-- begin-user-doc -->
1435 * <!-- end-user-doc -->
1436 * @generated
1437 */
1438 public EClass getTypeReference() {
1439 return typeReferenceEClass;
1440 }
1441
1442 /**
1443 * <!-- begin-user-doc -->
1444 * <!-- end-user-doc -->
1445 * @generated
1446 */
1447 public EAttribute getTypeReference_ForceObjectType() {
1448 return (EAttribute) typeReferenceEClass.getEStructuralFeatures().get(0);
1449 }
1450
1451 /**
1452 * <!-- begin-user-doc -->
1453 * <!-- end-user-doc -->
1454 * @generated
1455 */
1456 public EReference getTypeReference_Type() {
1457 return (EReference) typeReferenceEClass.getEStructuralFeatures().get(1);
1458 }
1459
1460 /**
1461 * <!-- begin-user-doc -->
1462 * <!-- end-user-doc -->
1463 * @generated
1464 */
1465 public EClass getInfinityLiteral() {
1466 return infinityLiteralEClass;
1467 }
1468
1469 /**
1470 * <!-- begin-user-doc -->
1471 * <!-- end-user-doc -->
1472 * @generated
1473 */
1474 public EClass getInterval() {
1475 return intervalEClass;
1476 }
1477
1478 /**
1479 * <!-- begin-user-doc -->
1480 * <!-- end-user-doc -->
1481 * @generated
1482 */
1483 public EReference getInterval_LowerBound() {
1484 return (EReference) intervalEClass.getEStructuralFeatures().get(0);
1485 }
1486
1487 /**
1488 * <!-- begin-user-doc -->
1489 * <!-- end-user-doc -->
1490 * @generated
1491 */
1492 public EReference getInterval_UpperBound() {
1493 return (EReference) intervalEClass.getEStructuralFeatures().get(1);
1494 }
1495
1496 /**
1497 * <!-- begin-user-doc -->
1498 * <!-- end-user-doc -->
1499 * @generated
1500 */
1501 public EClass getFunctor() {
1502 return functorEClass;
1503 }
1504
1505 /**
1506 * <!-- begin-user-doc -->
1507 * <!-- end-user-doc -->
1508 * @generated
1509 */
1510 public EReference getFunctor_Parameters() {
1511 return (EReference) functorEClass.getEStructuralFeatures().get(0);
1512 }
1513
1514 /**
1515 * <!-- begin-user-doc -->
1516 * <!-- end-user-doc -->
1517 * @generated
1518 */
1519 public EClass getRelation() {
1520 return relationEClass;
1521 }
1522
1523 /**
1524 * <!-- begin-user-doc -->
1525 * <!-- end-user-doc -->
1526 * @generated
1527 */
1528 public EClass getBaseRelation() {
1529 return baseRelationEClass;
1530 }
1531
1532 /**
1533 * <!-- begin-user-doc -->
1534 * <!-- end-user-doc -->
1535 * @generated
1536 */
1537 public EClass getPredicate() {
1538 return predicateEClass;
1539 }
1540
1541 /**
1542 * <!-- begin-user-doc -->
1543 * <!-- end-user-doc -->
1544 * @generated
1545 */
1546 public EClass getDatatype() {
1547 return datatypeEClass;
1548 }
1549
1550 /**
1551 * <!-- begin-user-doc -->
1552 * <!-- end-user-doc -->
1553 * @generated
1554 */
1555 public EClass getFunction() {
1556 return functionEClass;
1557 }
1558
1559 /**
1560 * <!-- begin-user-doc -->
1561 * <!-- end-user-doc -->
1562 * @generated
1563 */
1564 public EReference getFunction_ResultType() {
1565 return (EReference) functionEClass.getEStructuralFeatures().get(0);
1566 }
1567
1568 /**
1569 * <!-- begin-user-doc -->
1570 * <!-- end-user-doc -->
1571 * @generated
1572 */
1573 public EClass getMetric() {
1574 return metricEClass;
1575 }
1576
1577 /**
1578 * <!-- begin-user-doc -->
1579 * <!-- end-user-doc -->
1580 * @generated
1581 */
1582 public EClass getOperator() {
1583 return operatorEClass;
1584 }
1585
1586 /**
1587 * <!-- begin-user-doc -->
1588 * <!-- end-user-doc -->
1589 * @generated
1590 */
1591 public EClass getNode() {
1592 return nodeEClass;
1593 }
1594
1595 /**
1596 * <!-- begin-user-doc -->
1597 * <!-- end-user-doc -->
1598 * @generated
1599 */
1600 public EAttribute getNode_Named() {
1601 return (EAttribute) nodeEClass.getEStructuralFeatures().get(0);
1602 }
1603
1604 /**
1605 * <!-- begin-user-doc -->
1606 * <!-- end-user-doc -->
1607 * @generated
1608 */
1609 public EClass getStatement() {
1610 return statementEClass;
1611 }
1612
1613 /**
1614 * <!-- begin-user-doc -->
1615 * <!-- end-user-doc -->
1616 * @generated
1617 */
1618 public EClass getAbstractAssertion() {
1619 return abstractAssertionEClass;
1620 }
1621
1622 /**
1623 * <!-- begin-user-doc -->
1624 * <!-- end-user-doc -->
1625 * @generated
1626 */
1627 public EReference getAbstractAssertion_Expression() {
1628 return (EReference) abstractAssertionEClass.getEStructuralFeatures().get(0);
1629 }
1630
1631 /**
1632 * <!-- begin-user-doc -->
1633 * <!-- end-user-doc -->
1634 * @generated
1635 */
1636 public EReference getAbstractAssertion_Range() {
1637 return (EReference) abstractAssertionEClass.getEStructuralFeatures().get(1);
1638 }
1639
1640 /**
1641 * <!-- begin-user-doc -->
1642 * <!-- end-user-doc -->
1643 * @generated
1644 */
1645 public EClass getFunctorDefiniton() {
1646 return functorDefinitonEClass;
1647 }
1648
1649 /**
1650 * <!-- begin-user-doc -->
1651 * <!-- end-user-doc -->
1652 * @generated
1653 */
1654 public EReference getFunctorDefiniton_Head() {
1655 return (EReference) functorDefinitonEClass.getEStructuralFeatures().get(0);
1656 }
1657
1658 /**
1659 * <!-- begin-user-doc -->
1660 * <!-- end-user-doc -->
1661 * @generated
1662 */
1663 public EReference getFunctorDefiniton_Body() {
1664 return (EReference) functorDefinitonEClass.getEStructuralFeatures().get(1);
1665 }
1666
1667 /**
1668 * <!-- begin-user-doc -->
1669 * <!-- end-user-doc -->
1670 * @generated
1671 */
1672 public EClass getPredicateDefinition() {
1673 return predicateDefinitionEClass;
1674 }
1675
1676 /**
1677 * <!-- begin-user-doc -->
1678 * <!-- end-user-doc -->
1679 * @generated
1680 */
1681 public EClass getFunctionDefinition() {
1682 return functionDefinitionEClass;
1683 }
1684
1685 /**
1686 * <!-- begin-user-doc -->
1687 * <!-- end-user-doc -->
1688 * @generated
1689 */
1690 public EReference getFunctionDefinition_ResultType() {
1691 return (EReference) functionDefinitionEClass.getEStructuralFeatures().get(0);
1692 }
1693
1694 /**
1695 * <!-- begin-user-doc -->
1696 * <!-- end-user-doc -->
1697 * @generated
1698 */
1699 public EClass getAttribute() {
1700 return attributeEClass;
1701 }
1702
1703 /**
1704 * <!-- begin-user-doc -->
1705 * <!-- end-user-doc -->
1706 * @generated
1707 */
1708 public EReference getAttribute_Target() {
1709 return (EReference) attributeEClass.getEStructuralFeatures().get(0);
1710 }
1711
1712 /**
1713 * <!-- begin-user-doc -->
1714 * <!-- end-user-doc -->
1715 * @generated
1716 */
1717 public EAttribute getAttribute_Kind() {
1718 return (EAttribute) attributeEClass.getEStructuralFeatures().get(1);
1719 }
1720
1721 /**
1722 * <!-- begin-user-doc -->
1723 * <!-- end-user-doc -->
1724 * @generated
1725 */
1726 public EClass getExternDeclaration() {
1727 return externDeclarationEClass;
1728 }
1729
1730 /**
1731 * <!-- begin-user-doc -->
1732 * <!-- end-user-doc -->
1733 * @generated
1734 */
1735 public EAttribute getExternDeclaration_Name() {
1736 return (EAttribute) externDeclarationEClass.getEStructuralFeatures().get(0);
1737 }
1738
1739 /**
1740 * <!-- begin-user-doc -->
1741 * <!-- end-user-doc -->
1742 * @generated
1743 */
1744 public EClass getExternFunctorDeclaration() {
1745 return externFunctorDeclarationEClass;
1746 }
1747
1748 /**
1749 * <!-- begin-user-doc -->
1750 * <!-- end-user-doc -->
1751 * @generated
1752 */
1753 public EReference getExternFunctorDeclaration_ArgumentList() {
1754 return (EReference) externFunctorDeclarationEClass.getEStructuralFeatures().get(0);
1755 }
1756
1757 /**
1758 * <!-- begin-user-doc -->
1759 * <!-- end-user-doc -->
1760 * @generated
1761 */
1762 public EClass getExternPredicateDeclaration() {
1763 return externPredicateDeclarationEClass;
1764 }
1765
1766 /**
1767 * <!-- begin-user-doc -->
1768 * <!-- end-user-doc -->
1769 * @generated
1770 */
1771 public EClass getExternFunctionDeclaration() {
1772 return externFunctionDeclarationEClass;
1773 }
1774
1775 /**
1776 * <!-- begin-user-doc -->
1777 * <!-- end-user-doc -->
1778 * @generated
1779 */
1780 public EReference getExternFunctionDeclaration_ResultType() {
1781 return (EReference) externFunctionDeclarationEClass.getEStructuralFeatures().get(0);
1782 }
1783
1784 /**
1785 * <!-- begin-user-doc -->
1786 * <!-- end-user-doc -->
1787 * @generated
1788 */
1789 public EClass getExternAggregationOperatorDeclaration() {
1790 return externAggregationOperatorDeclarationEClass;
1791 }
1792
1793 /**
1794 * <!-- begin-user-doc -->
1795 * <!-- end-user-doc -->
1796 * @generated
1797 */
1798 public EReference getExternAggregationOperatorDeclaration_ArgumentType() {
1799 return (EReference) externAggregationOperatorDeclarationEClass.getEStructuralFeatures().get(0);
1800 }
1801
1802 /**
1803 * <!-- begin-user-doc -->
1804 * <!-- end-user-doc -->
1805 * @generated
1806 */
1807 public EReference getExternAggregationOperatorDeclaration_ResultType() {
1808 return (EReference) externAggregationOperatorDeclarationEClass.getEStructuralFeatures().get(1);
1809 }
1810
1811 /**
1812 * <!-- begin-user-doc -->
1813 * <!-- end-user-doc -->
1814 * @generated
1815 */
1816 public EClass getExternDatatypeDeclaration() {
1817 return externDatatypeDeclarationEClass;
1818 }
1819
1820 /**
1821 * <!-- begin-user-doc -->
1822 * <!-- end-user-doc -->
1823 * @generated
1824 */
1825 public EClass getClassDeclaration() {
1826 return classDeclarationEClass;
1827 }
1828
1829 /**
1830 * <!-- begin-user-doc -->
1831 * <!-- end-user-doc -->
1832 * @generated
1833 */
1834 public EReference getClassDeclaration_Fields() {
1835 return (EReference) classDeclarationEClass.getEStructuralFeatures().get(0);
1836 }
1837
1838 /**
1839 * <!-- begin-user-doc -->
1840 * <!-- end-user-doc -->
1841 * @generated
1842 */
1843 public EAttribute getClassDeclaration_Name() {
1844 return (EAttribute) classDeclarationEClass.getEStructuralFeatures().get(1);
1845 }
1846
1847 /**
1848 * <!-- begin-user-doc -->
1849 * <!-- end-user-doc -->
1850 * @generated
1851 */
1852 public EAttribute getClassDeclaration_Abstract() {
1853 return (EAttribute) classDeclarationEClass.getEStructuralFeatures().get(2);
1854 }
1855
1856 /**
1857 * <!-- begin-user-doc -->
1858 * <!-- end-user-doc -->
1859 * @generated
1860 */
1861 public EReference getClassDeclaration_Supertypes() {
1862 return (EReference) classDeclarationEClass.getEStructuralFeatures().get(3);
1863 }
1864
1865 /**
1866 * <!-- begin-user-doc -->
1867 * <!-- end-user-doc -->
1868 * @generated
1869 */
1870 public EAttribute getClassDeclaration_Root() {
1871 return (EAttribute) classDeclarationEClass.getEStructuralFeatures().get(4);
1872 }
1873
1874 /**
1875 * <!-- begin-user-doc -->
1876 * <!-- end-user-doc -->
1877 * @generated
1878 */
1879 public EClass getEnumDeclaration() {
1880 return enumDeclarationEClass;
1881 }
1882
1883 /**
1884 * <!-- begin-user-doc -->
1885 * <!-- end-user-doc -->
1886 * @generated
1887 */
1888 public EReference getEnumDeclaration_Literals() {
1889 return (EReference) enumDeclarationEClass.getEStructuralFeatures().get(0);
1890 }
1891
1892 /**
1893 * <!-- begin-user-doc -->
1894 * <!-- end-user-doc -->
1895 * @generated
1896 */
1897 public EAttribute getEnumDeclaration_Name() {
1898 return (EAttribute) enumDeclarationEClass.getEStructuralFeatures().get(1);
1899 }
1900
1901 /**
1902 * <!-- begin-user-doc -->
1903 * <!-- end-user-doc -->
1904 * @generated
1905 */
1906 public EClass getEnumLiteral() {
1907 return enumLiteralEClass;
1908 }
1909
1910 /**
1911 * <!-- begin-user-doc -->
1912 * <!-- end-user-doc -->
1913 * @generated
1914 */
1915 public EAttribute getEnumLiteral_Name() {
1916 return (EAttribute) enumLiteralEClass.getEStructuralFeatures().get(0);
1917 }
1918
1919 /**
1920 * <!-- begin-user-doc -->
1921 * <!-- end-user-doc -->
1922 * @generated
1923 */
1924 public EClass getField() {
1925 return fieldEClass;
1926 }
1927
1928 /**
1929 * <!-- begin-user-doc -->
1930 * <!-- end-user-doc -->
1931 * @generated
1932 */
1933 public EAttribute getField_Containment() {
1934 return (EAttribute) fieldEClass.getEStructuralFeatures().get(0);
1935 }
1936
1937 /**
1938 * <!-- begin-user-doc -->
1939 * <!-- end-user-doc -->
1940 * @generated
1941 */
1942 public EAttribute getField_CrossReference() {
1943 return (EAttribute) fieldEClass.getEStructuralFeatures().get(1);
1944 }
1945
1946 /**
1947 * <!-- begin-user-doc -->
1948 * <!-- end-user-doc -->
1949 * @generated
1950 */
1951 public EReference getField_Opposite() {
1952 return (EReference) fieldEClass.getEStructuralFeatures().get(2);
1953 }
1954
1955 /**
1956 * <!-- begin-user-doc -->
1957 * <!-- end-user-doc -->
1958 * @generated
1959 */
1960 public EReference getField_Multiplicity() {
1961 return (EReference) fieldEClass.getEStructuralFeatures().get(3);
1962 }
1963
1964 /**
1965 * <!-- begin-user-doc -->
1966 * <!-- end-user-doc -->
1967 * @generated
1968 */
1969 public EReference getField_Type() {
1970 return (EReference) fieldEClass.getEStructuralFeatures().get(4);
1971 }
1972
1973 /**
1974 * <!-- begin-user-doc -->
1975 * <!-- end-user-doc -->
1976 * @generated
1977 */
1978 public EAttribute getField_Name() {
1979 return (EAttribute) fieldEClass.getEStructuralFeatures().get(5);
1980 }
1981
1982 /**
1983 * <!-- begin-user-doc -->
1984 * <!-- end-user-doc -->
1985 * @generated
1986 */
1987 public EClass getMultiplicity() {
1988 return multiplicityEClass;
1989 }
1990
1991 /**
1992 * <!-- begin-user-doc -->
1993 * <!-- end-user-doc -->
1994 * @generated
1995 */
1996 public EClass getDefaultAssertion() {
1997 return defaultAssertionEClass;
1998 }
1999
2000 /**
2001 * <!-- begin-user-doc -->
2002 * <!-- end-user-doc -->
2003 * @generated
2004 */
2005 public EClass getAssertion() {
2006 return assertionEClass;
2007 }
2008
2009 /**
2010 * <!-- begin-user-doc -->
2011 * <!-- end-user-doc -->
2012 * @generated
2013 */
2014 public EClass getUnboundedMultiplicity() {
2015 return unboundedMultiplicityEClass;
2016 }
2017
2018 /**
2019 * <!-- begin-user-doc -->
2020 * <!-- end-user-doc -->
2021 * @generated
2022 */
2023 public EClass getExactMultiplicity() {
2024 return exactMultiplicityEClass;
2025 }
2026
2027 /**
2028 * <!-- begin-user-doc -->
2029 * <!-- end-user-doc -->
2030 * @generated
2031 */
2032 public EAttribute getExactMultiplicity_Value() {
2033 return (EAttribute) exactMultiplicityEClass.getEStructuralFeatures().get(0);
2034 }
2035
2036 /**
2037 * <!-- begin-user-doc -->
2038 * <!-- end-user-doc -->
2039 * @generated
2040 */
2041 public EClass getBoundedMultiplicity() {
2042 return boundedMultiplicityEClass;
2043 }
2044
2045 /**
2046 * <!-- begin-user-doc -->
2047 * <!-- end-user-doc -->
2048 * @generated
2049 */
2050 public EAttribute getBoundedMultiplicity_LowerBound() {
2051 return (EAttribute) boundedMultiplicityEClass.getEStructuralFeatures().get(0);
2052 }
2053
2054 /**
2055 * <!-- begin-user-doc -->
2056 * <!-- end-user-doc -->
2057 * @generated
2058 */
2059 public EAttribute getBoundedMultiplicity_UpperBound() {
2060 return (EAttribute) boundedMultiplicityEClass.getEStructuralFeatures().get(1);
2061 }
2062
2063 /**
2064 * <!-- begin-user-doc -->
2065 * <!-- end-user-doc -->
2066 * @generated
2067 */
2068 public EClass getInlinePredicateAttrributes() {
2069 return inlinePredicateAttrributesEClass;
2070 }
2071
2072 /**
2073 * <!-- begin-user-doc -->
2074 * <!-- end-user-doc -->
2075 * @generated
2076 */
2077 public EAttribute getInlinePredicateAttrributes_Error() {
2078 return (EAttribute) inlinePredicateAttrributesEClass.getEStructuralFeatures().get(0);
2079 }
2080
2081 /**
2082 * <!-- begin-user-doc -->
2083 * <!-- end-user-doc -->
2084 * @generated
2085 */
2086 public EAttribute getInlinePredicateAttrributes_Functional() {
2087 return (EAttribute) inlinePredicateAttrributesEClass.getEStructuralFeatures().get(1);
2088 }
2089
2090 /**
2091 * <!-- begin-user-doc -->
2092 * <!-- end-user-doc -->
2093 * @generated
2094 */
2095 public EClass getAggregationOperator() {
2096 return aggregationOperatorEClass;
2097 }
2098
2099 /**
2100 * <!-- begin-user-doc -->
2101 * <!-- end-user-doc -->
2102 * @generated
2103 */
2104 public EReference getAggregationOperator_ArgumentType() {
2105 return (EReference) aggregationOperatorEClass.getEStructuralFeatures().get(0);
2106 }
2107
2108 /**
2109 * <!-- begin-user-doc -->
2110 * <!-- end-user-doc -->
2111 * @generated
2112 */
2113 public EReference getAggregationOperator_ResultType() {
2114 return (EReference) aggregationOperatorEClass.getEStructuralFeatures().get(1);
2115 }
2116
2117 /**
2118 * <!-- begin-user-doc -->
2119 * <!-- end-user-doc -->
2120 * @generated
2121 */
2122 public EClass getProblem() {
2123 return problemEClass;
2124 }
2125
2126 /**
2127 * <!-- begin-user-doc -->
2128 * <!-- end-user-doc -->
2129 * @generated
2130 */
2131 public EAttribute getProblem_Name() {
2132 return (EAttribute) problemEClass.getEStructuralFeatures().get(0);
2133 }
2134
2135 /**
2136 * <!-- begin-user-doc -->
2137 * <!-- end-user-doc -->
2138 * @generated
2139 */
2140 public EReference getProblem_Statements() {
2141 return (EReference) problemEClass.getEStructuralFeatures().get(1);
2142 }
2143
2144 /**
2145 * <!-- begin-user-doc -->
2146 * <!-- end-user-doc -->
2147 * @generated
2148 */
2149 public EReference getProblem_Symbols() {
2150 return (EReference) problemEClass.getEStructuralFeatures().get(2);
2151 }
2152
2153 /**
2154 * <!-- begin-user-doc -->
2155 * <!-- end-user-doc -->
2156 * @generated
2157 */
2158 public EReference getProblem_Imports() {
2159 return (EReference) problemEClass.getEStructuralFeatures().get(3);
2160 }
2161
2162 /**
2163 * <!-- begin-user-doc -->
2164 * <!-- end-user-doc -->
2165 * @generated
2166 */
2167 public EClass getTypedStarArgument() {
2168 return typedStarArgumentEClass;
2169 }
2170
2171 /**
2172 * <!-- begin-user-doc -->
2173 * <!-- end-user-doc -->
2174 * @generated
2175 */
2176 public EClass getTypedVariableArgument() {
2177 return typedVariableArgumentEClass;
2178 }
2179
2180 /**
2181 * <!-- begin-user-doc -->
2182 * <!-- end-user-doc -->
2183 * @generated
2184 */
2185 public EAttribute getTypedVariableArgument_Name() {
2186 return (EAttribute) typedVariableArgumentEClass.getEStructuralFeatures().get(0);
2187 }
2188
2189 /**
2190 * <!-- begin-user-doc -->
2191 * <!-- end-user-doc -->
2192 * @generated
2193 */
2194 public EClass getUnnamedErrorPredicateDefintion() {
2195 return unnamedErrorPredicateDefintionEClass;
2196 }
2197
2198 /**
2199 * <!-- begin-user-doc -->
2200 * <!-- end-user-doc -->
2201 * @generated
2202 */
2203 public EReference getUnnamedErrorPredicateDefintion_ArgumentList() {
2204 return (EReference) unnamedErrorPredicateDefintionEClass.getEStructuralFeatures().get(0);
2205 }
2206
2207 /**
2208 * <!-- begin-user-doc -->
2209 * <!-- end-user-doc -->
2210 * @generated
2211 */
2212 public EReference getUnnamedErrorPredicateDefintion_Body() {
2213 return (EReference) unnamedErrorPredicateDefintionEClass.getEStructuralFeatures().get(1);
2214 }
2215
2216 /**
2217 * <!-- begin-user-doc -->
2218 * <!-- end-user-doc -->
2219 * @generated
2220 */
2221 public EClass getObjectiveDeclaration() {
2222 return objectiveDeclarationEClass;
2223 }
2224
2225 /**
2226 * <!-- begin-user-doc -->
2227 * <!-- end-user-doc -->
2228 * @generated
2229 */
2230 public EAttribute getObjectiveDeclaration_Kind() {
2231 return (EAttribute) objectiveDeclarationEClass.getEStructuralFeatures().get(0);
2232 }
2233
2234 /**
2235 * <!-- begin-user-doc -->
2236 * <!-- end-user-doc -->
2237 * @generated
2238 */
2239 public EReference getObjectiveDeclaration_Objective() {
2240 return (EReference) objectiveDeclarationEClass.getEStructuralFeatures().get(1);
2241 }
2242
2243 /**
2244 * <!-- begin-user-doc -->
2245 * <!-- end-user-doc -->
2246 * @generated
2247 */
2248 public EClass getScopeDeclaration() {
2249 return scopeDeclarationEClass;
2250 }
2251
2252 /**
2253 * <!-- begin-user-doc -->
2254 * <!-- end-user-doc -->
2255 * @generated
2256 */
2257 public EReference getScopeDeclaration_Type() {
2258 return (EReference) scopeDeclarationEClass.getEStructuralFeatures().get(0);
2259 }
2260
2261 /**
2262 * <!-- begin-user-doc -->
2263 * <!-- end-user-doc -->
2264 * @generated
2265 */
2266 public EClass getExactScope() {
2267 return exactScopeEClass;
2268 }
2269
2270 /**
2271 * <!-- begin-user-doc -->
2272 * <!-- end-user-doc -->
2273 * @generated
2274 */
2275 public EAttribute getExactScope_Size() {
2276 return (EAttribute) exactScopeEClass.getEStructuralFeatures().get(0);
2277 }
2278
2279 /**
2280 * <!-- begin-user-doc -->
2281 * <!-- end-user-doc -->
2282 * @generated
2283 */
2284 public EClass getBoundedScope() {
2285 return boundedScopeEClass;
2286 }
2287
2288 /**
2289 * <!-- begin-user-doc -->
2290 * <!-- end-user-doc -->
2291 * @generated
2292 */
2293 public EAttribute getBoundedScope_LowerBound() {
2294 return (EAttribute) boundedScopeEClass.getEStructuralFeatures().get(0);
2295 }
2296
2297 /**
2298 * <!-- begin-user-doc -->
2299 * <!-- end-user-doc -->
2300 * @generated
2301 */
2302 public EAttribute getBoundedScope_UpperBound() {
2303 return (EAttribute) boundedScopeEClass.getEStructuralFeatures().get(1);
2304 }
2305
2306 /**
2307 * <!-- begin-user-doc -->
2308 * <!-- end-user-doc -->
2309 * @generated
2310 */
2311 public EClass getLowerBoundedScope() {
2312 return lowerBoundedScopeEClass;
2313 }
2314
2315 /**
2316 * <!-- begin-user-doc -->
2317 * <!-- end-user-doc -->
2318 * @generated
2319 */
2320 public EAttribute getLowerBoundedScope_LowerBound() {
2321 return (EAttribute) lowerBoundedScopeEClass.getEStructuralFeatures().get(0);
2322 }
2323
2324 /**
2325 * <!-- begin-user-doc -->
2326 * <!-- end-user-doc -->
2327 * @generated
2328 */
2329 public EClass getNamespaceImport() {
2330 return namespaceImportEClass;
2331 }
2332
2333 /**
2334 * <!-- begin-user-doc -->
2335 * <!-- end-user-doc -->
2336 * @generated
2337 */
2338 public EAttribute getNamespaceImport_ImportedNamespace() {
2339 return (EAttribute) namespaceImportEClass.getEStructuralFeatures().get(0);
2340 }
2341
2342 /**
2343 * <!-- begin-user-doc -->
2344 * <!-- end-user-doc -->
2345 * @generated
2346 */
2347 public EClass getImport() {
2348 return importEClass;
2349 }
2350
2351 /**
2352 * <!-- begin-user-doc -->
2353 * <!-- end-user-doc -->
2354 * @generated
2355 */
2356 public EAttribute getImport_Alias() {
2357 return (EAttribute) importEClass.getEStructuralFeatures().get(0);
2358 }
2359
2360 /**
2361 * <!-- begin-user-doc -->
2362 * <!-- end-user-doc -->
2363 * @generated
2364 */
2365 public EClass getUriImport() {
2366 return uriImportEClass;
2367 }
2368
2369 /**
2370 * <!-- begin-user-doc -->
2371 * <!-- end-user-doc -->
2372 * @generated
2373 */
2374 public EAttribute getUriImport_Uri() {
2375 return (EAttribute) uriImportEClass.getEStructuralFeatures().get(0);
2376 }
2377
2378 /**
2379 * <!-- begin-user-doc -->
2380 * <!-- end-user-doc -->
2381 * @generated
2382 */
2383 public EEnum getUnaryOperator() {
2384 return unaryOperatorEEnum;
2385 }
2386
2387 /**
2388 * <!-- begin-user-doc -->
2389 * <!-- end-user-doc -->
2390 * @generated
2391 */
2392 public EEnum getBinaryOperator() {
2393 return binaryOperatorEEnum;
2394 }
2395
2396 /**
2397 * <!-- begin-user-doc -->
2398 * <!-- end-user-doc -->
2399 * @generated
2400 */
2401 public EEnum getLogicValue() {
2402 return logicValueEEnum;
2403 }
2404
2405 /**
2406 * <!-- begin-user-doc -->
2407 * <!-- end-user-doc -->
2408 * @generated
2409 */
2410 public EEnum getObjectiveKind() {
2411 return objectiveKindEEnum;
2412 }
2413
2414 /**
2415 * <!-- begin-user-doc -->
2416 * <!-- end-user-doc -->
2417 * @generated
2418 */
2419 public EEnum getAttributeKind() {
2420 return attributeKindEEnum;
2421 }
2422
2423 /**
2424 * <!-- begin-user-doc -->
2425 * <!-- end-user-doc -->
2426 * @generated
2427 */
2428 public SolverLanguageFactory getSolverLanguageFactory() {
2429 return (SolverLanguageFactory) getEFactoryInstance();
2430 }
2431
2432 /**
2433 * <!-- begin-user-doc -->
2434 * <!-- end-user-doc -->
2435 * @generated
2436 */
2437 private boolean isCreated = false;
2438
2439 /**
2440 * Creates the meta-model objects for the package. This method is
2441 * guarded to have no affect on any invocation but its first.
2442 * <!-- begin-user-doc -->
2443 * <!-- end-user-doc -->
2444 * @generated
2445 */
2446 public void createPackageContents() {
2447 if (isCreated)
2448 return;
2449 isCreated = true;
2450
2451 // Create classes and their features
2452 pathComponentEClass = createEClass(PATH_COMPONENT);
2453 createEReference(pathComponentEClass, PATH_COMPONENT__SYMBOL);
2454 createEAttribute(pathComponentEClass, PATH_COMPONENT__INVERSE);
2455 createEAttribute(pathComponentEClass, PATH_COMPONENT__TRANSITIVE_CLOSURE);
2456 createEAttribute(pathComponentEClass, PATH_COMPONENT__REFLEXIVE_TRANSITIVE_CLOSURE);
2457
2458 symbolEClass = createEClass(SYMBOL);
2459 createEAttribute(symbolEClass, SYMBOL__NAME);
2460
2461 callEClass = createEClass(CALL);
2462 createEReference(callEClass, CALL__FUNCTOR);
2463 createEReference(callEClass, CALL__ARGUMENT_LIST);
2464
2465 referenceEClass = createEClass(REFERENCE);
2466 createEReference(referenceEClass, REFERENCE__COMPONENTS);
2467
2468 expressionEClass = createEClass(EXPRESSION);
2469 createEReference(expressionEClass, EXPRESSION__EXISTS_VARIABLES);
2470
2471 argumentEClass = createEClass(ARGUMENT);
2472
2473 argumentListEClass = createEClass(ARGUMENT_LIST);
2474 createEReference(argumentListEClass, ARGUMENT_LIST__ARGUMENTS);
2475
2476 expressionArgumentEClass = createEClass(EXPRESSION_ARGUMENT);
2477 createEReference(expressionArgumentEClass, EXPRESSION_ARGUMENT__EXPRESSION);
2478
2479 starArgumentEClass = createEClass(STAR_ARGUMENT);
2480
2481 typedArgumentEClass = createEClass(TYPED_ARGUMENT);
2482 createEReference(typedArgumentEClass, TYPED_ARGUMENT__TYPE_REFERENCE);
2483
2484 multiaryExpessionEClass = createEClass(MULTIARY_EXPESSION);
2485 createEReference(multiaryExpessionEClass, MULTIARY_EXPESSION__CHILDREN);
2486
2487 variableEClass = createEClass(VARIABLE);
2488 createEReference(variableEClass, VARIABLE__TYPE_REFERENCE);
2489
2490 unaryExpressionEClass = createEClass(UNARY_EXPRESSION);
2491 createEReference(unaryExpressionEClass, UNARY_EXPRESSION__BODY);
2492 createEAttribute(unaryExpressionEClass, UNARY_EXPRESSION__OP);
2493
2494 binaryExpressionEClass = createEClass(BINARY_EXPRESSION);
2495 createEAttribute(binaryExpressionEClass, BINARY_EXPRESSION__OP);
2496 createEReference(binaryExpressionEClass, BINARY_EXPRESSION__LEFT);
2497 createEReference(binaryExpressionEClass, BINARY_EXPRESSION__RIGHT);
2498
2499 disjunctionEClass = createEClass(DISJUNCTION);
2500
2501 conjunctionEClass = createEClass(CONJUNCTION);
2502
2503 conditionalExpressionEClass = createEClass(CONDITIONAL_EXPRESSION);
2504 createEReference(conditionalExpressionEClass, CONDITIONAL_EXPRESSION__CONDITION);
2505 createEReference(conditionalExpressionEClass, CONDITIONAL_EXPRESSION__THEN);
2506 createEReference(conditionalExpressionEClass, CONDITIONAL_EXPRESSION__ELSE);
2507
2508 switchEClass = createEClass(SWITCH);
2509 createEReference(switchEClass, SWITCH__CASES);
2510
2511 caseEClass = createEClass(CASE);
2512 createEReference(caseEClass, CASE__CONDITION);
2513 createEReference(caseEClass, CASE__BODY);
2514
2515 letExpressionEClass = createEClass(LET_EXPRESSION);
2516 createEReference(letExpressionEClass, LET_EXPRESSION__BINDINGS);
2517 createEReference(letExpressionEClass, LET_EXPRESSION__BODY);
2518
2519 letBindingEClass = createEClass(LET_BINDING);
2520 createEReference(letBindingEClass, LET_BINDING__VALUE);
2521 createEReference(letBindingEClass, LET_BINDING__VARIABLE);
2522 createEAttribute(letBindingEClass, LET_BINDING__NAME);
2523 createEReference(letBindingEClass, LET_BINDING__TYPE);
2524
2525 literalEClass = createEClass(LITERAL);
2526
2527 intLiteralEClass = createEClass(INT_LITERAL);
2528 createEAttribute(intLiteralEClass, INT_LITERAL__VALUE);
2529
2530 realLiteralEClass = createEClass(REAL_LITERAL);
2531 createEAttribute(realLiteralEClass, REAL_LITERAL__VALUE);
2532
2533 stringLiteralEClass = createEClass(STRING_LITERAL);
2534 createEAttribute(stringLiteralEClass, STRING_LITERAL__VALUE);
2535
2536 logicLiteralEClass = createEClass(LOGIC_LITERAL);
2537 createEAttribute(logicLiteralEClass, LOGIC_LITERAL__VALUE);
2538
2539 emptyLiteralEClass = createEClass(EMPTY_LITERAL);
2540
2541 castExpressionEClass = createEClass(CAST_EXPRESSION);
2542 createEReference(castExpressionEClass, CAST_EXPRESSION__BODY);
2543 createEReference(castExpressionEClass, CAST_EXPRESSION__TARGET_TYPE);
2544
2545 aggregateExpressionEClass = createEClass(AGGREGATE_EXPRESSION);
2546 createEReference(aggregateExpressionEClass, AGGREGATE_EXPRESSION__FORALL_VARIABLES);
2547 createEReference(aggregateExpressionEClass, AGGREGATE_EXPRESSION__CONDITION);
2548
2549 countEClass = createEClass(COUNT);
2550
2551 aggregationEClass = createEClass(AGGREGATION);
2552 createEReference(aggregationEClass, AGGREGATION__VALUE);
2553 createEReference(aggregationEClass, AGGREGATION__OP);
2554
2555 forallEClass = createEClass(FORALL);
2556 createEReference(forallEClass, FORALL__BODY);
2557
2558 typeReferenceEClass = createEClass(TYPE_REFERENCE);
2559 createEAttribute(typeReferenceEClass, TYPE_REFERENCE__FORCE_OBJECT_TYPE);
2560 createEReference(typeReferenceEClass, TYPE_REFERENCE__TYPE);
2561
2562 infinityLiteralEClass = createEClass(INFINITY_LITERAL);
2563
2564 intervalEClass = createEClass(INTERVAL);
2565 createEReference(intervalEClass, INTERVAL__LOWER_BOUND);
2566 createEReference(intervalEClass, INTERVAL__UPPER_BOUND);
2567
2568 functorEClass = createEClass(FUNCTOR);
2569 createEReference(functorEClass, FUNCTOR__PARAMETERS);
2570
2571 relationEClass = createEClass(RELATION);
2572
2573 baseRelationEClass = createEClass(BASE_RELATION);
2574
2575 predicateEClass = createEClass(PREDICATE);
2576
2577 datatypeEClass = createEClass(DATATYPE);
2578
2579 functionEClass = createEClass(FUNCTION);
2580 createEReference(functionEClass, FUNCTION__RESULT_TYPE);
2581
2582 metricEClass = createEClass(METRIC);
2583
2584 operatorEClass = createEClass(OPERATOR);
2585
2586 nodeEClass = createEClass(NODE);
2587 createEAttribute(nodeEClass, NODE__NAMED);
2588
2589 statementEClass = createEClass(STATEMENT);
2590
2591 abstractAssertionEClass = createEClass(ABSTRACT_ASSERTION);
2592 createEReference(abstractAssertionEClass, ABSTRACT_ASSERTION__EXPRESSION);
2593 createEReference(abstractAssertionEClass, ABSTRACT_ASSERTION__RANGE);
2594
2595 functorDefinitonEClass = createEClass(FUNCTOR_DEFINITON);
2596 createEReference(functorDefinitonEClass, FUNCTOR_DEFINITON__HEAD);
2597 createEReference(functorDefinitonEClass, FUNCTOR_DEFINITON__BODY);
2598
2599 predicateDefinitionEClass = createEClass(PREDICATE_DEFINITION);
2600
2601 functionDefinitionEClass = createEClass(FUNCTION_DEFINITION);
2602 createEReference(functionDefinitionEClass, FUNCTION_DEFINITION__RESULT_TYPE);
2603
2604 attributeEClass = createEClass(ATTRIBUTE);
2605 createEReference(attributeEClass, ATTRIBUTE__TARGET);
2606 createEAttribute(attributeEClass, ATTRIBUTE__KIND);
2607
2608 externDeclarationEClass = createEClass(EXTERN_DECLARATION);
2609 createEAttribute(externDeclarationEClass, EXTERN_DECLARATION__NAME);
2610
2611 externFunctorDeclarationEClass = createEClass(EXTERN_FUNCTOR_DECLARATION);
2612 createEReference(externFunctorDeclarationEClass, EXTERN_FUNCTOR_DECLARATION__ARGUMENT_LIST);
2613
2614 externPredicateDeclarationEClass = createEClass(EXTERN_PREDICATE_DECLARATION);
2615
2616 externFunctionDeclarationEClass = createEClass(EXTERN_FUNCTION_DECLARATION);
2617 createEReference(externFunctionDeclarationEClass, EXTERN_FUNCTION_DECLARATION__RESULT_TYPE);
2618
2619 externAggregationOperatorDeclarationEClass = createEClass(EXTERN_AGGREGATION_OPERATOR_DECLARATION);
2620 createEReference(externAggregationOperatorDeclarationEClass,
2621 EXTERN_AGGREGATION_OPERATOR_DECLARATION__ARGUMENT_TYPE);
2622 createEReference(externAggregationOperatorDeclarationEClass,
2623 EXTERN_AGGREGATION_OPERATOR_DECLARATION__RESULT_TYPE);
2624
2625 externDatatypeDeclarationEClass = createEClass(EXTERN_DATATYPE_DECLARATION);
2626
2627 classDeclarationEClass = createEClass(CLASS_DECLARATION);
2628 createEReference(classDeclarationEClass, CLASS_DECLARATION__FIELDS);
2629 createEAttribute(classDeclarationEClass, CLASS_DECLARATION__NAME);
2630 createEAttribute(classDeclarationEClass, CLASS_DECLARATION__ABSTRACT);
2631 createEReference(classDeclarationEClass, CLASS_DECLARATION__SUPERTYPES);
2632 createEAttribute(classDeclarationEClass, CLASS_DECLARATION__ROOT);
2633
2634 enumDeclarationEClass = createEClass(ENUM_DECLARATION);
2635 createEReference(enumDeclarationEClass, ENUM_DECLARATION__LITERALS);
2636 createEAttribute(enumDeclarationEClass, ENUM_DECLARATION__NAME);
2637
2638 enumLiteralEClass = createEClass(ENUM_LITERAL);
2639 createEAttribute(enumLiteralEClass, ENUM_LITERAL__NAME);
2640
2641 fieldEClass = createEClass(FIELD);
2642 createEAttribute(fieldEClass, FIELD__CONTAINMENT);
2643 createEAttribute(fieldEClass, FIELD__CROSS_REFERENCE);
2644 createEReference(fieldEClass, FIELD__OPPOSITE);
2645 createEReference(fieldEClass, FIELD__MULTIPLICITY);
2646 createEReference(fieldEClass, FIELD__TYPE);
2647 createEAttribute(fieldEClass, FIELD__NAME);
2648
2649 multiplicityEClass = createEClass(MULTIPLICITY);
2650
2651 defaultAssertionEClass = createEClass(DEFAULT_ASSERTION);
2652
2653 assertionEClass = createEClass(ASSERTION);
2654
2655 unboundedMultiplicityEClass = createEClass(UNBOUNDED_MULTIPLICITY);
2656
2657 exactMultiplicityEClass = createEClass(EXACT_MULTIPLICITY);
2658 createEAttribute(exactMultiplicityEClass, EXACT_MULTIPLICITY__VALUE);
2659
2660 boundedMultiplicityEClass = createEClass(BOUNDED_MULTIPLICITY);
2661 createEAttribute(boundedMultiplicityEClass, BOUNDED_MULTIPLICITY__LOWER_BOUND);
2662 createEAttribute(boundedMultiplicityEClass, BOUNDED_MULTIPLICITY__UPPER_BOUND);
2663
2664 inlinePredicateAttrributesEClass = createEClass(INLINE_PREDICATE_ATTRRIBUTES);
2665 createEAttribute(inlinePredicateAttrributesEClass, INLINE_PREDICATE_ATTRRIBUTES__ERROR);
2666 createEAttribute(inlinePredicateAttrributesEClass, INLINE_PREDICATE_ATTRRIBUTES__FUNCTIONAL);
2667
2668 aggregationOperatorEClass = createEClass(AGGREGATION_OPERATOR);
2669 createEReference(aggregationOperatorEClass, AGGREGATION_OPERATOR__ARGUMENT_TYPE);
2670 createEReference(aggregationOperatorEClass, AGGREGATION_OPERATOR__RESULT_TYPE);
2671
2672 problemEClass = createEClass(PROBLEM);
2673 createEAttribute(problemEClass, PROBLEM__NAME);
2674 createEReference(problemEClass, PROBLEM__STATEMENTS);
2675 createEReference(problemEClass, PROBLEM__SYMBOLS);
2676 createEReference(problemEClass, PROBLEM__IMPORTS);
2677
2678 typedStarArgumentEClass = createEClass(TYPED_STAR_ARGUMENT);
2679
2680 typedVariableArgumentEClass = createEClass(TYPED_VARIABLE_ARGUMENT);
2681 createEAttribute(typedVariableArgumentEClass, TYPED_VARIABLE_ARGUMENT__NAME);
2682
2683 unnamedErrorPredicateDefintionEClass = createEClass(UNNAMED_ERROR_PREDICATE_DEFINTION);
2684 createEReference(unnamedErrorPredicateDefintionEClass, UNNAMED_ERROR_PREDICATE_DEFINTION__ARGUMENT_LIST);
2685 createEReference(unnamedErrorPredicateDefintionEClass, UNNAMED_ERROR_PREDICATE_DEFINTION__BODY);
2686
2687 objectiveDeclarationEClass = createEClass(OBJECTIVE_DECLARATION);
2688 createEAttribute(objectiveDeclarationEClass, OBJECTIVE_DECLARATION__KIND);
2689 createEReference(objectiveDeclarationEClass, OBJECTIVE_DECLARATION__OBJECTIVE);
2690
2691 scopeDeclarationEClass = createEClass(SCOPE_DECLARATION);
2692 createEReference(scopeDeclarationEClass, SCOPE_DECLARATION__TYPE);
2693
2694 exactScopeEClass = createEClass(EXACT_SCOPE);
2695 createEAttribute(exactScopeEClass, EXACT_SCOPE__SIZE);
2696
2697 boundedScopeEClass = createEClass(BOUNDED_SCOPE);
2698 createEAttribute(boundedScopeEClass, BOUNDED_SCOPE__LOWER_BOUND);
2699 createEAttribute(boundedScopeEClass, BOUNDED_SCOPE__UPPER_BOUND);
2700
2701 lowerBoundedScopeEClass = createEClass(LOWER_BOUNDED_SCOPE);
2702 createEAttribute(lowerBoundedScopeEClass, LOWER_BOUNDED_SCOPE__LOWER_BOUND);
2703
2704 namespaceImportEClass = createEClass(NAMESPACE_IMPORT);
2705 createEAttribute(namespaceImportEClass, NAMESPACE_IMPORT__IMPORTED_NAMESPACE);
2706
2707 importEClass = createEClass(IMPORT);
2708 createEAttribute(importEClass, IMPORT__ALIAS);
2709
2710 uriImportEClass = createEClass(URI_IMPORT);
2711 createEAttribute(uriImportEClass, URI_IMPORT__URI);
2712
2713 // Create enums
2714 unaryOperatorEEnum = createEEnum(UNARY_OPERATOR);
2715 binaryOperatorEEnum = createEEnum(BINARY_OPERATOR);
2716 logicValueEEnum = createEEnum(LOGIC_VALUE);
2717 objectiveKindEEnum = createEEnum(OBJECTIVE_KIND);
2718 attributeKindEEnum = createEEnum(ATTRIBUTE_KIND);
2719 }
2720
2721 /**
2722 * <!-- begin-user-doc -->
2723 * <!-- end-user-doc -->
2724 * @generated
2725 */
2726 private boolean isInitialized = false;
2727
2728 /**
2729 * Complete the initialization of the package and its meta-model. This
2730 * method is guarded to have no affect on any invocation but its first.
2731 * <!-- begin-user-doc -->
2732 * <!-- end-user-doc -->
2733 * @generated
2734 */
2735 public void initializePackageContents() {
2736 if (isInitialized)
2737 return;
2738 isInitialized = true;
2739
2740 // Initialize package
2741 setName(eNAME);
2742 setNsPrefix(eNS_PREFIX);
2743 setNsURI(eNS_URI);
2744
2745 // Create type parameters
2746
2747 // Set bounds for type parameters
2748
2749 // Add supertypes to classes
2750 callEClass.getESuperTypes().add(this.getExpression());
2751 referenceEClass.getESuperTypes().add(this.getExpression());
2752 expressionEClass.getESuperTypes().add(this.getStatement());
2753 expressionArgumentEClass.getESuperTypes().add(this.getArgument());
2754 starArgumentEClass.getESuperTypes().add(this.getArgument());
2755 typedArgumentEClass.getESuperTypes().add(this.getArgument());
2756 multiaryExpessionEClass.getESuperTypes().add(this.getExpression());
2757 variableEClass.getESuperTypes().add(this.getSymbol());
2758 unaryExpressionEClass.getESuperTypes().add(this.getExpression());
2759 binaryExpressionEClass.getESuperTypes().add(this.getExpression());
2760 disjunctionEClass.getESuperTypes().add(this.getMultiaryExpession());
2761 conjunctionEClass.getESuperTypes().add(this.getMultiaryExpession());
2762 conditionalExpressionEClass.getESuperTypes().add(this.getExpression());
2763 switchEClass.getESuperTypes().add(this.getExpression());
2764 caseEClass.getESuperTypes().add(this.getExpression());
2765 letExpressionEClass.getESuperTypes().add(this.getExpression());
2766 literalEClass.getESuperTypes().add(this.getExpression());
2767 intLiteralEClass.getESuperTypes().add(this.getLiteral());
2768 realLiteralEClass.getESuperTypes().add(this.getLiteral());
2769 stringLiteralEClass.getESuperTypes().add(this.getLiteral());
2770 logicLiteralEClass.getESuperTypes().add(this.getLiteral());
2771 emptyLiteralEClass.getESuperTypes().add(this.getLiteral());
2772 castExpressionEClass.getESuperTypes().add(this.getExpression());
2773 aggregateExpressionEClass.getESuperTypes().add(this.getExpression());
2774 countEClass.getESuperTypes().add(this.getAggregateExpression());
2775 aggregationEClass.getESuperTypes().add(this.getAggregateExpression());
2776 forallEClass.getESuperTypes().add(this.getAggregateExpression());
2777 infinityLiteralEClass.getESuperTypes().add(this.getLiteral());
2778 intervalEClass.getESuperTypes().add(this.getExpression());
2779 functorEClass.getESuperTypes().add(this.getSymbol());
2780 relationEClass.getESuperTypes().add(this.getFunctor());
2781 baseRelationEClass.getESuperTypes().add(this.getRelation());
2782 predicateEClass.getESuperTypes().add(this.getRelation());
2783 datatypeEClass.getESuperTypes().add(this.getRelation());
2784 functionEClass.getESuperTypes().add(this.getFunctor());
2785 metricEClass.getESuperTypes().add(this.getFunction());
2786 operatorEClass.getESuperTypes().add(this.getFunction());
2787 nodeEClass.getESuperTypes().add(this.getSymbol());
2788 abstractAssertionEClass.getESuperTypes().add(this.getStatement());
2789 functorDefinitonEClass.getESuperTypes().add(this.getStatement());
2790 predicateDefinitionEClass.getESuperTypes().add(this.getFunctorDefiniton());
2791 predicateDefinitionEClass.getESuperTypes().add(this.getInlinePredicateAttrributes());
2792 functionDefinitionEClass.getESuperTypes().add(this.getFunctorDefiniton());
2793 attributeEClass.getESuperTypes().add(this.getStatement());
2794 externDeclarationEClass.getESuperTypes().add(this.getStatement());
2795 externFunctorDeclarationEClass.getESuperTypes().add(this.getExternDeclaration());
2796 externPredicateDeclarationEClass.getESuperTypes().add(this.getExternFunctorDeclaration());
2797 externPredicateDeclarationEClass.getESuperTypes().add(this.getInlinePredicateAttrributes());
2798 externFunctionDeclarationEClass.getESuperTypes().add(this.getExternFunctorDeclaration());
2799 externAggregationOperatorDeclarationEClass.getESuperTypes().add(this.getExternDeclaration());
2800 externDatatypeDeclarationEClass.getESuperTypes().add(this.getExternDeclaration());
2801 classDeclarationEClass.getESuperTypes().add(this.getStatement());
2802 enumDeclarationEClass.getESuperTypes().add(this.getStatement());
2803 defaultAssertionEClass.getESuperTypes().add(this.getAbstractAssertion());
2804 assertionEClass.getESuperTypes().add(this.getAbstractAssertion());
2805 unboundedMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
2806 exactMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
2807 boundedMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
2808 aggregationOperatorEClass.getESuperTypes().add(this.getSymbol());
2809 typedStarArgumentEClass.getESuperTypes().add(this.getTypedArgument());
2810 typedVariableArgumentEClass.getESuperTypes().add(this.getTypedArgument());
2811 unnamedErrorPredicateDefintionEClass.getESuperTypes().add(this.getStatement());
2812 objectiveDeclarationEClass.getESuperTypes().add(this.getStatement());
2813 scopeDeclarationEClass.getESuperTypes().add(this.getStatement());
2814 exactScopeEClass.getESuperTypes().add(this.getScopeDeclaration());
2815 boundedScopeEClass.getESuperTypes().add(this.getScopeDeclaration());
2816 lowerBoundedScopeEClass.getESuperTypes().add(this.getScopeDeclaration());
2817 namespaceImportEClass.getESuperTypes().add(this.getImport());
2818 uriImportEClass.getESuperTypes().add(this.getImport());
2819
2820 // Initialize classes, features, and operations; add parameters
2821 initEClass(pathComponentEClass, PathComponent.class, "PathComponent", !IS_ABSTRACT, !IS_INTERFACE,
2822 IS_GENERATED_INSTANCE_CLASS);
2823 initEReference(getPathComponent_Symbol(), this.getSymbol(), null, "symbol", null, 0, 1, PathComponent.class,
2824 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
2825 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2826 initEAttribute(getPathComponent_Inverse(), ecorePackage.getEBoolean(), "inverse", null, 0, 1,
2827 PathComponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
2828 !IS_DERIVED, IS_ORDERED);
2829 initEAttribute(getPathComponent_TransitiveClosure(), ecorePackage.getEBoolean(), "transitiveClosure", null, 0,
2830 1, PathComponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
2831 !IS_DERIVED, IS_ORDERED);
2832 initEAttribute(getPathComponent_ReflexiveTransitiveClosure(), ecorePackage.getEBoolean(),
2833 "reflexiveTransitiveClosure", null, 0, 1, PathComponent.class, !IS_TRANSIENT, !IS_VOLATILE,
2834 IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2835
2836 initEClass(symbolEClass, Symbol.class, "Symbol", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2837 initEAttribute(getSymbol_Name(), ecorePackage.getEString(), "name", null, 0, 1, Symbol.class, !IS_TRANSIENT,
2838 !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2839
2840 initEClass(callEClass, Call.class, "Call", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2841 initEReference(getCall_Functor(), this.getReference(), null, "functor", null, 0, 1, Call.class, !IS_TRANSIENT,
2842 !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
2843 IS_ORDERED);
2844 initEReference(getCall_ArgumentList(), this.getArgumentList(), null, "argumentList", null, 0, 1, Call.class,
2845 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
2846 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2847
2848 initEClass(referenceEClass, Reference.class, "Reference", !IS_ABSTRACT, !IS_INTERFACE,
2849 IS_GENERATED_INSTANCE_CLASS);
2850 initEReference(getReference_Components(), this.getPathComponent(), null, "components", null, 0, -1,
2851 Reference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
2852 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2853
2854 initEClass(expressionEClass, Expression.class, "Expression", IS_ABSTRACT, !IS_INTERFACE,
2855 IS_GENERATED_INSTANCE_CLASS);
2856 initEReference(getExpression_ExistsVariables(), this.getVariable(), null, "existsVariables", null, 0, -1,
2857 Expression.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
2858 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2859
2860 initEClass(argumentEClass, Argument.class, "Argument", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2861
2862 initEClass(argumentListEClass, ArgumentList.class, "ArgumentList", !IS_ABSTRACT, !IS_INTERFACE,
2863 IS_GENERATED_INSTANCE_CLASS);
2864 initEReference(getArgumentList_Arguments(), this.getArgument(), null, "arguments", null, 0, -1,
2865 ArgumentList.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
2866 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2867
2868 initEClass(expressionArgumentEClass, ExpressionArgument.class, "ExpressionArgument", !IS_ABSTRACT,
2869 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2870 initEReference(getExpressionArgument_Expression(), this.getExpression(), null, "expression", null, 0, 1,
2871 ExpressionArgument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
2872 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2873
2874 initEClass(starArgumentEClass, StarArgument.class, "StarArgument", !IS_ABSTRACT, !IS_INTERFACE,
2875 IS_GENERATED_INSTANCE_CLASS);
2876
2877 initEClass(typedArgumentEClass, TypedArgument.class, "TypedArgument", IS_ABSTRACT, !IS_INTERFACE,
2878 IS_GENERATED_INSTANCE_CLASS);
2879 initEReference(getTypedArgument_TypeReference(), this.getTypeReference(), null, "typeReference", null, 0, 1,
2880 TypedArgument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
2881 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2882
2883 initEClass(multiaryExpessionEClass, MultiaryExpession.class, "MultiaryExpession", IS_ABSTRACT, !IS_INTERFACE,
2884 IS_GENERATED_INSTANCE_CLASS);
2885 initEReference(getMultiaryExpession_Children(), this.getExpression(), null, "children", null, 0, -1,
2886 MultiaryExpession.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
2887 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2888
2889 initEClass(variableEClass, Variable.class, "Variable", !IS_ABSTRACT, !IS_INTERFACE,
2890 IS_GENERATED_INSTANCE_CLASS);
2891 initEReference(getVariable_TypeReference(), this.getTypeReference(), null, "typeReference", null, 0, 1,
2892 Variable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
2893 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2894
2895 initEClass(unaryExpressionEClass, UnaryExpression.class, "UnaryExpression", !IS_ABSTRACT, !IS_INTERFACE,
2896 IS_GENERATED_INSTANCE_CLASS);
2897 initEReference(getUnaryExpression_Body(), this.getExpression(), null, "body", null, 0, 1, UnaryExpression.class,
2898 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
2899 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2900 initEAttribute(getUnaryExpression_Op(), this.getUnaryOperator(), "op", null, 0, 1, UnaryExpression.class,
2901 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2902
2903 initEClass(binaryExpressionEClass, BinaryExpression.class, "BinaryExpression", !IS_ABSTRACT, !IS_INTERFACE,
2904 IS_GENERATED_INSTANCE_CLASS);
2905 initEAttribute(getBinaryExpression_Op(), this.getBinaryOperator(), "op", null, 0, 1, BinaryExpression.class,
2906 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2907 initEReference(getBinaryExpression_Left(), this.getExpression(), null, "left", null, 0, 1,
2908 BinaryExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
2909 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2910 initEReference(getBinaryExpression_Right(), this.getExpression(), null, "right", null, 0, 1,
2911 BinaryExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
2912 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2913
2914 initEClass(disjunctionEClass, Disjunction.class, "Disjunction", !IS_ABSTRACT, !IS_INTERFACE,
2915 IS_GENERATED_INSTANCE_CLASS);
2916
2917 initEClass(conjunctionEClass, Conjunction.class, "Conjunction", !IS_ABSTRACT, !IS_INTERFACE,
2918 IS_GENERATED_INSTANCE_CLASS);
2919
2920 initEClass(conditionalExpressionEClass, ConditionalExpression.class, "ConditionalExpression", !IS_ABSTRACT,
2921 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2922 initEReference(getConditionalExpression_Condition(), this.getExpression(), null, "condition", null, 0, 1,
2923 ConditionalExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
2924 !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2925 initEReference(getConditionalExpression_Then(), this.getExpression(), null, "then", null, 0, 1,
2926 ConditionalExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
2927 !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2928 initEReference(getConditionalExpression_Else(), this.getExpression(), null, "else", null, 0, 1,
2929 ConditionalExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
2930 !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2931
2932 initEClass(switchEClass, Switch.class, "Switch", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2933 initEReference(getSwitch_Cases(), this.getCase(), null, "cases", null, 0, -1, Switch.class, !IS_TRANSIENT,
2934 !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
2935 IS_ORDERED);
2936
2937 initEClass(caseEClass, Case.class, "Case", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2938 initEReference(getCase_Condition(), this.getExpression(), null, "condition", null, 0, 1, Case.class,
2939 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
2940 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2941 initEReference(getCase_Body(), this.getExpression(), null, "body", null, 0, 1, Case.class, !IS_TRANSIENT,
2942 !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
2943 IS_ORDERED);
2944
2945 initEClass(letExpressionEClass, LetExpression.class, "LetExpression", !IS_ABSTRACT, !IS_INTERFACE,
2946 IS_GENERATED_INSTANCE_CLASS);
2947 initEReference(getLetExpression_Bindings(), this.getLetBinding(), null, "bindings", null, 0, -1,
2948 LetExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
2949 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2950 initEReference(getLetExpression_Body(), this.getExpression(), null, "body", null, 0, 1, LetExpression.class,
2951 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
2952 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2953
2954 initEClass(letBindingEClass, LetBinding.class, "LetBinding", !IS_ABSTRACT, !IS_INTERFACE,
2955 IS_GENERATED_INSTANCE_CLASS);
2956 initEReference(getLetBinding_Value(), this.getExpression(), null, "value", null, 0, 1, LetBinding.class,
2957 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
2958 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2959 initEReference(getLetBinding_Variable(), this.getVariable(), null, "variable", null, 0, 1, LetBinding.class,
2960 IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
2961 !IS_DERIVED, IS_ORDERED);
2962 initEAttribute(getLetBinding_Name(), ecorePackage.getEString(), "name", null, 0, 1, LetBinding.class,
2963 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2964 initEReference(getLetBinding_Type(), this.getSymbol(), null, "type", null, 0, 1, LetBinding.class,
2965 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
2966 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2967
2968 initEClass(literalEClass, Literal.class, "Literal", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2969
2970 initEClass(intLiteralEClass, IntLiteral.class, "IntLiteral", !IS_ABSTRACT, !IS_INTERFACE,
2971 IS_GENERATED_INSTANCE_CLASS);
2972 initEAttribute(getIntLiteral_Value(), ecorePackage.getEInt(), "value", null, 0, 1, IntLiteral.class,
2973 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2974
2975 initEClass(realLiteralEClass, RealLiteral.class, "RealLiteral", !IS_ABSTRACT, !IS_INTERFACE,
2976 IS_GENERATED_INSTANCE_CLASS);
2977 initEAttribute(getRealLiteral_Value(), ecorePackage.getEBigDecimal(), "value", null, 0, 1, RealLiteral.class,
2978 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2979
2980 initEClass(stringLiteralEClass, StringLiteral.class, "StringLiteral", !IS_ABSTRACT, !IS_INTERFACE,
2981 IS_GENERATED_INSTANCE_CLASS);
2982 initEAttribute(getStringLiteral_Value(), ecorePackage.getEString(), "value", null, 0, 1, StringLiteral.class,
2983 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2984
2985 initEClass(logicLiteralEClass, LogicLiteral.class, "LogicLiteral", !IS_ABSTRACT, !IS_INTERFACE,
2986 IS_GENERATED_INSTANCE_CLASS);
2987 initEAttribute(getLogicLiteral_Value(), this.getLogicValue(), "value", null, 0, 1, LogicLiteral.class,
2988 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2989
2990 initEClass(emptyLiteralEClass, EmptyLiteral.class, "EmptyLiteral", !IS_ABSTRACT, !IS_INTERFACE,
2991 IS_GENERATED_INSTANCE_CLASS);
2992
2993 initEClass(castExpressionEClass, CastExpression.class, "CastExpression", !IS_ABSTRACT, !IS_INTERFACE,
2994 IS_GENERATED_INSTANCE_CLASS);
2995 initEReference(getCastExpression_Body(), this.getExpression(), null, "body", null, 0, 1, CastExpression.class,
2996 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
2997 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2998 initEReference(getCastExpression_TargetType(), this.getSymbol(), null, "targetType", null, 0, 1,
2999 CastExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
3000 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3001
3002 initEClass(aggregateExpressionEClass, AggregateExpression.class, "AggregateExpression", IS_ABSTRACT,
3003 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3004 initEReference(getAggregateExpression_ForallVariables(), this.getVariable(), null, "forallVariables", null, 0,
3005 -1, AggregateExpression.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
3006 !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3007 initEReference(getAggregateExpression_Condition(), this.getExpression(), null, "condition", null, 0, 1,
3008 AggregateExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
3009 !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3010
3011 initEClass(countEClass, Count.class, "Count", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3012
3013 initEClass(aggregationEClass, Aggregation.class, "Aggregation", !IS_ABSTRACT, !IS_INTERFACE,
3014 IS_GENERATED_INSTANCE_CLASS);
3015 initEReference(getAggregation_Value(), this.getExpression(), null, "value", null, 0, 1, Aggregation.class,
3016 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
3017 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3018 initEReference(getAggregation_Op(), this.getSymbol(), null, "op", null, 0, 1, Aggregation.class, !IS_TRANSIENT,
3019 !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
3020 IS_ORDERED);
3021
3022 initEClass(forallEClass, Forall.class, "Forall", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3023 initEReference(getForall_Body(), this.getExpression(), null, "body", null, 0, 1, Forall.class, !IS_TRANSIENT,
3024 !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
3025 IS_ORDERED);
3026
3027 initEClass(typeReferenceEClass, TypeReference.class, "TypeReference", !IS_ABSTRACT, !IS_INTERFACE,
3028 IS_GENERATED_INSTANCE_CLASS);
3029 initEAttribute(getTypeReference_ForceObjectType(), ecorePackage.getEBoolean(), "forceObjectType", null, 0, 1,
3030 TypeReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
3031 !IS_DERIVED, IS_ORDERED);
3032 initEReference(getTypeReference_Type(), this.getSymbol(), null, "type", null, 0, 1, TypeReference.class,
3033 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
3034 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3035
3036 initEClass(infinityLiteralEClass, InfinityLiteral.class, "InfinityLiteral", !IS_ABSTRACT, !IS_INTERFACE,
3037 IS_GENERATED_INSTANCE_CLASS);
3038
3039 initEClass(intervalEClass, Interval.class, "Interval", !IS_ABSTRACT, !IS_INTERFACE,
3040 IS_GENERATED_INSTANCE_CLASS);
3041 initEReference(getInterval_LowerBound(), this.getExpression(), null, "lowerBound", null, 0, 1, Interval.class,
3042 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
3043 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3044 initEReference(getInterval_UpperBound(), this.getExpression(), null, "upperBound", null, 0, 1, Interval.class,
3045 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
3046 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3047
3048 initEClass(functorEClass, Functor.class, "Functor", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3049 initEReference(getFunctor_Parameters(), this.getVariable(), null, "parameters", null, 0, -1, Functor.class,
3050 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
3051 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3052
3053 initEClass(relationEClass, Relation.class, "Relation", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3054
3055 initEClass(baseRelationEClass, BaseRelation.class, "BaseRelation", !IS_ABSTRACT, !IS_INTERFACE,
3056 IS_GENERATED_INSTANCE_CLASS);
3057
3058 initEClass(predicateEClass, Predicate.class, "Predicate", !IS_ABSTRACT, !IS_INTERFACE,
3059 IS_GENERATED_INSTANCE_CLASS);
3060
3061 initEClass(datatypeEClass, Datatype.class, "Datatype", !IS_ABSTRACT, !IS_INTERFACE,
3062 IS_GENERATED_INSTANCE_CLASS);
3063
3064 initEClass(functionEClass, Function.class, "Function", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3065 initEReference(getFunction_ResultType(), this.getDatatype(), null, "resultType", null, 0, 1, Function.class,
3066 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
3067 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3068
3069 initEClass(metricEClass, Metric.class, "Metric", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3070
3071 initEClass(operatorEClass, Operator.class, "Operator", !IS_ABSTRACT, !IS_INTERFACE,
3072 IS_GENERATED_INSTANCE_CLASS);
3073
3074 initEClass(nodeEClass, Node.class, "Node", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3075 initEAttribute(getNode_Named(), ecorePackage.getEBoolean(), "named", null, 0, 1, Node.class, !IS_TRANSIENT,
3076 !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3077
3078 initEClass(statementEClass, Statement.class, "Statement", IS_ABSTRACT, !IS_INTERFACE,
3079 IS_GENERATED_INSTANCE_CLASS);
3080
3081 initEClass(abstractAssertionEClass, AbstractAssertion.class, "AbstractAssertion", IS_ABSTRACT, !IS_INTERFACE,
3082 IS_GENERATED_INSTANCE_CLASS);
3083 initEReference(getAbstractAssertion_Expression(), this.getExpression(), null, "expression", null, 0, 1,
3084 AbstractAssertion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
3085 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3086 initEReference(getAbstractAssertion_Range(), this.getExpression(), null, "range", null, 0, 1,
3087 AbstractAssertion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
3088 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3089
3090 initEClass(functorDefinitonEClass, FunctorDefiniton.class, "FunctorDefiniton", IS_ABSTRACT, !IS_INTERFACE,
3091 IS_GENERATED_INSTANCE_CLASS);
3092 initEReference(getFunctorDefiniton_Head(), this.getExpression(), null, "head", null, 0, 1,
3093 FunctorDefiniton.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
3094 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3095 initEReference(getFunctorDefiniton_Body(), this.getExpression(), null, "body", null, 0, 1,
3096 FunctorDefiniton.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
3097 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3098
3099 initEClass(predicateDefinitionEClass, PredicateDefinition.class, "PredicateDefinition", !IS_ABSTRACT,
3100 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3101
3102 initEClass(functionDefinitionEClass, FunctionDefinition.class, "FunctionDefinition", !IS_ABSTRACT,
3103 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3104 initEReference(getFunctionDefinition_ResultType(), this.getSymbol(), null, "resultType", null, 0, 1,
3105 FunctionDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
3106 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3107
3108 initEClass(attributeEClass, Attribute.class, "Attribute", IS_ABSTRACT, !IS_INTERFACE,
3109 IS_GENERATED_INSTANCE_CLASS);
3110 initEReference(getAttribute_Target(), this.getSymbol(), null, "target", null, 0, 1, Attribute.class,
3111 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
3112 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3113 initEAttribute(getAttribute_Kind(), this.getAttributeKind(), "kind", null, 0, 1, Attribute.class, !IS_TRANSIENT,
3114 !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3115
3116 initEClass(externDeclarationEClass, ExternDeclaration.class, "ExternDeclaration", IS_ABSTRACT, !IS_INTERFACE,
3117 IS_GENERATED_INSTANCE_CLASS);
3118 initEAttribute(getExternDeclaration_Name(), ecorePackage.getEString(), "name", null, 0, 1,
3119 ExternDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
3120 !IS_DERIVED, IS_ORDERED);
3121
3122 initEClass(externFunctorDeclarationEClass, ExternFunctorDeclaration.class, "ExternFunctorDeclaration",
3123 IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3124 initEReference(getExternFunctorDeclaration_ArgumentList(), this.getArgumentList(), null, "argumentList", null,
3125 0, 1, ExternFunctorDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
3126 !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3127
3128 initEClass(externPredicateDeclarationEClass, ExternPredicateDeclaration.class, "ExternPredicateDeclaration",
3129 !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3130
3131 initEClass(externFunctionDeclarationEClass, ExternFunctionDeclaration.class, "ExternFunctionDeclaration",
3132 !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3133 initEReference(getExternFunctionDeclaration_ResultType(), this.getSymbol(), null, "resultType", null, 0, 1,
3134 ExternFunctionDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE,
3135 IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3136
3137 initEClass(externAggregationOperatorDeclarationEClass, ExternAggregationOperatorDeclaration.class,
3138 "ExternAggregationOperatorDeclaration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3139 initEReference(getExternAggregationOperatorDeclaration_ArgumentType(), this.getSymbol(), null, "argumentType",
3140 null, 0, 1, ExternAggregationOperatorDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
3141 !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3142 initEReference(getExternAggregationOperatorDeclaration_ResultType(), this.getSymbol(), null, "resultType", null,
3143 0, 1, ExternAggregationOperatorDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
3144 !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3145
3146 initEClass(externDatatypeDeclarationEClass, ExternDatatypeDeclaration.class, "ExternDatatypeDeclaration",
3147 !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3148
3149 initEClass(classDeclarationEClass, ClassDeclaration.class, "ClassDeclaration", !IS_ABSTRACT, !IS_INTERFACE,
3150 IS_GENERATED_INSTANCE_CLASS);
3151 initEReference(getClassDeclaration_Fields(), this.getField(), null, "fields", null, 0, -1,
3152 ClassDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
3153 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3154 initEAttribute(getClassDeclaration_Name(), ecorePackage.getEString(), "name", null, 0, 1,
3155 ClassDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
3156 !IS_DERIVED, IS_ORDERED);
3157 initEAttribute(getClassDeclaration_Abstract(), ecorePackage.getEBoolean(), "abstract", null, 0, 1,
3158 ClassDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
3159 !IS_DERIVED, IS_ORDERED);
3160 initEReference(getClassDeclaration_Supertypes(), this.getSymbol(), null, "supertypes", null, 0, -1,
3161 ClassDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
3162 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3163 initEAttribute(getClassDeclaration_Root(), ecorePackage.getEBoolean(), "root", null, 0, 1,
3164 ClassDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
3165 !IS_DERIVED, IS_ORDERED);
3166
3167 initEClass(enumDeclarationEClass, EnumDeclaration.class, "EnumDeclaration", !IS_ABSTRACT, !IS_INTERFACE,
3168 IS_GENERATED_INSTANCE_CLASS);
3169 initEReference(getEnumDeclaration_Literals(), this.getEnumLiteral(), null, "literals", null, 0, -1,
3170 EnumDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
3171 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3172 initEAttribute(getEnumDeclaration_Name(), ecorePackage.getEString(), "name", null, 0, 1, EnumDeclaration.class,
3173 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3174
3175 initEClass(enumLiteralEClass, EnumLiteral.class, "EnumLiteral", !IS_ABSTRACT, !IS_INTERFACE,
3176 IS_GENERATED_INSTANCE_CLASS);
3177 initEAttribute(getEnumLiteral_Name(), ecorePackage.getEString(), "name", null, 0, 1, EnumLiteral.class,
3178 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3179
3180 initEClass(fieldEClass, Field.class, "Field", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3181 initEAttribute(getField_Containment(), ecorePackage.getEBoolean(), "containment", null, 0, 1, Field.class,
3182 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3183 initEAttribute(getField_CrossReference(), ecorePackage.getEBoolean(), "crossReference", null, 0, 1, Field.class,
3184 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3185 initEReference(getField_Opposite(), this.getSymbol(), null, "opposite", null, 0, 1, Field.class, !IS_TRANSIENT,
3186 !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
3187 IS_ORDERED);
3188 initEReference(getField_Multiplicity(), this.getMultiplicity(), null, "multiplicity", null, 0, 1, Field.class,
3189 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
3190 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3191 initEReference(getField_Type(), this.getSymbol(), null, "type", null, 0, 1, Field.class, !IS_TRANSIENT,
3192 !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
3193 IS_ORDERED);
3194 initEAttribute(getField_Name(), ecorePackage.getEString(), "name", null, 0, 1, Field.class, !IS_TRANSIENT,
3195 !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3196
3197 initEClass(multiplicityEClass, Multiplicity.class, "Multiplicity", IS_ABSTRACT, !IS_INTERFACE,
3198 IS_GENERATED_INSTANCE_CLASS);
3199
3200 initEClass(defaultAssertionEClass, DefaultAssertion.class, "DefaultAssertion", !IS_ABSTRACT, !IS_INTERFACE,
3201 IS_GENERATED_INSTANCE_CLASS);
3202
3203 initEClass(assertionEClass, Assertion.class, "Assertion", !IS_ABSTRACT, !IS_INTERFACE,
3204 IS_GENERATED_INSTANCE_CLASS);
3205
3206 initEClass(unboundedMultiplicityEClass, UnboundedMultiplicity.class, "UnboundedMultiplicity", !IS_ABSTRACT,
3207 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3208
3209 initEClass(exactMultiplicityEClass, ExactMultiplicity.class, "ExactMultiplicity", !IS_ABSTRACT, !IS_INTERFACE,
3210 IS_GENERATED_INSTANCE_CLASS);
3211 initEAttribute(getExactMultiplicity_Value(), ecorePackage.getEInt(), "value", null, 0, 1,
3212 ExactMultiplicity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
3213 !IS_DERIVED, IS_ORDERED);
3214
3215 initEClass(boundedMultiplicityEClass, BoundedMultiplicity.class, "BoundedMultiplicity", !IS_ABSTRACT,
3216 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3217 initEAttribute(getBoundedMultiplicity_LowerBound(), ecorePackage.getEInt(), "lowerBound", null, 0, 1,
3218 BoundedMultiplicity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
3219 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3220 initEAttribute(getBoundedMultiplicity_UpperBound(), ecorePackage.getEInt(), "upperBound", null, 0, 1,
3221 BoundedMultiplicity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
3222 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3223
3224 initEClass(inlinePredicateAttrributesEClass, InlinePredicateAttrributes.class, "InlinePredicateAttrributes",
3225 IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3226 initEAttribute(getInlinePredicateAttrributes_Error(), ecorePackage.getEBoolean(), "error", null, 0, 1,
3227 InlinePredicateAttrributes.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
3228 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3229 initEAttribute(getInlinePredicateAttrributes_Functional(), ecorePackage.getEBoolean(), "functional", null, 0, 1,
3230 InlinePredicateAttrributes.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
3231 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3232
3233 initEClass(aggregationOperatorEClass, AggregationOperator.class, "AggregationOperator", !IS_ABSTRACT,
3234 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3235 initEReference(getAggregationOperator_ArgumentType(), this.getDatatype(), null, "argumentType", null, 0, 1,
3236 AggregationOperator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE,
3237 IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3238 initEReference(getAggregationOperator_ResultType(), this.getDatatype(), null, "resultType", null, 0, 1,
3239 AggregationOperator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE,
3240 IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3241
3242 initEClass(problemEClass, Problem.class, "Problem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3243 initEAttribute(getProblem_Name(), ecorePackage.getEString(), "name", null, 0, 1, Problem.class, !IS_TRANSIENT,
3244 !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3245 initEReference(getProblem_Statements(), this.getStatement(), null, "statements", null, 0, -1, Problem.class,
3246 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
3247 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3248 initEReference(getProblem_Symbols(), this.getSymbol(), null, "symbols", null, 0, -1, Problem.class,
3249 IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
3250 !IS_DERIVED, IS_ORDERED);
3251 initEReference(getProblem_Imports(), this.getImport(), null, "imports", null, 0, -1, Problem.class,
3252 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
3253 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3254
3255 initEClass(typedStarArgumentEClass, TypedStarArgument.class, "TypedStarArgument", !IS_ABSTRACT, !IS_INTERFACE,
3256 IS_GENERATED_INSTANCE_CLASS);
3257
3258 initEClass(typedVariableArgumentEClass, TypedVariableArgument.class, "TypedVariableArgument", !IS_ABSTRACT,
3259 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3260 initEAttribute(getTypedVariableArgument_Name(), ecorePackage.getEString(), "name", null, 0, 1,
3261 TypedVariableArgument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
3262 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3263
3264 initEClass(unnamedErrorPredicateDefintionEClass, UnnamedErrorPredicateDefintion.class,
3265 "UnnamedErrorPredicateDefintion", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3266 initEReference(getUnnamedErrorPredicateDefintion_ArgumentList(), this.getArgumentList(), null, "argumentList",
3267 null, 0, 1, UnnamedErrorPredicateDefintion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
3268 IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3269 initEReference(getUnnamedErrorPredicateDefintion_Body(), this.getExpression(), null, "body", null, 0, 1,
3270 UnnamedErrorPredicateDefintion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
3271 !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3272
3273 initEClass(objectiveDeclarationEClass, ObjectiveDeclaration.class, "ObjectiveDeclaration", !IS_ABSTRACT,
3274 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3275 initEAttribute(getObjectiveDeclaration_Kind(), this.getObjectiveKind(), "kind", null, 0, 1,
3276 ObjectiveDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
3277 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3278 initEReference(getObjectiveDeclaration_Objective(), this.getExpression(), null, "objective", null, 0, 1,
3279 ObjectiveDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
3280 !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3281
3282 initEClass(scopeDeclarationEClass, ScopeDeclaration.class, "ScopeDeclaration", !IS_ABSTRACT, !IS_INTERFACE,
3283 IS_GENERATED_INSTANCE_CLASS);
3284 initEReference(getScopeDeclaration_Type(), this.getSymbol(), null, "type", null, 0, 1, ScopeDeclaration.class,
3285 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
3286 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3287
3288 initEClass(exactScopeEClass, ExactScope.class, "ExactScope", !IS_ABSTRACT, !IS_INTERFACE,
3289 IS_GENERATED_INSTANCE_CLASS);
3290 initEAttribute(getExactScope_Size(), ecorePackage.getEInt(), "size", null, 0, 1, ExactScope.class,
3291 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3292
3293 initEClass(boundedScopeEClass, BoundedScope.class, "BoundedScope", !IS_ABSTRACT, !IS_INTERFACE,
3294 IS_GENERATED_INSTANCE_CLASS);
3295 initEAttribute(getBoundedScope_LowerBound(), ecorePackage.getEInt(), "lowerBound", null, 0, 1,
3296 BoundedScope.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
3297 !IS_DERIVED, IS_ORDERED);
3298 initEAttribute(getBoundedScope_UpperBound(), ecorePackage.getEInt(), "upperBound", null, 0, 1,
3299 BoundedScope.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
3300 !IS_DERIVED, IS_ORDERED);
3301
3302 initEClass(lowerBoundedScopeEClass, LowerBoundedScope.class, "LowerBoundedScope", !IS_ABSTRACT, !IS_INTERFACE,
3303 IS_GENERATED_INSTANCE_CLASS);
3304 initEAttribute(getLowerBoundedScope_LowerBound(), ecorePackage.getEInt(), "lowerBound", null, 0, 1,
3305 LowerBoundedScope.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
3306 !IS_DERIVED, IS_ORDERED);
3307
3308 initEClass(namespaceImportEClass, NamespaceImport.class, "NamespaceImport", !IS_ABSTRACT, !IS_INTERFACE,
3309 IS_GENERATED_INSTANCE_CLASS);
3310 initEAttribute(getNamespaceImport_ImportedNamespace(), ecorePackage.getEString(), "importedNamespace", null, 0,
3311 1, NamespaceImport.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
3312 !IS_DERIVED, IS_ORDERED);
3313
3314 initEClass(importEClass, Import.class, "Import", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3315 initEAttribute(getImport_Alias(), ecorePackage.getEString(), "alias", null, 0, 1, Import.class, !IS_TRANSIENT,
3316 !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3317
3318 initEClass(uriImportEClass, UriImport.class, "UriImport", !IS_ABSTRACT, !IS_INTERFACE,
3319 IS_GENERATED_INSTANCE_CLASS);
3320 initEAttribute(getUriImport_Uri(), ecorePackage.getEString(), "uri", null, 0, 1, UriImport.class, !IS_TRANSIENT,
3321 !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3322
3323 // Initialize enums and add enum literals
3324 initEEnum(unaryOperatorEEnum, UnaryOperator.class, "UnaryOperator");
3325 addEEnumLiteral(unaryOperatorEEnum, UnaryOperator.NOT);
3326 addEEnumLiteral(unaryOperatorEEnum, UnaryOperator.PLUS);
3327 addEEnumLiteral(unaryOperatorEEnum, UnaryOperator.MINUS);
3328 addEEnumLiteral(unaryOperatorEEnum, UnaryOperator.MAYBE);
3329
3330 initEEnum(binaryOperatorEEnum, BinaryOperator.class, "BinaryOperator");
3331 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.PLUS);
3332 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.MINUS);
3333 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.MULTIPLY);
3334 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.DIVIDE);
3335 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.POW);
3336 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.IN);
3337 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.EQUALS);
3338 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.NOT_EQUALS);
3339 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.LESS);
3340 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.LESS_EQUALS);
3341 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.GREATER);
3342 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.GREATER_EQUALS);
3343
3344 initEEnum(logicValueEEnum, LogicValue.class, "LogicValue");
3345 addEEnumLiteral(logicValueEEnum, LogicValue.UNKNOWN);
3346 addEEnumLiteral(logicValueEEnum, LogicValue.FALSE);
3347 addEEnumLiteral(logicValueEEnum, LogicValue.TRUE);
3348 addEEnumLiteral(logicValueEEnum, LogicValue.ERROR);
3349
3350 initEEnum(objectiveKindEEnum, ObjectiveKind.class, "ObjectiveKind");
3351 addEEnumLiteral(objectiveKindEEnum, ObjectiveKind.MINIMIZATION);
3352 addEEnumLiteral(objectiveKindEEnum, ObjectiveKind.MAXIMIZATION);
3353
3354 initEEnum(attributeKindEEnum, AttributeKind.class, "AttributeKind");
3355 addEEnumLiteral(attributeKindEEnum, AttributeKind.FUNCTIONAL);
3356 addEEnumLiteral(attributeKindEEnum, AttributeKind.ERROR);
3357 addEEnumLiteral(attributeKindEEnum, AttributeKind.ROOT);
3358 addEEnumLiteral(attributeKindEEnum, AttributeKind.CONTAINMENT);
3359
3360 // Create resource
3361 createResource(eNS_URI);
3362 }
3363
3364} //SolverLanguagePackageImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StarArgumentImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StarArgumentImpl.java
new file mode 100644
index 00000000..63dd9e11
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StarArgumentImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
8import org.eclipse.viatra.solver.language.solverLanguage.StarArgument;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Star Argument</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class StarArgumentImpl extends ArgumentImpl implements StarArgument {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected StarArgumentImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return SolverLanguagePackage.Literals.STAR_ARGUMENT;
35 }
36
37} //StarArgumentImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java
new file mode 100644
index 00000000..36404986
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java
@@ -0,0 +1,39 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
8
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10import org.eclipse.viatra.solver.language.solverLanguage.Statement;
11
12/**
13 * <!-- begin-user-doc -->
14 * An implementation of the model object '<em><b>Statement</b></em>'.
15 * <!-- end-user-doc -->
16 *
17 * @generated
18 */
19public abstract class StatementImpl extends MinimalEObjectImpl.Container implements Statement {
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected StatementImpl() {
26 super();
27 }
28
29 /**
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @generated
33 */
34 @Override
35 protected EClass eStaticClass() {
36 return SolverLanguagePackage.Literals.STATEMENT;
37 }
38
39} //StatementImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringLiteralImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringLiteralImpl.java
new file mode 100644
index 00000000..8b321f80
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringLiteralImpl.java
@@ -0,0 +1,164 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.SolverLanguagePackage;
12import org.eclipse.viatra.solver.language.solverLanguage.StringLiteral;
13
14/**
15 * <!-- begin-user-doc -->
16 * An implementation of the model object '<em><b>String Literal</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.solverLanguage.impl.StringLiteralImpl#getValue <em>Value</em>}</li>
23 * </ul>
24 *
25 * @generated
26 */
27public class StringLiteralImpl extends LiteralImpl implements StringLiteral {
28 /**
29 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @see #getValue()
33 * @generated
34 * @ordered
35 */
36 protected static final String VALUE_EDEFAULT = null;
37
38 /**
39 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @see #getValue()
43 * @generated
44 * @ordered
45 */
46 protected String value = VALUE_EDEFAULT;
47
48 /**
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @generated
52 */
53 protected StringLiteralImpl() {
54 super();
55 }
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 @Override
63 protected EClass eStaticClass() {
64 return SolverLanguagePackage.Literals.STRING_LITERAL;
65 }
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 public String getValue() {
73 return value;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 public void setValue(String newValue) {
82 String oldValue = value;
83 value = newValue;
84 if (eNotificationRequired())
85 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.STRING_LITERAL__VALUE, oldValue,
86 value));
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 SolverLanguagePackage.STRING_LITERAL__VALUE:
98 return getValue();
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 SolverLanguagePackage.STRING_LITERAL__VALUE:
112 setValue((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 SolverLanguagePackage.STRING_LITERAL__VALUE:
127 setValue(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 SolverLanguagePackage.STRING_LITERAL__VALUE:
142 return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
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(" (value: ");
159 result.append(value);
160 result.append(')');
161 return result.toString();
162 }
163
164} //StringLiteralImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SwitchImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SwitchImpl.java
new file mode 100644
index 00000000..df89831b
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SwitchImpl.java
@@ -0,0 +1,150 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.util.EObjectContainmentEList;
15import org.eclipse.emf.ecore.util.InternalEList;
16
17import org.eclipse.viatra.solver.language.solverLanguage.Case;
18import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
19import org.eclipse.viatra.solver.language.solverLanguage.Switch;
20
21/**
22 * <!-- begin-user-doc -->
23 * An implementation of the model object '<em><b>Switch</b></em>'.
24 * <!-- end-user-doc -->
25 * <p>
26 * The following features are implemented:
27 * </p>
28 * <ul>
29 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.SwitchImpl#getCases <em>Cases</em>}</li>
30 * </ul>
31 *
32 * @generated
33 */
34public class SwitchImpl extends ExpressionImpl implements Switch {
35 /**
36 * The cached value of the '{@link #getCases() <em>Cases</em>}' containment reference list.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getCases()
40 * @generated
41 * @ordered
42 */
43 protected EList<Case> cases;
44
45 /**
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @generated
49 */
50 protected SwitchImpl() {
51 super();
52 }
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 @Override
60 protected EClass eStaticClass() {
61 return SolverLanguagePackage.Literals.SWITCH;
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 public EList<Case> getCases() {
70 if (cases == null) {
71 cases = new EObjectContainmentEList<Case>(Case.class, this, SolverLanguagePackage.SWITCH__CASES);
72 }
73 return cases;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 @Override
82 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
83 switch (featureID) {
84 case SolverLanguagePackage.SWITCH__CASES:
85 return ((InternalEList<?>) getCases()).basicRemove(otherEnd, msgs);
86 }
87 return super.eInverseRemove(otherEnd, featureID, msgs);
88 }
89
90 /**
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @generated
94 */
95 @Override
96 public Object eGet(int featureID, boolean resolve, boolean coreType) {
97 switch (featureID) {
98 case SolverLanguagePackage.SWITCH__CASES:
99 return getCases();
100 }
101 return super.eGet(featureID, resolve, coreType);
102 }
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 @SuppressWarnings("unchecked")
110 @Override
111 public void eSet(int featureID, Object newValue) {
112 switch (featureID) {
113 case SolverLanguagePackage.SWITCH__CASES:
114 getCases().clear();
115 getCases().addAll((Collection<? extends Case>) newValue);
116 return;
117 }
118 super.eSet(featureID, newValue);
119 }
120
121 /**
122 * <!-- begin-user-doc -->
123 * <!-- end-user-doc -->
124 * @generated
125 */
126 @Override
127 public void eUnset(int featureID) {
128 switch (featureID) {
129 case SolverLanguagePackage.SWITCH__CASES:
130 getCases().clear();
131 return;
132 }
133 super.eUnset(featureID);
134 }
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 @Override
142 public boolean eIsSet(int featureID) {
143 switch (featureID) {
144 case SolverLanguagePackage.SWITCH__CASES:
145 return cases != null && !cases.isEmpty();
146 }
147 return super.eIsSet(featureID);
148 }
149
150} //SwitchImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SymbolImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SymbolImpl.java
new file mode 100644
index 00000000..a9f76acb
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SymbolImpl.java
@@ -0,0 +1,164 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.SolverLanguagePackage;
13import org.eclipse.viatra.solver.language.solverLanguage.Symbol;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>Symbol</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.solverLanguage.impl.SymbolImpl#getName <em>Name</em>}</li>
24 * </ul>
25 *
26 * @generated
27 */
28public abstract class SymbolImpl extends MinimalEObjectImpl.Container implements Symbol {
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 SymbolImpl() {
55 super();
56 }
57
58 /**
59 * <!-- begin-user-doc -->
60 * <!-- end-user-doc -->
61 * @generated
62 */
63 @Override
64 protected EClass eStaticClass() {
65 return SolverLanguagePackage.Literals.SYMBOL;
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, SolverLanguagePackage.SYMBOL__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 SolverLanguagePackage.SYMBOL__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 SolverLanguagePackage.SYMBOL__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 SolverLanguagePackage.SYMBOL__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 SolverLanguagePackage.SYMBOL__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} //SymbolImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypeReferenceImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypeReferenceImpl.java
new file mode 100644
index 00000000..a3c76e63
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypeReferenceImpl.java
@@ -0,0 +1,230 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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;
11import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
12
13import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
14import org.eclipse.viatra.solver.language.solverLanguage.Symbol;
15import org.eclipse.viatra.solver.language.solverLanguage.TypeReference;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Type Reference</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypeReferenceImpl#isForceObjectType <em>Force Object Type</em>}</li>
26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypeReferenceImpl#getType <em>Type</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public class TypeReferenceImpl extends MinimalEObjectImpl.Container implements TypeReference {
32 /**
33 * The default value of the '{@link #isForceObjectType() <em>Force Object Type</em>}' attribute.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #isForceObjectType()
37 * @generated
38 * @ordered
39 */
40 protected static final boolean FORCE_OBJECT_TYPE_EDEFAULT = false;
41
42 /**
43 * The cached value of the '{@link #isForceObjectType() <em>Force Object Type</em>}' attribute.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @see #isForceObjectType()
47 * @generated
48 * @ordered
49 */
50 protected boolean forceObjectType = FORCE_OBJECT_TYPE_EDEFAULT;
51
52 /**
53 * The cached value of the '{@link #getType() <em>Type</em>}' reference.
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @see #getType()
57 * @generated
58 * @ordered
59 */
60 protected Symbol type;
61
62 /**
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @generated
66 */
67 protected TypeReferenceImpl() {
68 super();
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 @Override
77 protected EClass eStaticClass() {
78 return SolverLanguagePackage.Literals.TYPE_REFERENCE;
79 }
80
81 /**
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @generated
85 */
86 public boolean isForceObjectType() {
87 return forceObjectType;
88 }
89
90 /**
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @generated
94 */
95 public void setForceObjectType(boolean newForceObjectType) {
96 boolean oldForceObjectType = forceObjectType;
97 forceObjectType = newForceObjectType;
98 if (eNotificationRequired())
99 eNotify(new ENotificationImpl(this, Notification.SET,
100 SolverLanguagePackage.TYPE_REFERENCE__FORCE_OBJECT_TYPE, oldForceObjectType, forceObjectType));
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 public Symbol getType() {
109 if (type != null && type.eIsProxy()) {
110 InternalEObject oldType = (InternalEObject) type;
111 type = (Symbol) eResolveProxy(oldType);
112 if (type != oldType) {
113 if (eNotificationRequired())
114 eNotify(new ENotificationImpl(this, Notification.RESOLVE,
115 SolverLanguagePackage.TYPE_REFERENCE__TYPE, oldType, type));
116 }
117 }
118 return type;
119 }
120
121 /**
122 * <!-- begin-user-doc -->
123 * <!-- end-user-doc -->
124 * @generated
125 */
126 public Symbol basicGetType() {
127 return type;
128 }
129
130 /**
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @generated
134 */
135 public void setType(Symbol newType) {
136 Symbol oldType = type;
137 type = newType;
138 if (eNotificationRequired())
139 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.TYPE_REFERENCE__TYPE, oldType,
140 type));
141 }
142
143 /**
144 * <!-- begin-user-doc -->
145 * <!-- end-user-doc -->
146 * @generated
147 */
148 @Override
149 public Object eGet(int featureID, boolean resolve, boolean coreType) {
150 switch (featureID) {
151 case SolverLanguagePackage.TYPE_REFERENCE__FORCE_OBJECT_TYPE:
152 return isForceObjectType();
153 case SolverLanguagePackage.TYPE_REFERENCE__TYPE:
154 if (resolve)
155 return getType();
156 return basicGetType();
157 }
158 return super.eGet(featureID, resolve, coreType);
159 }
160
161 /**
162 * <!-- begin-user-doc -->
163 * <!-- end-user-doc -->
164 * @generated
165 */
166 @Override
167 public void eSet(int featureID, Object newValue) {
168 switch (featureID) {
169 case SolverLanguagePackage.TYPE_REFERENCE__FORCE_OBJECT_TYPE:
170 setForceObjectType((Boolean) newValue);
171 return;
172 case SolverLanguagePackage.TYPE_REFERENCE__TYPE:
173 setType((Symbol) newValue);
174 return;
175 }
176 super.eSet(featureID, newValue);
177 }
178
179 /**
180 * <!-- begin-user-doc -->
181 * <!-- end-user-doc -->
182 * @generated
183 */
184 @Override
185 public void eUnset(int featureID) {
186 switch (featureID) {
187 case SolverLanguagePackage.TYPE_REFERENCE__FORCE_OBJECT_TYPE:
188 setForceObjectType(FORCE_OBJECT_TYPE_EDEFAULT);
189 return;
190 case SolverLanguagePackage.TYPE_REFERENCE__TYPE:
191 setType((Symbol) null);
192 return;
193 }
194 super.eUnset(featureID);
195 }
196
197 /**
198 * <!-- begin-user-doc -->
199 * <!-- end-user-doc -->
200 * @generated
201 */
202 @Override
203 public boolean eIsSet(int featureID) {
204 switch (featureID) {
205 case SolverLanguagePackage.TYPE_REFERENCE__FORCE_OBJECT_TYPE:
206 return forceObjectType != FORCE_OBJECT_TYPE_EDEFAULT;
207 case SolverLanguagePackage.TYPE_REFERENCE__TYPE:
208 return type != null;
209 }
210 return super.eIsSet(featureID);
211 }
212
213 /**
214 * <!-- begin-user-doc -->
215 * <!-- end-user-doc -->
216 * @generated
217 */
218 @Override
219 public String toString() {
220 if (eIsProxy())
221 return super.toString();
222
223 StringBuilder result = new StringBuilder(super.toString());
224 result.append(" (forceObjectType: ");
225 result.append(forceObjectType);
226 result.append(')');
227 return result.toString();
228 }
229
230} //TypeReferenceImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedArgumentImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedArgumentImpl.java
new file mode 100644
index 00000000..89778fc9
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedArgumentImpl.java
@@ -0,0 +1,182 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.SolverLanguagePackage;
14import org.eclipse.viatra.solver.language.solverLanguage.TypeReference;
15import org.eclipse.viatra.solver.language.solverLanguage.TypedArgument;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Typed Argument</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedArgumentImpl#getTypeReference <em>Type Reference</em>}</li>
26 * </ul>
27 *
28 * @generated
29 */
30public abstract class TypedArgumentImpl extends ArgumentImpl implements TypedArgument {
31 /**
32 * The cached value of the '{@link #getTypeReference() <em>Type Reference</em>}' containment reference.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @see #getTypeReference()
36 * @generated
37 * @ordered
38 */
39 protected TypeReference typeReference;
40
41 /**
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @generated
45 */
46 protected TypedArgumentImpl() {
47 super();
48 }
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 @Override
56 protected EClass eStaticClass() {
57 return SolverLanguagePackage.Literals.TYPED_ARGUMENT;
58 }
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 public TypeReference getTypeReference() {
66 return typeReference;
67 }
68
69 /**
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @generated
73 */
74 public NotificationChain basicSetTypeReference(TypeReference newTypeReference, NotificationChain msgs) {
75 TypeReference oldTypeReference = typeReference;
76 typeReference = newTypeReference;
77 if (eNotificationRequired()) {
78 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
79 SolverLanguagePackage.TYPED_ARGUMENT__TYPE_REFERENCE, oldTypeReference, newTypeReference);
80 if (msgs == null)
81 msgs = notification;
82 else
83 msgs.add(notification);
84 }
85 return msgs;
86 }
87
88 /**
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 */
93 public void setTypeReference(TypeReference newTypeReference) {
94 if (newTypeReference != typeReference) {
95 NotificationChain msgs = null;
96 if (typeReference != null)
97 msgs = ((InternalEObject) typeReference).eInverseRemove(this,
98 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.TYPED_ARGUMENT__TYPE_REFERENCE, null, msgs);
99 if (newTypeReference != null)
100 msgs = ((InternalEObject) newTypeReference).eInverseAdd(this,
101 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.TYPED_ARGUMENT__TYPE_REFERENCE, null, msgs);
102 msgs = basicSetTypeReference(newTypeReference, msgs);
103 if (msgs != null)
104 msgs.dispatch();
105 } else if (eNotificationRequired())
106 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.TYPED_ARGUMENT__TYPE_REFERENCE,
107 newTypeReference, newTypeReference));
108 }
109
110 /**
111 * <!-- begin-user-doc -->
112 * <!-- end-user-doc -->
113 * @generated
114 */
115 @Override
116 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
117 switch (featureID) {
118 case SolverLanguagePackage.TYPED_ARGUMENT__TYPE_REFERENCE:
119 return basicSetTypeReference(null, msgs);
120 }
121 return super.eInverseRemove(otherEnd, featureID, msgs);
122 }
123
124 /**
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @generated
128 */
129 @Override
130 public Object eGet(int featureID, boolean resolve, boolean coreType) {
131 switch (featureID) {
132 case SolverLanguagePackage.TYPED_ARGUMENT__TYPE_REFERENCE:
133 return getTypeReference();
134 }
135 return super.eGet(featureID, resolve, coreType);
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 @Override
144 public void eSet(int featureID, Object newValue) {
145 switch (featureID) {
146 case SolverLanguagePackage.TYPED_ARGUMENT__TYPE_REFERENCE:
147 setTypeReference((TypeReference) newValue);
148 return;
149 }
150 super.eSet(featureID, newValue);
151 }
152
153 /**
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @generated
157 */
158 @Override
159 public void eUnset(int featureID) {
160 switch (featureID) {
161 case SolverLanguagePackage.TYPED_ARGUMENT__TYPE_REFERENCE:
162 setTypeReference((TypeReference) null);
163 return;
164 }
165 super.eUnset(featureID);
166 }
167
168 /**
169 * <!-- begin-user-doc -->
170 * <!-- end-user-doc -->
171 * @generated
172 */
173 @Override
174 public boolean eIsSet(int featureID) {
175 switch (featureID) {
176 case SolverLanguagePackage.TYPED_ARGUMENT__TYPE_REFERENCE:
177 return typeReference != null;
178 }
179 return super.eIsSet(featureID);
180 }
181
182} //TypedArgumentImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedStarArgumentImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedStarArgumentImpl.java
new file mode 100644
index 00000000..ebee59b6
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedStarArgumentImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
8import org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Typed Star Argument</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class TypedStarArgumentImpl extends TypedArgumentImpl implements TypedStarArgument {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected TypedStarArgumentImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return SolverLanguagePackage.Literals.TYPED_STAR_ARGUMENT;
35 }
36
37} //TypedStarArgumentImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedVariableArgumentImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedVariableArgumentImpl.java
new file mode 100644
index 00000000..6c83d121
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedVariableArgumentImpl.java
@@ -0,0 +1,164 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.SolverLanguagePackage;
12import org.eclipse.viatra.solver.language.solverLanguage.TypedVariableArgument;
13
14/**
15 * <!-- begin-user-doc -->
16 * An implementation of the model object '<em><b>Typed Variable Argument</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.solverLanguage.impl.TypedVariableArgumentImpl#getName <em>Name</em>}</li>
23 * </ul>
24 *
25 * @generated
26 */
27public class TypedVariableArgumentImpl extends TypedArgumentImpl implements TypedVariableArgument {
28 /**
29 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @see #getName()
33 * @generated
34 * @ordered
35 */
36 protected static final String NAME_EDEFAULT = null;
37
38 /**
39 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @see #getName()
43 * @generated
44 * @ordered
45 */
46 protected String name = NAME_EDEFAULT;
47
48 /**
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @generated
52 */
53 protected TypedVariableArgumentImpl() {
54 super();
55 }
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 @Override
63 protected EClass eStaticClass() {
64 return SolverLanguagePackage.Literals.TYPED_VARIABLE_ARGUMENT;
65 }
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 public String getName() {
73 return name;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 public void setName(String newName) {
82 String oldName = name;
83 name = newName;
84 if (eNotificationRequired())
85 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.TYPED_VARIABLE_ARGUMENT__NAME,
86 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 SolverLanguagePackage.TYPED_VARIABLE_ARGUMENT__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 SolverLanguagePackage.TYPED_VARIABLE_ARGUMENT__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 SolverLanguagePackage.TYPED_VARIABLE_ARGUMENT__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 SolverLanguagePackage.TYPED_VARIABLE_ARGUMENT__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} //TypedVariableArgumentImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnaryExpressionImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnaryExpressionImpl.java
new file mode 100644
index 00000000..11291304
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnaryExpressionImpl.java
@@ -0,0 +1,253 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.Expression;
14import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
15import org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression;
16import org.eclipse.viatra.solver.language.solverLanguage.UnaryOperator;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Unary Expression</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.solverLanguage.impl.UnaryExpressionImpl#getBody <em>Body</em>}</li>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnaryExpressionImpl#getOp <em>Op</em>}</li>
28 * </ul>
29 *
30 * @generated
31 */
32public class UnaryExpressionImpl extends ExpressionImpl implements UnaryExpression {
33 /**
34 * The cached value of the '{@link #getBody() <em>Body</em>}' containment reference.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #getBody()
38 * @generated
39 * @ordered
40 */
41 protected Expression body;
42
43 /**
44 * The default value of the '{@link #getOp() <em>Op</em>}' attribute.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #getOp()
48 * @generated
49 * @ordered
50 */
51 protected static final UnaryOperator OP_EDEFAULT = UnaryOperator.NOT;
52
53 /**
54 * The cached value of the '{@link #getOp() <em>Op</em>}' attribute.
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @see #getOp()
58 * @generated
59 * @ordered
60 */
61 protected UnaryOperator op = OP_EDEFAULT;
62
63 /**
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @generated
67 */
68 protected UnaryExpressionImpl() {
69 super();
70 }
71
72 /**
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @generated
76 */
77 @Override
78 protected EClass eStaticClass() {
79 return SolverLanguagePackage.Literals.UNARY_EXPRESSION;
80 }
81
82 /**
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @generated
86 */
87 public Expression getBody() {
88 return body;
89 }
90
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs) {
97 Expression oldBody = body;
98 body = newBody;
99 if (eNotificationRequired()) {
100 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
101 SolverLanguagePackage.UNARY_EXPRESSION__BODY, oldBody, newBody);
102 if (msgs == null)
103 msgs = notification;
104 else
105 msgs.add(notification);
106 }
107 return msgs;
108 }
109
110 /**
111 * <!-- begin-user-doc -->
112 * <!-- end-user-doc -->
113 * @generated
114 */
115 public void setBody(Expression newBody) {
116 if (newBody != body) {
117 NotificationChain msgs = null;
118 if (body != null)
119 msgs = ((InternalEObject) body).eInverseRemove(this,
120 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.UNARY_EXPRESSION__BODY, null, msgs);
121 if (newBody != null)
122 msgs = ((InternalEObject) newBody).eInverseAdd(this,
123 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.UNARY_EXPRESSION__BODY, null, msgs);
124 msgs = basicSetBody(newBody, msgs);
125 if (msgs != null)
126 msgs.dispatch();
127 } else if (eNotificationRequired())
128 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNARY_EXPRESSION__BODY, newBody,
129 newBody));
130 }
131
132 /**
133 * <!-- begin-user-doc -->
134 * <!-- end-user-doc -->
135 * @generated
136 */
137 public UnaryOperator getOp() {
138 return op;
139 }
140
141 /**
142 * <!-- begin-user-doc -->
143 * <!-- end-user-doc -->
144 * @generated
145 */
146 public void setOp(UnaryOperator newOp) {
147 UnaryOperator oldOp = op;
148 op = newOp == null ? OP_EDEFAULT : newOp;
149 if (eNotificationRequired())
150 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNARY_EXPRESSION__OP, oldOp,
151 op));
152 }
153
154 /**
155 * <!-- begin-user-doc -->
156 * <!-- end-user-doc -->
157 * @generated
158 */
159 @Override
160 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
161 switch (featureID) {
162 case SolverLanguagePackage.UNARY_EXPRESSION__BODY:
163 return basicSetBody(null, msgs);
164 }
165 return super.eInverseRemove(otherEnd, featureID, msgs);
166 }
167
168 /**
169 * <!-- begin-user-doc -->
170 * <!-- end-user-doc -->
171 * @generated
172 */
173 @Override
174 public Object eGet(int featureID, boolean resolve, boolean coreType) {
175 switch (featureID) {
176 case SolverLanguagePackage.UNARY_EXPRESSION__BODY:
177 return getBody();
178 case SolverLanguagePackage.UNARY_EXPRESSION__OP:
179 return getOp();
180 }
181 return super.eGet(featureID, resolve, coreType);
182 }
183
184 /**
185 * <!-- begin-user-doc -->
186 * <!-- end-user-doc -->
187 * @generated
188 */
189 @Override
190 public void eSet(int featureID, Object newValue) {
191 switch (featureID) {
192 case SolverLanguagePackage.UNARY_EXPRESSION__BODY:
193 setBody((Expression) newValue);
194 return;
195 case SolverLanguagePackage.UNARY_EXPRESSION__OP:
196 setOp((UnaryOperator) newValue);
197 return;
198 }
199 super.eSet(featureID, newValue);
200 }
201
202 /**
203 * <!-- begin-user-doc -->
204 * <!-- end-user-doc -->
205 * @generated
206 */
207 @Override
208 public void eUnset(int featureID) {
209 switch (featureID) {
210 case SolverLanguagePackage.UNARY_EXPRESSION__BODY:
211 setBody((Expression) null);
212 return;
213 case SolverLanguagePackage.UNARY_EXPRESSION__OP:
214 setOp(OP_EDEFAULT);
215 return;
216 }
217 super.eUnset(featureID);
218 }
219
220 /**
221 * <!-- begin-user-doc -->
222 * <!-- end-user-doc -->
223 * @generated
224 */
225 @Override
226 public boolean eIsSet(int featureID) {
227 switch (featureID) {
228 case SolverLanguagePackage.UNARY_EXPRESSION__BODY:
229 return body != null;
230 case SolverLanguagePackage.UNARY_EXPRESSION__OP:
231 return op != OP_EDEFAULT;
232 }
233 return super.eIsSet(featureID);
234 }
235
236 /**
237 * <!-- begin-user-doc -->
238 * <!-- end-user-doc -->
239 * @generated
240 */
241 @Override
242 public String toString() {
243 if (eIsProxy())
244 return super.toString();
245
246 StringBuilder result = new StringBuilder(super.toString());
247 result.append(" (op: ");
248 result.append(op);
249 result.append(')');
250 return result.toString();
251 }
252
253} //UnaryExpressionImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnboundedMultiplicityImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnboundedMultiplicityImpl.java
new file mode 100644
index 00000000..d63928d6
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnboundedMultiplicityImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
8import org.eclipse.viatra.solver.language.solverLanguage.UnboundedMultiplicity;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Unbounded Multiplicity</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class UnboundedMultiplicityImpl extends MultiplicityImpl implements UnboundedMultiplicity {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected UnboundedMultiplicityImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return SolverLanguagePackage.Literals.UNBOUNDED_MULTIPLICITY;
35 }
36
37} //UnboundedMultiplicityImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedErrorPredicateDefintionImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedErrorPredicateDefintionImpl.java
new file mode 100644
index 00000000..87f259a0
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedErrorPredicateDefintionImpl.java
@@ -0,0 +1,262 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.ArgumentList;
14import org.eclipse.viatra.solver.language.solverLanguage.Expression;
15import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
16import org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPredicateDefintion;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Unnamed Error Predicate Defintion</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.solverLanguage.impl.UnnamedErrorPredicateDefintionImpl#getArgumentList <em>Argument List</em>}</li>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPredicateDefintionImpl#getBody <em>Body</em>}</li>
28 * </ul>
29 *
30 * @generated
31 */
32public class UnnamedErrorPredicateDefintionImpl extends StatementImpl implements UnnamedErrorPredicateDefintion {
33 /**
34 * The cached value of the '{@link #getArgumentList() <em>Argument List</em>}' containment reference.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #getArgumentList()
38 * @generated
39 * @ordered
40 */
41 protected ArgumentList argumentList;
42
43 /**
44 * The cached value of the '{@link #getBody() <em>Body</em>}' containment reference.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #getBody()
48 * @generated
49 * @ordered
50 */
51 protected Expression body;
52
53 /**
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @generated
57 */
58 protected UnnamedErrorPredicateDefintionImpl() {
59 super();
60 }
61
62 /**
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @generated
66 */
67 @Override
68 protected EClass eStaticClass() {
69 return SolverLanguagePackage.Literals.UNNAMED_ERROR_PREDICATE_DEFINTION;
70 }
71
72 /**
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @generated
76 */
77 public ArgumentList getArgumentList() {
78 return argumentList;
79 }
80
81 /**
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @generated
85 */
86 public NotificationChain basicSetArgumentList(ArgumentList newArgumentList, NotificationChain msgs) {
87 ArgumentList oldArgumentList = argumentList;
88 argumentList = newArgumentList;
89 if (eNotificationRequired()) {
90 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
91 SolverLanguagePackage.UNNAMED_ERROR_PREDICATE_DEFINTION__ARGUMENT_LIST, oldArgumentList,
92 newArgumentList);
93 if (msgs == null)
94 msgs = notification;
95 else
96 msgs.add(notification);
97 }
98 return msgs;
99 }
100
101 /**
102 * <!-- begin-user-doc -->
103 * <!-- end-user-doc -->
104 * @generated
105 */
106 public void setArgumentList(ArgumentList newArgumentList) {
107 if (newArgumentList != argumentList) {
108 NotificationChain msgs = null;
109 if (argumentList != null)
110 msgs = ((InternalEObject) argumentList).eInverseRemove(this,
111 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.UNNAMED_ERROR_PREDICATE_DEFINTION__ARGUMENT_LIST,
112 null, msgs);
113 if (newArgumentList != null)
114 msgs = ((InternalEObject) newArgumentList).eInverseAdd(this,
115 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.UNNAMED_ERROR_PREDICATE_DEFINTION__ARGUMENT_LIST,
116 null, msgs);
117 msgs = basicSetArgumentList(newArgumentList, msgs);
118 if (msgs != null)
119 msgs.dispatch();
120 } else if (eNotificationRequired())
121 eNotify(new ENotificationImpl(this, Notification.SET,
122 SolverLanguagePackage.UNNAMED_ERROR_PREDICATE_DEFINTION__ARGUMENT_LIST, newArgumentList,
123 newArgumentList));
124 }
125
126 /**
127 * <!-- begin-user-doc -->
128 * <!-- end-user-doc -->
129 * @generated
130 */
131 public Expression getBody() {
132 return body;
133 }
134
135 /**
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @generated
139 */
140 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs) {
141 Expression oldBody = body;
142 body = newBody;
143 if (eNotificationRequired()) {
144 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
145 SolverLanguagePackage.UNNAMED_ERROR_PREDICATE_DEFINTION__BODY, oldBody, newBody);
146 if (msgs == null)
147 msgs = notification;
148 else
149 msgs.add(notification);
150 }
151 return msgs;
152 }
153
154 /**
155 * <!-- begin-user-doc -->
156 * <!-- end-user-doc -->
157 * @generated
158 */
159 public void setBody(Expression newBody) {
160 if (newBody != body) {
161 NotificationChain msgs = null;
162 if (body != null)
163 msgs = ((InternalEObject) body).eInverseRemove(this,
164 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.UNNAMED_ERROR_PREDICATE_DEFINTION__BODY, null,
165 msgs);
166 if (newBody != null)
167 msgs = ((InternalEObject) newBody).eInverseAdd(this,
168 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.UNNAMED_ERROR_PREDICATE_DEFINTION__BODY, null,
169 msgs);
170 msgs = basicSetBody(newBody, msgs);
171 if (msgs != null)
172 msgs.dispatch();
173 } else if (eNotificationRequired())
174 eNotify(new ENotificationImpl(this, Notification.SET,
175 SolverLanguagePackage.UNNAMED_ERROR_PREDICATE_DEFINTION__BODY, newBody, newBody));
176 }
177
178 /**
179 * <!-- begin-user-doc -->
180 * <!-- end-user-doc -->
181 * @generated
182 */
183 @Override
184 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
185 switch (featureID) {
186 case SolverLanguagePackage.UNNAMED_ERROR_PREDICATE_DEFINTION__ARGUMENT_LIST:
187 return basicSetArgumentList(null, msgs);
188 case SolverLanguagePackage.UNNAMED_ERROR_PREDICATE_DEFINTION__BODY:
189 return basicSetBody(null, msgs);
190 }
191 return super.eInverseRemove(otherEnd, featureID, msgs);
192 }
193
194 /**
195 * <!-- begin-user-doc -->
196 * <!-- end-user-doc -->
197 * @generated
198 */
199 @Override
200 public Object eGet(int featureID, boolean resolve, boolean coreType) {
201 switch (featureID) {
202 case SolverLanguagePackage.UNNAMED_ERROR_PREDICATE_DEFINTION__ARGUMENT_LIST:
203 return getArgumentList();
204 case SolverLanguagePackage.UNNAMED_ERROR_PREDICATE_DEFINTION__BODY:
205 return getBody();
206 }
207 return super.eGet(featureID, resolve, coreType);
208 }
209
210 /**
211 * <!-- begin-user-doc -->
212 * <!-- end-user-doc -->
213 * @generated
214 */
215 @Override
216 public void eSet(int featureID, Object newValue) {
217 switch (featureID) {
218 case SolverLanguagePackage.UNNAMED_ERROR_PREDICATE_DEFINTION__ARGUMENT_LIST:
219 setArgumentList((ArgumentList) newValue);
220 return;
221 case SolverLanguagePackage.UNNAMED_ERROR_PREDICATE_DEFINTION__BODY:
222 setBody((Expression) newValue);
223 return;
224 }
225 super.eSet(featureID, newValue);
226 }
227
228 /**
229 * <!-- begin-user-doc -->
230 * <!-- end-user-doc -->
231 * @generated
232 */
233 @Override
234 public void eUnset(int featureID) {
235 switch (featureID) {
236 case SolverLanguagePackage.UNNAMED_ERROR_PREDICATE_DEFINTION__ARGUMENT_LIST:
237 setArgumentList((ArgumentList) null);
238 return;
239 case SolverLanguagePackage.UNNAMED_ERROR_PREDICATE_DEFINTION__BODY:
240 setBody((Expression) null);
241 return;
242 }
243 super.eUnset(featureID);
244 }
245
246 /**
247 * <!-- begin-user-doc -->
248 * <!-- end-user-doc -->
249 * @generated
250 */
251 @Override
252 public boolean eIsSet(int featureID) {
253 switch (featureID) {
254 case SolverLanguagePackage.UNNAMED_ERROR_PREDICATE_DEFINTION__ARGUMENT_LIST:
255 return argumentList != null;
256 case SolverLanguagePackage.UNNAMED_ERROR_PREDICATE_DEFINTION__BODY:
257 return body != null;
258 }
259 return super.eIsSet(featureID);
260 }
261
262} //UnnamedErrorPredicateDefintionImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UriImportImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UriImportImpl.java
new file mode 100644
index 00000000..494f80d9
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UriImportImpl.java
@@ -0,0 +1,163 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.SolverLanguagePackage;
12import org.eclipse.viatra.solver.language.solverLanguage.UriImport;
13
14/**
15 * <!-- begin-user-doc -->
16 * An implementation of the model object '<em><b>Uri Import</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.solverLanguage.impl.UriImportImpl#getUri <em>Uri</em>}</li>
23 * </ul>
24 *
25 * @generated
26 */
27public class UriImportImpl extends ImportImpl implements UriImport {
28 /**
29 * The default value of the '{@link #getUri() <em>Uri</em>}' attribute.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @see #getUri()
33 * @generated
34 * @ordered
35 */
36 protected static final String URI_EDEFAULT = null;
37
38 /**
39 * The cached value of the '{@link #getUri() <em>Uri</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @see #getUri()
43 * @generated
44 * @ordered
45 */
46 protected String uri = URI_EDEFAULT;
47
48 /**
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @generated
52 */
53 protected UriImportImpl() {
54 super();
55 }
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 @Override
63 protected EClass eStaticClass() {
64 return SolverLanguagePackage.Literals.URI_IMPORT;
65 }
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 public String getUri() {
73 return uri;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 public void setUri(String newUri) {
82 String oldUri = uri;
83 uri = newUri;
84 if (eNotificationRequired())
85 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.URI_IMPORT__URI, oldUri, uri));
86 }
87
88 /**
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 */
93 @Override
94 public Object eGet(int featureID, boolean resolve, boolean coreType) {
95 switch (featureID) {
96 case SolverLanguagePackage.URI_IMPORT__URI:
97 return getUri();
98 }
99 return super.eGet(featureID, resolve, coreType);
100 }
101
102 /**
103 * <!-- begin-user-doc -->
104 * <!-- end-user-doc -->
105 * @generated
106 */
107 @Override
108 public void eSet(int featureID, Object newValue) {
109 switch (featureID) {
110 case SolverLanguagePackage.URI_IMPORT__URI:
111 setUri((String) newValue);
112 return;
113 }
114 super.eSet(featureID, newValue);
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 */
122 @Override
123 public void eUnset(int featureID) {
124 switch (featureID) {
125 case SolverLanguagePackage.URI_IMPORT__URI:
126 setUri(URI_EDEFAULT);
127 return;
128 }
129 super.eUnset(featureID);
130 }
131
132 /**
133 * <!-- begin-user-doc -->
134 * <!-- end-user-doc -->
135 * @generated
136 */
137 @Override
138 public boolean eIsSet(int featureID) {
139 switch (featureID) {
140 case SolverLanguagePackage.URI_IMPORT__URI:
141 return URI_EDEFAULT == null ? uri != null : !URI_EDEFAULT.equals(uri);
142 }
143 return super.eIsSet(featureID);
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public String toString() {
153 if (eIsProxy())
154 return super.toString();
155
156 StringBuilder result = new StringBuilder(super.toString());
157 result.append(" (uri: ");
158 result.append(uri);
159 result.append(')');
160 return result.toString();
161 }
162
163} //UriImportImpl
diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/VariableImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/VariableImpl.java
new file mode 100644
index 00000000..7b92840a
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/VariableImpl.java
@@ -0,0 +1,182 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.solverLanguage.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.solverLanguage.SolverLanguagePackage;
14import org.eclipse.viatra.solver.language.solverLanguage.TypeReference;
15import org.eclipse.viatra.solver.language.solverLanguage.Variable;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Variable</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.VariableImpl#getTypeReference <em>Type Reference</em>}</li>
26 * </ul>
27 *
28 * @generated
29 */
30public class VariableImpl extends SymbolImpl implements Variable {
31 /**
32 * The cached value of the '{@link #getTypeReference() <em>Type Reference</em>}' containment reference.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @see #getTypeReference()
36 * @generated
37 * @ordered
38 */
39 protected TypeReference typeReference;
40
41 /**
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @generated
45 */
46 protected VariableImpl() {
47 super();
48 }
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 @Override
56 protected EClass eStaticClass() {
57 return SolverLanguagePackage.Literals.VARIABLE;
58 }
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 public TypeReference getTypeReference() {
66 return typeReference;
67 }
68
69 /**
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @generated
73 */
74 public NotificationChain basicSetTypeReference(TypeReference newTypeReference, NotificationChain msgs) {
75 TypeReference oldTypeReference = typeReference;
76 typeReference = newTypeReference;
77 if (eNotificationRequired()) {
78 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
79 SolverLanguagePackage.VARIABLE__TYPE_REFERENCE, oldTypeReference, newTypeReference);
80 if (msgs == null)
81 msgs = notification;
82 else
83 msgs.add(notification);
84 }
85 return msgs;
86 }
87
88 /**
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 */
93 public void setTypeReference(TypeReference newTypeReference) {
94 if (newTypeReference != typeReference) {
95 NotificationChain msgs = null;
96 if (typeReference != null)
97 msgs = ((InternalEObject) typeReference).eInverseRemove(this,
98 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.VARIABLE__TYPE_REFERENCE, null, msgs);
99 if (newTypeReference != null)
100 msgs = ((InternalEObject) newTypeReference).eInverseAdd(this,
101 EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.VARIABLE__TYPE_REFERENCE, null, msgs);
102 msgs = basicSetTypeReference(newTypeReference, msgs);
103 if (msgs != null)
104 msgs.dispatch();
105 } else if (eNotificationRequired())
106 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.VARIABLE__TYPE_REFERENCE,
107 newTypeReference, newTypeReference));
108 }
109
110 /**
111 * <!-- begin-user-doc -->
112 * <!-- end-user-doc -->
113 * @generated
114 */
115 @Override
116 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
117 switch (featureID) {
118 case SolverLanguagePackage.VARIABLE__TYPE_REFERENCE:
119 return basicSetTypeReference(null, msgs);
120 }
121 return super.eInverseRemove(otherEnd, featureID, msgs);
122 }
123
124 /**
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @generated
128 */
129 @Override
130 public Object eGet(int featureID, boolean resolve, boolean coreType) {
131 switch (featureID) {
132 case SolverLanguagePackage.VARIABLE__TYPE_REFERENCE:
133 return getTypeReference();
134 }
135 return super.eGet(featureID, resolve, coreType);
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 @Override
144 public void eSet(int featureID, Object newValue) {
145 switch (featureID) {
146 case SolverLanguagePackage.VARIABLE__TYPE_REFERENCE:
147 setTypeReference((TypeReference) newValue);
148 return;
149 }
150 super.eSet(featureID, newValue);
151 }
152
153 /**
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @generated
157 */
158 @Override
159 public void eUnset(int featureID) {
160 switch (featureID) {
161 case SolverLanguagePackage.VARIABLE__TYPE_REFERENCE:
162 setTypeReference((TypeReference) null);
163 return;
164 }
165 super.eUnset(featureID);
166 }
167
168 /**
169 * <!-- begin-user-doc -->
170 * <!-- end-user-doc -->
171 * @generated
172 */
173 @Override
174 public boolean eIsSet(int featureID) {
175 switch (featureID) {
176 case SolverLanguagePackage.VARIABLE__TYPE_REFERENCE:
177 return typeReference != null;
178 }
179 return super.eIsSet(featureID);
180 }
181
182} //VariableImpl