aboutsummaryrefslogtreecommitdiffstats
path: root/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage
diff options
context:
space:
mode:
Diffstat (limited to 'Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage')
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Call.java46
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassDefinition.java97
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java9
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java1441
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java79
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java118
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassDefinitionImpl.java340
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java13
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java142
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java298
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java20
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java24
12 files changed, 832 insertions, 1795 deletions
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Call.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Call.java
index 538ac75c..70f7d15e 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Call.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Call.java
@@ -14,9 +14,9 @@ package org.eclipse.viatra.solver.language.solverLanguage;
14 * </p> 14 * </p>
15 * <ul> 15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Call#getFunctor <em>Functor</em>}</li> 16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Call#getFunctor <em>Functor</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Call#getArgumentList <em>Argument List</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Call#isTransitiveClosure <em>Transitive Closure</em>}</li> 17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Call#isTransitiveClosure <em>Transitive Closure</em>}</li>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Call#isReflexiveTransitiveClosure <em>Reflexive Transitive Closure</em>}</li> 18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Call#isReflexiveTransitiveClosure <em>Reflexive Transitive Closure</em>}</li>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Call#getArgumentList <em>Argument List</em>}</li>
20 * </ul> 20 * </ul>
21 * 21 *
22 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCall() 22 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCall()
@@ -48,28 +48,6 @@ public interface Call extends Expression
48 void setFunctor(Reference value); 48 void setFunctor(Reference value);
49 49
50 /** 50 /**
51 * Returns the value of the '<em><b>Argument List</b></em>' containment reference.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @return the value of the '<em>Argument List</em>' containment reference.
55 * @see #setArgumentList(ArgumentList)
56 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCall_ArgumentList()
57 * @model containment="true"
58 * @generated
59 */
60 ArgumentList getArgumentList();
61
62 /**
63 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#getArgumentList <em>Argument List</em>}' containment reference.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @param value the new value of the '<em>Argument List</em>' containment reference.
67 * @see #getArgumentList()
68 * @generated
69 */
70 void setArgumentList(ArgumentList value);
71
72 /**
73 * Returns the value of the '<em><b>Transitive Closure</b></em>' attribute. 51 * Returns the value of the '<em><b>Transitive Closure</b></em>' attribute.
74 * <!-- begin-user-doc --> 52 * <!-- begin-user-doc -->
75 * <!-- end-user-doc --> 53 * <!-- end-user-doc -->
@@ -113,4 +91,26 @@ public interface Call extends Expression
113 */ 91 */
114 void setReflexiveTransitiveClosure(boolean value); 92 void setReflexiveTransitiveClosure(boolean value);
115 93
94 /**
95 * Returns the value of the '<em><b>Argument List</b></em>' containment reference.
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @return the value of the '<em>Argument List</em>' containment reference.
99 * @see #setArgumentList(ArgumentList)
100 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCall_ArgumentList()
101 * @model containment="true"
102 * @generated
103 */
104 ArgumentList getArgumentList();
105
106 /**
107 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#getArgumentList <em>Argument List</em>}' containment reference.
108 * <!-- begin-user-doc -->
109 * <!-- end-user-doc -->
110 * @param value the new value of the '<em>Argument List</em>' containment reference.
111 * @see #getArgumentList()
112 * @generated
113 */
114 void setArgumentList(ArgumentList value);
115
116} // Call 116} // Call
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassDefinition.java
new file mode 100644
index 00000000..9db15bfe
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassDefinition.java
@@ -0,0 +1,97 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.common.util.EList;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Class Definition</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#isAbstract <em>Abstract</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getName <em>Name</em>}</li>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getSuperclasses <em>Superclasses</em>}</li>
20 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getMembers <em>Members</em>}</li>
21 * </ul>
22 *
23 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassDefinition()
24 * @model
25 * @generated
26 */
27public interface ClassDefinition extends Statement
28{
29 /**
30 * Returns the value of the '<em><b>Abstract</b></em>' attribute.
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @return the value of the '<em>Abstract</em>' attribute.
34 * @see #setAbstract(boolean)
35 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassDefinition_Abstract()
36 * @model
37 * @generated
38 */
39 boolean isAbstract();
40
41 /**
42 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#isAbstract <em>Abstract</em>}' attribute.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @param value the new value of the '<em>Abstract</em>' attribute.
46 * @see #isAbstract()
47 * @generated
48 */
49 void setAbstract(boolean value);
50
51 /**
52 * Returns the value of the '<em><b>Name</b></em>' attribute.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @return the value of the '<em>Name</em>' attribute.
56 * @see #setName(String)
57 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassDefinition_Name()
58 * @model
59 * @generated
60 */
61 String getName();
62
63 /**
64 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getName <em>Name</em>}' attribute.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @param value the new value of the '<em>Name</em>' attribute.
68 * @see #getName()
69 * @generated
70 */
71 void setName(String value);
72
73 /**
74 * Returns the value of the '<em><b>Superclasses</b></em>' reference list.
75 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement}.
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @return the value of the '<em>Superclasses</em>' reference list.
79 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassDefinition_Superclasses()
80 * @model
81 * @generated
82 */
83 EList<NamedElement> getSuperclasses();
84
85 /**
86 * Returns the value of the '<em><b>Members</b></em>' containment reference list.
87 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition}.
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @return the value of the '<em>Members</em>' containment reference list.
91 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassDefinition_Members()
92 * @model containment="true"
93 * @generated
94 */
95 EList<MemberDefinition> getMembers();
96
97} // ClassDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java
index cf5c8e62..f6e293b9 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java
@@ -276,6 +276,15 @@ public interface SolverLanguageFactory extends EFactory
276 StringLiteral createStringLiteral(); 276 StringLiteral createStringLiteral();
277 277
278 /** 278 /**
279 * Returns a new object of class '<em>Class Definition</em>'.
280 * <!-- begin-user-doc -->
281 * <!-- end-user-doc -->
282 * @return a new object of class '<em>Class Definition</em>'.
283 * @generated
284 */
285 ClassDefinition createClassDefinition();
286
287 /**
279 * Returns a new object of class '<em>Member Definition</em>'. 288 * Returns a new object of class '<em>Member Definition</em>'.
280 * <!-- begin-user-doc --> 289 * <!-- begin-user-doc -->
281 * <!-- end-user-doc --> 290 * <!-- end-user-doc -->
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java
index d34acdb8..ac9279c3 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java
@@ -97,49 +97,13 @@ public interface SolverLanguagePackage extends EPackage
97 int STATEMENT = 1; 97 int STATEMENT = 1;
98 98
99 /** 99 /**
100 * The feature id for the '<em><b>Abstract</b></em>' attribute.
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @generated
104 * @ordered
105 */
106 int STATEMENT__ABSTRACT = 0;
107
108 /**
109 * The feature id for the '<em><b>Name</b></em>' attribute.
110 * <!-- begin-user-doc -->
111 * <!-- end-user-doc -->
112 * @generated
113 * @ordered
114 */
115 int STATEMENT__NAME = 1;
116
117 /**
118 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
119 * <!-- begin-user-doc -->
120 * <!-- end-user-doc -->
121 * @generated
122 * @ordered
123 */
124 int STATEMENT__SUPERCLASSES = 2;
125
126 /**
127 * The feature id for the '<em><b>Members</b></em>' containment reference list.
128 * <!-- begin-user-doc -->
129 * <!-- end-user-doc -->
130 * @generated
131 * @ordered
132 */
133 int STATEMENT__MEMBERS = 3;
134
135 /**
136 * The number of structural features of the '<em>Statement</em>' class. 100 * The number of structural features of the '<em>Statement</em>' class.
137 * <!-- begin-user-doc --> 101 * <!-- begin-user-doc -->
138 * <!-- end-user-doc --> 102 * <!-- end-user-doc -->
139 * @generated 103 * @generated
140 * @ordered 104 * @ordered
141 */ 105 */
142 int STATEMENT_FEATURE_COUNT = 4; 106 int STATEMENT_FEATURE_COUNT = 0;
143 107
144 /** 108 /**
145 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl <em>Predicate Definition</em>}' class. 109 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl <em>Predicate Definition</em>}' class.
@@ -152,42 +116,6 @@ public interface SolverLanguagePackage extends EPackage
152 int PREDICATE_DEFINITION = 2; 116 int PREDICATE_DEFINITION = 2;
153 117
154 /** 118 /**
155 * The feature id for the '<em><b>Abstract</b></em>' attribute.
156 * <!-- begin-user-doc -->
157 * <!-- end-user-doc -->
158 * @generated
159 * @ordered
160 */
161 int PREDICATE_DEFINITION__ABSTRACT = STATEMENT__ABSTRACT;
162
163 /**
164 * The feature id for the '<em><b>Name</b></em>' attribute.
165 * <!-- begin-user-doc -->
166 * <!-- end-user-doc -->
167 * @generated
168 * @ordered
169 */
170 int PREDICATE_DEFINITION__NAME = STATEMENT__NAME;
171
172 /**
173 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
174 * <!-- begin-user-doc -->
175 * <!-- end-user-doc -->
176 * @generated
177 * @ordered
178 */
179 int PREDICATE_DEFINITION__SUPERCLASSES = STATEMENT__SUPERCLASSES;
180
181 /**
182 * The feature id for the '<em><b>Members</b></em>' containment reference list.
183 * <!-- begin-user-doc -->
184 * <!-- end-user-doc -->
185 * @generated
186 * @ordered
187 */
188 int PREDICATE_DEFINITION__MEMBERS = STATEMENT__MEMBERS;
189
190 /**
191 * The feature id for the '<em><b>Head</b></em>' containment reference. 119 * The feature id for the '<em><b>Head</b></em>' containment reference.
192 * <!-- begin-user-doc --> 120 * <!-- begin-user-doc -->
193 * <!-- end-user-doc --> 121 * <!-- end-user-doc -->
@@ -243,42 +171,6 @@ public interface SolverLanguagePackage extends EPackage
243 int UNNAMED_ERROR_PREDIATE_DEFINITION = 3; 171 int UNNAMED_ERROR_PREDIATE_DEFINITION = 3;
244 172
245 /** 173 /**
246 * The feature id for the '<em><b>Abstract</b></em>' attribute.
247 * <!-- begin-user-doc -->
248 * <!-- end-user-doc -->
249 * @generated
250 * @ordered
251 */
252 int UNNAMED_ERROR_PREDIATE_DEFINITION__ABSTRACT = STATEMENT__ABSTRACT;
253
254 /**
255 * The feature id for the '<em><b>Name</b></em>' attribute.
256 * <!-- begin-user-doc -->
257 * <!-- end-user-doc -->
258 * @generated
259 * @ordered
260 */
261 int UNNAMED_ERROR_PREDIATE_DEFINITION__NAME = STATEMENT__NAME;
262
263 /**
264 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
265 * <!-- begin-user-doc -->
266 * <!-- end-user-doc -->
267 * @generated
268 * @ordered
269 */
270 int UNNAMED_ERROR_PREDIATE_DEFINITION__SUPERCLASSES = STATEMENT__SUPERCLASSES;
271
272 /**
273 * The feature id for the '<em><b>Members</b></em>' containment reference list.
274 * <!-- begin-user-doc -->
275 * <!-- end-user-doc -->
276 * @generated
277 * @ordered
278 */
279 int UNNAMED_ERROR_PREDIATE_DEFINITION__MEMBERS = STATEMENT__MEMBERS;
280
281 /**
282 * The feature id for the '<em><b>Argument List</b></em>' containment reference. 174 * The feature id for the '<em><b>Argument List</b></em>' containment reference.
283 * <!-- begin-user-doc --> 175 * <!-- begin-user-doc -->
284 * <!-- end-user-doc --> 176 * <!-- end-user-doc -->
@@ -316,42 +208,6 @@ public interface SolverLanguagePackage extends EPackage
316 int DEFAULT_DEFINITION = 4; 208 int DEFAULT_DEFINITION = 4;
317 209
318 /** 210 /**
319 * The feature id for the '<em><b>Abstract</b></em>' attribute.
320 * <!-- begin-user-doc -->
321 * <!-- end-user-doc -->
322 * @generated
323 * @ordered
324 */
325 int DEFAULT_DEFINITION__ABSTRACT = STATEMENT__ABSTRACT;
326
327 /**
328 * The feature id for the '<em><b>Name</b></em>' attribute.
329 * <!-- begin-user-doc -->
330 * <!-- end-user-doc -->
331 * @generated
332 * @ordered
333 */
334 int DEFAULT_DEFINITION__NAME = STATEMENT__NAME;
335
336 /**
337 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
338 * <!-- begin-user-doc -->
339 * <!-- end-user-doc -->
340 * @generated
341 * @ordered
342 */
343 int DEFAULT_DEFINITION__SUPERCLASSES = STATEMENT__SUPERCLASSES;
344
345 /**
346 * The feature id for the '<em><b>Members</b></em>' containment reference list.
347 * <!-- begin-user-doc -->
348 * <!-- end-user-doc -->
349 * @generated
350 * @ordered
351 */
352 int DEFAULT_DEFINITION__MEMBERS = STATEMENT__MEMBERS;
353
354 /**
355 * The feature id for the '<em><b>Head</b></em>' containment reference. 211 * The feature id for the '<em><b>Head</b></em>' containment reference.
356 * <!-- begin-user-doc --> 212 * <!-- begin-user-doc -->
357 * <!-- end-user-doc --> 213 * <!-- end-user-doc -->
@@ -389,42 +245,6 @@ public interface SolverLanguagePackage extends EPackage
389 int EXTERN_PREDICATE_DEFINITION = 5; 245 int EXTERN_PREDICATE_DEFINITION = 5;
390 246
391 /** 247 /**
392 * The feature id for the '<em><b>Abstract</b></em>' attribute.
393 * <!-- begin-user-doc -->
394 * <!-- end-user-doc -->
395 * @generated
396 * @ordered
397 */
398 int EXTERN_PREDICATE_DEFINITION__ABSTRACT = STATEMENT__ABSTRACT;
399
400 /**
401 * The feature id for the '<em><b>Name</b></em>' attribute.
402 * <!-- begin-user-doc -->
403 * <!-- end-user-doc -->
404 * @generated
405 * @ordered
406 */
407 int EXTERN_PREDICATE_DEFINITION__NAME = STATEMENT__NAME;
408
409 /**
410 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
411 * <!-- begin-user-doc -->
412 * <!-- end-user-doc -->
413 * @generated
414 * @ordered
415 */
416 int EXTERN_PREDICATE_DEFINITION__SUPERCLASSES = STATEMENT__SUPERCLASSES;
417
418 /**
419 * The feature id for the '<em><b>Members</b></em>' containment reference list.
420 * <!-- begin-user-doc -->
421 * <!-- end-user-doc -->
422 * @generated
423 * @ordered
424 */
425 int EXTERN_PREDICATE_DEFINITION__MEMBERS = STATEMENT__MEMBERS;
426
427 /**
428 * The feature id for the '<em><b>Head</b></em>' containment reference. 248 * The feature id for the '<em><b>Head</b></em>' containment reference.
429 * <!-- begin-user-doc --> 249 * <!-- begin-user-doc -->
430 * <!-- end-user-doc --> 250 * <!-- end-user-doc -->
@@ -453,42 +273,6 @@ public interface SolverLanguagePackage extends EPackage
453 int METRIC_DEFINITION = 6; 273 int METRIC_DEFINITION = 6;
454 274
455 /** 275 /**
456 * The feature id for the '<em><b>Abstract</b></em>' attribute.
457 * <!-- begin-user-doc -->
458 * <!-- end-user-doc -->
459 * @generated
460 * @ordered
461 */
462 int METRIC_DEFINITION__ABSTRACT = STATEMENT__ABSTRACT;
463
464 /**
465 * The feature id for the '<em><b>Name</b></em>' attribute.
466 * <!-- begin-user-doc -->
467 * <!-- end-user-doc -->
468 * @generated
469 * @ordered
470 */
471 int METRIC_DEFINITION__NAME = STATEMENT__NAME;
472
473 /**
474 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
475 * <!-- begin-user-doc -->
476 * <!-- end-user-doc -->
477 * @generated
478 * @ordered
479 */
480 int METRIC_DEFINITION__SUPERCLASSES = STATEMENT__SUPERCLASSES;
481
482 /**
483 * The feature id for the '<em><b>Members</b></em>' containment reference list.
484 * <!-- begin-user-doc -->
485 * <!-- end-user-doc -->
486 * @generated
487 * @ordered
488 */
489 int METRIC_DEFINITION__MEMBERS = STATEMENT__MEMBERS;
490
491 /**
492 * The feature id for the '<em><b>Head</b></em>' containment reference. 276 * The feature id for the '<em><b>Head</b></em>' containment reference.
493 * <!-- begin-user-doc --> 277 * <!-- begin-user-doc -->
494 * <!-- end-user-doc --> 278 * <!-- end-user-doc -->
@@ -535,42 +319,6 @@ public interface SolverLanguagePackage extends EPackage
535 int EXTERN_METRIC_DEFINITION = 7; 319 int EXTERN_METRIC_DEFINITION = 7;
536 320
537 /** 321 /**
538 * The feature id for the '<em><b>Abstract</b></em>' attribute.
539 * <!-- begin-user-doc -->
540 * <!-- end-user-doc -->
541 * @generated
542 * @ordered
543 */
544 int EXTERN_METRIC_DEFINITION__ABSTRACT = STATEMENT__ABSTRACT;
545
546 /**
547 * The feature id for the '<em><b>Name</b></em>' attribute.
548 * <!-- begin-user-doc -->
549 * <!-- end-user-doc -->
550 * @generated
551 * @ordered
552 */
553 int EXTERN_METRIC_DEFINITION__NAME = STATEMENT__NAME;
554
555 /**
556 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
557 * <!-- begin-user-doc -->
558 * <!-- end-user-doc -->
559 * @generated
560 * @ordered
561 */
562 int EXTERN_METRIC_DEFINITION__SUPERCLASSES = STATEMENT__SUPERCLASSES;
563
564 /**
565 * The feature id for the '<em><b>Members</b></em>' containment reference list.
566 * <!-- begin-user-doc -->
567 * <!-- end-user-doc -->
568 * @generated
569 * @ordered
570 */
571 int EXTERN_METRIC_DEFINITION__MEMBERS = STATEMENT__MEMBERS;
572
573 /**
574 * The feature id for the '<em><b>Type</b></em>' attribute. 322 * The feature id for the '<em><b>Type</b></em>' attribute.
575 * <!-- begin-user-doc --> 323 * <!-- begin-user-doc -->
576 * <!-- end-user-doc --> 324 * <!-- end-user-doc -->
@@ -608,42 +356,6 @@ public interface SolverLanguagePackage extends EPackage
608 int EXPRESSION = 8; 356 int EXPRESSION = 8;
609 357
610 /** 358 /**
611 * The feature id for the '<em><b>Abstract</b></em>' attribute.
612 * <!-- begin-user-doc -->
613 * <!-- end-user-doc -->
614 * @generated
615 * @ordered
616 */
617 int EXPRESSION__ABSTRACT = STATEMENT__ABSTRACT;
618
619 /**
620 * The feature id for the '<em><b>Name</b></em>' attribute.
621 * <!-- begin-user-doc -->
622 * <!-- end-user-doc -->
623 * @generated
624 * @ordered
625 */
626 int EXPRESSION__NAME = STATEMENT__NAME;
627
628 /**
629 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
630 * <!-- begin-user-doc -->
631 * <!-- end-user-doc -->
632 * @generated
633 * @ordered
634 */
635 int EXPRESSION__SUPERCLASSES = STATEMENT__SUPERCLASSES;
636
637 /**
638 * The feature id for the '<em><b>Members</b></em>' containment reference list.
639 * <!-- begin-user-doc -->
640 * <!-- end-user-doc -->
641 * @generated
642 * @ordered
643 */
644 int EXPRESSION__MEMBERS = STATEMENT__MEMBERS;
645
646 /**
647 * The number of structural features of the '<em>Expression</em>' class. 359 * The number of structural features of the '<em>Expression</em>' class.
648 * <!-- begin-user-doc --> 360 * <!-- begin-user-doc -->
649 * <!-- end-user-doc --> 361 * <!-- end-user-doc -->
@@ -663,42 +375,6 @@ public interface SolverLanguagePackage extends EPackage
663 int IF_ELSE = 9; 375 int IF_ELSE = 9;
664 376
665 /** 377 /**
666 * The feature id for the '<em><b>Abstract</b></em>' attribute.
667 * <!-- begin-user-doc -->
668 * <!-- end-user-doc -->
669 * @generated
670 * @ordered
671 */
672 int IF_ELSE__ABSTRACT = EXPRESSION__ABSTRACT;
673
674 /**
675 * The feature id for the '<em><b>Name</b></em>' attribute.
676 * <!-- begin-user-doc -->
677 * <!-- end-user-doc -->
678 * @generated
679 * @ordered
680 */
681 int IF_ELSE__NAME = EXPRESSION__NAME;
682
683 /**
684 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
685 * <!-- begin-user-doc -->
686 * <!-- end-user-doc -->
687 * @generated
688 * @ordered
689 */
690 int IF_ELSE__SUPERCLASSES = EXPRESSION__SUPERCLASSES;
691
692 /**
693 * The feature id for the '<em><b>Members</b></em>' containment reference list.
694 * <!-- begin-user-doc -->
695 * <!-- end-user-doc -->
696 * @generated
697 * @ordered
698 */
699 int IF_ELSE__MEMBERS = EXPRESSION__MEMBERS;
700
701 /**
702 * The feature id for the '<em><b>Condition</b></em>' containment reference. 378 * The feature id for the '<em><b>Condition</b></em>' containment reference.
703 * <!-- begin-user-doc --> 379 * <!-- begin-user-doc -->
704 * <!-- end-user-doc --> 380 * <!-- end-user-doc -->
@@ -745,42 +421,6 @@ public interface SolverLanguagePackage extends EPackage
745 int CASE = 10; 421 int CASE = 10;
746 422
747 /** 423 /**
748 * The feature id for the '<em><b>Abstract</b></em>' attribute.
749 * <!-- begin-user-doc -->
750 * <!-- end-user-doc -->
751 * @generated
752 * @ordered
753 */
754 int CASE__ABSTRACT = EXPRESSION__ABSTRACT;
755
756 /**
757 * The feature id for the '<em><b>Name</b></em>' attribute.
758 * <!-- begin-user-doc -->
759 * <!-- end-user-doc -->
760 * @generated
761 * @ordered
762 */
763 int CASE__NAME = EXPRESSION__NAME;
764
765 /**
766 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
767 * <!-- begin-user-doc -->
768 * <!-- end-user-doc -->
769 * @generated
770 * @ordered
771 */
772 int CASE__SUPERCLASSES = EXPRESSION__SUPERCLASSES;
773
774 /**
775 * The feature id for the '<em><b>Members</b></em>' containment reference list.
776 * <!-- begin-user-doc -->
777 * <!-- end-user-doc -->
778 * @generated
779 * @ordered
780 */
781 int CASE__MEMBERS = EXPRESSION__MEMBERS;
782
783 /**
784 * The feature id for the '<em><b>Condition</b></em>' containment reference. 424 * The feature id for the '<em><b>Condition</b></em>' containment reference.
785 * <!-- begin-user-doc --> 425 * <!-- begin-user-doc -->
786 * <!-- end-user-doc --> 426 * <!-- end-user-doc -->
@@ -818,42 +458,6 @@ public interface SolverLanguagePackage extends EPackage
818 int COUNT = 11; 458 int COUNT = 11;
819 459
820 /** 460 /**
821 * The feature id for the '<em><b>Abstract</b></em>' attribute.
822 * <!-- begin-user-doc -->
823 * <!-- end-user-doc -->
824 * @generated
825 * @ordered
826 */
827 int COUNT__ABSTRACT = EXPRESSION__ABSTRACT;
828
829 /**
830 * The feature id for the '<em><b>Name</b></em>' attribute.
831 * <!-- begin-user-doc -->
832 * <!-- end-user-doc -->
833 * @generated
834 * @ordered
835 */
836 int COUNT__NAME = EXPRESSION__NAME;
837
838 /**
839 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
840 * <!-- begin-user-doc -->
841 * <!-- end-user-doc -->
842 * @generated
843 * @ordered
844 */
845 int COUNT__SUPERCLASSES = EXPRESSION__SUPERCLASSES;
846
847 /**
848 * The feature id for the '<em><b>Members</b></em>' containment reference list.
849 * <!-- begin-user-doc -->
850 * <!-- end-user-doc -->
851 * @generated
852 * @ordered
853 */
854 int COUNT__MEMBERS = EXPRESSION__MEMBERS;
855
856 /**
857 * The feature id for the '<em><b>Body</b></em>' containment reference. 461 * The feature id for the '<em><b>Body</b></em>' containment reference.
858 * <!-- begin-user-doc --> 462 * <!-- begin-user-doc -->
859 * <!-- end-user-doc --> 463 * <!-- end-user-doc -->
@@ -882,42 +486,6 @@ public interface SolverLanguagePackage extends EPackage
882 int AGGREGATION = 12; 486 int AGGREGATION = 12;
883 487
884 /** 488 /**
885 * The feature id for the '<em><b>Abstract</b></em>' attribute.
886 * <!-- begin-user-doc -->
887 * <!-- end-user-doc -->
888 * @generated
889 * @ordered
890 */
891 int AGGREGATION__ABSTRACT = EXPRESSION__ABSTRACT;
892
893 /**
894 * The feature id for the '<em><b>Name</b></em>' attribute.
895 * <!-- begin-user-doc -->
896 * <!-- end-user-doc -->
897 * @generated
898 * @ordered
899 */
900 int AGGREGATION__NAME = EXPRESSION__NAME;
901
902 /**
903 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
904 * <!-- begin-user-doc -->
905 * <!-- end-user-doc -->
906 * @generated
907 * @ordered
908 */
909 int AGGREGATION__SUPERCLASSES = EXPRESSION__SUPERCLASSES;
910
911 /**
912 * The feature id for the '<em><b>Members</b></em>' containment reference list.
913 * <!-- begin-user-doc -->
914 * <!-- end-user-doc -->
915 * @generated
916 * @ordered
917 */
918 int AGGREGATION__MEMBERS = EXPRESSION__MEMBERS;
919
920 /**
921 * The feature id for the '<em><b>Op</b></em>' attribute. 489 * The feature id for the '<em><b>Op</b></em>' attribute.
922 * <!-- begin-user-doc --> 490 * <!-- begin-user-doc -->
923 * <!-- end-user-doc --> 491 * <!-- end-user-doc -->
@@ -964,42 +532,6 @@ public interface SolverLanguagePackage extends EPackage
964 int CALL = 13; 532 int CALL = 13;
965 533
966 /** 534 /**
967 * The feature id for the '<em><b>Abstract</b></em>' attribute.
968 * <!-- begin-user-doc -->
969 * <!-- end-user-doc -->
970 * @generated
971 * @ordered
972 */
973 int CALL__ABSTRACT = EXPRESSION__ABSTRACT;
974
975 /**
976 * The feature id for the '<em><b>Name</b></em>' attribute.
977 * <!-- begin-user-doc -->
978 * <!-- end-user-doc -->
979 * @generated
980 * @ordered
981 */
982 int CALL__NAME = EXPRESSION__NAME;
983
984 /**
985 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
986 * <!-- begin-user-doc -->
987 * <!-- end-user-doc -->
988 * @generated
989 * @ordered
990 */
991 int CALL__SUPERCLASSES = EXPRESSION__SUPERCLASSES;
992
993 /**
994 * The feature id for the '<em><b>Members</b></em>' containment reference list.
995 * <!-- begin-user-doc -->
996 * <!-- end-user-doc -->
997 * @generated
998 * @ordered
999 */
1000 int CALL__MEMBERS = EXPRESSION__MEMBERS;
1001
1002 /**
1003 * The feature id for the '<em><b>Functor</b></em>' containment reference. 535 * The feature id for the '<em><b>Functor</b></em>' containment reference.
1004 * <!-- begin-user-doc --> 536 * <!-- begin-user-doc -->
1005 * <!-- end-user-doc --> 537 * <!-- end-user-doc -->
@@ -1009,31 +541,31 @@ public interface SolverLanguagePackage extends EPackage
1009 int CALL__FUNCTOR = EXPRESSION_FEATURE_COUNT + 0; 541 int CALL__FUNCTOR = EXPRESSION_FEATURE_COUNT + 0;
1010 542
1011 /** 543 /**
1012 * The feature id for the '<em><b>Argument List</b></em>' containment reference. 544 * The feature id for the '<em><b>Transitive Closure</b></em>' attribute.
1013 * <!-- begin-user-doc --> 545 * <!-- begin-user-doc -->
1014 * <!-- end-user-doc --> 546 * <!-- end-user-doc -->
1015 * @generated 547 * @generated
1016 * @ordered 548 * @ordered
1017 */ 549 */
1018 int CALL__ARGUMENT_LIST = EXPRESSION_FEATURE_COUNT + 1; 550 int CALL__TRANSITIVE_CLOSURE = EXPRESSION_FEATURE_COUNT + 1;
1019 551
1020 /** 552 /**
1021 * The feature id for the '<em><b>Transitive Closure</b></em>' attribute. 553 * The feature id for the '<em><b>Reflexive Transitive Closure</b></em>' attribute.
1022 * <!-- begin-user-doc --> 554 * <!-- begin-user-doc -->
1023 * <!-- end-user-doc --> 555 * <!-- end-user-doc -->
1024 * @generated 556 * @generated
1025 * @ordered 557 * @ordered
1026 */ 558 */
1027 int CALL__TRANSITIVE_CLOSURE = EXPRESSION_FEATURE_COUNT + 2; 559 int CALL__REFLEXIVE_TRANSITIVE_CLOSURE = EXPRESSION_FEATURE_COUNT + 2;
1028 560
1029 /** 561 /**
1030 * The feature id for the '<em><b>Reflexive Transitive Closure</b></em>' attribute. 562 * The feature id for the '<em><b>Argument List</b></em>' containment reference.
1031 * <!-- begin-user-doc --> 563 * <!-- begin-user-doc -->
1032 * <!-- end-user-doc --> 564 * <!-- end-user-doc -->
1033 * @generated 565 * @generated
1034 * @ordered 566 * @ordered
1035 */ 567 */
1036 int CALL__REFLEXIVE_TRANSITIVE_CLOSURE = EXPRESSION_FEATURE_COUNT + 3; 568 int CALL__ARGUMENT_LIST = EXPRESSION_FEATURE_COUNT + 3;
1037 569
1038 /** 570 /**
1039 * The number of structural features of the '<em>Call</em>' class. 571 * The number of structural features of the '<em>Call</em>' class.
@@ -1214,42 +746,6 @@ public interface SolverLanguagePackage extends EPackage
1214 int REFERENCE = 20; 746 int REFERENCE = 20;
1215 747
1216 /** 748 /**
1217 * The feature id for the '<em><b>Abstract</b></em>' attribute.
1218 * <!-- begin-user-doc -->
1219 * <!-- end-user-doc -->
1220 * @generated
1221 * @ordered
1222 */
1223 int REFERENCE__ABSTRACT = EXPRESSION__ABSTRACT;
1224
1225 /**
1226 * The feature id for the '<em><b>Name</b></em>' attribute.
1227 * <!-- begin-user-doc -->
1228 * <!-- end-user-doc -->
1229 * @generated
1230 * @ordered
1231 */
1232 int REFERENCE__NAME = EXPRESSION__NAME;
1233
1234 /**
1235 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
1236 * <!-- begin-user-doc -->
1237 * <!-- end-user-doc -->
1238 * @generated
1239 * @ordered
1240 */
1241 int REFERENCE__SUPERCLASSES = EXPRESSION__SUPERCLASSES;
1242
1243 /**
1244 * The feature id for the '<em><b>Members</b></em>' containment reference list.
1245 * <!-- begin-user-doc -->
1246 * <!-- end-user-doc -->
1247 * @generated
1248 * @ordered
1249 */
1250 int REFERENCE__MEMBERS = EXPRESSION__MEMBERS;
1251
1252 /**
1253 * The feature id for the '<em><b>Referred</b></em>' reference. 749 * The feature id for the '<em><b>Referred</b></em>' reference.
1254 * <!-- begin-user-doc --> 750 * <!-- begin-user-doc -->
1255 * <!-- end-user-doc --> 751 * <!-- end-user-doc -->
@@ -1278,42 +774,6 @@ public interface SolverLanguagePackage extends EPackage
1278 int INTERVAL = 21; 774 int INTERVAL = 21;
1279 775
1280 /** 776 /**
1281 * The feature id for the '<em><b>Abstract</b></em>' attribute.
1282 * <!-- begin-user-doc -->
1283 * <!-- end-user-doc -->
1284 * @generated
1285 * @ordered
1286 */
1287 int INTERVAL__ABSTRACT = EXPRESSION__ABSTRACT;
1288
1289 /**
1290 * The feature id for the '<em><b>Name</b></em>' attribute.
1291 * <!-- begin-user-doc -->
1292 * <!-- end-user-doc -->
1293 * @generated
1294 * @ordered
1295 */
1296 int INTERVAL__NAME = EXPRESSION__NAME;
1297
1298 /**
1299 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
1300 * <!-- begin-user-doc -->
1301 * <!-- end-user-doc -->
1302 * @generated
1303 * @ordered
1304 */
1305 int INTERVAL__SUPERCLASSES = EXPRESSION__SUPERCLASSES;
1306
1307 /**
1308 * The feature id for the '<em><b>Members</b></em>' containment reference list.
1309 * <!-- begin-user-doc -->
1310 * <!-- end-user-doc -->
1311 * @generated
1312 * @ordered
1313 */
1314 int INTERVAL__MEMBERS = EXPRESSION__MEMBERS;
1315
1316 /**
1317 * The feature id for the '<em><b>Lower Bound</b></em>' containment reference. 777 * The feature id for the '<em><b>Lower Bound</b></em>' containment reference.
1318 * <!-- begin-user-doc --> 778 * <!-- begin-user-doc -->
1319 * <!-- end-user-doc --> 779 * <!-- end-user-doc -->
@@ -1351,42 +811,6 @@ public interface SolverLanguagePackage extends EPackage
1351 int LITERAL = 22; 811 int LITERAL = 22;
1352 812
1353 /** 813 /**
1354 * The feature id for the '<em><b>Abstract</b></em>' attribute.
1355 * <!-- begin-user-doc -->
1356 * <!-- end-user-doc -->
1357 * @generated
1358 * @ordered
1359 */
1360 int LITERAL__ABSTRACT = EXPRESSION__ABSTRACT;
1361
1362 /**
1363 * The feature id for the '<em><b>Name</b></em>' attribute.
1364 * <!-- begin-user-doc -->
1365 * <!-- end-user-doc -->
1366 * @generated
1367 * @ordered
1368 */
1369 int LITERAL__NAME = EXPRESSION__NAME;
1370
1371 /**
1372 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
1373 * <!-- begin-user-doc -->
1374 * <!-- end-user-doc -->
1375 * @generated
1376 * @ordered
1377 */
1378 int LITERAL__SUPERCLASSES = EXPRESSION__SUPERCLASSES;
1379
1380 /**
1381 * The feature id for the '<em><b>Members</b></em>' containment reference list.
1382 * <!-- begin-user-doc -->
1383 * <!-- end-user-doc -->
1384 * @generated
1385 * @ordered
1386 */
1387 int LITERAL__MEMBERS = EXPRESSION__MEMBERS;
1388
1389 /**
1390 * The number of structural features of the '<em>Literal</em>' class. 814 * The number of structural features of the '<em>Literal</em>' class.
1391 * <!-- begin-user-doc --> 815 * <!-- begin-user-doc -->
1392 * <!-- end-user-doc --> 816 * <!-- end-user-doc -->
@@ -1406,42 +830,6 @@ public interface SolverLanguagePackage extends EPackage
1406 int LOGIC_LITERAL = 23; 830 int LOGIC_LITERAL = 23;
1407 831
1408 /** 832 /**
1409 * The feature id for the '<em><b>Abstract</b></em>' attribute.
1410 * <!-- begin-user-doc -->
1411 * <!-- end-user-doc -->
1412 * @generated
1413 * @ordered
1414 */
1415 int LOGIC_LITERAL__ABSTRACT = LITERAL__ABSTRACT;
1416
1417 /**
1418 * The feature id for the '<em><b>Name</b></em>' attribute.
1419 * <!-- begin-user-doc -->
1420 * <!-- end-user-doc -->
1421 * @generated
1422 * @ordered
1423 */
1424 int LOGIC_LITERAL__NAME = LITERAL__NAME;
1425
1426 /**
1427 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
1428 * <!-- begin-user-doc -->
1429 * <!-- end-user-doc -->
1430 * @generated
1431 * @ordered
1432 */
1433 int LOGIC_LITERAL__SUPERCLASSES = LITERAL__SUPERCLASSES;
1434
1435 /**
1436 * The feature id for the '<em><b>Members</b></em>' containment reference list.
1437 * <!-- begin-user-doc -->
1438 * <!-- end-user-doc -->
1439 * @generated
1440 * @ordered
1441 */
1442 int LOGIC_LITERAL__MEMBERS = LITERAL__MEMBERS;
1443
1444 /**
1445 * The feature id for the '<em><b>Value</b></em>' attribute. 833 * The feature id for the '<em><b>Value</b></em>' attribute.
1446 * <!-- begin-user-doc --> 834 * <!-- begin-user-doc -->
1447 * <!-- end-user-doc --> 835 * <!-- end-user-doc -->
@@ -1470,42 +858,6 @@ public interface SolverLanguagePackage extends EPackage
1470 int NUMERIC_LITERAL = 24; 858 int NUMERIC_LITERAL = 24;
1471 859
1472 /** 860 /**
1473 * The feature id for the '<em><b>Abstract</b></em>' attribute.
1474 * <!-- begin-user-doc -->
1475 * <!-- end-user-doc -->
1476 * @generated
1477 * @ordered
1478 */
1479 int NUMERIC_LITERAL__ABSTRACT = LITERAL__ABSTRACT;
1480
1481 /**
1482 * The feature id for the '<em><b>Name</b></em>' attribute.
1483 * <!-- begin-user-doc -->
1484 * <!-- end-user-doc -->
1485 * @generated
1486 * @ordered
1487 */
1488 int NUMERIC_LITERAL__NAME = LITERAL__NAME;
1489
1490 /**
1491 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
1492 * <!-- begin-user-doc -->
1493 * <!-- end-user-doc -->
1494 * @generated
1495 * @ordered
1496 */
1497 int NUMERIC_LITERAL__SUPERCLASSES = LITERAL__SUPERCLASSES;
1498
1499 /**
1500 * The feature id for the '<em><b>Members</b></em>' containment reference list.
1501 * <!-- begin-user-doc -->
1502 * <!-- end-user-doc -->
1503 * @generated
1504 * @ordered
1505 */
1506 int NUMERIC_LITERAL__MEMBERS = LITERAL__MEMBERS;
1507
1508 /**
1509 * The feature id for the '<em><b>Value</b></em>' attribute. 861 * The feature id for the '<em><b>Value</b></em>' attribute.
1510 * <!-- begin-user-doc --> 862 * <!-- begin-user-doc -->
1511 * <!-- end-user-doc --> 863 * <!-- end-user-doc -->
@@ -1534,42 +886,6 @@ public interface SolverLanguagePackage extends EPackage
1534 int INFINITY_LITERAL = 25; 886 int INFINITY_LITERAL = 25;
1535 887
1536 /** 888 /**
1537 * The feature id for the '<em><b>Abstract</b></em>' attribute.
1538 * <!-- begin-user-doc -->
1539 * <!-- end-user-doc -->
1540 * @generated
1541 * @ordered
1542 */
1543 int INFINITY_LITERAL__ABSTRACT = LITERAL__ABSTRACT;
1544
1545 /**
1546 * The feature id for the '<em><b>Name</b></em>' attribute.
1547 * <!-- begin-user-doc -->
1548 * <!-- end-user-doc -->
1549 * @generated
1550 * @ordered
1551 */
1552 int INFINITY_LITERAL__NAME = LITERAL__NAME;
1553
1554 /**
1555 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
1556 * <!-- begin-user-doc -->
1557 * <!-- end-user-doc -->
1558 * @generated
1559 * @ordered
1560 */
1561 int INFINITY_LITERAL__SUPERCLASSES = LITERAL__SUPERCLASSES;
1562
1563 /**
1564 * The feature id for the '<em><b>Members</b></em>' containment reference list.
1565 * <!-- begin-user-doc -->
1566 * <!-- end-user-doc -->
1567 * @generated
1568 * @ordered
1569 */
1570 int INFINITY_LITERAL__MEMBERS = LITERAL__MEMBERS;
1571
1572 /**
1573 * The number of structural features of the '<em>Infinity Literal</em>' class. 889 * The number of structural features of the '<em>Infinity Literal</em>' class.
1574 * <!-- begin-user-doc --> 890 * <!-- begin-user-doc -->
1575 * <!-- end-user-doc --> 891 * <!-- end-user-doc -->
@@ -1589,59 +905,51 @@ public interface SolverLanguagePackage extends EPackage
1589 int EMPTY_INTERVAL_LITERAL = 26; 905 int EMPTY_INTERVAL_LITERAL = 26;
1590 906
1591 /** 907 /**
1592 * The feature id for the '<em><b>Abstract</b></em>' attribute. 908 * The number of structural features of the '<em>Empty Interval Literal</em>' class.
1593 * <!-- begin-user-doc -->
1594 * <!-- end-user-doc -->
1595 * @generated
1596 * @ordered
1597 */
1598 int EMPTY_INTERVAL_LITERAL__ABSTRACT = LITERAL__ABSTRACT;
1599
1600 /**
1601 * The feature id for the '<em><b>Name</b></em>' attribute.
1602 * <!-- begin-user-doc --> 909 * <!-- begin-user-doc -->
1603 * <!-- end-user-doc --> 910 * <!-- end-user-doc -->
1604 * @generated 911 * @generated
1605 * @ordered 912 * @ordered
1606 */ 913 */
1607 int EMPTY_INTERVAL_LITERAL__NAME = LITERAL__NAME; 914 int EMPTY_INTERVAL_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 0;
1608 915
1609 /** 916 /**
1610 * The feature id for the '<em><b>Superclasses</b></em>' reference list. 917 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StringLiteralImpl <em>String Literal</em>}' class.
1611 * <!-- begin-user-doc --> 918 * <!-- begin-user-doc -->
1612 * <!-- end-user-doc --> 919 * <!-- end-user-doc -->
920 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StringLiteralImpl
921 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStringLiteral()
1613 * @generated 922 * @generated
1614 * @ordered
1615 */ 923 */
1616 int EMPTY_INTERVAL_LITERAL__SUPERCLASSES = LITERAL__SUPERCLASSES; 924 int STRING_LITERAL = 27;
1617 925
1618 /** 926 /**
1619 * The feature id for the '<em><b>Members</b></em>' containment reference list. 927 * The feature id for the '<em><b>Value</b></em>' attribute.
1620 * <!-- begin-user-doc --> 928 * <!-- begin-user-doc -->
1621 * <!-- end-user-doc --> 929 * <!-- end-user-doc -->
1622 * @generated 930 * @generated
1623 * @ordered 931 * @ordered
1624 */ 932 */
1625 int EMPTY_INTERVAL_LITERAL__MEMBERS = LITERAL__MEMBERS; 933 int STRING_LITERAL__VALUE = LITERAL_FEATURE_COUNT + 0;
1626 934
1627 /** 935 /**
1628 * The number of structural features of the '<em>Empty Interval Literal</em>' class. 936 * The number of structural features of the '<em>String Literal</em>' class.
1629 * <!-- begin-user-doc --> 937 * <!-- begin-user-doc -->
1630 * <!-- end-user-doc --> 938 * <!-- end-user-doc -->
1631 * @generated 939 * @generated
1632 * @ordered 940 * @ordered
1633 */ 941 */
1634 int EMPTY_INTERVAL_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 0; 942 int STRING_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1;
1635 943
1636 /** 944 /**
1637 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StringLiteralImpl <em>String Literal</em>}' class. 945 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl <em>Class Definition</em>}' class.
1638 * <!-- begin-user-doc --> 946 * <!-- begin-user-doc -->
1639 * <!-- end-user-doc --> 947 * <!-- end-user-doc -->
1640 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StringLiteralImpl 948 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl
1641 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStringLiteral() 949 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getClassDefinition()
1642 * @generated 950 * @generated
1643 */ 951 */
1644 int STRING_LITERAL = 27; 952 int CLASS_DEFINITION = 28;
1645 953
1646 /** 954 /**
1647 * The feature id for the '<em><b>Abstract</b></em>' attribute. 955 * The feature id for the '<em><b>Abstract</b></em>' attribute.
@@ -1650,7 +958,7 @@ public interface SolverLanguagePackage extends EPackage
1650 * @generated 958 * @generated
1651 * @ordered 959 * @ordered
1652 */ 960 */
1653 int STRING_LITERAL__ABSTRACT = LITERAL__ABSTRACT; 961 int CLASS_DEFINITION__ABSTRACT = STATEMENT_FEATURE_COUNT + 0;
1654 962
1655 /** 963 /**
1656 * The feature id for the '<em><b>Name</b></em>' attribute. 964 * The feature id for the '<em><b>Name</b></em>' attribute.
@@ -1659,7 +967,7 @@ public interface SolverLanguagePackage extends EPackage
1659 * @generated 967 * @generated
1660 * @ordered 968 * @ordered
1661 */ 969 */
1662 int STRING_LITERAL__NAME = LITERAL__NAME; 970 int CLASS_DEFINITION__NAME = STATEMENT_FEATURE_COUNT + 1;
1663 971
1664 /** 972 /**
1665 * The feature id for the '<em><b>Superclasses</b></em>' reference list. 973 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
@@ -1668,7 +976,7 @@ public interface SolverLanguagePackage extends EPackage
1668 * @generated 976 * @generated
1669 * @ordered 977 * @ordered
1670 */ 978 */
1671 int STRING_LITERAL__SUPERCLASSES = LITERAL__SUPERCLASSES; 979 int CLASS_DEFINITION__SUPERCLASSES = STATEMENT_FEATURE_COUNT + 2;
1672 980
1673 /** 981 /**
1674 * The feature id for the '<em><b>Members</b></em>' containment reference list. 982 * The feature id for the '<em><b>Members</b></em>' containment reference list.
@@ -1677,25 +985,16 @@ public interface SolverLanguagePackage extends EPackage
1677 * @generated 985 * @generated
1678 * @ordered 986 * @ordered
1679 */ 987 */
1680 int STRING_LITERAL__MEMBERS = LITERAL__MEMBERS; 988 int CLASS_DEFINITION__MEMBERS = STATEMENT_FEATURE_COUNT + 3;
1681 989
1682 /** 990 /**
1683 * The feature id for the '<em><b>Value</b></em>' attribute. 991 * The number of structural features of the '<em>Class Definition</em>' class.
1684 * <!-- begin-user-doc --> 992 * <!-- begin-user-doc -->
1685 * <!-- end-user-doc --> 993 * <!-- end-user-doc -->
1686 * @generated 994 * @generated
1687 * @ordered 995 * @ordered
1688 */ 996 */
1689 int STRING_LITERAL__VALUE = LITERAL_FEATURE_COUNT + 0; 997 int CLASS_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 4;
1690
1691 /**
1692 * The number of structural features of the '<em>String Literal</em>' class.
1693 * <!-- begin-user-doc -->
1694 * <!-- end-user-doc -->
1695 * @generated
1696 * @ordered
1697 */
1698 int STRING_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1;
1699 998
1700 /** 999 /**
1701 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl <em>Member Definition</em>}' class. 1000 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl <em>Member Definition</em>}' class.
@@ -1705,7 +1004,7 @@ public interface SolverLanguagePackage extends EPackage
1705 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMemberDefinition() 1004 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMemberDefinition()
1706 * @generated 1005 * @generated
1707 */ 1006 */
1708 int MEMBER_DEFINITION = 28; 1007 int MEMBER_DEFINITION = 29;
1709 1008
1710 /** 1009 /**
1711 * The feature id for the '<em><b>Containment</b></em>' attribute. 1010 * The feature id for the '<em><b>Containment</b></em>' attribute.
@@ -1769,7 +1068,7 @@ public interface SolverLanguagePackage extends EPackage
1769 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMultiplicity() 1068 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMultiplicity()
1770 * @generated 1069 * @generated
1771 */ 1070 */
1772 int MULTIPLICITY = 29; 1071 int MULTIPLICITY = 30;
1773 1072
1774 /** 1073 /**
1775 * The number of structural features of the '<em>Multiplicity</em>' class. 1074 * The number of structural features of the '<em>Multiplicity</em>' class.
@@ -1788,7 +1087,7 @@ public interface SolverLanguagePackage extends EPackage
1788 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getManyMultiplicity() 1087 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getManyMultiplicity()
1789 * @generated 1088 * @generated
1790 */ 1089 */
1791 int MANY_MULTIPLICITY = 30; 1090 int MANY_MULTIPLICITY = 31;
1792 1091
1793 /** 1092 /**
1794 * The number of structural features of the '<em>Many Multiplicity</em>' class. 1093 * The number of structural features of the '<em>Many Multiplicity</em>' class.
@@ -1807,7 +1106,7 @@ public interface SolverLanguagePackage extends EPackage
1807 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExactMultiplicity() 1106 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExactMultiplicity()
1808 * @generated 1107 * @generated
1809 */ 1108 */
1810 int EXACT_MULTIPLICITY = 31; 1109 int EXACT_MULTIPLICITY = 32;
1811 1110
1812 /** 1111 /**
1813 * The feature id for the '<em><b>Multiplicity</b></em>' attribute. 1112 * The feature id for the '<em><b>Multiplicity</b></em>' attribute.
@@ -1835,7 +1134,7 @@ public interface SolverLanguagePackage extends EPackage
1835 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBoundedMultiplicity() 1134 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBoundedMultiplicity()
1836 * @generated 1135 * @generated
1837 */ 1136 */
1838 int BOUNDED_MULTIPLICITY = 32; 1137 int BOUNDED_MULTIPLICITY = 33;
1839 1138
1840 /** 1139 /**
1841 * The feature id for the '<em><b>Lower Bound</b></em>' attribute. 1140 * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
@@ -1872,43 +1171,7 @@ public interface SolverLanguagePackage extends EPackage
1872 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getScopeDefinition() 1171 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getScopeDefinition()
1873 * @generated 1172 * @generated
1874 */ 1173 */
1875 int SCOPE_DEFINITION = 33; 1174 int SCOPE_DEFINITION = 34;
1876
1877 /**
1878 * The feature id for the '<em><b>Abstract</b></em>' attribute.
1879 * <!-- begin-user-doc -->
1880 * <!-- end-user-doc -->
1881 * @generated
1882 * @ordered
1883 */
1884 int SCOPE_DEFINITION__ABSTRACT = STATEMENT__ABSTRACT;
1885
1886 /**
1887 * The feature id for the '<em><b>Name</b></em>' attribute.
1888 * <!-- begin-user-doc -->
1889 * <!-- end-user-doc -->
1890 * @generated
1891 * @ordered
1892 */
1893 int SCOPE_DEFINITION__NAME = STATEMENT__NAME;
1894
1895 /**
1896 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
1897 * <!-- begin-user-doc -->
1898 * <!-- end-user-doc -->
1899 * @generated
1900 * @ordered
1901 */
1902 int SCOPE_DEFINITION__SUPERCLASSES = STATEMENT__SUPERCLASSES;
1903
1904 /**
1905 * The feature id for the '<em><b>Members</b></em>' containment reference list.
1906 * <!-- begin-user-doc -->
1907 * <!-- end-user-doc -->
1908 * @generated
1909 * @ordered
1910 */
1911 int SCOPE_DEFINITION__MEMBERS = STATEMENT__MEMBERS;
1912 1175
1913 /** 1176 /**
1914 * The feature id for the '<em><b>Type</b></em>' reference. 1177 * The feature id for the '<em><b>Type</b></em>' reference.
@@ -1936,43 +1199,7 @@ public interface SolverLanguagePackage extends EPackage
1936 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExactScopeDefinition() 1199 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExactScopeDefinition()
1937 * @generated 1200 * @generated
1938 */ 1201 */
1939 int EXACT_SCOPE_DEFINITION = 34; 1202 int EXACT_SCOPE_DEFINITION = 35;
1940
1941 /**
1942 * The feature id for the '<em><b>Abstract</b></em>' attribute.
1943 * <!-- begin-user-doc -->
1944 * <!-- end-user-doc -->
1945 * @generated
1946 * @ordered
1947 */
1948 int EXACT_SCOPE_DEFINITION__ABSTRACT = SCOPE_DEFINITION__ABSTRACT;
1949
1950 /**
1951 * The feature id for the '<em><b>Name</b></em>' attribute.
1952 * <!-- begin-user-doc -->
1953 * <!-- end-user-doc -->
1954 * @generated
1955 * @ordered
1956 */
1957 int EXACT_SCOPE_DEFINITION__NAME = SCOPE_DEFINITION__NAME;
1958
1959 /**
1960 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
1961 * <!-- begin-user-doc -->
1962 * <!-- end-user-doc -->
1963 * @generated
1964 * @ordered
1965 */
1966 int EXACT_SCOPE_DEFINITION__SUPERCLASSES = SCOPE_DEFINITION__SUPERCLASSES;
1967
1968 /**
1969 * The feature id for the '<em><b>Members</b></em>' containment reference list.
1970 * <!-- begin-user-doc -->
1971 * <!-- end-user-doc -->
1972 * @generated
1973 * @ordered
1974 */
1975 int EXACT_SCOPE_DEFINITION__MEMBERS = SCOPE_DEFINITION__MEMBERS;
1976 1203
1977 /** 1204 /**
1978 * The feature id for the '<em><b>Type</b></em>' reference. 1205 * The feature id for the '<em><b>Type</b></em>' reference.
@@ -2009,43 +1236,7 @@ public interface SolverLanguagePackage extends EPackage
2009 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBoundedScopeDefinition() 1236 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBoundedScopeDefinition()
2010 * @generated 1237 * @generated
2011 */ 1238 */
2012 int BOUNDED_SCOPE_DEFINITION = 35; 1239 int BOUNDED_SCOPE_DEFINITION = 36;
2013
2014 /**
2015 * The feature id for the '<em><b>Abstract</b></em>' attribute.
2016 * <!-- begin-user-doc -->
2017 * <!-- end-user-doc -->
2018 * @generated
2019 * @ordered
2020 */
2021 int BOUNDED_SCOPE_DEFINITION__ABSTRACT = SCOPE_DEFINITION__ABSTRACT;
2022
2023 /**
2024 * The feature id for the '<em><b>Name</b></em>' attribute.
2025 * <!-- begin-user-doc -->
2026 * <!-- end-user-doc -->
2027 * @generated
2028 * @ordered
2029 */
2030 int BOUNDED_SCOPE_DEFINITION__NAME = SCOPE_DEFINITION__NAME;
2031
2032 /**
2033 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
2034 * <!-- begin-user-doc -->
2035 * <!-- end-user-doc -->
2036 * @generated
2037 * @ordered
2038 */
2039 int BOUNDED_SCOPE_DEFINITION__SUPERCLASSES = SCOPE_DEFINITION__SUPERCLASSES;
2040
2041 /**
2042 * The feature id for the '<em><b>Members</b></em>' containment reference list.
2043 * <!-- begin-user-doc -->
2044 * <!-- end-user-doc -->
2045 * @generated
2046 * @ordered
2047 */
2048 int BOUNDED_SCOPE_DEFINITION__MEMBERS = SCOPE_DEFINITION__MEMBERS;
2049 1240
2050 /** 1241 /**
2051 * The feature id for the '<em><b>Type</b></em>' reference. 1242 * The feature id for the '<em><b>Type</b></em>' reference.
@@ -2091,43 +1282,7 @@ public interface SolverLanguagePackage extends EPackage
2091 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLowerBoundedScopeDefinition() 1282 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLowerBoundedScopeDefinition()
2092 * @generated 1283 * @generated
2093 */ 1284 */
2094 int LOWER_BOUNDED_SCOPE_DEFINITION = 36; 1285 int LOWER_BOUNDED_SCOPE_DEFINITION = 37;
2095
2096 /**
2097 * The feature id for the '<em><b>Abstract</b></em>' attribute.
2098 * <!-- begin-user-doc -->
2099 * <!-- end-user-doc -->
2100 * @generated
2101 * @ordered
2102 */
2103 int LOWER_BOUNDED_SCOPE_DEFINITION__ABSTRACT = SCOPE_DEFINITION__ABSTRACT;
2104
2105 /**
2106 * The feature id for the '<em><b>Name</b></em>' attribute.
2107 * <!-- begin-user-doc -->
2108 * <!-- end-user-doc -->
2109 * @generated
2110 * @ordered
2111 */
2112 int LOWER_BOUNDED_SCOPE_DEFINITION__NAME = SCOPE_DEFINITION__NAME;
2113
2114 /**
2115 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
2116 * <!-- begin-user-doc -->
2117 * <!-- end-user-doc -->
2118 * @generated
2119 * @ordered
2120 */
2121 int LOWER_BOUNDED_SCOPE_DEFINITION__SUPERCLASSES = SCOPE_DEFINITION__SUPERCLASSES;
2122
2123 /**
2124 * The feature id for the '<em><b>Members</b></em>' containment reference list.
2125 * <!-- begin-user-doc -->
2126 * <!-- end-user-doc -->
2127 * @generated
2128 * @ordered
2129 */
2130 int LOWER_BOUNDED_SCOPE_DEFINITION__MEMBERS = SCOPE_DEFINITION__MEMBERS;
2131 1286
2132 /** 1287 /**
2133 * The feature id for the '<em><b>Type</b></em>' reference. 1288 * The feature id for the '<em><b>Type</b></em>' reference.
@@ -2164,43 +1319,7 @@ public interface SolverLanguagePackage extends EPackage
2164 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getObjectiveDefinition() 1319 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getObjectiveDefinition()
2165 * @generated 1320 * @generated
2166 */ 1321 */
2167 int OBJECTIVE_DEFINITION = 37; 1322 int OBJECTIVE_DEFINITION = 38;
2168
2169 /**
2170 * The feature id for the '<em><b>Abstract</b></em>' attribute.
2171 * <!-- begin-user-doc -->
2172 * <!-- end-user-doc -->
2173 * @generated
2174 * @ordered
2175 */
2176 int OBJECTIVE_DEFINITION__ABSTRACT = STATEMENT__ABSTRACT;
2177
2178 /**
2179 * The feature id for the '<em><b>Name</b></em>' attribute.
2180 * <!-- begin-user-doc -->
2181 * <!-- end-user-doc -->
2182 * @generated
2183 * @ordered
2184 */
2185 int OBJECTIVE_DEFINITION__NAME = STATEMENT__NAME;
2186
2187 /**
2188 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
2189 * <!-- begin-user-doc -->
2190 * <!-- end-user-doc -->
2191 * @generated
2192 * @ordered
2193 */
2194 int OBJECTIVE_DEFINITION__SUPERCLASSES = STATEMENT__SUPERCLASSES;
2195
2196 /**
2197 * The feature id for the '<em><b>Members</b></em>' containment reference list.
2198 * <!-- begin-user-doc -->
2199 * <!-- end-user-doc -->
2200 * @generated
2201 * @ordered
2202 */
2203 int OBJECTIVE_DEFINITION__MEMBERS = STATEMENT__MEMBERS;
2204 1323
2205 /** 1324 /**
2206 * The feature id for the '<em><b>Kind</b></em>' attribute. 1325 * The feature id for the '<em><b>Kind</b></em>' attribute.
@@ -2237,7 +1356,7 @@ public interface SolverLanguagePackage extends EPackage
2237 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNamedElement() 1356 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNamedElement()
2238 * @generated 1357 * @generated
2239 */ 1358 */
2240 int NAMED_ELEMENT = 38; 1359 int NAMED_ELEMENT = 39;
2241 1360
2242 /** 1361 /**
2243 * The feature id for the '<em><b>Name</b></em>' attribute. 1362 * The feature id for the '<em><b>Name</b></em>' attribute.
@@ -2265,43 +1384,7 @@ public interface SolverLanguagePackage extends EPackage
2265 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAssertion() 1384 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAssertion()
2266 * @generated 1385 * @generated
2267 */ 1386 */
2268 int ASSERTION = 39; 1387 int ASSERTION = 40;
2269
2270 /**
2271 * The feature id for the '<em><b>Abstract</b></em>' attribute.
2272 * <!-- begin-user-doc -->
2273 * <!-- end-user-doc -->
2274 * @generated
2275 * @ordered
2276 */
2277 int ASSERTION__ABSTRACT = STATEMENT__ABSTRACT;
2278
2279 /**
2280 * The feature id for the '<em><b>Name</b></em>' attribute.
2281 * <!-- begin-user-doc -->
2282 * <!-- end-user-doc -->
2283 * @generated
2284 * @ordered
2285 */
2286 int ASSERTION__NAME = STATEMENT__NAME;
2287
2288 /**
2289 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
2290 * <!-- begin-user-doc -->
2291 * <!-- end-user-doc -->
2292 * @generated
2293 * @ordered
2294 */
2295 int ASSERTION__SUPERCLASSES = STATEMENT__SUPERCLASSES;
2296
2297 /**
2298 * The feature id for the '<em><b>Members</b></em>' containment reference list.
2299 * <!-- begin-user-doc -->
2300 * <!-- end-user-doc -->
2301 * @generated
2302 * @ordered
2303 */
2304 int ASSERTION__MEMBERS = STATEMENT__MEMBERS;
2305 1388
2306 /** 1389 /**
2307 * The feature id for the '<em><b>Body</b></em>' containment reference. 1390 * The feature id for the '<em><b>Body</b></em>' containment reference.
@@ -2338,43 +1421,7 @@ public interface SolverLanguagePackage extends EPackage
2338 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDisjunction() 1421 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDisjunction()
2339 * @generated 1422 * @generated
2340 */ 1423 */
2341 int DISJUNCTION = 40; 1424 int DISJUNCTION = 41;
2342
2343 /**
2344 * The feature id for the '<em><b>Abstract</b></em>' attribute.
2345 * <!-- begin-user-doc -->
2346 * <!-- end-user-doc -->
2347 * @generated
2348 * @ordered
2349 */
2350 int DISJUNCTION__ABSTRACT = EXPRESSION__ABSTRACT;
2351
2352 /**
2353 * The feature id for the '<em><b>Name</b></em>' attribute.
2354 * <!-- begin-user-doc -->
2355 * <!-- end-user-doc -->
2356 * @generated
2357 * @ordered
2358 */
2359 int DISJUNCTION__NAME = EXPRESSION__NAME;
2360
2361 /**
2362 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
2363 * <!-- begin-user-doc -->
2364 * <!-- end-user-doc -->
2365 * @generated
2366 * @ordered
2367 */
2368 int DISJUNCTION__SUPERCLASSES = EXPRESSION__SUPERCLASSES;
2369
2370 /**
2371 * The feature id for the '<em><b>Members</b></em>' containment reference list.
2372 * <!-- begin-user-doc -->
2373 * <!-- end-user-doc -->
2374 * @generated
2375 * @ordered
2376 */
2377 int DISJUNCTION__MEMBERS = EXPRESSION__MEMBERS;
2378 1425
2379 /** 1426 /**
2380 * The feature id for the '<em><b>Children</b></em>' containment reference list. 1427 * The feature id for the '<em><b>Children</b></em>' containment reference list.
@@ -2402,43 +1449,7 @@ public interface SolverLanguagePackage extends EPackage
2402 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getSwitch() 1449 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getSwitch()
2403 * @generated 1450 * @generated
2404 */ 1451 */
2405 int SWITCH = 41; 1452 int SWITCH = 42;
2406
2407 /**
2408 * The feature id for the '<em><b>Abstract</b></em>' attribute.
2409 * <!-- begin-user-doc -->
2410 * <!-- end-user-doc -->
2411 * @generated
2412 * @ordered
2413 */
2414 int SWITCH__ABSTRACT = EXPRESSION__ABSTRACT;
2415
2416 /**
2417 * The feature id for the '<em><b>Name</b></em>' attribute.
2418 * <!-- begin-user-doc -->
2419 * <!-- end-user-doc -->
2420 * @generated
2421 * @ordered
2422 */
2423 int SWITCH__NAME = EXPRESSION__NAME;
2424
2425 /**
2426 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
2427 * <!-- begin-user-doc -->
2428 * <!-- end-user-doc -->
2429 * @generated
2430 * @ordered
2431 */
2432 int SWITCH__SUPERCLASSES = EXPRESSION__SUPERCLASSES;
2433
2434 /**
2435 * The feature id for the '<em><b>Members</b></em>' containment reference list.
2436 * <!-- begin-user-doc -->
2437 * <!-- end-user-doc -->
2438 * @generated
2439 * @ordered
2440 */
2441 int SWITCH__MEMBERS = EXPRESSION__MEMBERS;
2442 1453
2443 /** 1454 /**
2444 * The feature id for the '<em><b>Cases</b></em>' containment reference list. 1455 * The feature id for the '<em><b>Cases</b></em>' containment reference list.
@@ -2466,43 +1477,7 @@ public interface SolverLanguagePackage extends EPackage
2466 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getConjunction() 1477 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getConjunction()
2467 * @generated 1478 * @generated
2468 */ 1479 */
2469 int CONJUNCTION = 42; 1480 int CONJUNCTION = 43;
2470
2471 /**
2472 * The feature id for the '<em><b>Abstract</b></em>' attribute.
2473 * <!-- begin-user-doc -->
2474 * <!-- end-user-doc -->
2475 * @generated
2476 * @ordered
2477 */
2478 int CONJUNCTION__ABSTRACT = EXPRESSION__ABSTRACT;
2479
2480 /**
2481 * The feature id for the '<em><b>Name</b></em>' attribute.
2482 * <!-- begin-user-doc -->
2483 * <!-- end-user-doc -->
2484 * @generated
2485 * @ordered
2486 */
2487 int CONJUNCTION__NAME = EXPRESSION__NAME;
2488
2489 /**
2490 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
2491 * <!-- begin-user-doc -->
2492 * <!-- end-user-doc -->
2493 * @generated
2494 * @ordered
2495 */
2496 int CONJUNCTION__SUPERCLASSES = EXPRESSION__SUPERCLASSES;
2497
2498 /**
2499 * The feature id for the '<em><b>Members</b></em>' containment reference list.
2500 * <!-- begin-user-doc -->
2501 * <!-- end-user-doc -->
2502 * @generated
2503 * @ordered
2504 */
2505 int CONJUNCTION__MEMBERS = EXPRESSION__MEMBERS;
2506 1481
2507 /** 1482 /**
2508 * The feature id for the '<em><b>Children</b></em>' containment reference list. 1483 * The feature id for the '<em><b>Children</b></em>' containment reference list.
@@ -2530,43 +1505,7 @@ public interface SolverLanguagePackage extends EPackage
2530 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getComparison() 1505 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getComparison()
2531 * @generated 1506 * @generated
2532 */ 1507 */
2533 int COMPARISON = 43; 1508 int COMPARISON = 44;
2534
2535 /**
2536 * The feature id for the '<em><b>Abstract</b></em>' attribute.
2537 * <!-- begin-user-doc -->
2538 * <!-- end-user-doc -->
2539 * @generated
2540 * @ordered
2541 */
2542 int COMPARISON__ABSTRACT = EXPRESSION__ABSTRACT;
2543
2544 /**
2545 * The feature id for the '<em><b>Name</b></em>' attribute.
2546 * <!-- begin-user-doc -->
2547 * <!-- end-user-doc -->
2548 * @generated
2549 * @ordered
2550 */
2551 int COMPARISON__NAME = EXPRESSION__NAME;
2552
2553 /**
2554 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
2555 * <!-- begin-user-doc -->
2556 * <!-- end-user-doc -->
2557 * @generated
2558 * @ordered
2559 */
2560 int COMPARISON__SUPERCLASSES = EXPRESSION__SUPERCLASSES;
2561
2562 /**
2563 * The feature id for the '<em><b>Members</b></em>' containment reference list.
2564 * <!-- begin-user-doc -->
2565 * <!-- end-user-doc -->
2566 * @generated
2567 * @ordered
2568 */
2569 int COMPARISON__MEMBERS = EXPRESSION__MEMBERS;
2570 1509
2571 /** 1510 /**
2572 * The feature id for the '<em><b>Left</b></em>' containment reference. 1511 * The feature id for the '<em><b>Left</b></em>' containment reference.
@@ -2612,43 +1551,7 @@ public interface SolverLanguagePackage extends EPackage
2612 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBinaryExpression() 1551 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBinaryExpression()
2613 * @generated 1552 * @generated
2614 */ 1553 */
2615 int BINARY_EXPRESSION = 44; 1554 int BINARY_EXPRESSION = 45;
2616
2617 /**
2618 * The feature id for the '<em><b>Abstract</b></em>' attribute.
2619 * <!-- begin-user-doc -->
2620 * <!-- end-user-doc -->
2621 * @generated
2622 * @ordered
2623 */
2624 int BINARY_EXPRESSION__ABSTRACT = EXPRESSION__ABSTRACT;
2625
2626 /**
2627 * The feature id for the '<em><b>Name</b></em>' attribute.
2628 * <!-- begin-user-doc -->
2629 * <!-- end-user-doc -->
2630 * @generated
2631 * @ordered
2632 */
2633 int BINARY_EXPRESSION__NAME = EXPRESSION__NAME;
2634
2635 /**
2636 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
2637 * <!-- begin-user-doc -->
2638 * <!-- end-user-doc -->
2639 * @generated
2640 * @ordered
2641 */
2642 int BINARY_EXPRESSION__SUPERCLASSES = EXPRESSION__SUPERCLASSES;
2643
2644 /**
2645 * The feature id for the '<em><b>Members</b></em>' containment reference list.
2646 * <!-- begin-user-doc -->
2647 * <!-- end-user-doc -->
2648 * @generated
2649 * @ordered
2650 */
2651 int BINARY_EXPRESSION__MEMBERS = EXPRESSION__MEMBERS;
2652 1555
2653 /** 1556 /**
2654 * The feature id for the '<em><b>Left</b></em>' containment reference. 1557 * The feature id for the '<em><b>Left</b></em>' containment reference.
@@ -2694,43 +1597,7 @@ public interface SolverLanguagePackage extends EPackage
2694 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnaryExpression() 1597 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnaryExpression()
2695 * @generated 1598 * @generated
2696 */ 1599 */
2697 int UNARY_EXPRESSION = 45; 1600 int UNARY_EXPRESSION = 46;
2698
2699 /**
2700 * The feature id for the '<em><b>Abstract</b></em>' attribute.
2701 * <!-- begin-user-doc -->
2702 * <!-- end-user-doc -->
2703 * @generated
2704 * @ordered
2705 */
2706 int UNARY_EXPRESSION__ABSTRACT = EXPRESSION__ABSTRACT;
2707
2708 /**
2709 * The feature id for the '<em><b>Name</b></em>' attribute.
2710 * <!-- begin-user-doc -->
2711 * <!-- end-user-doc -->
2712 * @generated
2713 * @ordered
2714 */
2715 int UNARY_EXPRESSION__NAME = EXPRESSION__NAME;
2716
2717 /**
2718 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
2719 * <!-- begin-user-doc -->
2720 * <!-- end-user-doc -->
2721 * @generated
2722 * @ordered
2723 */
2724 int UNARY_EXPRESSION__SUPERCLASSES = EXPRESSION__SUPERCLASSES;
2725
2726 /**
2727 * The feature id for the '<em><b>Members</b></em>' containment reference list.
2728 * <!-- begin-user-doc -->
2729 * <!-- end-user-doc -->
2730 * @generated
2731 * @ordered
2732 */
2733 int UNARY_EXPRESSION__MEMBERS = EXPRESSION__MEMBERS;
2734 1601
2735 /** 1602 /**
2736 * The feature id for the '<em><b>Op</b></em>' attribute. 1603 * The feature id for the '<em><b>Op</b></em>' attribute.
@@ -2767,7 +1634,7 @@ public interface SolverLanguagePackage extends EPackage
2767 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMetricType() 1634 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMetricType()
2768 * @generated 1635 * @generated
2769 */ 1636 */
2770 int METRIC_TYPE = 46; 1637 int METRIC_TYPE = 47;
2771 1638
2772 /** 1639 /**
2773 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator <em>Binary Operator</em>}' enum. 1640 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator <em>Binary Operator</em>}' enum.
@@ -2777,7 +1644,7 @@ public interface SolverLanguagePackage extends EPackage
2777 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBinaryOperator() 1644 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBinaryOperator()
2778 * @generated 1645 * @generated
2779 */ 1646 */
2780 int BINARY_OPERATOR = 47; 1647 int BINARY_OPERATOR = 48;
2781 1648
2782 /** 1649 /**
2783 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryOp <em>Unary Op</em>}' enum. 1650 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryOp <em>Unary Op</em>}' enum.
@@ -2787,7 +1654,7 @@ public interface SolverLanguagePackage extends EPackage
2787 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnaryOp() 1654 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnaryOp()
2788 * @generated 1655 * @generated
2789 */ 1656 */
2790 int UNARY_OP = 48; 1657 int UNARY_OP = 49;
2791 1658
2792 /** 1659 /**
2793 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.AggregationOp <em>Aggregation Op</em>}' enum. 1660 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.AggregationOp <em>Aggregation Op</em>}' enum.
@@ -2797,7 +1664,7 @@ public interface SolverLanguagePackage extends EPackage
2797 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAggregationOp() 1664 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAggregationOp()
2798 * @generated 1665 * @generated
2799 */ 1666 */
2800 int AGGREGATION_OP = 49; 1667 int AGGREGATION_OP = 50;
2801 1668
2802 /** 1669 /**
2803 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicValue <em>Logic Value</em>}' enum. 1670 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicValue <em>Logic Value</em>}' enum.
@@ -2807,7 +1674,7 @@ public interface SolverLanguagePackage extends EPackage
2807 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLogicValue() 1674 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLogicValue()
2808 * @generated 1675 * @generated
2809 */ 1676 */
2810 int LOGIC_VALUE = 50; 1677 int LOGIC_VALUE = 51;
2811 1678
2812 /** 1679 /**
2813 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind <em>Objective Kind</em>}' enum. 1680 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind <em>Objective Kind</em>}' enum.
@@ -2817,7 +1684,7 @@ public interface SolverLanguagePackage extends EPackage
2817 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getObjectiveKind() 1684 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getObjectiveKind()
2818 * @generated 1685 * @generated
2819 */ 1686 */
2820 int OBJECTIVE_KIND = 51; 1687 int OBJECTIVE_KIND = 52;
2821 1688
2822 1689
2823 /** 1690 /**
@@ -2852,50 +1719,6 @@ public interface SolverLanguagePackage extends EPackage
2852 EClass getStatement(); 1719 EClass getStatement();
2853 1720
2854 /** 1721 /**
2855 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Statement#isAbstract <em>Abstract</em>}'.
2856 * <!-- begin-user-doc -->
2857 * <!-- end-user-doc -->
2858 * @return the meta object for the attribute '<em>Abstract</em>'.
2859 * @see org.eclipse.viatra.solver.language.solverLanguage.Statement#isAbstract()
2860 * @see #getStatement()
2861 * @generated
2862 */
2863 EAttribute getStatement_Abstract();
2864
2865 /**
2866 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Statement#getName <em>Name</em>}'.
2867 * <!-- begin-user-doc -->
2868 * <!-- end-user-doc -->
2869 * @return the meta object for the attribute '<em>Name</em>'.
2870 * @see org.eclipse.viatra.solver.language.solverLanguage.Statement#getName()
2871 * @see #getStatement()
2872 * @generated
2873 */
2874 EAttribute getStatement_Name();
2875
2876 /**
2877 * Returns the meta object for the reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Statement#getSuperclasses <em>Superclasses</em>}'.
2878 * <!-- begin-user-doc -->
2879 * <!-- end-user-doc -->
2880 * @return the meta object for the reference list '<em>Superclasses</em>'.
2881 * @see org.eclipse.viatra.solver.language.solverLanguage.Statement#getSuperclasses()
2882 * @see #getStatement()
2883 * @generated
2884 */
2885 EReference getStatement_Superclasses();
2886
2887 /**
2888 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Statement#getMembers <em>Members</em>}'.
2889 * <!-- begin-user-doc -->
2890 * <!-- end-user-doc -->
2891 * @return the meta object for the containment reference list '<em>Members</em>'.
2892 * @see org.eclipse.viatra.solver.language.solverLanguage.Statement#getMembers()
2893 * @see #getStatement()
2894 * @generated
2895 */
2896 EReference getStatement_Members();
2897
2898 /**
2899 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition <em>Predicate Definition</em>}'. 1722 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition <em>Predicate Definition</em>}'.
2900 * <!-- begin-user-doc --> 1723 * <!-- begin-user-doc -->
2901 * <!-- end-user-doc --> 1724 * <!-- end-user-doc -->
@@ -3280,17 +2103,6 @@ public interface SolverLanguagePackage extends EPackage
3280 EReference getCall_Functor(); 2103 EReference getCall_Functor();
3281 2104
3282 /** 2105 /**
3283 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#getArgumentList <em>Argument List</em>}'.
3284 * <!-- begin-user-doc -->
3285 * <!-- end-user-doc -->
3286 * @return the meta object for the containment reference '<em>Argument List</em>'.
3287 * @see org.eclipse.viatra.solver.language.solverLanguage.Call#getArgumentList()
3288 * @see #getCall()
3289 * @generated
3290 */
3291 EReference getCall_ArgumentList();
3292
3293 /**
3294 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#isTransitiveClosure <em>Transitive Closure</em>}'. 2106 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#isTransitiveClosure <em>Transitive Closure</em>}'.
3295 * <!-- begin-user-doc --> 2107 * <!-- begin-user-doc -->
3296 * <!-- end-user-doc --> 2108 * <!-- end-user-doc -->
@@ -3313,6 +2125,17 @@ public interface SolverLanguagePackage extends EPackage
3313 EAttribute getCall_ReflexiveTransitiveClosure(); 2125 EAttribute getCall_ReflexiveTransitiveClosure();
3314 2126
3315 /** 2127 /**
2128 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#getArgumentList <em>Argument List</em>}'.
2129 * <!-- begin-user-doc -->
2130 * <!-- end-user-doc -->
2131 * @return the meta object for the containment reference '<em>Argument List</em>'.
2132 * @see org.eclipse.viatra.solver.language.solverLanguage.Call#getArgumentList()
2133 * @see #getCall()
2134 * @generated
2135 */
2136 EReference getCall_ArgumentList();
2137
2138 /**
3316 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ArgumentList <em>Argument List</em>}'. 2139 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ArgumentList <em>Argument List</em>}'.
3317 * <!-- begin-user-doc --> 2140 * <!-- begin-user-doc -->
3318 * <!-- end-user-doc --> 2141 * <!-- end-user-doc -->
@@ -3574,6 +2397,60 @@ public interface SolverLanguagePackage extends EPackage
3574 EAttribute getStringLiteral_Value(); 2397 EAttribute getStringLiteral_Value();
3575 2398
3576 /** 2399 /**
2400 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition <em>Class Definition</em>}'.
2401 * <!-- begin-user-doc -->
2402 * <!-- end-user-doc -->
2403 * @return the meta object for class '<em>Class Definition</em>'.
2404 * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition
2405 * @generated
2406 */
2407 EClass getClassDefinition();
2408
2409 /**
2410 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#isAbstract <em>Abstract</em>}'.
2411 * <!-- begin-user-doc -->
2412 * <!-- end-user-doc -->
2413 * @return the meta object for the attribute '<em>Abstract</em>'.
2414 * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#isAbstract()
2415 * @see #getClassDefinition()
2416 * @generated
2417 */
2418 EAttribute getClassDefinition_Abstract();
2419
2420 /**
2421 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getName <em>Name</em>}'.
2422 * <!-- begin-user-doc -->
2423 * <!-- end-user-doc -->
2424 * @return the meta object for the attribute '<em>Name</em>'.
2425 * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getName()
2426 * @see #getClassDefinition()
2427 * @generated
2428 */
2429 EAttribute getClassDefinition_Name();
2430
2431 /**
2432 * Returns the meta object for the reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getSuperclasses <em>Superclasses</em>}'.
2433 * <!-- begin-user-doc -->
2434 * <!-- end-user-doc -->
2435 * @return the meta object for the reference list '<em>Superclasses</em>'.
2436 * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getSuperclasses()
2437 * @see #getClassDefinition()
2438 * @generated
2439 */
2440 EReference getClassDefinition_Superclasses();
2441
2442 /**
2443 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getMembers <em>Members</em>}'.
2444 * <!-- begin-user-doc -->
2445 * <!-- end-user-doc -->
2446 * @return the meta object for the containment reference list '<em>Members</em>'.
2447 * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getMembers()
2448 * @see #getClassDefinition()
2449 * @generated
2450 */
2451 EReference getClassDefinition_Members();
2452
2453 /**
3577 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition <em>Member Definition</em>}'. 2454 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition <em>Member Definition</em>}'.
3578 * <!-- begin-user-doc --> 2455 * <!-- begin-user-doc -->
3579 * <!-- end-user-doc --> 2456 * <!-- end-user-doc -->
@@ -4184,38 +3061,6 @@ public interface SolverLanguagePackage extends EPackage
4184 EClass STATEMENT = eINSTANCE.getStatement(); 3061 EClass STATEMENT = eINSTANCE.getStatement();
4185 3062
4186 /** 3063 /**
4187 * The meta object literal for the '<em><b>Abstract</b></em>' attribute feature.
4188 * <!-- begin-user-doc -->
4189 * <!-- end-user-doc -->
4190 * @generated
4191 */
4192 EAttribute STATEMENT__ABSTRACT = eINSTANCE.getStatement_Abstract();
4193
4194 /**
4195 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
4196 * <!-- begin-user-doc -->
4197 * <!-- end-user-doc -->
4198 * @generated
4199 */
4200 EAttribute STATEMENT__NAME = eINSTANCE.getStatement_Name();
4201
4202 /**
4203 * The meta object literal for the '<em><b>Superclasses</b></em>' reference list feature.
4204 * <!-- begin-user-doc -->
4205 * <!-- end-user-doc -->
4206 * @generated
4207 */
4208 EReference STATEMENT__SUPERCLASSES = eINSTANCE.getStatement_Superclasses();
4209
4210 /**
4211 * The meta object literal for the '<em><b>Members</b></em>' containment reference list feature.
4212 * <!-- begin-user-doc -->
4213 * <!-- end-user-doc -->
4214 * @generated
4215 */
4216 EReference STATEMENT__MEMBERS = eINSTANCE.getStatement_Members();
4217
4218 /**
4219 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl <em>Predicate Definition</em>}' class. 3064 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl <em>Predicate Definition</em>}' class.
4220 * <!-- begin-user-doc --> 3065 * <!-- begin-user-doc -->
4221 * <!-- end-user-doc --> 3066 * <!-- end-user-doc -->
@@ -4528,28 +3373,28 @@ public interface SolverLanguagePackage extends EPackage
4528 EReference CALL__FUNCTOR = eINSTANCE.getCall_Functor(); 3373 EReference CALL__FUNCTOR = eINSTANCE.getCall_Functor();
4529 3374
4530 /** 3375 /**
4531 * The meta object literal for the '<em><b>Argument List</b></em>' containment reference feature. 3376 * The meta object literal for the '<em><b>Transitive Closure</b></em>' attribute feature.
4532 * <!-- begin-user-doc --> 3377 * <!-- begin-user-doc -->
4533 * <!-- end-user-doc --> 3378 * <!-- end-user-doc -->
4534 * @generated 3379 * @generated
4535 */ 3380 */
4536 EReference CALL__ARGUMENT_LIST = eINSTANCE.getCall_ArgumentList(); 3381 EAttribute CALL__TRANSITIVE_CLOSURE = eINSTANCE.getCall_TransitiveClosure();
4537 3382
4538 /** 3383 /**
4539 * The meta object literal for the '<em><b>Transitive Closure</b></em>' attribute feature. 3384 * The meta object literal for the '<em><b>Reflexive Transitive Closure</b></em>' attribute feature.
4540 * <!-- begin-user-doc --> 3385 * <!-- begin-user-doc -->
4541 * <!-- end-user-doc --> 3386 * <!-- end-user-doc -->
4542 * @generated 3387 * @generated
4543 */ 3388 */
4544 EAttribute CALL__TRANSITIVE_CLOSURE = eINSTANCE.getCall_TransitiveClosure(); 3389 EAttribute CALL__REFLEXIVE_TRANSITIVE_CLOSURE = eINSTANCE.getCall_ReflexiveTransitiveClosure();
4545 3390
4546 /** 3391 /**
4547 * The meta object literal for the '<em><b>Reflexive Transitive Closure</b></em>' attribute feature. 3392 * The meta object literal for the '<em><b>Argument List</b></em>' containment reference feature.
4548 * <!-- begin-user-doc --> 3393 * <!-- begin-user-doc -->
4549 * <!-- end-user-doc --> 3394 * <!-- end-user-doc -->
4550 * @generated 3395 * @generated
4551 */ 3396 */
4552 EAttribute CALL__REFLEXIVE_TRANSITIVE_CLOSURE = eINSTANCE.getCall_ReflexiveTransitiveClosure(); 3397 EReference CALL__ARGUMENT_LIST = eINSTANCE.getCall_ArgumentList();
4553 3398
4554 /** 3399 /**
4555 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentListImpl <em>Argument List</em>}' class. 3400 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentListImpl <em>Argument List</em>}' class.
@@ -4780,6 +3625,48 @@ public interface SolverLanguagePackage extends EPackage
4780 EAttribute STRING_LITERAL__VALUE = eINSTANCE.getStringLiteral_Value(); 3625 EAttribute STRING_LITERAL__VALUE = eINSTANCE.getStringLiteral_Value();
4781 3626
4782 /** 3627 /**
3628 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl <em>Class Definition</em>}' class.
3629 * <!-- begin-user-doc -->
3630 * <!-- end-user-doc -->
3631 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl
3632 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getClassDefinition()
3633 * @generated
3634 */
3635 EClass CLASS_DEFINITION = eINSTANCE.getClassDefinition();
3636
3637 /**
3638 * The meta object literal for the '<em><b>Abstract</b></em>' attribute feature.
3639 * <!-- begin-user-doc -->
3640 * <!-- end-user-doc -->
3641 * @generated
3642 */
3643 EAttribute CLASS_DEFINITION__ABSTRACT = eINSTANCE.getClassDefinition_Abstract();
3644
3645 /**
3646 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
3647 * <!-- begin-user-doc -->
3648 * <!-- end-user-doc -->
3649 * @generated
3650 */
3651 EAttribute CLASS_DEFINITION__NAME = eINSTANCE.getClassDefinition_Name();
3652
3653 /**
3654 * The meta object literal for the '<em><b>Superclasses</b></em>' reference list feature.
3655 * <!-- begin-user-doc -->
3656 * <!-- end-user-doc -->
3657 * @generated
3658 */
3659 EReference CLASS_DEFINITION__SUPERCLASSES = eINSTANCE.getClassDefinition_Superclasses();
3660
3661 /**
3662 * The meta object literal for the '<em><b>Members</b></em>' containment reference list feature.
3663 * <!-- begin-user-doc -->
3664 * <!-- end-user-doc -->
3665 * @generated
3666 */
3667 EReference CLASS_DEFINITION__MEMBERS = eINSTANCE.getClassDefinition_Members();
3668
3669 /**
4783 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl <em>Member Definition</em>}' class. 3670 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl <em>Member Definition</em>}' class.
4784 * <!-- begin-user-doc --> 3671 * <!-- begin-user-doc -->
4785 * <!-- end-user-doc --> 3672 * <!-- end-user-doc -->
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java
index 9c3be9d6..7c8d208f 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java
@@ -3,8 +3,6 @@
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage; 4package org.eclipse.viatra.solver.language.solverLanguage;
5 5
6import org.eclipse.emf.common.util.EList;
7
8import org.eclipse.emf.ecore.EObject; 6import org.eclipse.emf.ecore.EObject;
9 7
10/** 8/**
@@ -12,15 +10,6 @@ import org.eclipse.emf.ecore.EObject;
12 * A representation of the model object '<em><b>Statement</b></em>'. 10 * A representation of the model object '<em><b>Statement</b></em>'.
13 * <!-- end-user-doc --> 11 * <!-- end-user-doc -->
14 * 12 *
15 * <p>
16 * The following features are supported:
17 * </p>
18 * <ul>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Statement#isAbstract <em>Abstract</em>}</li>
20 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Statement#getName <em>Name</em>}</li>
21 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Statement#getSuperclasses <em>Superclasses</em>}</li>
22 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Statement#getMembers <em>Members</em>}</li>
23 * </ul>
24 * 13 *
25 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStatement() 14 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStatement()
26 * @model 15 * @model
@@ -28,72 +17,4 @@ import org.eclipse.emf.ecore.EObject;
28 */ 17 */
29public interface Statement extends EObject 18public interface Statement extends EObject
30{ 19{
31 /**
32 * Returns the value of the '<em><b>Abstract</b></em>' attribute.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @return the value of the '<em>Abstract</em>' attribute.
36 * @see #setAbstract(boolean)
37 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStatement_Abstract()
38 * @model
39 * @generated
40 */
41 boolean isAbstract();
42
43 /**
44 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Statement#isAbstract <em>Abstract</em>}' attribute.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @param value the new value of the '<em>Abstract</em>' attribute.
48 * @see #isAbstract()
49 * @generated
50 */
51 void setAbstract(boolean value);
52
53 /**
54 * Returns the value of the '<em><b>Name</b></em>' attribute.
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @return the value of the '<em>Name</em>' attribute.
58 * @see #setName(String)
59 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStatement_Name()
60 * @model
61 * @generated
62 */
63 String getName();
64
65 /**
66 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Statement#getName <em>Name</em>}' attribute.
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @param value the new value of the '<em>Name</em>' attribute.
70 * @see #getName()
71 * @generated
72 */
73 void setName(String value);
74
75 /**
76 * Returns the value of the '<em><b>Superclasses</b></em>' reference list.
77 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement}.
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @return the value of the '<em>Superclasses</em>' reference list.
81 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStatement_Superclasses()
82 * @model
83 * @generated
84 */
85 EList<NamedElement> getSuperclasses();
86
87 /**
88 * Returns the value of the '<em><b>Members</b></em>' containment reference list.
89 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition}.
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @return the value of the '<em>Members</em>' containment reference list.
93 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStatement_Members()
94 * @model containment="true"
95 * @generated
96 */
97 EList<MemberDefinition> getMembers();
98
99} // Statement 20} // Statement
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java
index fde31be5..01712ad3 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java
@@ -25,9 +25,9 @@ import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
25 * </p> 25 * </p>
26 * <ul> 26 * <ul>
27 * <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#getFunctor <em>Functor</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl#getArgumentList <em>Argument List</em>}</li>
29 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl#isTransitiveClosure <em>Transitive Closure</em>}</li> 28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl#isTransitiveClosure <em>Transitive Closure</em>}</li>
30 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl#isReflexiveTransitiveClosure <em>Reflexive Transitive Closure</em>}</li> 29 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl#isReflexiveTransitiveClosure <em>Reflexive Transitive Closure</em>}</li>
30 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl#getArgumentList <em>Argument List</em>}</li>
31 * </ul> 31 * </ul>
32 * 32 *
33 * @generated 33 * @generated
@@ -45,16 +45,6 @@ public class CallImpl extends ExpressionImpl implements Call
45 protected Reference functor; 45 protected Reference functor;
46 46
47 /** 47 /**
48 * The cached value of the '{@link #getArgumentList() <em>Argument List</em>}' containment reference.
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @see #getArgumentList()
52 * @generated
53 * @ordered
54 */
55 protected ArgumentList argumentList;
56
57 /**
58 * The default value of the '{@link #isTransitiveClosure() <em>Transitive Closure</em>}' attribute. 48 * The default value of the '{@link #isTransitiveClosure() <em>Transitive Closure</em>}' attribute.
59 * <!-- begin-user-doc --> 49 * <!-- begin-user-doc -->
60 * <!-- end-user-doc --> 50 * <!-- end-user-doc -->
@@ -95,6 +85,16 @@ public class CallImpl extends ExpressionImpl implements Call
95 protected boolean reflexiveTransitiveClosure = REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT; 85 protected boolean reflexiveTransitiveClosure = REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT;
96 86
97 /** 87 /**
88 * The cached value of the '{@link #getArgumentList() <em>Argument List</em>}' containment reference.
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @see #getArgumentList()
92 * @generated
93 * @ordered
94 */
95 protected ArgumentList argumentList;
96
97 /**
98 * <!-- begin-user-doc --> 98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc --> 99 * <!-- end-user-doc -->
100 * @generated 100 * @generated
@@ -171,9 +171,9 @@ public class CallImpl extends ExpressionImpl implements Call
171 * @generated 171 * @generated
172 */ 172 */
173 @Override 173 @Override
174 public ArgumentList getArgumentList() 174 public boolean isTransitiveClosure()
175 { 175 {
176 return argumentList; 176 return transitiveClosure;
177 } 177 }
178 178
179 /** 179 /**
@@ -181,16 +181,13 @@ public class CallImpl extends ExpressionImpl implements Call
181 * <!-- end-user-doc --> 181 * <!-- end-user-doc -->
182 * @generated 182 * @generated
183 */ 183 */
184 public NotificationChain basicSetArgumentList(ArgumentList newArgumentList, NotificationChain msgs) 184 @Override
185 public void setTransitiveClosure(boolean newTransitiveClosure)
185 { 186 {
186 ArgumentList oldArgumentList = argumentList; 187 boolean oldTransitiveClosure = transitiveClosure;
187 argumentList = newArgumentList; 188 transitiveClosure = newTransitiveClosure;
188 if (eNotificationRequired()) 189 if (eNotificationRequired())
189 { 190 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE, oldTransitiveClosure, transitiveClosure));
190 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__ARGUMENT_LIST, oldArgumentList, newArgumentList);
191 if (msgs == null) msgs = notification; else msgs.add(notification);
192 }
193 return msgs;
194 } 191 }
195 192
196 /** 193 /**
@@ -199,20 +196,9 @@ public class CallImpl extends ExpressionImpl implements Call
199 * @generated 196 * @generated
200 */ 197 */
201 @Override 198 @Override
202 public void setArgumentList(ArgumentList newArgumentList) 199 public boolean isReflexiveTransitiveClosure()
203 { 200 {
204 if (newArgumentList != argumentList) 201 return reflexiveTransitiveClosure;
205 {
206 NotificationChain msgs = null;
207 if (argumentList != null)
208 msgs = ((InternalEObject)argumentList).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CALL__ARGUMENT_LIST, null, msgs);
209 if (newArgumentList != null)
210 msgs = ((InternalEObject)newArgumentList).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CALL__ARGUMENT_LIST, null, msgs);
211 msgs = basicSetArgumentList(newArgumentList, msgs);
212 if (msgs != null) msgs.dispatch();
213 }
214 else if (eNotificationRequired())
215 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__ARGUMENT_LIST, newArgumentList, newArgumentList));
216 } 202 }
217 203
218 /** 204 /**
@@ -221,9 +207,12 @@ public class CallImpl extends ExpressionImpl implements Call
221 * @generated 207 * @generated
222 */ 208 */
223 @Override 209 @Override
224 public boolean isTransitiveClosure() 210 public void setReflexiveTransitiveClosure(boolean newReflexiveTransitiveClosure)
225 { 211 {
226 return transitiveClosure; 212 boolean oldReflexiveTransitiveClosure = reflexiveTransitiveClosure;
213 reflexiveTransitiveClosure = newReflexiveTransitiveClosure;
214 if (eNotificationRequired())
215 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE, oldReflexiveTransitiveClosure, reflexiveTransitiveClosure));
227 } 216 }
228 217
229 /** 218 /**
@@ -232,12 +221,9 @@ public class CallImpl extends ExpressionImpl implements Call
232 * @generated 221 * @generated
233 */ 222 */
234 @Override 223 @Override
235 public void setTransitiveClosure(boolean newTransitiveClosure) 224 public ArgumentList getArgumentList()
236 { 225 {
237 boolean oldTransitiveClosure = transitiveClosure; 226 return argumentList;
238 transitiveClosure = newTransitiveClosure;
239 if (eNotificationRequired())
240 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE, oldTransitiveClosure, transitiveClosure));
241 } 227 }
242 228
243 /** 229 /**
@@ -245,10 +231,16 @@ public class CallImpl extends ExpressionImpl implements Call
245 * <!-- end-user-doc --> 231 * <!-- end-user-doc -->
246 * @generated 232 * @generated
247 */ 233 */
248 @Override 234 public NotificationChain basicSetArgumentList(ArgumentList newArgumentList, NotificationChain msgs)
249 public boolean isReflexiveTransitiveClosure()
250 { 235 {
251 return reflexiveTransitiveClosure; 236 ArgumentList oldArgumentList = argumentList;
237 argumentList = newArgumentList;
238 if (eNotificationRequired())
239 {
240 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__ARGUMENT_LIST, oldArgumentList, newArgumentList);
241 if (msgs == null) msgs = notification; else msgs.add(notification);
242 }
243 return msgs;
252 } 244 }
253 245
254 /** 246 /**
@@ -257,12 +249,20 @@ public class CallImpl extends ExpressionImpl implements Call
257 * @generated 249 * @generated
258 */ 250 */
259 @Override 251 @Override
260 public void setReflexiveTransitiveClosure(boolean newReflexiveTransitiveClosure) 252 public void setArgumentList(ArgumentList newArgumentList)
261 { 253 {
262 boolean oldReflexiveTransitiveClosure = reflexiveTransitiveClosure; 254 if (newArgumentList != argumentList)
263 reflexiveTransitiveClosure = newReflexiveTransitiveClosure; 255 {
264 if (eNotificationRequired()) 256 NotificationChain msgs = null;
265 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE, oldReflexiveTransitiveClosure, reflexiveTransitiveClosure)); 257 if (argumentList != null)
258 msgs = ((InternalEObject)argumentList).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CALL__ARGUMENT_LIST, null, msgs);
259 if (newArgumentList != null)
260 msgs = ((InternalEObject)newArgumentList).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CALL__ARGUMENT_LIST, null, msgs);
261 msgs = basicSetArgumentList(newArgumentList, msgs);
262 if (msgs != null) msgs.dispatch();
263 }
264 else if (eNotificationRequired())
265 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__ARGUMENT_LIST, newArgumentList, newArgumentList));
266 } 266 }
267 267
268 /** 268 /**
@@ -295,12 +295,12 @@ public class CallImpl extends ExpressionImpl implements Call
295 { 295 {
296 case SolverLanguagePackage.CALL__FUNCTOR: 296 case SolverLanguagePackage.CALL__FUNCTOR:
297 return getFunctor(); 297 return getFunctor();
298 case SolverLanguagePackage.CALL__ARGUMENT_LIST:
299 return getArgumentList();
300 case SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE: 298 case SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE:
301 return isTransitiveClosure(); 299 return isTransitiveClosure();
302 case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE: 300 case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE:
303 return isReflexiveTransitiveClosure(); 301 return isReflexiveTransitiveClosure();
302 case SolverLanguagePackage.CALL__ARGUMENT_LIST:
303 return getArgumentList();
304 } 304 }
305 return super.eGet(featureID, resolve, coreType); 305 return super.eGet(featureID, resolve, coreType);
306 } 306 }
@@ -318,15 +318,15 @@ public class CallImpl extends ExpressionImpl implements Call
318 case SolverLanguagePackage.CALL__FUNCTOR: 318 case SolverLanguagePackage.CALL__FUNCTOR:
319 setFunctor((Reference)newValue); 319 setFunctor((Reference)newValue);
320 return; 320 return;
321 case SolverLanguagePackage.CALL__ARGUMENT_LIST:
322 setArgumentList((ArgumentList)newValue);
323 return;
324 case SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE: 321 case SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE:
325 setTransitiveClosure((Boolean)newValue); 322 setTransitiveClosure((Boolean)newValue);
326 return; 323 return;
327 case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE: 324 case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE:
328 setReflexiveTransitiveClosure((Boolean)newValue); 325 setReflexiveTransitiveClosure((Boolean)newValue);
329 return; 326 return;
327 case SolverLanguagePackage.CALL__ARGUMENT_LIST:
328 setArgumentList((ArgumentList)newValue);
329 return;
330 } 330 }
331 super.eSet(featureID, newValue); 331 super.eSet(featureID, newValue);
332 } 332 }
@@ -344,15 +344,15 @@ public class CallImpl extends ExpressionImpl implements Call
344 case SolverLanguagePackage.CALL__FUNCTOR: 344 case SolverLanguagePackage.CALL__FUNCTOR:
345 setFunctor((Reference)null); 345 setFunctor((Reference)null);
346 return; 346 return;
347 case SolverLanguagePackage.CALL__ARGUMENT_LIST:
348 setArgumentList((ArgumentList)null);
349 return;
350 case SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE: 347 case SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE:
351 setTransitiveClosure(TRANSITIVE_CLOSURE_EDEFAULT); 348 setTransitiveClosure(TRANSITIVE_CLOSURE_EDEFAULT);
352 return; 349 return;
353 case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE: 350 case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE:
354 setReflexiveTransitiveClosure(REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT); 351 setReflexiveTransitiveClosure(REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT);
355 return; 352 return;
353 case SolverLanguagePackage.CALL__ARGUMENT_LIST:
354 setArgumentList((ArgumentList)null);
355 return;
356 } 356 }
357 super.eUnset(featureID); 357 super.eUnset(featureID);
358 } 358 }
@@ -369,12 +369,12 @@ public class CallImpl extends ExpressionImpl implements Call
369 { 369 {
370 case SolverLanguagePackage.CALL__FUNCTOR: 370 case SolverLanguagePackage.CALL__FUNCTOR:
371 return functor != null; 371 return functor != null;
372 case SolverLanguagePackage.CALL__ARGUMENT_LIST:
373 return argumentList != null;
374 case SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE: 372 case SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE:
375 return transitiveClosure != TRANSITIVE_CLOSURE_EDEFAULT; 373 return transitiveClosure != TRANSITIVE_CLOSURE_EDEFAULT;
376 case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE: 374 case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE:
377 return reflexiveTransitiveClosure != REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT; 375 return reflexiveTransitiveClosure != REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT;
376 case SolverLanguagePackage.CALL__ARGUMENT_LIST:
377 return argumentList != null;
378 } 378 }
379 return super.eIsSet(featureID); 379 return super.eIsSet(featureID);
380 } 380 }
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassDefinitionImpl.java
new file mode 100644
index 00000000..f0a81764
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassDefinitionImpl.java
@@ -0,0 +1,340 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import java.util.Collection;
7
8import org.eclipse.emf.common.notify.Notification;
9import org.eclipse.emf.common.notify.NotificationChain;
10
11import org.eclipse.emf.common.util.EList;
12
13import org.eclipse.emf.ecore.EClass;
14import org.eclipse.emf.ecore.InternalEObject;
15
16import org.eclipse.emf.ecore.impl.ENotificationImpl;
17
18import org.eclipse.emf.ecore.util.EObjectContainmentEList;
19import org.eclipse.emf.ecore.util.EObjectResolvingEList;
20import org.eclipse.emf.ecore.util.InternalEList;
21
22import org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition;
23import org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition;
24import org.eclipse.viatra.solver.language.solverLanguage.NamedElement;
25import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
26
27/**
28 * <!-- begin-user-doc -->
29 * An implementation of the model object '<em><b>Class Definition</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.ClassDefinitionImpl#isAbstract <em>Abstract</em>}</li>
36 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl#getName <em>Name</em>}</li>
37 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl#getSuperclasses <em>Superclasses</em>}</li>
38 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl#getMembers <em>Members</em>}</li>
39 * </ul>
40 *
41 * @generated
42 */
43public class ClassDefinitionImpl extends StatementImpl implements ClassDefinition
44{
45 /**
46 * The default value of the '{@link #isAbstract() <em>Abstract</em>}' attribute.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @see #isAbstract()
50 * @generated
51 * @ordered
52 */
53 protected static final boolean ABSTRACT_EDEFAULT = false;
54
55 /**
56 * The cached value of the '{@link #isAbstract() <em>Abstract</em>}' attribute.
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @see #isAbstract()
60 * @generated
61 * @ordered
62 */
63 protected boolean abstract_ = ABSTRACT_EDEFAULT;
64
65 /**
66 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @see #getName()
70 * @generated
71 * @ordered
72 */
73 protected static final String NAME_EDEFAULT = null;
74
75 /**
76 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @see #getName()
80 * @generated
81 * @ordered
82 */
83 protected String name = NAME_EDEFAULT;
84
85 /**
86 * The cached value of the '{@link #getSuperclasses() <em>Superclasses</em>}' reference list.
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @see #getSuperclasses()
90 * @generated
91 * @ordered
92 */
93 protected EList<NamedElement> superclasses;
94
95 /**
96 * The cached value of the '{@link #getMembers() <em>Members</em>}' containment reference list.
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @see #getMembers()
100 * @generated
101 * @ordered
102 */
103 protected EList<MemberDefinition> members;
104
105 /**
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 protected ClassDefinitionImpl()
111 {
112 super();
113 }
114
115 /**
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 */
120 @Override
121 protected EClass eStaticClass()
122 {
123 return SolverLanguagePackage.Literals.CLASS_DEFINITION;
124 }
125
126 /**
127 * <!-- begin-user-doc -->
128 * <!-- end-user-doc -->
129 * @generated
130 */
131 @Override
132 public boolean isAbstract()
133 {
134 return abstract_;
135 }
136
137 /**
138 * <!-- begin-user-doc -->
139 * <!-- end-user-doc -->
140 * @generated
141 */
142 @Override
143 public void setAbstract(boolean newAbstract)
144 {
145 boolean oldAbstract = abstract_;
146 abstract_ = newAbstract;
147 if (eNotificationRequired())
148 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CLASS_DEFINITION__ABSTRACT, oldAbstract, abstract_));
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 @Override
157 public String getName()
158 {
159 return name;
160 }
161
162 /**
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 */
167 @Override
168 public void setName(String newName)
169 {
170 String oldName = name;
171 name = newName;
172 if (eNotificationRequired())
173 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CLASS_DEFINITION__NAME, oldName, name));
174 }
175
176 /**
177 * <!-- begin-user-doc -->
178 * <!-- end-user-doc -->
179 * @generated
180 */
181 @Override
182 public EList<NamedElement> getSuperclasses()
183 {
184 if (superclasses == null)
185 {
186 superclasses = new EObjectResolvingEList<NamedElement>(NamedElement.class, this, SolverLanguagePackage.CLASS_DEFINITION__SUPERCLASSES);
187 }
188 return superclasses;
189 }
190
191 /**
192 * <!-- begin-user-doc -->
193 * <!-- end-user-doc -->
194 * @generated
195 */
196 @Override
197 public EList<MemberDefinition> getMembers()
198 {
199 if (members == null)
200 {
201 members = new EObjectContainmentEList<MemberDefinition>(MemberDefinition.class, this, SolverLanguagePackage.CLASS_DEFINITION__MEMBERS);
202 }
203 return members;
204 }
205
206 /**
207 * <!-- begin-user-doc -->
208 * <!-- end-user-doc -->
209 * @generated
210 */
211 @Override
212 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
213 {
214 switch (featureID)
215 {
216 case SolverLanguagePackage.CLASS_DEFINITION__MEMBERS:
217 return ((InternalEList<?>)getMembers()).basicRemove(otherEnd, msgs);
218 }
219 return super.eInverseRemove(otherEnd, featureID, msgs);
220 }
221
222 /**
223 * <!-- begin-user-doc -->
224 * <!-- end-user-doc -->
225 * @generated
226 */
227 @Override
228 public Object eGet(int featureID, boolean resolve, boolean coreType)
229 {
230 switch (featureID)
231 {
232 case SolverLanguagePackage.CLASS_DEFINITION__ABSTRACT:
233 return isAbstract();
234 case SolverLanguagePackage.CLASS_DEFINITION__NAME:
235 return getName();
236 case SolverLanguagePackage.CLASS_DEFINITION__SUPERCLASSES:
237 return getSuperclasses();
238 case SolverLanguagePackage.CLASS_DEFINITION__MEMBERS:
239 return getMembers();
240 }
241 return super.eGet(featureID, resolve, coreType);
242 }
243
244 /**
245 * <!-- begin-user-doc -->
246 * <!-- end-user-doc -->
247 * @generated
248 */
249 @SuppressWarnings("unchecked")
250 @Override
251 public void eSet(int featureID, Object newValue)
252 {
253 switch (featureID)
254 {
255 case SolverLanguagePackage.CLASS_DEFINITION__ABSTRACT:
256 setAbstract((Boolean)newValue);
257 return;
258 case SolverLanguagePackage.CLASS_DEFINITION__NAME:
259 setName((String)newValue);
260 return;
261 case SolverLanguagePackage.CLASS_DEFINITION__SUPERCLASSES:
262 getSuperclasses().clear();
263 getSuperclasses().addAll((Collection<? extends NamedElement>)newValue);
264 return;
265 case SolverLanguagePackage.CLASS_DEFINITION__MEMBERS:
266 getMembers().clear();
267 getMembers().addAll((Collection<? extends MemberDefinition>)newValue);
268 return;
269 }
270 super.eSet(featureID, newValue);
271 }
272
273 /**
274 * <!-- begin-user-doc -->
275 * <!-- end-user-doc -->
276 * @generated
277 */
278 @Override
279 public void eUnset(int featureID)
280 {
281 switch (featureID)
282 {
283 case SolverLanguagePackage.CLASS_DEFINITION__ABSTRACT:
284 setAbstract(ABSTRACT_EDEFAULT);
285 return;
286 case SolverLanguagePackage.CLASS_DEFINITION__NAME:
287 setName(NAME_EDEFAULT);
288 return;
289 case SolverLanguagePackage.CLASS_DEFINITION__SUPERCLASSES:
290 getSuperclasses().clear();
291 return;
292 case SolverLanguagePackage.CLASS_DEFINITION__MEMBERS:
293 getMembers().clear();
294 return;
295 }
296 super.eUnset(featureID);
297 }
298
299 /**
300 * <!-- begin-user-doc -->
301 * <!-- end-user-doc -->
302 * @generated
303 */
304 @Override
305 public boolean eIsSet(int featureID)
306 {
307 switch (featureID)
308 {
309 case SolverLanguagePackage.CLASS_DEFINITION__ABSTRACT:
310 return abstract_ != ABSTRACT_EDEFAULT;
311 case SolverLanguagePackage.CLASS_DEFINITION__NAME:
312 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
313 case SolverLanguagePackage.CLASS_DEFINITION__SUPERCLASSES:
314 return superclasses != null && !superclasses.isEmpty();
315 case SolverLanguagePackage.CLASS_DEFINITION__MEMBERS:
316 return members != null && !members.isEmpty();
317 }
318 return super.eIsSet(featureID);
319 }
320
321 /**
322 * <!-- begin-user-doc -->
323 * <!-- end-user-doc -->
324 * @generated
325 */
326 @Override
327 public String toString()
328 {
329 if (eIsProxy()) return super.toString();
330
331 StringBuilder result = new StringBuilder(super.toString());
332 result.append(" (abstract: ");
333 result.append(abstract_);
334 result.append(", name: ");
335 result.append(name);
336 result.append(')');
337 return result.toString();
338 }
339
340} //ClassDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java
index 8a5976c2..509d7568 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java
@@ -94,6 +94,7 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
94 case SolverLanguagePackage.INFINITY_LITERAL: return createInfinityLiteral(); 94 case SolverLanguagePackage.INFINITY_LITERAL: return createInfinityLiteral();
95 case SolverLanguagePackage.EMPTY_INTERVAL_LITERAL: return createEmptyIntervalLiteral(); 95 case SolverLanguagePackage.EMPTY_INTERVAL_LITERAL: return createEmptyIntervalLiteral();
96 case SolverLanguagePackage.STRING_LITERAL: return createStringLiteral(); 96 case SolverLanguagePackage.STRING_LITERAL: return createStringLiteral();
97 case SolverLanguagePackage.CLASS_DEFINITION: return createClassDefinition();
97 case SolverLanguagePackage.MEMBER_DEFINITION: return createMemberDefinition(); 98 case SolverLanguagePackage.MEMBER_DEFINITION: return createMemberDefinition();
98 case SolverLanguagePackage.MULTIPLICITY: return createMultiplicity(); 99 case SolverLanguagePackage.MULTIPLICITY: return createMultiplicity();
99 case SolverLanguagePackage.MANY_MULTIPLICITY: return createManyMultiplicity(); 100 case SolverLanguagePackage.MANY_MULTIPLICITY: return createManyMultiplicity();
@@ -513,6 +514,18 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
513 * @generated 514 * @generated
514 */ 515 */
515 @Override 516 @Override
517 public ClassDefinition createClassDefinition()
518 {
519 ClassDefinitionImpl classDefinition = new ClassDefinitionImpl();
520 return classDefinition;
521 }
522
523 /**
524 * <!-- begin-user-doc -->
525 * <!-- end-user-doc -->
526 * @generated
527 */
528 @Override
516 public MemberDefinition createMemberDefinition() 529 public MemberDefinition createMemberDefinition()
517 { 530 {
518 MemberDefinitionImpl memberDefinition = new MemberDefinitionImpl(); 531 MemberDefinitionImpl memberDefinition = new MemberDefinitionImpl();
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java
index 393a2545..39f811b9 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java
@@ -22,6 +22,7 @@ import org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity;
22import org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition; 22import org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition;
23import org.eclipse.viatra.solver.language.solverLanguage.Call; 23import org.eclipse.viatra.solver.language.solverLanguage.Call;
24import org.eclipse.viatra.solver.language.solverLanguage.Case; 24import org.eclipse.viatra.solver.language.solverLanguage.Case;
25import org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition;
25import org.eclipse.viatra.solver.language.solverLanguage.Comparison; 26import org.eclipse.viatra.solver.language.solverLanguage.Comparison;
26import org.eclipse.viatra.solver.language.solverLanguage.Conjunction; 27import org.eclipse.viatra.solver.language.solverLanguage.Conjunction;
27import org.eclipse.viatra.solver.language.solverLanguage.Count; 28import org.eclipse.viatra.solver.language.solverLanguage.Count;
@@ -275,6 +276,13 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
275 * <!-- end-user-doc --> 276 * <!-- end-user-doc -->
276 * @generated 277 * @generated
277 */ 278 */
279 private EClass classDefinitionEClass = null;
280
281 /**
282 * <!-- begin-user-doc -->
283 * <!-- end-user-doc -->
284 * @generated
285 */
278 private EClass memberDefinitionEClass = null; 286 private EClass memberDefinitionEClass = null;
279 287
280 /** 288 /**
@@ -540,50 +548,6 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
540 * @generated 548 * @generated
541 */ 549 */
542 @Override 550 @Override
543 public EAttribute getStatement_Abstract()
544 {
545 return (EAttribute)statementEClass.getEStructuralFeatures().get(0);
546 }
547
548 /**
549 * <!-- begin-user-doc -->
550 * <!-- end-user-doc -->
551 * @generated
552 */
553 @Override
554 public EAttribute getStatement_Name()
555 {
556 return (EAttribute)statementEClass.getEStructuralFeatures().get(1);
557 }
558
559 /**
560 * <!-- begin-user-doc -->
561 * <!-- end-user-doc -->
562 * @generated
563 */
564 @Override
565 public EReference getStatement_Superclasses()
566 {
567 return (EReference)statementEClass.getEStructuralFeatures().get(2);
568 }
569
570 /**
571 * <!-- begin-user-doc -->
572 * <!-- end-user-doc -->
573 * @generated
574 */
575 @Override
576 public EReference getStatement_Members()
577 {
578 return (EReference)statementEClass.getEStructuralFeatures().get(3);
579 }
580
581 /**
582 * <!-- begin-user-doc -->
583 * <!-- end-user-doc -->
584 * @generated
585 */
586 @Override
587 public EClass getPredicateDefinition() 551 public EClass getPredicateDefinition()
588 { 552 {
589 return predicateDefinitionEClass; 553 return predicateDefinitionEClass;
@@ -980,9 +944,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
980 * @generated 944 * @generated
981 */ 945 */
982 @Override 946 @Override
983 public EReference getCall_ArgumentList() 947 public EAttribute getCall_TransitiveClosure()
984 { 948 {
985 return (EReference)callEClass.getEStructuralFeatures().get(1); 949 return (EAttribute)callEClass.getEStructuralFeatures().get(1);
986 } 950 }
987 951
988 /** 952 /**
@@ -991,7 +955,7 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
991 * @generated 955 * @generated
992 */ 956 */
993 @Override 957 @Override
994 public EAttribute getCall_TransitiveClosure() 958 public EAttribute getCall_ReflexiveTransitiveClosure()
995 { 959 {
996 return (EAttribute)callEClass.getEStructuralFeatures().get(2); 960 return (EAttribute)callEClass.getEStructuralFeatures().get(2);
997 } 961 }
@@ -1002,9 +966,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1002 * @generated 966 * @generated
1003 */ 967 */
1004 @Override 968 @Override
1005 public EAttribute getCall_ReflexiveTransitiveClosure() 969 public EReference getCall_ArgumentList()
1006 { 970 {
1007 return (EAttribute)callEClass.getEStructuralFeatures().get(3); 971 return (EReference)callEClass.getEStructuralFeatures().get(3);
1008 } 972 }
1009 973
1010 /** 974 /**
@@ -1288,6 +1252,61 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1288 * @generated 1252 * @generated
1289 */ 1253 */
1290 @Override 1254 @Override
1255 public EClass getClassDefinition()
1256 {
1257 return classDefinitionEClass;
1258 }
1259
1260 /**
1261 * <!-- begin-user-doc -->
1262 * <!-- end-user-doc -->
1263 * @generated
1264 */
1265 @Override
1266 public EAttribute getClassDefinition_Abstract()
1267 {
1268 return (EAttribute)classDefinitionEClass.getEStructuralFeatures().get(0);
1269 }
1270
1271 /**
1272 * <!-- begin-user-doc -->
1273 * <!-- end-user-doc -->
1274 * @generated
1275 */
1276 @Override
1277 public EAttribute getClassDefinition_Name()
1278 {
1279 return (EAttribute)classDefinitionEClass.getEStructuralFeatures().get(1);
1280 }
1281
1282 /**
1283 * <!-- begin-user-doc -->
1284 * <!-- end-user-doc -->
1285 * @generated
1286 */
1287 @Override
1288 public EReference getClassDefinition_Superclasses()
1289 {
1290 return (EReference)classDefinitionEClass.getEStructuralFeatures().get(2);
1291 }
1292
1293 /**
1294 * <!-- begin-user-doc -->
1295 * <!-- end-user-doc -->
1296 * @generated
1297 */
1298 @Override
1299 public EReference getClassDefinition_Members()
1300 {
1301 return (EReference)classDefinitionEClass.getEStructuralFeatures().get(3);
1302 }
1303
1304 /**
1305 * <!-- begin-user-doc -->
1306 * <!-- end-user-doc -->
1307 * @generated
1308 */
1309 @Override
1291 public EClass getMemberDefinition() 1310 public EClass getMemberDefinition()
1292 { 1311 {
1293 return memberDefinitionEClass; 1312 return memberDefinitionEClass;
@@ -1900,10 +1919,6 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1900 createEReference(problemEClass, PROBLEM__STATEMENTS); 1919 createEReference(problemEClass, PROBLEM__STATEMENTS);
1901 1920
1902 statementEClass = createEClass(STATEMENT); 1921 statementEClass = createEClass(STATEMENT);
1903 createEAttribute(statementEClass, STATEMENT__ABSTRACT);
1904 createEAttribute(statementEClass, STATEMENT__NAME);
1905 createEReference(statementEClass, STATEMENT__SUPERCLASSES);
1906 createEReference(statementEClass, STATEMENT__MEMBERS);
1907 1922
1908 predicateDefinitionEClass = createEClass(PREDICATE_DEFINITION); 1923 predicateDefinitionEClass = createEClass(PREDICATE_DEFINITION);
1909 createEReference(predicateDefinitionEClass, PREDICATE_DEFINITION__HEAD); 1924 createEReference(predicateDefinitionEClass, PREDICATE_DEFINITION__HEAD);
@@ -1952,9 +1967,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1952 1967
1953 callEClass = createEClass(CALL); 1968 callEClass = createEClass(CALL);
1954 createEReference(callEClass, CALL__FUNCTOR); 1969 createEReference(callEClass, CALL__FUNCTOR);
1955 createEReference(callEClass, CALL__ARGUMENT_LIST);
1956 createEAttribute(callEClass, CALL__TRANSITIVE_CLOSURE); 1970 createEAttribute(callEClass, CALL__TRANSITIVE_CLOSURE);
1957 createEAttribute(callEClass, CALL__REFLEXIVE_TRANSITIVE_CLOSURE); 1971 createEAttribute(callEClass, CALL__REFLEXIVE_TRANSITIVE_CLOSURE);
1972 createEReference(callEClass, CALL__ARGUMENT_LIST);
1958 1973
1959 argumentListEClass = createEClass(ARGUMENT_LIST); 1974 argumentListEClass = createEClass(ARGUMENT_LIST);
1960 createEReference(argumentListEClass, ARGUMENT_LIST__ARGUMENTS); 1975 createEReference(argumentListEClass, ARGUMENT_LIST__ARGUMENTS);
@@ -1995,6 +2010,12 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1995 stringLiteralEClass = createEClass(STRING_LITERAL); 2010 stringLiteralEClass = createEClass(STRING_LITERAL);
1996 createEAttribute(stringLiteralEClass, STRING_LITERAL__VALUE); 2011 createEAttribute(stringLiteralEClass, STRING_LITERAL__VALUE);
1997 2012
2013 classDefinitionEClass = createEClass(CLASS_DEFINITION);
2014 createEAttribute(classDefinitionEClass, CLASS_DEFINITION__ABSTRACT);
2015 createEAttribute(classDefinitionEClass, CLASS_DEFINITION__NAME);
2016 createEReference(classDefinitionEClass, CLASS_DEFINITION__SUPERCLASSES);
2017 createEReference(classDefinitionEClass, CLASS_DEFINITION__MEMBERS);
2018
1998 memberDefinitionEClass = createEClass(MEMBER_DEFINITION); 2019 memberDefinitionEClass = createEClass(MEMBER_DEFINITION);
1999 createEAttribute(memberDefinitionEClass, MEMBER_DEFINITION__CONTAINMENT); 2020 createEAttribute(memberDefinitionEClass, MEMBER_DEFINITION__CONTAINMENT);
2000 createEReference(memberDefinitionEClass, MEMBER_DEFINITION__TYPE); 2021 createEReference(memberDefinitionEClass, MEMBER_DEFINITION__TYPE);
@@ -2122,6 +2143,7 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
2122 infinityLiteralEClass.getESuperTypes().add(this.getLiteral()); 2143 infinityLiteralEClass.getESuperTypes().add(this.getLiteral());
2123 emptyIntervalLiteralEClass.getESuperTypes().add(this.getLiteral()); 2144 emptyIntervalLiteralEClass.getESuperTypes().add(this.getLiteral());
2124 stringLiteralEClass.getESuperTypes().add(this.getLiteral()); 2145 stringLiteralEClass.getESuperTypes().add(this.getLiteral());
2146 classDefinitionEClass.getESuperTypes().add(this.getStatement());
2125 manyMultiplicityEClass.getESuperTypes().add(this.getMultiplicity()); 2147 manyMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
2126 exactMultiplicityEClass.getESuperTypes().add(this.getMultiplicity()); 2148 exactMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
2127 boundedMultiplicityEClass.getESuperTypes().add(this.getMultiplicity()); 2149 boundedMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
@@ -2143,10 +2165,6 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
2143 initEReference(getProblem_Statements(), this.getStatement(), null, "statements", null, 0, -1, Problem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 2165 initEReference(getProblem_Statements(), this.getStatement(), null, "statements", null, 0, -1, Problem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2144 2166
2145 initEClass(statementEClass, Statement.class, "Statement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2167 initEClass(statementEClass, Statement.class, "Statement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2146 initEAttribute(getStatement_Abstract(), ecorePackage.getEBoolean(), "abstract", null, 0, 1, Statement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2147 initEAttribute(getStatement_Name(), ecorePackage.getEString(), "name", null, 0, 1, Statement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2148 initEReference(getStatement_Superclasses(), this.getNamedElement(), null, "superclasses", null, 0, -1, Statement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2149 initEReference(getStatement_Members(), this.getMemberDefinition(), null, "members", null, 0, -1, Statement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2150 2168
2151 initEClass(predicateDefinitionEClass, PredicateDefinition.class, "PredicateDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2169 initEClass(predicateDefinitionEClass, PredicateDefinition.class, "PredicateDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2152 initEReference(getPredicateDefinition_Head(), this.getExpression(), null, "head", null, 0, 1, PredicateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 2170 initEReference(getPredicateDefinition_Head(), this.getExpression(), null, "head", null, 0, 1, PredicateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -2195,9 +2213,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
2195 2213
2196 initEClass(callEClass, Call.class, "Call", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2214 initEClass(callEClass, Call.class, "Call", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2197 initEReference(getCall_Functor(), this.getReference(), null, "functor", null, 0, 1, Call.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 2215 initEReference(getCall_Functor(), this.getReference(), null, "functor", null, 0, 1, Call.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2198 initEReference(getCall_ArgumentList(), this.getArgumentList(), null, "argumentList", null, 0, 1, Call.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2199 initEAttribute(getCall_TransitiveClosure(), ecorePackage.getEBoolean(), "transitiveClosure", null, 0, 1, Call.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 2216 initEAttribute(getCall_TransitiveClosure(), ecorePackage.getEBoolean(), "transitiveClosure", null, 0, 1, Call.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2200 initEAttribute(getCall_ReflexiveTransitiveClosure(), ecorePackage.getEBoolean(), "reflexiveTransitiveClosure", null, 0, 1, Call.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 2217 initEAttribute(getCall_ReflexiveTransitiveClosure(), ecorePackage.getEBoolean(), "reflexiveTransitiveClosure", null, 0, 1, Call.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2218 initEReference(getCall_ArgumentList(), this.getArgumentList(), null, "argumentList", null, 0, 1, Call.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2201 2219
2202 initEClass(argumentListEClass, ArgumentList.class, "ArgumentList", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2220 initEClass(argumentListEClass, ArgumentList.class, "ArgumentList", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2203 initEReference(getArgumentList_Arguments(), this.getArgument(), null, "arguments", null, 0, -1, ArgumentList.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 2221 initEReference(getArgumentList_Arguments(), this.getArgument(), null, "arguments", null, 0, -1, ArgumentList.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -2238,6 +2256,12 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
2238 initEClass(stringLiteralEClass, StringLiteral.class, "StringLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2256 initEClass(stringLiteralEClass, StringLiteral.class, "StringLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2239 initEAttribute(getStringLiteral_Value(), ecorePackage.getEString(), "value", null, 0, 1, StringLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 2257 initEAttribute(getStringLiteral_Value(), ecorePackage.getEString(), "value", null, 0, 1, StringLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2240 2258
2259 initEClass(classDefinitionEClass, ClassDefinition.class, "ClassDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2260 initEAttribute(getClassDefinition_Abstract(), ecorePackage.getEBoolean(), "abstract", null, 0, 1, ClassDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2261 initEAttribute(getClassDefinition_Name(), ecorePackage.getEString(), "name", null, 0, 1, ClassDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2262 initEReference(getClassDefinition_Superclasses(), this.getNamedElement(), null, "superclasses", null, 0, -1, ClassDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2263 initEReference(getClassDefinition_Members(), this.getMemberDefinition(), null, "members", null, 0, -1, ClassDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2264
2241 initEClass(memberDefinitionEClass, MemberDefinition.class, "MemberDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2265 initEClass(memberDefinitionEClass, MemberDefinition.class, "MemberDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2242 initEAttribute(getMemberDefinition_Containment(), ecorePackage.getEBoolean(), "containment", null, 0, 1, MemberDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 2266 initEAttribute(getMemberDefinition_Containment(), ecorePackage.getEBoolean(), "containment", null, 0, 1, MemberDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2243 initEReference(getMemberDefinition_Type(), this.getNamedElement(), null, "type", null, 0, 1, MemberDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 2267 initEReference(getMemberDefinition_Type(), this.getNamedElement(), null, "type", null, 0, 1, MemberDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java
index dbd697ec..d349d1a4 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java
@@ -3,25 +3,10 @@
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl; 4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5 5
6import java.util.Collection;
7
8import org.eclipse.emf.common.notify.Notification;
9import org.eclipse.emf.common.notify.NotificationChain;
10
11import org.eclipse.emf.common.util.EList;
12
13import org.eclipse.emf.ecore.EClass; 6import org.eclipse.emf.ecore.EClass;
14import org.eclipse.emf.ecore.InternalEObject;
15 7
16import org.eclipse.emf.ecore.impl.ENotificationImpl;
17import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; 8import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
18 9
19import org.eclipse.emf.ecore.util.EObjectContainmentEList;
20import org.eclipse.emf.ecore.util.EObjectResolvingEList;
21import org.eclipse.emf.ecore.util.InternalEList;
22
23import org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition;
24import org.eclipse.viatra.solver.language.solverLanguage.NamedElement;
25import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 10import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
26import org.eclipse.viatra.solver.language.solverLanguage.Statement; 11import org.eclipse.viatra.solver.language.solverLanguage.Statement;
27 12
@@ -29,81 +14,12 @@ import org.eclipse.viatra.solver.language.solverLanguage.Statement;
29 * <!-- begin-user-doc --> 14 * <!-- begin-user-doc -->
30 * An implementation of the model object '<em><b>Statement</b></em>'. 15 * An implementation of the model object '<em><b>Statement</b></em>'.
31 * <!-- end-user-doc --> 16 * <!-- end-user-doc -->
32 * <p>
33 * The following features are implemented:
34 * </p>
35 * <ul>
36 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl#isAbstract <em>Abstract</em>}</li>
37 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl#getName <em>Name</em>}</li>
38 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl#getSuperclasses <em>Superclasses</em>}</li>
39 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl#getMembers <em>Members</em>}</li>
40 * </ul>
41 * 17 *
42 * @generated 18 * @generated
43 */ 19 */
44public class StatementImpl extends MinimalEObjectImpl.Container implements Statement 20public class StatementImpl extends MinimalEObjectImpl.Container implements Statement
45{ 21{
46 /** 22 /**
47 * The default value of the '{@link #isAbstract() <em>Abstract</em>}' attribute.
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @see #isAbstract()
51 * @generated
52 * @ordered
53 */
54 protected static final boolean ABSTRACT_EDEFAULT = false;
55
56 /**
57 * The cached value of the '{@link #isAbstract() <em>Abstract</em>}' attribute.
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @see #isAbstract()
61 * @generated
62 * @ordered
63 */
64 protected boolean abstract_ = ABSTRACT_EDEFAULT;
65
66 /**
67 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @see #getName()
71 * @generated
72 * @ordered
73 */
74 protected static final String NAME_EDEFAULT = null;
75
76 /**
77 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @see #getName()
81 * @generated
82 * @ordered
83 */
84 protected String name = NAME_EDEFAULT;
85
86 /**
87 * The cached value of the '{@link #getSuperclasses() <em>Superclasses</em>}' reference list.
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @see #getSuperclasses()
91 * @generated
92 * @ordered
93 */
94 protected EList<NamedElement> superclasses;
95
96 /**
97 * The cached value of the '{@link #getMembers() <em>Members</em>}' containment reference list.
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @see #getMembers()
101 * @generated
102 * @ordered
103 */
104 protected EList<MemberDefinition> members;
105
106 /**
107 * <!-- begin-user-doc --> 23 * <!-- begin-user-doc -->
108 * <!-- end-user-doc --> 24 * <!-- end-user-doc -->
109 * @generated 25 * @generated
@@ -124,218 +40,4 @@ public class StatementImpl extends MinimalEObjectImpl.Container implements State
124 return SolverLanguagePackage.Literals.STATEMENT; 40 return SolverLanguagePackage.Literals.STATEMENT;
125 } 41 }
126 42
127 /**
128 * <!-- begin-user-doc -->
129 * <!-- end-user-doc -->
130 * @generated
131 */
132 @Override
133 public boolean isAbstract()
134 {
135 return abstract_;
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 @Override
144 public void setAbstract(boolean newAbstract)
145 {
146 boolean oldAbstract = abstract_;
147 abstract_ = newAbstract;
148 if (eNotificationRequired())
149 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.STATEMENT__ABSTRACT, oldAbstract, abstract_));
150 }
151
152 /**
153 * <!-- begin-user-doc -->
154 * <!-- end-user-doc -->
155 * @generated
156 */
157 @Override
158 public String getName()
159 {
160 return name;
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 @Override
169 public void setName(String newName)
170 {
171 String oldName = name;
172 name = newName;
173 if (eNotificationRequired())
174 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.STATEMENT__NAME, oldName, name));
175 }
176
177 /**
178 * <!-- begin-user-doc -->
179 * <!-- end-user-doc -->
180 * @generated
181 */
182 @Override
183 public EList<NamedElement> getSuperclasses()
184 {
185 if (superclasses == null)
186 {
187 superclasses = new EObjectResolvingEList<NamedElement>(NamedElement.class, this, SolverLanguagePackage.STATEMENT__SUPERCLASSES);
188 }
189 return superclasses;
190 }
191
192 /**
193 * <!-- begin-user-doc -->
194 * <!-- end-user-doc -->
195 * @generated
196 */
197 @Override
198 public EList<MemberDefinition> getMembers()
199 {
200 if (members == null)
201 {
202 members = new EObjectContainmentEList<MemberDefinition>(MemberDefinition.class, this, SolverLanguagePackage.STATEMENT__MEMBERS);
203 }
204 return members;
205 }
206
207 /**
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @generated
211 */
212 @Override
213 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
214 {
215 switch (featureID)
216 {
217 case SolverLanguagePackage.STATEMENT__MEMBERS:
218 return ((InternalEList<?>)getMembers()).basicRemove(otherEnd, msgs);
219 }
220 return super.eInverseRemove(otherEnd, featureID, msgs);
221 }
222
223 /**
224 * <!-- begin-user-doc -->
225 * <!-- end-user-doc -->
226 * @generated
227 */
228 @Override
229 public Object eGet(int featureID, boolean resolve, boolean coreType)
230 {
231 switch (featureID)
232 {
233 case SolverLanguagePackage.STATEMENT__ABSTRACT:
234 return isAbstract();
235 case SolverLanguagePackage.STATEMENT__NAME:
236 return getName();
237 case SolverLanguagePackage.STATEMENT__SUPERCLASSES:
238 return getSuperclasses();
239 case SolverLanguagePackage.STATEMENT__MEMBERS:
240 return getMembers();
241 }
242 return super.eGet(featureID, resolve, coreType);
243 }
244
245 /**
246 * <!-- begin-user-doc -->
247 * <!-- end-user-doc -->
248 * @generated
249 */
250 @SuppressWarnings("unchecked")
251 @Override
252 public void eSet(int featureID, Object newValue)
253 {
254 switch (featureID)
255 {
256 case SolverLanguagePackage.STATEMENT__ABSTRACT:
257 setAbstract((Boolean)newValue);
258 return;
259 case SolverLanguagePackage.STATEMENT__NAME:
260 setName((String)newValue);
261 return;
262 case SolverLanguagePackage.STATEMENT__SUPERCLASSES:
263 getSuperclasses().clear();
264 getSuperclasses().addAll((Collection<? extends NamedElement>)newValue);
265 return;
266 case SolverLanguagePackage.STATEMENT__MEMBERS:
267 getMembers().clear();
268 getMembers().addAll((Collection<? extends MemberDefinition>)newValue);
269 return;
270 }
271 super.eSet(featureID, newValue);
272 }
273
274 /**
275 * <!-- begin-user-doc -->
276 * <!-- end-user-doc -->
277 * @generated
278 */
279 @Override
280 public void eUnset(int featureID)
281 {
282 switch (featureID)
283 {
284 case SolverLanguagePackage.STATEMENT__ABSTRACT:
285 setAbstract(ABSTRACT_EDEFAULT);
286 return;
287 case SolverLanguagePackage.STATEMENT__NAME:
288 setName(NAME_EDEFAULT);
289 return;
290 case SolverLanguagePackage.STATEMENT__SUPERCLASSES:
291 getSuperclasses().clear();
292 return;
293 case SolverLanguagePackage.STATEMENT__MEMBERS:
294 getMembers().clear();
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 {
308 switch (featureID)
309 {
310 case SolverLanguagePackage.STATEMENT__ABSTRACT:
311 return abstract_ != ABSTRACT_EDEFAULT;
312 case SolverLanguagePackage.STATEMENT__NAME:
313 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
314 case SolverLanguagePackage.STATEMENT__SUPERCLASSES:
315 return superclasses != null && !superclasses.isEmpty();
316 case SolverLanguagePackage.STATEMENT__MEMBERS:
317 return members != null && !members.isEmpty();
318 }
319 return super.eIsSet(featureID);
320 }
321
322 /**
323 * <!-- begin-user-doc -->
324 * <!-- end-user-doc -->
325 * @generated
326 */
327 @Override
328 public String toString()
329 {
330 if (eIsProxy()) return super.toString();
331
332 StringBuilder result = new StringBuilder(super.toString());
333 result.append(" (abstract: ");
334 result.append(abstract_);
335 result.append(", name: ");
336 result.append(name);
337 result.append(')');
338 return result.toString();
339 }
340
341} //StatementImpl 43} //StatementImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java
index e46d6779..37b20718 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java
@@ -216,6 +216,11 @@ public class SolverLanguageAdapterFactory extends AdapterFactoryImpl
216 return createStringLiteralAdapter(); 216 return createStringLiteralAdapter();
217 } 217 }
218 @Override 218 @Override
219 public Adapter caseClassDefinition(ClassDefinition object)
220 {
221 return createClassDefinitionAdapter();
222 }
223 @Override
219 public Adapter caseMemberDefinition(MemberDefinition object) 224 public Adapter caseMemberDefinition(MemberDefinition object)
220 { 225 {
221 return createMemberDefinitionAdapter(); 226 return createMemberDefinitionAdapter();
@@ -748,6 +753,21 @@ public class SolverLanguageAdapterFactory extends AdapterFactoryImpl
748 } 753 }
749 754
750 /** 755 /**
756 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition <em>Class Definition</em>}'.
757 * <!-- begin-user-doc -->
758 * This default implementation returns null so that we can easily ignore cases;
759 * it's useful to ignore a case when inheritance will catch all the cases anyway.
760 * <!-- end-user-doc -->
761 * @return the new adapter.
762 * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition
763 * @generated
764 */
765 public Adapter createClassDefinitionAdapter()
766 {
767 return null;
768 }
769
770 /**
751 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition <em>Member Definition</em>}'. 771 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition <em>Member Definition</em>}'.
752 * <!-- begin-user-doc --> 772 * <!-- begin-user-doc -->
753 * This default implementation returns null so that we can easily ignore cases; 773 * This default implementation returns null so that we can easily ignore cases;
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java
index f64b6bc0..79a98ff7 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java
@@ -311,6 +311,14 @@ public class SolverLanguageSwitch<T> extends Switch<T>
311 if (result == null) result = defaultCase(theEObject); 311 if (result == null) result = defaultCase(theEObject);
312 return result; 312 return result;
313 } 313 }
314 case SolverLanguagePackage.CLASS_DEFINITION:
315 {
316 ClassDefinition classDefinition = (ClassDefinition)theEObject;
317 T result = caseClassDefinition(classDefinition);
318 if (result == null) result = caseStatement(classDefinition);
319 if (result == null) result = defaultCase(theEObject);
320 return result;
321 }
314 case SolverLanguagePackage.MEMBER_DEFINITION: 322 case SolverLanguagePackage.MEMBER_DEFINITION:
315 { 323 {
316 MemberDefinition memberDefinition = (MemberDefinition)theEObject; 324 MemberDefinition memberDefinition = (MemberDefinition)theEObject;
@@ -914,6 +922,22 @@ public class SolverLanguageSwitch<T> extends Switch<T>
914 } 922 }
915 923
916 /** 924 /**
925 * Returns the result of interpreting the object as an instance of '<em>Class Definition</em>'.
926 * <!-- begin-user-doc -->
927 * This implementation returns null;
928 * returning a non-null result will terminate the switch.
929 * <!-- end-user-doc -->
930 * @param object the target of the switch.
931 * @return the result of interpreting the object as an instance of '<em>Class Definition</em>'.
932 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
933 * @generated
934 */
935 public T caseClassDefinition(ClassDefinition object)
936 {
937 return null;
938 }
939
940 /**
917 * Returns the result of interpreting the object as an instance of '<em>Member Definition</em>'. 941 * Returns the result of interpreting the object as an instance of '<em>Member Definition</em>'.
918 * <!-- begin-user-doc --> 942 * <!-- begin-user-doc -->
919 * This implementation returns null; 943 * This implementation returns null;