aboutsummaryrefslogtreecommitdiffstats
path: root/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java')
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java2726
1 files changed, 2726 insertions, 0 deletions
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java
new file mode 100644
index 00000000..e8834386
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java
@@ -0,0 +1,2726 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EAttribute;
7import org.eclipse.emf.ecore.EClass;
8import org.eclipse.emf.ecore.EEnum;
9import org.eclipse.emf.ecore.EPackage;
10import org.eclipse.emf.ecore.EReference;
11
12import org.eclipse.emf.ecore.impl.EPackageImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.Aggregation;
15import org.eclipse.viatra.solver.language.solverLanguage.Argument;
16import org.eclipse.viatra.solver.language.solverLanguage.ArgumentList;
17import org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression;
18import org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator;
19import org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity;
20import org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition;
21import org.eclipse.viatra.solver.language.solverLanguage.Call;
22import org.eclipse.viatra.solver.language.solverLanguage.Case;
23import org.eclipse.viatra.solver.language.solverLanguage.CastExpression;
24import org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition;
25import org.eclipse.viatra.solver.language.solverLanguage.Comparison;
26import org.eclipse.viatra.solver.language.solverLanguage.Conjunction;
27import org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition;
28import org.eclipse.viatra.solver.language.solverLanguage.Disjunction;
29import org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral;
30import org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity;
31import org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition;
32import org.eclipse.viatra.solver.language.solverLanguage.Expression;
33import org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument;
34import org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition;
35import org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDefinition;
36import org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition;
37import org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition;
38import org.eclipse.viatra.solver.language.solverLanguage.Functor;
39import org.eclipse.viatra.solver.language.solverLanguage.IfElse;
40import org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral;
41import org.eclipse.viatra.solver.language.solverLanguage.Interpretation;
42import org.eclipse.viatra.solver.language.solverLanguage.Interval;
43import org.eclipse.viatra.solver.language.solverLanguage.Let;
44import org.eclipse.viatra.solver.language.solverLanguage.LetBinding;
45import org.eclipse.viatra.solver.language.solverLanguage.Literal;
46import org.eclipse.viatra.solver.language.solverLanguage.LocalVariables;
47import org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral;
48import org.eclipse.viatra.solver.language.solverLanguage.LogicValue;
49import org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition;
50import org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity;
51import org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition;
52import org.eclipse.viatra.solver.language.solverLanguage.Metric;
53import org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition;
54import org.eclipse.viatra.solver.language.solverLanguage.Multiplicity;
55import org.eclipse.viatra.solver.language.solverLanguage.NamedElement;
56import org.eclipse.viatra.solver.language.solverLanguage.Node;
57import org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral;
58import org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition;
59import org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind;
60import org.eclipse.viatra.solver.language.solverLanguage.Predicate;
61import org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition;
62import org.eclipse.viatra.solver.language.solverLanguage.Problem;
63import org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression;
64import org.eclipse.viatra.solver.language.solverLanguage.Quantifier;
65import org.eclipse.viatra.solver.language.solverLanguage.Reference;
66import org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition;
67import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguageFactory;
68import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
69import org.eclipse.viatra.solver.language.solverLanguage.StarArgument;
70import org.eclipse.viatra.solver.language.solverLanguage.Statement;
71import org.eclipse.viatra.solver.language.solverLanguage.StringLiteral;
72import org.eclipse.viatra.solver.language.solverLanguage.Switch;
73import org.eclipse.viatra.solver.language.solverLanguage.TypedArgument;
74import org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument;
75import org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression;
76import org.eclipse.viatra.solver.language.solverLanguage.UnaryOp;
77import org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition;
78import org.eclipse.viatra.solver.language.solverLanguage.Variable;
79
80/**
81 * <!-- begin-user-doc -->
82 * An implementation of the model <b>Package</b>.
83 * <!-- end-user-doc -->
84 * @generated
85 */
86public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLanguagePackage {
87 /**
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @generated
91 */
92 private EClass problemEClass = null;
93
94 /**
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @generated
98 */
99 private EClass statementEClass = null;
100
101 /**
102 * <!-- begin-user-doc -->
103 * <!-- end-user-doc -->
104 * @generated
105 */
106 private EClass predicateDefinitionEClass = null;
107
108 /**
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 private EClass unnamedErrorPrediateDefinitionEClass = null;
114
115 /**
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 */
120 private EClass defaultDefinitionEClass = null;
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 private EClass metricDefinitionEClass = null;
128
129 /**
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @generated
133 */
134 private EClass externPredicateDefinitionEClass = null;
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 private EClass externMetricDefinitionEClass = null;
142
143 /**
144 * <!-- begin-user-doc -->
145 * <!-- end-user-doc -->
146 * @generated
147 */
148 private EClass externAggregatorDefinitionEClass = null;
149
150 /**
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 private EClass externDatatypeDefinitionEClass = null;
156
157 /**
158 * <!-- begin-user-doc -->
159 * <!-- end-user-doc -->
160 * @generated
161 */
162 private EClass namedElementEClass = null;
163
164 /**
165 * <!-- begin-user-doc -->
166 * <!-- end-user-doc -->
167 * @generated
168 */
169 private EClass expressionEClass = null;
170
171 /**
172 * <!-- begin-user-doc -->
173 * <!-- end-user-doc -->
174 * @generated
175 */
176 private EClass ifElseEClass = null;
177
178 /**
179 * <!-- begin-user-doc -->
180 * <!-- end-user-doc -->
181 * @generated
182 */
183 private EClass letEClass = null;
184
185 /**
186 * <!-- begin-user-doc -->
187 * <!-- end-user-doc -->
188 * @generated
189 */
190 private EClass letBindingEClass = null;
191
192 /**
193 * <!-- begin-user-doc -->
194 * <!-- end-user-doc -->
195 * @generated
196 */
197 private EClass caseEClass = null;
198
199 /**
200 * <!-- begin-user-doc -->
201 * <!-- end-user-doc -->
202 * @generated
203 */
204 private EClass localVariablesEClass = null;
205
206 /**
207 * <!-- begin-user-doc -->
208 * <!-- end-user-doc -->
209 * @generated
210 */
211 private EClass quantifiedExpressionEClass = null;
212
213 /**
214 * <!-- begin-user-doc -->
215 * <!-- end-user-doc -->
216 * @generated
217 */
218 private EClass aggregationEClass = null;
219
220 /**
221 * <!-- begin-user-doc -->
222 * <!-- end-user-doc -->
223 * @generated
224 */
225 private EClass callEClass = null;
226
227 /**
228 * <!-- begin-user-doc -->
229 * <!-- end-user-doc -->
230 * @generated
231 */
232 private EClass argumentListEClass = null;
233
234 /**
235 * <!-- begin-user-doc -->
236 * <!-- end-user-doc -->
237 * @generated
238 */
239 private EClass argumentEClass = null;
240
241 /**
242 * <!-- begin-user-doc -->
243 * <!-- end-user-doc -->
244 * @generated
245 */
246 private EClass expressionArgumentEClass = null;
247
248 /**
249 * <!-- begin-user-doc -->
250 * <!-- end-user-doc -->
251 * @generated
252 */
253 private EClass starArgumentEClass = null;
254
255 /**
256 * <!-- begin-user-doc -->
257 * <!-- end-user-doc -->
258 * @generated
259 */
260 private EClass typedArgumentEClass = null;
261
262 /**
263 * <!-- begin-user-doc -->
264 * <!-- end-user-doc -->
265 * @generated
266 */
267 private EClass typedStarArgumentEClass = null;
268
269 /**
270 * <!-- begin-user-doc -->
271 * <!-- end-user-doc -->
272 * @generated
273 */
274 private EClass referenceEClass = null;
275
276 /**
277 * <!-- begin-user-doc -->
278 * <!-- end-user-doc -->
279 * @generated
280 */
281 private EClass intervalEClass = null;
282
283 /**
284 * <!-- begin-user-doc -->
285 * <!-- end-user-doc -->
286 * @generated
287 */
288 private EClass literalEClass = null;
289
290 /**
291 * <!-- begin-user-doc -->
292 * <!-- end-user-doc -->
293 * @generated
294 */
295 private EClass logicLiteralEClass = null;
296
297 /**
298 * <!-- begin-user-doc -->
299 * <!-- end-user-doc -->
300 * @generated
301 */
302 private EClass numericLiteralEClass = null;
303
304 /**
305 * <!-- begin-user-doc -->
306 * <!-- end-user-doc -->
307 * @generated
308 */
309 private EClass infinityLiteralEClass = null;
310
311 /**
312 * <!-- begin-user-doc -->
313 * <!-- end-user-doc -->
314 * @generated
315 */
316 private EClass emptyIntervalLiteralEClass = null;
317
318 /**
319 * <!-- begin-user-doc -->
320 * <!-- end-user-doc -->
321 * @generated
322 */
323 private EClass stringLiteralEClass = null;
324
325 /**
326 * <!-- begin-user-doc -->
327 * <!-- end-user-doc -->
328 * @generated
329 */
330 private EClass classDefinitionEClass = null;
331
332 /**
333 * <!-- begin-user-doc -->
334 * <!-- end-user-doc -->
335 * @generated
336 */
337 private EClass memberDefinitionEClass = null;
338
339 /**
340 * <!-- begin-user-doc -->
341 * <!-- end-user-doc -->
342 * @generated
343 */
344 private EClass multiplicityEClass = null;
345
346 /**
347 * <!-- begin-user-doc -->
348 * <!-- end-user-doc -->
349 * @generated
350 */
351 private EClass manyMultiplicityEClass = null;
352
353 /**
354 * <!-- begin-user-doc -->
355 * <!-- end-user-doc -->
356 * @generated
357 */
358 private EClass exactMultiplicityEClass = null;
359
360 /**
361 * <!-- begin-user-doc -->
362 * <!-- end-user-doc -->
363 * @generated
364 */
365 private EClass boundedMultiplicityEClass = null;
366
367 /**
368 * <!-- begin-user-doc -->
369 * <!-- end-user-doc -->
370 * @generated
371 */
372 private EClass scopeDefinitionEClass = null;
373
374 /**
375 * <!-- begin-user-doc -->
376 * <!-- end-user-doc -->
377 * @generated
378 */
379 private EClass exactScopeDefinitionEClass = null;
380
381 /**
382 * <!-- begin-user-doc -->
383 * <!-- end-user-doc -->
384 * @generated
385 */
386 private EClass boundedScopeDefinitionEClass = null;
387
388 /**
389 * <!-- begin-user-doc -->
390 * <!-- end-user-doc -->
391 * @generated
392 */
393 private EClass lowerBoundedScopeDefinitionEClass = null;
394
395 /**
396 * <!-- begin-user-doc -->
397 * <!-- end-user-doc -->
398 * @generated
399 */
400 private EClass objectiveDefinitionEClass = null;
401
402 /**
403 * <!-- begin-user-doc -->
404 * <!-- end-user-doc -->
405 * @generated
406 */
407 private EClass interpretationEClass = null;
408
409 /**
410 * <!-- begin-user-doc -->
411 * <!-- end-user-doc -->
412 * @generated
413 */
414 private EClass variableEClass = null;
415
416 /**
417 * <!-- begin-user-doc -->
418 * <!-- end-user-doc -->
419 * @generated
420 */
421 private EClass disjunctionEClass = null;
422
423 /**
424 * <!-- begin-user-doc -->
425 * <!-- end-user-doc -->
426 * @generated
427 */
428 private EClass switchEClass = null;
429
430 /**
431 * <!-- begin-user-doc -->
432 * <!-- end-user-doc -->
433 * @generated
434 */
435 private EClass conjunctionEClass = null;
436
437 /**
438 * <!-- begin-user-doc -->
439 * <!-- end-user-doc -->
440 * @generated
441 */
442 private EClass comparisonEClass = null;
443
444 /**
445 * <!-- begin-user-doc -->
446 * <!-- end-user-doc -->
447 * @generated
448 */
449 private EClass binaryExpressionEClass = null;
450
451 /**
452 * <!-- begin-user-doc -->
453 * <!-- end-user-doc -->
454 * @generated
455 */
456 private EClass castExpressionEClass = null;
457
458 /**
459 * <!-- begin-user-doc -->
460 * <!-- end-user-doc -->
461 * @generated
462 */
463 private EClass unaryExpressionEClass = null;
464
465 /**
466 * <!-- begin-user-doc -->
467 * <!-- end-user-doc -->
468 * @generated
469 */
470 private EClass nodeEClass = null;
471
472 /**
473 * <!-- begin-user-doc -->
474 * <!-- end-user-doc -->
475 * @generated
476 */
477 private EClass functorEClass = null;
478
479 /**
480 * <!-- begin-user-doc -->
481 * <!-- end-user-doc -->
482 * @generated
483 */
484 private EClass predicateEClass = null;
485
486 /**
487 * <!-- begin-user-doc -->
488 * <!-- end-user-doc -->
489 * @generated
490 */
491 private EClass metricEClass = null;
492
493 /**
494 * <!-- begin-user-doc -->
495 * <!-- end-user-doc -->
496 * @generated
497 */
498 private EEnum binaryOperatorEEnum = null;
499
500 /**
501 * <!-- begin-user-doc -->
502 * <!-- end-user-doc -->
503 * @generated
504 */
505 private EEnum unaryOpEEnum = null;
506
507 /**
508 * <!-- begin-user-doc -->
509 * <!-- end-user-doc -->
510 * @generated
511 */
512 private EEnum logicValueEEnum = null;
513
514 /**
515 * <!-- begin-user-doc -->
516 * <!-- end-user-doc -->
517 * @generated
518 */
519 private EEnum objectiveKindEEnum = null;
520
521 /**
522 * <!-- begin-user-doc -->
523 * <!-- end-user-doc -->
524 * @generated
525 */
526 private EEnum quantifierEEnum = null;
527
528 /**
529 * Creates an instance of the model <b>Package</b>, registered with
530 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
531 * package URI value.
532 * <p>Note: the correct way to create the package is via the static
533 * factory method {@link #init init()}, which also performs
534 * initialization of the package, or returns the registered package,
535 * if one already exists.
536 * <!-- begin-user-doc -->
537 * <!-- end-user-doc -->
538 * @see org.eclipse.emf.ecore.EPackage.Registry
539 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#eNS_URI
540 * @see #init()
541 * @generated
542 */
543 private SolverLanguagePackageImpl() {
544 super(eNS_URI, SolverLanguageFactory.eINSTANCE);
545 }
546
547 /**
548 * <!-- begin-user-doc -->
549 * <!-- end-user-doc -->
550 * @generated
551 */
552 private static boolean isInited = false;
553
554 /**
555 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
556 *
557 * <p>This method is used to initialize {@link SolverLanguagePackage#eINSTANCE} when that field is accessed.
558 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
559 * <!-- begin-user-doc -->
560 * <!-- end-user-doc -->
561 * @see #eNS_URI
562 * @see #createPackageContents()
563 * @see #initializePackageContents()
564 * @generated
565 */
566 public static SolverLanguagePackage init() {
567 if (isInited) return (SolverLanguagePackage)EPackage.Registry.INSTANCE.getEPackage(SolverLanguagePackage.eNS_URI);
568
569 // Obtain or create and register package
570 Object registeredSolverLanguagePackage = EPackage.Registry.INSTANCE.get(eNS_URI);
571 SolverLanguagePackageImpl theSolverLanguagePackage = registeredSolverLanguagePackage instanceof SolverLanguagePackageImpl ? (SolverLanguagePackageImpl)registeredSolverLanguagePackage : new SolverLanguagePackageImpl();
572
573 isInited = true;
574
575 // Create package meta-data objects
576 theSolverLanguagePackage.createPackageContents();
577
578 // Initialize created meta-data
579 theSolverLanguagePackage.initializePackageContents();
580
581 // Mark meta-data to indicate it can't be changed
582 theSolverLanguagePackage.freeze();
583
584 // Update the registry and return the package
585 EPackage.Registry.INSTANCE.put(SolverLanguagePackage.eNS_URI, theSolverLanguagePackage);
586 return theSolverLanguagePackage;
587 }
588
589 /**
590 * <!-- begin-user-doc -->
591 * <!-- end-user-doc -->
592 * @generated
593 */
594 @Override
595 public EClass getProblem() {
596 return problemEClass;
597 }
598
599 /**
600 * <!-- begin-user-doc -->
601 * <!-- end-user-doc -->
602 * @generated
603 */
604 @Override
605 public EReference getProblem_Statements() {
606 return (EReference)problemEClass.getEStructuralFeatures().get(0);
607 }
608
609 /**
610 * <!-- begin-user-doc -->
611 * <!-- end-user-doc -->
612 * @generated
613 */
614 @Override
615 public EClass getStatement() {
616 return statementEClass;
617 }
618
619 /**
620 * <!-- begin-user-doc -->
621 * <!-- end-user-doc -->
622 * @generated
623 */
624 @Override
625 public EClass getPredicateDefinition() {
626 return predicateDefinitionEClass;
627 }
628
629 /**
630 * <!-- begin-user-doc -->
631 * <!-- end-user-doc -->
632 * @generated
633 */
634 @Override
635 public EReference getPredicateDefinition_Head() {
636 return (EReference)predicateDefinitionEClass.getEStructuralFeatures().get(0);
637 }
638
639 /**
640 * <!-- begin-user-doc -->
641 * <!-- end-user-doc -->
642 * @generated
643 */
644 @Override
645 public EReference getPredicateDefinition_Body() {
646 return (EReference)predicateDefinitionEClass.getEStructuralFeatures().get(1);
647 }
648
649 /**
650 * <!-- begin-user-doc -->
651 * <!-- end-user-doc -->
652 * @generated
653 */
654 @Override
655 public EAttribute getPredicateDefinition_Functional() {
656 return (EAttribute)predicateDefinitionEClass.getEStructuralFeatures().get(2);
657 }
658
659 /**
660 * <!-- begin-user-doc -->
661 * <!-- end-user-doc -->
662 * @generated
663 */
664 @Override
665 public EAttribute getPredicateDefinition_Error() {
666 return (EAttribute)predicateDefinitionEClass.getEStructuralFeatures().get(3);
667 }
668
669 /**
670 * <!-- begin-user-doc -->
671 * <!-- end-user-doc -->
672 * @generated
673 */
674 @Override
675 public EClass getUnnamedErrorPrediateDefinition() {
676 return unnamedErrorPrediateDefinitionEClass;
677 }
678
679 /**
680 * <!-- begin-user-doc -->
681 * <!-- end-user-doc -->
682 * @generated
683 */
684 @Override
685 public EReference getUnnamedErrorPrediateDefinition_ArgumentList() {
686 return (EReference)unnamedErrorPrediateDefinitionEClass.getEStructuralFeatures().get(0);
687 }
688
689 /**
690 * <!-- begin-user-doc -->
691 * <!-- end-user-doc -->
692 * @generated
693 */
694 @Override
695 public EReference getUnnamedErrorPrediateDefinition_Body() {
696 return (EReference)unnamedErrorPrediateDefinitionEClass.getEStructuralFeatures().get(1);
697 }
698
699 /**
700 * <!-- begin-user-doc -->
701 * <!-- end-user-doc -->
702 * @generated
703 */
704 @Override
705 public EClass getDefaultDefinition() {
706 return defaultDefinitionEClass;
707 }
708
709 /**
710 * <!-- begin-user-doc -->
711 * <!-- end-user-doc -->
712 * @generated
713 */
714 @Override
715 public EReference getDefaultDefinition_Head() {
716 return (EReference)defaultDefinitionEClass.getEStructuralFeatures().get(0);
717 }
718
719 /**
720 * <!-- begin-user-doc -->
721 * <!-- end-user-doc -->
722 * @generated
723 */
724 @Override
725 public EReference getDefaultDefinition_Range() {
726 return (EReference)defaultDefinitionEClass.getEStructuralFeatures().get(1);
727 }
728
729 /**
730 * <!-- begin-user-doc -->
731 * <!-- end-user-doc -->
732 * @generated
733 */
734 @Override
735 public EClass getMetricDefinition() {
736 return metricDefinitionEClass;
737 }
738
739 /**
740 * <!-- begin-user-doc -->
741 * <!-- end-user-doc -->
742 * @generated
743 */
744 @Override
745 public EReference getMetricDefinition_Head() {
746 return (EReference)metricDefinitionEClass.getEStructuralFeatures().get(0);
747 }
748
749 /**
750 * <!-- begin-user-doc -->
751 * <!-- end-user-doc -->
752 * @generated
753 */
754 @Override
755 public EReference getMetricDefinition_Body() {
756 return (EReference)metricDefinitionEClass.getEStructuralFeatures().get(1);
757 }
758
759 /**
760 * <!-- begin-user-doc -->
761 * <!-- end-user-doc -->
762 * @generated
763 */
764 @Override
765 public EReference getMetricDefinition_Type() {
766 return (EReference)metricDefinitionEClass.getEStructuralFeatures().get(2);
767 }
768
769 /**
770 * <!-- begin-user-doc -->
771 * <!-- end-user-doc -->
772 * @generated
773 */
774 @Override
775 public EClass getExternPredicateDefinition() {
776 return externPredicateDefinitionEClass;
777 }
778
779 /**
780 * <!-- begin-user-doc -->
781 * <!-- end-user-doc -->
782 * @generated
783 */
784 @Override
785 public EAttribute getExternPredicateDefinition_Name() {
786 return (EAttribute)externPredicateDefinitionEClass.getEStructuralFeatures().get(0);
787 }
788
789 /**
790 * <!-- begin-user-doc -->
791 * <!-- end-user-doc -->
792 * @generated
793 */
794 @Override
795 public EReference getExternPredicateDefinition_ArgumentList() {
796 return (EReference)externPredicateDefinitionEClass.getEStructuralFeatures().get(1);
797 }
798
799 /**
800 * <!-- begin-user-doc -->
801 * <!-- end-user-doc -->
802 * @generated
803 */
804 @Override
805 public EClass getExternMetricDefinition() {
806 return externMetricDefinitionEClass;
807 }
808
809 /**
810 * <!-- begin-user-doc -->
811 * <!-- end-user-doc -->
812 * @generated
813 */
814 @Override
815 public EReference getExternMetricDefinition_Type() {
816 return (EReference)externMetricDefinitionEClass.getEStructuralFeatures().get(0);
817 }
818
819 /**
820 * <!-- begin-user-doc -->
821 * <!-- end-user-doc -->
822 * @generated
823 */
824 @Override
825 public EAttribute getExternMetricDefinition_Name() {
826 return (EAttribute)externMetricDefinitionEClass.getEStructuralFeatures().get(1);
827 }
828
829 /**
830 * <!-- begin-user-doc -->
831 * <!-- end-user-doc -->
832 * @generated
833 */
834 @Override
835 public EReference getExternMetricDefinition_ArgumentList() {
836 return (EReference)externMetricDefinitionEClass.getEStructuralFeatures().get(2);
837 }
838
839 /**
840 * <!-- begin-user-doc -->
841 * <!-- end-user-doc -->
842 * @generated
843 */
844 @Override
845 public EClass getExternAggregatorDefinition() {
846 return externAggregatorDefinitionEClass;
847 }
848
849 /**
850 * <!-- begin-user-doc -->
851 * <!-- end-user-doc -->
852 * @generated
853 */
854 @Override
855 public EReference getExternAggregatorDefinition_Type() {
856 return (EReference)externAggregatorDefinitionEClass.getEStructuralFeatures().get(0);
857 }
858
859 /**
860 * <!-- begin-user-doc -->
861 * <!-- end-user-doc -->
862 * @generated
863 */
864 @Override
865 public EAttribute getExternAggregatorDefinition_Name() {
866 return (EAttribute)externAggregatorDefinitionEClass.getEStructuralFeatures().get(1);
867 }
868
869 /**
870 * <!-- begin-user-doc -->
871 * <!-- end-user-doc -->
872 * @generated
873 */
874 @Override
875 public EReference getExternAggregatorDefinition_InputType() {
876 return (EReference)externAggregatorDefinitionEClass.getEStructuralFeatures().get(2);
877 }
878
879 /**
880 * <!-- begin-user-doc -->
881 * <!-- end-user-doc -->
882 * @generated
883 */
884 @Override
885 public EClass getExternDatatypeDefinition() {
886 return externDatatypeDefinitionEClass;
887 }
888
889 /**
890 * <!-- begin-user-doc -->
891 * <!-- end-user-doc -->
892 * @generated
893 */
894 @Override
895 public EAttribute getExternDatatypeDefinition_Name() {
896 return (EAttribute)externDatatypeDefinitionEClass.getEStructuralFeatures().get(0);
897 }
898
899 /**
900 * <!-- begin-user-doc -->
901 * <!-- end-user-doc -->
902 * @generated
903 */
904 @Override
905 public EReference getExternDatatypeDefinition_Supertypes() {
906 return (EReference)externDatatypeDefinitionEClass.getEStructuralFeatures().get(1);
907 }
908
909 /**
910 * <!-- begin-user-doc -->
911 * <!-- end-user-doc -->
912 * @generated
913 */
914 @Override
915 public EClass getNamedElement() {
916 return namedElementEClass;
917 }
918
919 /**
920 * <!-- begin-user-doc -->
921 * <!-- end-user-doc -->
922 * @generated
923 */
924 @Override
925 public EAttribute getNamedElement_Name() {
926 return (EAttribute)namedElementEClass.getEStructuralFeatures().get(0);
927 }
928
929 /**
930 * <!-- begin-user-doc -->
931 * <!-- end-user-doc -->
932 * @generated
933 */
934 @Override
935 public EClass getExpression() {
936 return expressionEClass;
937 }
938
939 /**
940 * <!-- begin-user-doc -->
941 * <!-- end-user-doc -->
942 * @generated
943 */
944 @Override
945 public EClass getIfElse() {
946 return ifElseEClass;
947 }
948
949 /**
950 * <!-- begin-user-doc -->
951 * <!-- end-user-doc -->
952 * @generated
953 */
954 @Override
955 public EReference getIfElse_Then() {
956 return (EReference)ifElseEClass.getEStructuralFeatures().get(0);
957 }
958
959 /**
960 * <!-- begin-user-doc -->
961 * <!-- end-user-doc -->
962 * @generated
963 */
964 @Override
965 public EReference getIfElse_Else() {
966 return (EReference)ifElseEClass.getEStructuralFeatures().get(1);
967 }
968
969 /**
970 * <!-- begin-user-doc -->
971 * <!-- end-user-doc -->
972 * @generated
973 */
974 @Override
975 public EReference getIfElse_Condition() {
976 return (EReference)ifElseEClass.getEStructuralFeatures().get(2);
977 }
978
979 /**
980 * <!-- begin-user-doc -->
981 * <!-- end-user-doc -->
982 * @generated
983 */
984 @Override
985 public EClass getLet() {
986 return letEClass;
987 }
988
989 /**
990 * <!-- begin-user-doc -->
991 * <!-- end-user-doc -->
992 * @generated
993 */
994 @Override
995 public EReference getLet_Bindings() {
996 return (EReference)letEClass.getEStructuralFeatures().get(0);
997 }
998
999 /**
1000 * <!-- begin-user-doc -->
1001 * <!-- end-user-doc -->
1002 * @generated
1003 */
1004 @Override
1005 public EReference getLet_Body() {
1006 return (EReference)letEClass.getEStructuralFeatures().get(1);
1007 }
1008
1009 /**
1010 * <!-- begin-user-doc -->
1011 * <!-- end-user-doc -->
1012 * @generated
1013 */
1014 @Override
1015 public EClass getLetBinding() {
1016 return letBindingEClass;
1017 }
1018
1019 /**
1020 * <!-- begin-user-doc -->
1021 * <!-- end-user-doc -->
1022 * @generated
1023 */
1024 @Override
1025 public EReference getLetBinding_Variable() {
1026 return (EReference)letBindingEClass.getEStructuralFeatures().get(0);
1027 }
1028
1029 /**
1030 * <!-- begin-user-doc -->
1031 * <!-- end-user-doc -->
1032 * @generated
1033 */
1034 @Override
1035 public EReference getLetBinding_Value() {
1036 return (EReference)letBindingEClass.getEStructuralFeatures().get(1);
1037 }
1038
1039 /**
1040 * <!-- begin-user-doc -->
1041 * <!-- end-user-doc -->
1042 * @generated
1043 */
1044 @Override
1045 public EClass getCase() {
1046 return caseEClass;
1047 }
1048
1049 /**
1050 * <!-- begin-user-doc -->
1051 * <!-- end-user-doc -->
1052 * @generated
1053 */
1054 @Override
1055 public EReference getCase_Body() {
1056 return (EReference)caseEClass.getEStructuralFeatures().get(0);
1057 }
1058
1059 /**
1060 * <!-- begin-user-doc -->
1061 * <!-- end-user-doc -->
1062 * @generated
1063 */
1064 @Override
1065 public EReference getCase_Condition() {
1066 return (EReference)caseEClass.getEStructuralFeatures().get(1);
1067 }
1068
1069 /**
1070 * <!-- begin-user-doc -->
1071 * <!-- end-user-doc -->
1072 * @generated
1073 */
1074 @Override
1075 public EClass getLocalVariables() {
1076 return localVariablesEClass;
1077 }
1078
1079 /**
1080 * <!-- begin-user-doc -->
1081 * <!-- end-user-doc -->
1082 * @generated
1083 */
1084 @Override
1085 public EReference getLocalVariables_Variables() {
1086 return (EReference)localVariablesEClass.getEStructuralFeatures().get(0);
1087 }
1088
1089 /**
1090 * <!-- begin-user-doc -->
1091 * <!-- end-user-doc -->
1092 * @generated
1093 */
1094 @Override
1095 public EClass getQuantifiedExpression() {
1096 return quantifiedExpressionEClass;
1097 }
1098
1099 /**
1100 * <!-- begin-user-doc -->
1101 * <!-- end-user-doc -->
1102 * @generated
1103 */
1104 @Override
1105 public EReference getQuantifiedExpression_LocalVariables() {
1106 return (EReference)quantifiedExpressionEClass.getEStructuralFeatures().get(0);
1107 }
1108
1109 /**
1110 * <!-- begin-user-doc -->
1111 * <!-- end-user-doc -->
1112 * @generated
1113 */
1114 @Override
1115 public EReference getQuantifiedExpression_Body() {
1116 return (EReference)quantifiedExpressionEClass.getEStructuralFeatures().get(1);
1117 }
1118
1119 /**
1120 * <!-- begin-user-doc -->
1121 * <!-- end-user-doc -->
1122 * @generated
1123 */
1124 @Override
1125 public EAttribute getQuantifiedExpression_Quantifier() {
1126 return (EAttribute)quantifiedExpressionEClass.getEStructuralFeatures().get(2);
1127 }
1128
1129 /**
1130 * <!-- begin-user-doc -->
1131 * <!-- end-user-doc -->
1132 * @generated
1133 */
1134 @Override
1135 public EClass getAggregation() {
1136 return aggregationEClass;
1137 }
1138
1139 /**
1140 * <!-- begin-user-doc -->
1141 * <!-- end-user-doc -->
1142 * @generated
1143 */
1144 @Override
1145 public EReference getAggregation_Op() {
1146 return (EReference)aggregationEClass.getEStructuralFeatures().get(0);
1147 }
1148
1149 /**
1150 * <!-- begin-user-doc -->
1151 * <!-- end-user-doc -->
1152 * @generated
1153 */
1154 @Override
1155 public EReference getAggregation_LocalVariables() {
1156 return (EReference)aggregationEClass.getEStructuralFeatures().get(1);
1157 }
1158
1159 /**
1160 * <!-- begin-user-doc -->
1161 * <!-- end-user-doc -->
1162 * @generated
1163 */
1164 @Override
1165 public EReference getAggregation_Body() {
1166 return (EReference)aggregationEClass.getEStructuralFeatures().get(2);
1167 }
1168
1169 /**
1170 * <!-- begin-user-doc -->
1171 * <!-- end-user-doc -->
1172 * @generated
1173 */
1174 @Override
1175 public EReference getAggregation_Condition() {
1176 return (EReference)aggregationEClass.getEStructuralFeatures().get(3);
1177 }
1178
1179 /**
1180 * <!-- begin-user-doc -->
1181 * <!-- end-user-doc -->
1182 * @generated
1183 */
1184 @Override
1185 public EClass getCall() {
1186 return callEClass;
1187 }
1188
1189 /**
1190 * <!-- begin-user-doc -->
1191 * <!-- end-user-doc -->
1192 * @generated
1193 */
1194 @Override
1195 public EReference getCall_Functor() {
1196 return (EReference)callEClass.getEStructuralFeatures().get(0);
1197 }
1198
1199 /**
1200 * <!-- begin-user-doc -->
1201 * <!-- end-user-doc -->
1202 * @generated
1203 */
1204 @Override
1205 public EAttribute getCall_TransitiveClosure() {
1206 return (EAttribute)callEClass.getEStructuralFeatures().get(1);
1207 }
1208
1209 /**
1210 * <!-- begin-user-doc -->
1211 * <!-- end-user-doc -->
1212 * @generated
1213 */
1214 @Override
1215 public EAttribute getCall_ReflexiveTransitiveClosure() {
1216 return (EAttribute)callEClass.getEStructuralFeatures().get(2);
1217 }
1218
1219 /**
1220 * <!-- begin-user-doc -->
1221 * <!-- end-user-doc -->
1222 * @generated
1223 */
1224 @Override
1225 public EReference getCall_ArgumentList() {
1226 return (EReference)callEClass.getEStructuralFeatures().get(3);
1227 }
1228
1229 /**
1230 * <!-- begin-user-doc -->
1231 * <!-- end-user-doc -->
1232 * @generated
1233 */
1234 @Override
1235 public EClass getArgumentList() {
1236 return argumentListEClass;
1237 }
1238
1239 /**
1240 * <!-- begin-user-doc -->
1241 * <!-- end-user-doc -->
1242 * @generated
1243 */
1244 @Override
1245 public EReference getArgumentList_Arguments() {
1246 return (EReference)argumentListEClass.getEStructuralFeatures().get(0);
1247 }
1248
1249 /**
1250 * <!-- begin-user-doc -->
1251 * <!-- end-user-doc -->
1252 * @generated
1253 */
1254 @Override
1255 public EClass getArgument() {
1256 return argumentEClass;
1257 }
1258
1259 /**
1260 * <!-- begin-user-doc -->
1261 * <!-- end-user-doc -->
1262 * @generated
1263 */
1264 @Override
1265 public EClass getExpressionArgument() {
1266 return expressionArgumentEClass;
1267 }
1268
1269 /**
1270 * <!-- begin-user-doc -->
1271 * <!-- end-user-doc -->
1272 * @generated
1273 */
1274 @Override
1275 public EReference getExpressionArgument_Body() {
1276 return (EReference)expressionArgumentEClass.getEStructuralFeatures().get(0);
1277 }
1278
1279 /**
1280 * <!-- begin-user-doc -->
1281 * <!-- end-user-doc -->
1282 * @generated
1283 */
1284 @Override
1285 public EClass getStarArgument() {
1286 return starArgumentEClass;
1287 }
1288
1289 /**
1290 * <!-- begin-user-doc -->
1291 * <!-- end-user-doc -->
1292 * @generated
1293 */
1294 @Override
1295 public EClass getTypedArgument() {
1296 return typedArgumentEClass;
1297 }
1298
1299 /**
1300 * <!-- begin-user-doc -->
1301 * <!-- end-user-doc -->
1302 * @generated
1303 */
1304 @Override
1305 public EReference getTypedArgument_Type() {
1306 return (EReference)typedArgumentEClass.getEStructuralFeatures().get(0);
1307 }
1308
1309 /**
1310 * <!-- begin-user-doc -->
1311 * <!-- end-user-doc -->
1312 * @generated
1313 */
1314 @Override
1315 public EReference getTypedArgument_Variable() {
1316 return (EReference)typedArgumentEClass.getEStructuralFeatures().get(1);
1317 }
1318
1319 /**
1320 * <!-- begin-user-doc -->
1321 * <!-- end-user-doc -->
1322 * @generated
1323 */
1324 @Override
1325 public EClass getTypedStarArgument() {
1326 return typedStarArgumentEClass;
1327 }
1328
1329 /**
1330 * <!-- begin-user-doc -->
1331 * <!-- end-user-doc -->
1332 * @generated
1333 */
1334 @Override
1335 public EReference getTypedStarArgument_Type() {
1336 return (EReference)typedStarArgumentEClass.getEStructuralFeatures().get(0);
1337 }
1338
1339 /**
1340 * <!-- begin-user-doc -->
1341 * <!-- end-user-doc -->
1342 * @generated
1343 */
1344 @Override
1345 public EClass getReference() {
1346 return referenceEClass;
1347 }
1348
1349 /**
1350 * <!-- begin-user-doc -->
1351 * <!-- end-user-doc -->
1352 * @generated
1353 */
1354 @Override
1355 public EReference getReference_Referred() {
1356 return (EReference)referenceEClass.getEStructuralFeatures().get(0);
1357 }
1358
1359 /**
1360 * <!-- begin-user-doc -->
1361 * <!-- end-user-doc -->
1362 * @generated
1363 */
1364 @Override
1365 public EClass getInterval() {
1366 return intervalEClass;
1367 }
1368
1369 /**
1370 * <!-- begin-user-doc -->
1371 * <!-- end-user-doc -->
1372 * @generated
1373 */
1374 @Override
1375 public EReference getInterval_LowerBound() {
1376 return (EReference)intervalEClass.getEStructuralFeatures().get(0);
1377 }
1378
1379 /**
1380 * <!-- begin-user-doc -->
1381 * <!-- end-user-doc -->
1382 * @generated
1383 */
1384 @Override
1385 public EReference getInterval_UpperBound() {
1386 return (EReference)intervalEClass.getEStructuralFeatures().get(1);
1387 }
1388
1389 /**
1390 * <!-- begin-user-doc -->
1391 * <!-- end-user-doc -->
1392 * @generated
1393 */
1394 @Override
1395 public EClass getLiteral() {
1396 return literalEClass;
1397 }
1398
1399 /**
1400 * <!-- begin-user-doc -->
1401 * <!-- end-user-doc -->
1402 * @generated
1403 */
1404 @Override
1405 public EClass getLogicLiteral() {
1406 return logicLiteralEClass;
1407 }
1408
1409 /**
1410 * <!-- begin-user-doc -->
1411 * <!-- end-user-doc -->
1412 * @generated
1413 */
1414 @Override
1415 public EAttribute getLogicLiteral_Value() {
1416 return (EAttribute)logicLiteralEClass.getEStructuralFeatures().get(0);
1417 }
1418
1419 /**
1420 * <!-- begin-user-doc -->
1421 * <!-- end-user-doc -->
1422 * @generated
1423 */
1424 @Override
1425 public EClass getNumericLiteral() {
1426 return numericLiteralEClass;
1427 }
1428
1429 /**
1430 * <!-- begin-user-doc -->
1431 * <!-- end-user-doc -->
1432 * @generated
1433 */
1434 @Override
1435 public EAttribute getNumericLiteral_Value() {
1436 return (EAttribute)numericLiteralEClass.getEStructuralFeatures().get(0);
1437 }
1438
1439 /**
1440 * <!-- begin-user-doc -->
1441 * <!-- end-user-doc -->
1442 * @generated
1443 */
1444 @Override
1445 public EClass getInfinityLiteral() {
1446 return infinityLiteralEClass;
1447 }
1448
1449 /**
1450 * <!-- begin-user-doc -->
1451 * <!-- end-user-doc -->
1452 * @generated
1453 */
1454 @Override
1455 public EClass getEmptyIntervalLiteral() {
1456 return emptyIntervalLiteralEClass;
1457 }
1458
1459 /**
1460 * <!-- begin-user-doc -->
1461 * <!-- end-user-doc -->
1462 * @generated
1463 */
1464 @Override
1465 public EClass getStringLiteral() {
1466 return stringLiteralEClass;
1467 }
1468
1469 /**
1470 * <!-- begin-user-doc -->
1471 * <!-- end-user-doc -->
1472 * @generated
1473 */
1474 @Override
1475 public EAttribute getStringLiteral_Value() {
1476 return (EAttribute)stringLiteralEClass.getEStructuralFeatures().get(0);
1477 }
1478
1479 /**
1480 * <!-- begin-user-doc -->
1481 * <!-- end-user-doc -->
1482 * @generated
1483 */
1484 @Override
1485 public EClass getClassDefinition() {
1486 return classDefinitionEClass;
1487 }
1488
1489 /**
1490 * <!-- begin-user-doc -->
1491 * <!-- end-user-doc -->
1492 * @generated
1493 */
1494 @Override
1495 public EAttribute getClassDefinition_Abstract() {
1496 return (EAttribute)classDefinitionEClass.getEStructuralFeatures().get(0);
1497 }
1498
1499 /**
1500 * <!-- begin-user-doc -->
1501 * <!-- end-user-doc -->
1502 * @generated
1503 */
1504 @Override
1505 public EAttribute getClassDefinition_Name() {
1506 return (EAttribute)classDefinitionEClass.getEStructuralFeatures().get(1);
1507 }
1508
1509 /**
1510 * <!-- begin-user-doc -->
1511 * <!-- end-user-doc -->
1512 * @generated
1513 */
1514 @Override
1515 public EReference getClassDefinition_Superclasses() {
1516 return (EReference)classDefinitionEClass.getEStructuralFeatures().get(2);
1517 }
1518
1519 /**
1520 * <!-- begin-user-doc -->
1521 * <!-- end-user-doc -->
1522 * @generated
1523 */
1524 @Override
1525 public EReference getClassDefinition_Members() {
1526 return (EReference)classDefinitionEClass.getEStructuralFeatures().get(3);
1527 }
1528
1529 /**
1530 * <!-- begin-user-doc -->
1531 * <!-- end-user-doc -->
1532 * @generated
1533 */
1534 @Override
1535 public EClass getMemberDefinition() {
1536 return memberDefinitionEClass;
1537 }
1538
1539 /**
1540 * <!-- begin-user-doc -->
1541 * <!-- end-user-doc -->
1542 * @generated
1543 */
1544 @Override
1545 public EAttribute getMemberDefinition_Containment() {
1546 return (EAttribute)memberDefinitionEClass.getEStructuralFeatures().get(0);
1547 }
1548
1549 /**
1550 * <!-- begin-user-doc -->
1551 * <!-- end-user-doc -->
1552 * @generated
1553 */
1554 @Override
1555 public EReference getMemberDefinition_Type() {
1556 return (EReference)memberDefinitionEClass.getEStructuralFeatures().get(1);
1557 }
1558
1559 /**
1560 * <!-- begin-user-doc -->
1561 * <!-- end-user-doc -->
1562 * @generated
1563 */
1564 @Override
1565 public EReference getMemberDefinition_Multiplicity() {
1566 return (EReference)memberDefinitionEClass.getEStructuralFeatures().get(2);
1567 }
1568
1569 /**
1570 * <!-- begin-user-doc -->
1571 * <!-- end-user-doc -->
1572 * @generated
1573 */
1574 @Override
1575 public EAttribute getMemberDefinition_Name() {
1576 return (EAttribute)memberDefinitionEClass.getEStructuralFeatures().get(3);
1577 }
1578
1579 /**
1580 * <!-- begin-user-doc -->
1581 * <!-- end-user-doc -->
1582 * @generated
1583 */
1584 @Override
1585 public EReference getMemberDefinition_Opposite() {
1586 return (EReference)memberDefinitionEClass.getEStructuralFeatures().get(4);
1587 }
1588
1589 /**
1590 * <!-- begin-user-doc -->
1591 * <!-- end-user-doc -->
1592 * @generated
1593 */
1594 @Override
1595 public EClass getMultiplicity() {
1596 return multiplicityEClass;
1597 }
1598
1599 /**
1600 * <!-- begin-user-doc -->
1601 * <!-- end-user-doc -->
1602 * @generated
1603 */
1604 @Override
1605 public EClass getManyMultiplicity() {
1606 return manyMultiplicityEClass;
1607 }
1608
1609 /**
1610 * <!-- begin-user-doc -->
1611 * <!-- end-user-doc -->
1612 * @generated
1613 */
1614 @Override
1615 public EClass getExactMultiplicity() {
1616 return exactMultiplicityEClass;
1617 }
1618
1619 /**
1620 * <!-- begin-user-doc -->
1621 * <!-- end-user-doc -->
1622 * @generated
1623 */
1624 @Override
1625 public EAttribute getExactMultiplicity_Multiplicity() {
1626 return (EAttribute)exactMultiplicityEClass.getEStructuralFeatures().get(0);
1627 }
1628
1629 /**
1630 * <!-- begin-user-doc -->
1631 * <!-- end-user-doc -->
1632 * @generated
1633 */
1634 @Override
1635 public EClass getBoundedMultiplicity() {
1636 return boundedMultiplicityEClass;
1637 }
1638
1639 /**
1640 * <!-- begin-user-doc -->
1641 * <!-- end-user-doc -->
1642 * @generated
1643 */
1644 @Override
1645 public EAttribute getBoundedMultiplicity_LowerBound() {
1646 return (EAttribute)boundedMultiplicityEClass.getEStructuralFeatures().get(0);
1647 }
1648
1649 /**
1650 * <!-- begin-user-doc -->
1651 * <!-- end-user-doc -->
1652 * @generated
1653 */
1654 @Override
1655 public EAttribute getBoundedMultiplicity_UpperBound() {
1656 return (EAttribute)boundedMultiplicityEClass.getEStructuralFeatures().get(1);
1657 }
1658
1659 /**
1660 * <!-- begin-user-doc -->
1661 * <!-- end-user-doc -->
1662 * @generated
1663 */
1664 @Override
1665 public EClass getScopeDefinition() {
1666 return scopeDefinitionEClass;
1667 }
1668
1669 /**
1670 * <!-- begin-user-doc -->
1671 * <!-- end-user-doc -->
1672 * @generated
1673 */
1674 @Override
1675 public EReference getScopeDefinition_Type() {
1676 return (EReference)scopeDefinitionEClass.getEStructuralFeatures().get(0);
1677 }
1678
1679 /**
1680 * <!-- begin-user-doc -->
1681 * <!-- end-user-doc -->
1682 * @generated
1683 */
1684 @Override
1685 public EClass getExactScopeDefinition() {
1686 return exactScopeDefinitionEClass;
1687 }
1688
1689 /**
1690 * <!-- begin-user-doc -->
1691 * <!-- end-user-doc -->
1692 * @generated
1693 */
1694 @Override
1695 public EAttribute getExactScopeDefinition_ExactScope() {
1696 return (EAttribute)exactScopeDefinitionEClass.getEStructuralFeatures().get(0);
1697 }
1698
1699 /**
1700 * <!-- begin-user-doc -->
1701 * <!-- end-user-doc -->
1702 * @generated
1703 */
1704 @Override
1705 public EClass getBoundedScopeDefinition() {
1706 return boundedScopeDefinitionEClass;
1707 }
1708
1709 /**
1710 * <!-- begin-user-doc -->
1711 * <!-- end-user-doc -->
1712 * @generated
1713 */
1714 @Override
1715 public EAttribute getBoundedScopeDefinition_LowerBound() {
1716 return (EAttribute)boundedScopeDefinitionEClass.getEStructuralFeatures().get(0);
1717 }
1718
1719 /**
1720 * <!-- begin-user-doc -->
1721 * <!-- end-user-doc -->
1722 * @generated
1723 */
1724 @Override
1725 public EAttribute getBoundedScopeDefinition_UpperBound() {
1726 return (EAttribute)boundedScopeDefinitionEClass.getEStructuralFeatures().get(1);
1727 }
1728
1729 /**
1730 * <!-- begin-user-doc -->
1731 * <!-- end-user-doc -->
1732 * @generated
1733 */
1734 @Override
1735 public EClass getLowerBoundedScopeDefinition() {
1736 return lowerBoundedScopeDefinitionEClass;
1737 }
1738
1739 /**
1740 * <!-- begin-user-doc -->
1741 * <!-- end-user-doc -->
1742 * @generated
1743 */
1744 @Override
1745 public EAttribute getLowerBoundedScopeDefinition_LowerBound() {
1746 return (EAttribute)lowerBoundedScopeDefinitionEClass.getEStructuralFeatures().get(0);
1747 }
1748
1749 /**
1750 * <!-- begin-user-doc -->
1751 * <!-- end-user-doc -->
1752 * @generated
1753 */
1754 @Override
1755 public EClass getObjectiveDefinition() {
1756 return objectiveDefinitionEClass;
1757 }
1758
1759 /**
1760 * <!-- begin-user-doc -->
1761 * <!-- end-user-doc -->
1762 * @generated
1763 */
1764 @Override
1765 public EAttribute getObjectiveDefinition_Kind() {
1766 return (EAttribute)objectiveDefinitionEClass.getEStructuralFeatures().get(0);
1767 }
1768
1769 /**
1770 * <!-- begin-user-doc -->
1771 * <!-- end-user-doc -->
1772 * @generated
1773 */
1774 @Override
1775 public EReference getObjectiveDefinition_Objective() {
1776 return (EReference)objectiveDefinitionEClass.getEStructuralFeatures().get(1);
1777 }
1778
1779 /**
1780 * <!-- begin-user-doc -->
1781 * <!-- end-user-doc -->
1782 * @generated
1783 */
1784 @Override
1785 public EClass getInterpretation() {
1786 return interpretationEClass;
1787 }
1788
1789 /**
1790 * <!-- begin-user-doc -->
1791 * <!-- end-user-doc -->
1792 * @generated
1793 */
1794 @Override
1795 public EReference getInterpretation_Body() {
1796 return (EReference)interpretationEClass.getEStructuralFeatures().get(0);
1797 }
1798
1799 /**
1800 * <!-- begin-user-doc -->
1801 * <!-- end-user-doc -->
1802 * @generated
1803 */
1804 @Override
1805 public EReference getInterpretation_Range() {
1806 return (EReference)interpretationEClass.getEStructuralFeatures().get(1);
1807 }
1808
1809 /**
1810 * <!-- begin-user-doc -->
1811 * <!-- end-user-doc -->
1812 * @generated
1813 */
1814 @Override
1815 public EClass getVariable() {
1816 return variableEClass;
1817 }
1818
1819 /**
1820 * <!-- begin-user-doc -->
1821 * <!-- end-user-doc -->
1822 * @generated
1823 */
1824 @Override
1825 public EReference getVariable_Type() {
1826 return (EReference)variableEClass.getEStructuralFeatures().get(0);
1827 }
1828
1829 /**
1830 * <!-- begin-user-doc -->
1831 * <!-- end-user-doc -->
1832 * @generated
1833 */
1834 @Override
1835 public EClass getDisjunction() {
1836 return disjunctionEClass;
1837 }
1838
1839 /**
1840 * <!-- begin-user-doc -->
1841 * <!-- end-user-doc -->
1842 * @generated
1843 */
1844 @Override
1845 public EReference getDisjunction_Children() {
1846 return (EReference)disjunctionEClass.getEStructuralFeatures().get(0);
1847 }
1848
1849 /**
1850 * <!-- begin-user-doc -->
1851 * <!-- end-user-doc -->
1852 * @generated
1853 */
1854 @Override
1855 public EClass getSwitch() {
1856 return switchEClass;
1857 }
1858
1859 /**
1860 * <!-- begin-user-doc -->
1861 * <!-- end-user-doc -->
1862 * @generated
1863 */
1864 @Override
1865 public EReference getSwitch_Cases() {
1866 return (EReference)switchEClass.getEStructuralFeatures().get(0);
1867 }
1868
1869 /**
1870 * <!-- begin-user-doc -->
1871 * <!-- end-user-doc -->
1872 * @generated
1873 */
1874 @Override
1875 public EClass getConjunction() {
1876 return conjunctionEClass;
1877 }
1878
1879 /**
1880 * <!-- begin-user-doc -->
1881 * <!-- end-user-doc -->
1882 * @generated
1883 */
1884 @Override
1885 public EReference getConjunction_Children() {
1886 return (EReference)conjunctionEClass.getEStructuralFeatures().get(0);
1887 }
1888
1889 /**
1890 * <!-- begin-user-doc -->
1891 * <!-- end-user-doc -->
1892 * @generated
1893 */
1894 @Override
1895 public EClass getComparison() {
1896 return comparisonEClass;
1897 }
1898
1899 /**
1900 * <!-- begin-user-doc -->
1901 * <!-- end-user-doc -->
1902 * @generated
1903 */
1904 @Override
1905 public EReference getComparison_Left() {
1906 return (EReference)comparisonEClass.getEStructuralFeatures().get(0);
1907 }
1908
1909 /**
1910 * <!-- begin-user-doc -->
1911 * <!-- end-user-doc -->
1912 * @generated
1913 */
1914 @Override
1915 public EAttribute getComparison_Op() {
1916 return (EAttribute)comparisonEClass.getEStructuralFeatures().get(1);
1917 }
1918
1919 /**
1920 * <!-- begin-user-doc -->
1921 * <!-- end-user-doc -->
1922 * @generated
1923 */
1924 @Override
1925 public EReference getComparison_Right() {
1926 return (EReference)comparisonEClass.getEStructuralFeatures().get(2);
1927 }
1928
1929 /**
1930 * <!-- begin-user-doc -->
1931 * <!-- end-user-doc -->
1932 * @generated
1933 */
1934 @Override
1935 public EClass getBinaryExpression() {
1936 return binaryExpressionEClass;
1937 }
1938
1939 /**
1940 * <!-- begin-user-doc -->
1941 * <!-- end-user-doc -->
1942 * @generated
1943 */
1944 @Override
1945 public EReference getBinaryExpression_Left() {
1946 return (EReference)binaryExpressionEClass.getEStructuralFeatures().get(0);
1947 }
1948
1949 /**
1950 * <!-- begin-user-doc -->
1951 * <!-- end-user-doc -->
1952 * @generated
1953 */
1954 @Override
1955 public EAttribute getBinaryExpression_Op() {
1956 return (EAttribute)binaryExpressionEClass.getEStructuralFeatures().get(1);
1957 }
1958
1959 /**
1960 * <!-- begin-user-doc -->
1961 * <!-- end-user-doc -->
1962 * @generated
1963 */
1964 @Override
1965 public EReference getBinaryExpression_Right() {
1966 return (EReference)binaryExpressionEClass.getEStructuralFeatures().get(2);
1967 }
1968
1969 /**
1970 * <!-- begin-user-doc -->
1971 * <!-- end-user-doc -->
1972 * @generated
1973 */
1974 @Override
1975 public EClass getCastExpression() {
1976 return castExpressionEClass;
1977 }
1978
1979 /**
1980 * <!-- begin-user-doc -->
1981 * <!-- end-user-doc -->
1982 * @generated
1983 */
1984 @Override
1985 public EReference getCastExpression_Body() {
1986 return (EReference)castExpressionEClass.getEStructuralFeatures().get(0);
1987 }
1988
1989 /**
1990 * <!-- begin-user-doc -->
1991 * <!-- end-user-doc -->
1992 * @generated
1993 */
1994 @Override
1995 public EReference getCastExpression_Type() {
1996 return (EReference)castExpressionEClass.getEStructuralFeatures().get(1);
1997 }
1998
1999 /**
2000 * <!-- begin-user-doc -->
2001 * <!-- end-user-doc -->
2002 * @generated
2003 */
2004 @Override
2005 public EClass getUnaryExpression() {
2006 return unaryExpressionEClass;
2007 }
2008
2009 /**
2010 * <!-- begin-user-doc -->
2011 * <!-- end-user-doc -->
2012 * @generated
2013 */
2014 @Override
2015 public EAttribute getUnaryExpression_Op() {
2016 return (EAttribute)unaryExpressionEClass.getEStructuralFeatures().get(0);
2017 }
2018
2019 /**
2020 * <!-- begin-user-doc -->
2021 * <!-- end-user-doc -->
2022 * @generated
2023 */
2024 @Override
2025 public EReference getUnaryExpression_Body() {
2026 return (EReference)unaryExpressionEClass.getEStructuralFeatures().get(1);
2027 }
2028
2029 /**
2030 * <!-- begin-user-doc -->
2031 * <!-- end-user-doc -->
2032 * @generated
2033 */
2034 @Override
2035 public EClass getNode() {
2036 return nodeEClass;
2037 }
2038
2039 /**
2040 * <!-- begin-user-doc -->
2041 * <!-- end-user-doc -->
2042 * @generated
2043 */
2044 @Override
2045 public EAttribute getNode_WithId() {
2046 return (EAttribute)nodeEClass.getEStructuralFeatures().get(0);
2047 }
2048
2049 /**
2050 * <!-- begin-user-doc -->
2051 * <!-- end-user-doc -->
2052 * @generated
2053 */
2054 @Override
2055 public EClass getFunctor() {
2056 return functorEClass;
2057 }
2058
2059 /**
2060 * <!-- begin-user-doc -->
2061 * <!-- end-user-doc -->
2062 * @generated
2063 */
2064 @Override
2065 public EReference getFunctor_Parameters() {
2066 return (EReference)functorEClass.getEStructuralFeatures().get(0);
2067 }
2068
2069 /**
2070 * <!-- begin-user-doc -->
2071 * <!-- end-user-doc -->
2072 * @generated
2073 */
2074 @Override
2075 public EClass getPredicate() {
2076 return predicateEClass;
2077 }
2078
2079 /**
2080 * <!-- begin-user-doc -->
2081 * <!-- end-user-doc -->
2082 * @generated
2083 */
2084 @Override
2085 public EClass getMetric() {
2086 return metricEClass;
2087 }
2088
2089 /**
2090 * <!-- begin-user-doc -->
2091 * <!-- end-user-doc -->
2092 * @generated
2093 */
2094 @Override
2095 public EReference getMetric_ReturnType() {
2096 return (EReference)metricEClass.getEStructuralFeatures().get(0);
2097 }
2098
2099 /**
2100 * <!-- begin-user-doc -->
2101 * <!-- end-user-doc -->
2102 * @generated
2103 */
2104 @Override
2105 public EEnum getBinaryOperator() {
2106 return binaryOperatorEEnum;
2107 }
2108
2109 /**
2110 * <!-- begin-user-doc -->
2111 * <!-- end-user-doc -->
2112 * @generated
2113 */
2114 @Override
2115 public EEnum getUnaryOp() {
2116 return unaryOpEEnum;
2117 }
2118
2119 /**
2120 * <!-- begin-user-doc -->
2121 * <!-- end-user-doc -->
2122 * @generated
2123 */
2124 @Override
2125 public EEnum getLogicValue() {
2126 return logicValueEEnum;
2127 }
2128
2129 /**
2130 * <!-- begin-user-doc -->
2131 * <!-- end-user-doc -->
2132 * @generated
2133 */
2134 @Override
2135 public EEnum getObjectiveKind() {
2136 return objectiveKindEEnum;
2137 }
2138
2139 /**
2140 * <!-- begin-user-doc -->
2141 * <!-- end-user-doc -->
2142 * @generated
2143 */
2144 @Override
2145 public EEnum getQuantifier() {
2146 return quantifierEEnum;
2147 }
2148
2149 /**
2150 * <!-- begin-user-doc -->
2151 * <!-- end-user-doc -->
2152 * @generated
2153 */
2154 @Override
2155 public SolverLanguageFactory getSolverLanguageFactory() {
2156 return (SolverLanguageFactory)getEFactoryInstance();
2157 }
2158
2159 /**
2160 * <!-- begin-user-doc -->
2161 * <!-- end-user-doc -->
2162 * @generated
2163 */
2164 private boolean isCreated = false;
2165
2166 /**
2167 * Creates the meta-model objects for the package. This method is
2168 * guarded to have no affect on any invocation but its first.
2169 * <!-- begin-user-doc -->
2170 * <!-- end-user-doc -->
2171 * @generated
2172 */
2173 public void createPackageContents() {
2174 if (isCreated) return;
2175 isCreated = true;
2176
2177 // Create classes and their features
2178 problemEClass = createEClass(PROBLEM);
2179 createEReference(problemEClass, PROBLEM__STATEMENTS);
2180
2181 statementEClass = createEClass(STATEMENT);
2182
2183 predicateDefinitionEClass = createEClass(PREDICATE_DEFINITION);
2184 createEReference(predicateDefinitionEClass, PREDICATE_DEFINITION__HEAD);
2185 createEReference(predicateDefinitionEClass, PREDICATE_DEFINITION__BODY);
2186 createEAttribute(predicateDefinitionEClass, PREDICATE_DEFINITION__FUNCTIONAL);
2187 createEAttribute(predicateDefinitionEClass, PREDICATE_DEFINITION__ERROR);
2188
2189 unnamedErrorPrediateDefinitionEClass = createEClass(UNNAMED_ERROR_PREDIATE_DEFINITION);
2190 createEReference(unnamedErrorPrediateDefinitionEClass, UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST);
2191 createEReference(unnamedErrorPrediateDefinitionEClass, UNNAMED_ERROR_PREDIATE_DEFINITION__BODY);
2192
2193 defaultDefinitionEClass = createEClass(DEFAULT_DEFINITION);
2194 createEReference(defaultDefinitionEClass, DEFAULT_DEFINITION__HEAD);
2195 createEReference(defaultDefinitionEClass, DEFAULT_DEFINITION__RANGE);
2196
2197 metricDefinitionEClass = createEClass(METRIC_DEFINITION);
2198 createEReference(metricDefinitionEClass, METRIC_DEFINITION__HEAD);
2199 createEReference(metricDefinitionEClass, METRIC_DEFINITION__BODY);
2200 createEReference(metricDefinitionEClass, METRIC_DEFINITION__TYPE);
2201
2202 externPredicateDefinitionEClass = createEClass(EXTERN_PREDICATE_DEFINITION);
2203 createEAttribute(externPredicateDefinitionEClass, EXTERN_PREDICATE_DEFINITION__NAME);
2204 createEReference(externPredicateDefinitionEClass, EXTERN_PREDICATE_DEFINITION__ARGUMENT_LIST);
2205
2206 externMetricDefinitionEClass = createEClass(EXTERN_METRIC_DEFINITION);
2207 createEReference(externMetricDefinitionEClass, EXTERN_METRIC_DEFINITION__TYPE);
2208 createEAttribute(externMetricDefinitionEClass, EXTERN_METRIC_DEFINITION__NAME);
2209 createEReference(externMetricDefinitionEClass, EXTERN_METRIC_DEFINITION__ARGUMENT_LIST);
2210
2211 externAggregatorDefinitionEClass = createEClass(EXTERN_AGGREGATOR_DEFINITION);
2212 createEReference(externAggregatorDefinitionEClass, EXTERN_AGGREGATOR_DEFINITION__TYPE);
2213 createEAttribute(externAggregatorDefinitionEClass, EXTERN_AGGREGATOR_DEFINITION__NAME);
2214 createEReference(externAggregatorDefinitionEClass, EXTERN_AGGREGATOR_DEFINITION__INPUT_TYPE);
2215
2216 externDatatypeDefinitionEClass = createEClass(EXTERN_DATATYPE_DEFINITION);
2217 createEAttribute(externDatatypeDefinitionEClass, EXTERN_DATATYPE_DEFINITION__NAME);
2218 createEReference(externDatatypeDefinitionEClass, EXTERN_DATATYPE_DEFINITION__SUPERTYPES);
2219
2220 namedElementEClass = createEClass(NAMED_ELEMENT);
2221 createEAttribute(namedElementEClass, NAMED_ELEMENT__NAME);
2222
2223 expressionEClass = createEClass(EXPRESSION);
2224
2225 ifElseEClass = createEClass(IF_ELSE);
2226 createEReference(ifElseEClass, IF_ELSE__THEN);
2227 createEReference(ifElseEClass, IF_ELSE__ELSE);
2228 createEReference(ifElseEClass, IF_ELSE__CONDITION);
2229
2230 letEClass = createEClass(LET);
2231 createEReference(letEClass, LET__BINDINGS);
2232 createEReference(letEClass, LET__BODY);
2233
2234 letBindingEClass = createEClass(LET_BINDING);
2235 createEReference(letBindingEClass, LET_BINDING__VARIABLE);
2236 createEReference(letBindingEClass, LET_BINDING__VALUE);
2237
2238 caseEClass = createEClass(CASE);
2239 createEReference(caseEClass, CASE__BODY);
2240 createEReference(caseEClass, CASE__CONDITION);
2241
2242 localVariablesEClass = createEClass(LOCAL_VARIABLES);
2243 createEReference(localVariablesEClass, LOCAL_VARIABLES__VARIABLES);
2244
2245 quantifiedExpressionEClass = createEClass(QUANTIFIED_EXPRESSION);
2246 createEReference(quantifiedExpressionEClass, QUANTIFIED_EXPRESSION__LOCAL_VARIABLES);
2247 createEReference(quantifiedExpressionEClass, QUANTIFIED_EXPRESSION__BODY);
2248 createEAttribute(quantifiedExpressionEClass, QUANTIFIED_EXPRESSION__QUANTIFIER);
2249
2250 aggregationEClass = createEClass(AGGREGATION);
2251 createEReference(aggregationEClass, AGGREGATION__OP);
2252 createEReference(aggregationEClass, AGGREGATION__LOCAL_VARIABLES);
2253 createEReference(aggregationEClass, AGGREGATION__BODY);
2254 createEReference(aggregationEClass, AGGREGATION__CONDITION);
2255
2256 callEClass = createEClass(CALL);
2257 createEReference(callEClass, CALL__FUNCTOR);
2258 createEAttribute(callEClass, CALL__TRANSITIVE_CLOSURE);
2259 createEAttribute(callEClass, CALL__REFLEXIVE_TRANSITIVE_CLOSURE);
2260 createEReference(callEClass, CALL__ARGUMENT_LIST);
2261
2262 argumentListEClass = createEClass(ARGUMENT_LIST);
2263 createEReference(argumentListEClass, ARGUMENT_LIST__ARGUMENTS);
2264
2265 argumentEClass = createEClass(ARGUMENT);
2266
2267 expressionArgumentEClass = createEClass(EXPRESSION_ARGUMENT);
2268 createEReference(expressionArgumentEClass, EXPRESSION_ARGUMENT__BODY);
2269
2270 starArgumentEClass = createEClass(STAR_ARGUMENT);
2271
2272 typedArgumentEClass = createEClass(TYPED_ARGUMENT);
2273 createEReference(typedArgumentEClass, TYPED_ARGUMENT__TYPE);
2274 createEReference(typedArgumentEClass, TYPED_ARGUMENT__VARIABLE);
2275
2276 typedStarArgumentEClass = createEClass(TYPED_STAR_ARGUMENT);
2277 createEReference(typedStarArgumentEClass, TYPED_STAR_ARGUMENT__TYPE);
2278
2279 referenceEClass = createEClass(REFERENCE);
2280 createEReference(referenceEClass, REFERENCE__REFERRED);
2281
2282 intervalEClass = createEClass(INTERVAL);
2283 createEReference(intervalEClass, INTERVAL__LOWER_BOUND);
2284 createEReference(intervalEClass, INTERVAL__UPPER_BOUND);
2285
2286 literalEClass = createEClass(LITERAL);
2287
2288 logicLiteralEClass = createEClass(LOGIC_LITERAL);
2289 createEAttribute(logicLiteralEClass, LOGIC_LITERAL__VALUE);
2290
2291 numericLiteralEClass = createEClass(NUMERIC_LITERAL);
2292 createEAttribute(numericLiteralEClass, NUMERIC_LITERAL__VALUE);
2293
2294 infinityLiteralEClass = createEClass(INFINITY_LITERAL);
2295
2296 emptyIntervalLiteralEClass = createEClass(EMPTY_INTERVAL_LITERAL);
2297
2298 stringLiteralEClass = createEClass(STRING_LITERAL);
2299 createEAttribute(stringLiteralEClass, STRING_LITERAL__VALUE);
2300
2301 classDefinitionEClass = createEClass(CLASS_DEFINITION);
2302 createEAttribute(classDefinitionEClass, CLASS_DEFINITION__ABSTRACT);
2303 createEAttribute(classDefinitionEClass, CLASS_DEFINITION__NAME);
2304 createEReference(classDefinitionEClass, CLASS_DEFINITION__SUPERCLASSES);
2305 createEReference(classDefinitionEClass, CLASS_DEFINITION__MEMBERS);
2306
2307 memberDefinitionEClass = createEClass(MEMBER_DEFINITION);
2308 createEAttribute(memberDefinitionEClass, MEMBER_DEFINITION__CONTAINMENT);
2309 createEReference(memberDefinitionEClass, MEMBER_DEFINITION__TYPE);
2310 createEReference(memberDefinitionEClass, MEMBER_DEFINITION__MULTIPLICITY);
2311 createEAttribute(memberDefinitionEClass, MEMBER_DEFINITION__NAME);
2312 createEReference(memberDefinitionEClass, MEMBER_DEFINITION__OPPOSITE);
2313
2314 multiplicityEClass = createEClass(MULTIPLICITY);
2315
2316 manyMultiplicityEClass = createEClass(MANY_MULTIPLICITY);
2317
2318 exactMultiplicityEClass = createEClass(EXACT_MULTIPLICITY);
2319 createEAttribute(exactMultiplicityEClass, EXACT_MULTIPLICITY__MULTIPLICITY);
2320
2321 boundedMultiplicityEClass = createEClass(BOUNDED_MULTIPLICITY);
2322 createEAttribute(boundedMultiplicityEClass, BOUNDED_MULTIPLICITY__LOWER_BOUND);
2323 createEAttribute(boundedMultiplicityEClass, BOUNDED_MULTIPLICITY__UPPER_BOUND);
2324
2325 scopeDefinitionEClass = createEClass(SCOPE_DEFINITION);
2326 createEReference(scopeDefinitionEClass, SCOPE_DEFINITION__TYPE);
2327
2328 exactScopeDefinitionEClass = createEClass(EXACT_SCOPE_DEFINITION);
2329 createEAttribute(exactScopeDefinitionEClass, EXACT_SCOPE_DEFINITION__EXACT_SCOPE);
2330
2331 boundedScopeDefinitionEClass = createEClass(BOUNDED_SCOPE_DEFINITION);
2332 createEAttribute(boundedScopeDefinitionEClass, BOUNDED_SCOPE_DEFINITION__LOWER_BOUND);
2333 createEAttribute(boundedScopeDefinitionEClass, BOUNDED_SCOPE_DEFINITION__UPPER_BOUND);
2334
2335 lowerBoundedScopeDefinitionEClass = createEClass(LOWER_BOUNDED_SCOPE_DEFINITION);
2336 createEAttribute(lowerBoundedScopeDefinitionEClass, LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND);
2337
2338 objectiveDefinitionEClass = createEClass(OBJECTIVE_DEFINITION);
2339 createEAttribute(objectiveDefinitionEClass, OBJECTIVE_DEFINITION__KIND);
2340 createEReference(objectiveDefinitionEClass, OBJECTIVE_DEFINITION__OBJECTIVE);
2341
2342 interpretationEClass = createEClass(INTERPRETATION);
2343 createEReference(interpretationEClass, INTERPRETATION__BODY);
2344 createEReference(interpretationEClass, INTERPRETATION__RANGE);
2345
2346 variableEClass = createEClass(VARIABLE);
2347 createEReference(variableEClass, VARIABLE__TYPE);
2348
2349 disjunctionEClass = createEClass(DISJUNCTION);
2350 createEReference(disjunctionEClass, DISJUNCTION__CHILDREN);
2351
2352 switchEClass = createEClass(SWITCH);
2353 createEReference(switchEClass, SWITCH__CASES);
2354
2355 conjunctionEClass = createEClass(CONJUNCTION);
2356 createEReference(conjunctionEClass, CONJUNCTION__CHILDREN);
2357
2358 comparisonEClass = createEClass(COMPARISON);
2359 createEReference(comparisonEClass, COMPARISON__LEFT);
2360 createEAttribute(comparisonEClass, COMPARISON__OP);
2361 createEReference(comparisonEClass, COMPARISON__RIGHT);
2362
2363 binaryExpressionEClass = createEClass(BINARY_EXPRESSION);
2364 createEReference(binaryExpressionEClass, BINARY_EXPRESSION__LEFT);
2365 createEAttribute(binaryExpressionEClass, BINARY_EXPRESSION__OP);
2366 createEReference(binaryExpressionEClass, BINARY_EXPRESSION__RIGHT);
2367
2368 castExpressionEClass = createEClass(CAST_EXPRESSION);
2369 createEReference(castExpressionEClass, CAST_EXPRESSION__BODY);
2370 createEReference(castExpressionEClass, CAST_EXPRESSION__TYPE);
2371
2372 unaryExpressionEClass = createEClass(UNARY_EXPRESSION);
2373 createEAttribute(unaryExpressionEClass, UNARY_EXPRESSION__OP);
2374 createEReference(unaryExpressionEClass, UNARY_EXPRESSION__BODY);
2375
2376 nodeEClass = createEClass(NODE);
2377 createEAttribute(nodeEClass, NODE__WITH_ID);
2378
2379 functorEClass = createEClass(FUNCTOR);
2380 createEReference(functorEClass, FUNCTOR__PARAMETERS);
2381
2382 predicateEClass = createEClass(PREDICATE);
2383
2384 metricEClass = createEClass(METRIC);
2385 createEReference(metricEClass, METRIC__RETURN_TYPE);
2386
2387 // Create enums
2388 binaryOperatorEEnum = createEEnum(BINARY_OPERATOR);
2389 unaryOpEEnum = createEEnum(UNARY_OP);
2390 logicValueEEnum = createEEnum(LOGIC_VALUE);
2391 objectiveKindEEnum = createEEnum(OBJECTIVE_KIND);
2392 quantifierEEnum = createEEnum(QUANTIFIER);
2393 }
2394
2395 /**
2396 * <!-- begin-user-doc -->
2397 * <!-- end-user-doc -->
2398 * @generated
2399 */
2400 private boolean isInitialized = false;
2401
2402 /**
2403 * Complete the initialization of the package and its meta-model. This
2404 * method is guarded to have no affect on any invocation but its first.
2405 * <!-- begin-user-doc -->
2406 * <!-- end-user-doc -->
2407 * @generated
2408 */
2409 public void initializePackageContents() {
2410 if (isInitialized) return;
2411 isInitialized = true;
2412
2413 // Initialize package
2414 setName(eNAME);
2415 setNsPrefix(eNS_PREFIX);
2416 setNsURI(eNS_URI);
2417
2418 // Create type parameters
2419
2420 // Set bounds for type parameters
2421
2422 // Add supertypes to classes
2423 predicateDefinitionEClass.getESuperTypes().add(this.getStatement());
2424 unnamedErrorPrediateDefinitionEClass.getESuperTypes().add(this.getStatement());
2425 defaultDefinitionEClass.getESuperTypes().add(this.getStatement());
2426 metricDefinitionEClass.getESuperTypes().add(this.getStatement());
2427 externPredicateDefinitionEClass.getESuperTypes().add(this.getStatement());
2428 externMetricDefinitionEClass.getESuperTypes().add(this.getStatement());
2429 externAggregatorDefinitionEClass.getESuperTypes().add(this.getStatement());
2430 externDatatypeDefinitionEClass.getESuperTypes().add(this.getStatement());
2431 expressionEClass.getESuperTypes().add(this.getStatement());
2432 ifElseEClass.getESuperTypes().add(this.getExpression());
2433 letEClass.getESuperTypes().add(this.getExpression());
2434 caseEClass.getESuperTypes().add(this.getExpression());
2435 quantifiedExpressionEClass.getESuperTypes().add(this.getExpression());
2436 aggregationEClass.getESuperTypes().add(this.getExpression());
2437 callEClass.getESuperTypes().add(this.getExpression());
2438 expressionArgumentEClass.getESuperTypes().add(this.getArgument());
2439 starArgumentEClass.getESuperTypes().add(this.getArgument());
2440 typedArgumentEClass.getESuperTypes().add(this.getArgument());
2441 typedStarArgumentEClass.getESuperTypes().add(this.getArgument());
2442 referenceEClass.getESuperTypes().add(this.getExpression());
2443 intervalEClass.getESuperTypes().add(this.getExpression());
2444 literalEClass.getESuperTypes().add(this.getExpression());
2445 logicLiteralEClass.getESuperTypes().add(this.getLiteral());
2446 numericLiteralEClass.getESuperTypes().add(this.getLiteral());
2447 infinityLiteralEClass.getESuperTypes().add(this.getLiteral());
2448 emptyIntervalLiteralEClass.getESuperTypes().add(this.getLiteral());
2449 stringLiteralEClass.getESuperTypes().add(this.getLiteral());
2450 classDefinitionEClass.getESuperTypes().add(this.getStatement());
2451 manyMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
2452 exactMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
2453 boundedMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
2454 scopeDefinitionEClass.getESuperTypes().add(this.getStatement());
2455 exactScopeDefinitionEClass.getESuperTypes().add(this.getScopeDefinition());
2456 boundedScopeDefinitionEClass.getESuperTypes().add(this.getScopeDefinition());
2457 lowerBoundedScopeDefinitionEClass.getESuperTypes().add(this.getScopeDefinition());
2458 objectiveDefinitionEClass.getESuperTypes().add(this.getStatement());
2459 interpretationEClass.getESuperTypes().add(this.getStatement());
2460 variableEClass.getESuperTypes().add(this.getNamedElement());
2461 disjunctionEClass.getESuperTypes().add(this.getExpression());
2462 switchEClass.getESuperTypes().add(this.getExpression());
2463 conjunctionEClass.getESuperTypes().add(this.getExpression());
2464 comparisonEClass.getESuperTypes().add(this.getExpression());
2465 binaryExpressionEClass.getESuperTypes().add(this.getExpression());
2466 castExpressionEClass.getESuperTypes().add(this.getExpression());
2467 unaryExpressionEClass.getESuperTypes().add(this.getExpression());
2468 nodeEClass.getESuperTypes().add(this.getNamedElement());
2469 functorEClass.getESuperTypes().add(this.getNamedElement());
2470 predicateEClass.getESuperTypes().add(this.getFunctor());
2471 metricEClass.getESuperTypes().add(this.getFunctor());
2472
2473 // Initialize classes and features; add operations and parameters
2474 initEClass(problemEClass, Problem.class, "Problem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2475 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);
2476
2477 initEClass(statementEClass, Statement.class, "Statement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2478
2479 initEClass(predicateDefinitionEClass, PredicateDefinition.class, "PredicateDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2480 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);
2481 initEReference(getPredicateDefinition_Body(), this.getExpression(), null, "body", null, 0, 1, PredicateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2482 initEAttribute(getPredicateDefinition_Functional(), ecorePackage.getEBoolean(), "functional", null, 0, 1, PredicateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2483 initEAttribute(getPredicateDefinition_Error(), ecorePackage.getEBoolean(), "error", null, 0, 1, PredicateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2484
2485 initEClass(unnamedErrorPrediateDefinitionEClass, UnnamedErrorPrediateDefinition.class, "UnnamedErrorPrediateDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2486 initEReference(getUnnamedErrorPrediateDefinition_ArgumentList(), this.getArgumentList(), null, "argumentList", null, 0, 1, UnnamedErrorPrediateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2487 initEReference(getUnnamedErrorPrediateDefinition_Body(), this.getExpression(), null, "body", null, 0, 1, UnnamedErrorPrediateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2488
2489 initEClass(defaultDefinitionEClass, DefaultDefinition.class, "DefaultDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2490 initEReference(getDefaultDefinition_Head(), this.getCall(), null, "head", null, 0, 1, DefaultDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2491 initEReference(getDefaultDefinition_Range(), this.getExpression(), null, "range", null, 0, 1, DefaultDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2492
2493 initEClass(metricDefinitionEClass, MetricDefinition.class, "MetricDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2494 initEReference(getMetricDefinition_Head(), this.getExpression(), null, "head", null, 0, 1, MetricDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2495 initEReference(getMetricDefinition_Body(), this.getExpression(), null, "body", null, 0, 1, MetricDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2496 initEReference(getMetricDefinition_Type(), this.getNamedElement(), null, "type", null, 0, 1, MetricDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2497
2498 initEClass(externPredicateDefinitionEClass, ExternPredicateDefinition.class, "ExternPredicateDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2499 initEAttribute(getExternPredicateDefinition_Name(), ecorePackage.getEString(), "name", null, 0, 1, ExternPredicateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2500 initEReference(getExternPredicateDefinition_ArgumentList(), this.getArgumentList(), null, "argumentList", null, 0, 1, ExternPredicateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2501
2502 initEClass(externMetricDefinitionEClass, ExternMetricDefinition.class, "ExternMetricDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2503 initEReference(getExternMetricDefinition_Type(), this.getNamedElement(), null, "type", null, 0, 1, ExternMetricDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2504 initEAttribute(getExternMetricDefinition_Name(), ecorePackage.getEString(), "name", null, 0, 1, ExternMetricDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2505 initEReference(getExternMetricDefinition_ArgumentList(), this.getArgumentList(), null, "argumentList", null, 0, 1, ExternMetricDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2506
2507 initEClass(externAggregatorDefinitionEClass, ExternAggregatorDefinition.class, "ExternAggregatorDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2508 initEReference(getExternAggregatorDefinition_Type(), this.getNamedElement(), null, "type", null, 0, 1, ExternAggregatorDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2509 initEAttribute(getExternAggregatorDefinition_Name(), ecorePackage.getEString(), "name", null, 0, 1, ExternAggregatorDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2510 initEReference(getExternAggregatorDefinition_InputType(), this.getNamedElement(), null, "inputType", null, 0, 1, ExternAggregatorDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2511
2512 initEClass(externDatatypeDefinitionEClass, ExternDatatypeDefinition.class, "ExternDatatypeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2513 initEAttribute(getExternDatatypeDefinition_Name(), ecorePackage.getEString(), "name", null, 0, 1, ExternDatatypeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2514 initEReference(getExternDatatypeDefinition_Supertypes(), this.getNamedElement(), null, "supertypes", null, 0, -1, ExternDatatypeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2515
2516 initEClass(namedElementEClass, NamedElement.class, "NamedElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2517 initEAttribute(getNamedElement_Name(), ecorePackage.getEString(), "name", null, 0, 1, NamedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2518
2519 initEClass(expressionEClass, Expression.class, "Expression", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2520
2521 initEClass(ifElseEClass, IfElse.class, "IfElse", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2522 initEReference(getIfElse_Then(), this.getExpression(), null, "then", null, 0, 1, IfElse.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2523 initEReference(getIfElse_Else(), this.getExpression(), null, "else", null, 0, 1, IfElse.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2524 initEReference(getIfElse_Condition(), this.getExpression(), null, "condition", null, 0, 1, IfElse.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2525
2526 initEClass(letEClass, Let.class, "Let", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2527 initEReference(getLet_Bindings(), this.getLetBinding(), null, "bindings", null, 0, -1, Let.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2528 initEReference(getLet_Body(), this.getExpression(), null, "body", null, 0, 1, Let.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2529
2530 initEClass(letBindingEClass, LetBinding.class, "LetBinding", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2531 initEReference(getLetBinding_Variable(), this.getNamedElement(), null, "variable", null, 0, 1, LetBinding.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2532 initEReference(getLetBinding_Value(), this.getExpression(), null, "value", null, 0, 1, LetBinding.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2533
2534 initEClass(caseEClass, Case.class, "Case", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2535 initEReference(getCase_Body(), this.getExpression(), null, "body", null, 0, 1, Case.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2536 initEReference(getCase_Condition(), this.getExpression(), null, "condition", null, 0, 1, Case.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2537
2538 initEClass(localVariablesEClass, LocalVariables.class, "LocalVariables", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2539 initEReference(getLocalVariables_Variables(), this.getNamedElement(), null, "variables", null, 0, -1, LocalVariables.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2540
2541 initEClass(quantifiedExpressionEClass, QuantifiedExpression.class, "QuantifiedExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2542 initEReference(getQuantifiedExpression_LocalVariables(), this.getLocalVariables(), null, "localVariables", null, 0, 1, QuantifiedExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2543 initEReference(getQuantifiedExpression_Body(), this.getExpression(), null, "body", null, 0, 1, QuantifiedExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2544 initEAttribute(getQuantifiedExpression_Quantifier(), this.getQuantifier(), "quantifier", null, 0, 1, QuantifiedExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2545
2546 initEClass(aggregationEClass, Aggregation.class, "Aggregation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2547 initEReference(getAggregation_Op(), this.getNamedElement(), null, "op", null, 0, 1, Aggregation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2548 initEReference(getAggregation_LocalVariables(), this.getLocalVariables(), null, "localVariables", null, 0, 1, Aggregation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2549 initEReference(getAggregation_Body(), this.getExpression(), null, "body", null, 0, 1, Aggregation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2550 initEReference(getAggregation_Condition(), this.getExpression(), null, "condition", null, 0, 1, Aggregation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2551
2552 initEClass(callEClass, Call.class, "Call", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2553 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);
2554 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);
2555 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);
2556 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);
2557
2558 initEClass(argumentListEClass, ArgumentList.class, "ArgumentList", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2559 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);
2560
2561 initEClass(argumentEClass, Argument.class, "Argument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2562
2563 initEClass(expressionArgumentEClass, ExpressionArgument.class, "ExpressionArgument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2564 initEReference(getExpressionArgument_Body(), this.getExpression(), null, "body", null, 0, 1, ExpressionArgument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2565
2566 initEClass(starArgumentEClass, StarArgument.class, "StarArgument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2567
2568 initEClass(typedArgumentEClass, TypedArgument.class, "TypedArgument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2569 initEReference(getTypedArgument_Type(), this.getNamedElement(), null, "type", null, 0, 1, TypedArgument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2570 initEReference(getTypedArgument_Variable(), this.getNamedElement(), null, "variable", null, 0, 1, TypedArgument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2571
2572 initEClass(typedStarArgumentEClass, TypedStarArgument.class, "TypedStarArgument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2573 initEReference(getTypedStarArgument_Type(), this.getNamedElement(), null, "type", null, 0, 1, TypedStarArgument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2574
2575 initEClass(referenceEClass, Reference.class, "Reference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2576 initEReference(getReference_Referred(), this.getNamedElement(), null, "referred", null, 0, 1, Reference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2577
2578 initEClass(intervalEClass, Interval.class, "Interval", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2579 initEReference(getInterval_LowerBound(), this.getExpression(), null, "lowerBound", null, 0, 1, Interval.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2580 initEReference(getInterval_UpperBound(), this.getExpression(), null, "upperBound", null, 0, 1, Interval.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2581
2582 initEClass(literalEClass, Literal.class, "Literal", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2583
2584 initEClass(logicLiteralEClass, LogicLiteral.class, "LogicLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2585 initEAttribute(getLogicLiteral_Value(), this.getLogicValue(), "value", null, 0, 1, LogicLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2586
2587 initEClass(numericLiteralEClass, NumericLiteral.class, "NumericLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2588 initEAttribute(getNumericLiteral_Value(), ecorePackage.getEBigDecimal(), "value", null, 0, 1, NumericLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2589
2590 initEClass(infinityLiteralEClass, InfinityLiteral.class, "InfinityLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2591
2592 initEClass(emptyIntervalLiteralEClass, EmptyIntervalLiteral.class, "EmptyIntervalLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2593
2594 initEClass(stringLiteralEClass, StringLiteral.class, "StringLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2595 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);
2596
2597 initEClass(classDefinitionEClass, ClassDefinition.class, "ClassDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2598 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);
2599 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);
2600 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);
2601 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);
2602
2603 initEClass(memberDefinitionEClass, MemberDefinition.class, "MemberDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2604 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);
2605 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);
2606 initEReference(getMemberDefinition_Multiplicity(), this.getMultiplicity(), null, "multiplicity", null, 0, 1, MemberDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2607 initEAttribute(getMemberDefinition_Name(), ecorePackage.getEString(), "name", null, 0, 1, MemberDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2608 initEReference(getMemberDefinition_Opposite(), this.getNamedElement(), null, "opposite", null, 0, 1, MemberDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2609
2610 initEClass(multiplicityEClass, Multiplicity.class, "Multiplicity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2611
2612 initEClass(manyMultiplicityEClass, ManyMultiplicity.class, "ManyMultiplicity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2613
2614 initEClass(exactMultiplicityEClass, ExactMultiplicity.class, "ExactMultiplicity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2615 initEAttribute(getExactMultiplicity_Multiplicity(), ecorePackage.getEInt(), "multiplicity", null, 0, 1, ExactMultiplicity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2616
2617 initEClass(boundedMultiplicityEClass, BoundedMultiplicity.class, "BoundedMultiplicity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2618 initEAttribute(getBoundedMultiplicity_LowerBound(), ecorePackage.getEInt(), "lowerBound", null, 0, 1, BoundedMultiplicity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2619 initEAttribute(getBoundedMultiplicity_UpperBound(), ecorePackage.getEInt(), "upperBound", null, 0, 1, BoundedMultiplicity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2620
2621 initEClass(scopeDefinitionEClass, ScopeDefinition.class, "ScopeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2622 initEReference(getScopeDefinition_Type(), this.getNamedElement(), null, "type", null, 0, 1, ScopeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2623
2624 initEClass(exactScopeDefinitionEClass, ExactScopeDefinition.class, "ExactScopeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2625 initEAttribute(getExactScopeDefinition_ExactScope(), ecorePackage.getEInt(), "exactScope", null, 0, 1, ExactScopeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2626
2627 initEClass(boundedScopeDefinitionEClass, BoundedScopeDefinition.class, "BoundedScopeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2628 initEAttribute(getBoundedScopeDefinition_LowerBound(), ecorePackage.getEInt(), "lowerBound", null, 0, 1, BoundedScopeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2629 initEAttribute(getBoundedScopeDefinition_UpperBound(), ecorePackage.getEInt(), "upperBound", null, 0, 1, BoundedScopeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2630
2631 initEClass(lowerBoundedScopeDefinitionEClass, LowerBoundedScopeDefinition.class, "LowerBoundedScopeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2632 initEAttribute(getLowerBoundedScopeDefinition_LowerBound(), ecorePackage.getEInt(), "lowerBound", null, 0, 1, LowerBoundedScopeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2633
2634 initEClass(objectiveDefinitionEClass, ObjectiveDefinition.class, "ObjectiveDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2635 initEAttribute(getObjectiveDefinition_Kind(), this.getObjectiveKind(), "kind", null, 0, 1, ObjectiveDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2636 initEReference(getObjectiveDefinition_Objective(), this.getExpression(), null, "objective", null, 0, 1, ObjectiveDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2637
2638 initEClass(interpretationEClass, Interpretation.class, "Interpretation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2639 initEReference(getInterpretation_Body(), this.getExpression(), null, "body", null, 0, 1, Interpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2640 initEReference(getInterpretation_Range(), this.getExpression(), null, "range", null, 0, 1, Interpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2641
2642 initEClass(variableEClass, Variable.class, "Variable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2643 initEReference(getVariable_Type(), this.getNamedElement(), null, "type", null, 0, 1, Variable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2644
2645 initEClass(disjunctionEClass, Disjunction.class, "Disjunction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2646 initEReference(getDisjunction_Children(), this.getExpression(), null, "children", null, 0, -1, Disjunction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2647
2648 initEClass(switchEClass, Switch.class, "Switch", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2649 initEReference(getSwitch_Cases(), this.getCase(), null, "cases", null, 0, -1, Switch.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2650
2651 initEClass(conjunctionEClass, Conjunction.class, "Conjunction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2652 initEReference(getConjunction_Children(), this.getExpression(), null, "children", null, 0, -1, Conjunction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2653
2654 initEClass(comparisonEClass, Comparison.class, "Comparison", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2655 initEReference(getComparison_Left(), this.getExpression(), null, "left", null, 0, 1, Comparison.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2656 initEAttribute(getComparison_Op(), this.getBinaryOperator(), "op", null, 0, 1, Comparison.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2657 initEReference(getComparison_Right(), this.getExpression(), null, "right", null, 0, 1, Comparison.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2658
2659 initEClass(binaryExpressionEClass, BinaryExpression.class, "BinaryExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2660 initEReference(getBinaryExpression_Left(), this.getExpression(), null, "left", null, 0, 1, BinaryExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2661 initEAttribute(getBinaryExpression_Op(), this.getBinaryOperator(), "op", null, 0, 1, BinaryExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2662 initEReference(getBinaryExpression_Right(), this.getExpression(), null, "right", null, 0, 1, BinaryExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2663
2664 initEClass(castExpressionEClass, CastExpression.class, "CastExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2665 initEReference(getCastExpression_Body(), this.getExpression(), null, "body", null, 0, 1, CastExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2666 initEReference(getCastExpression_Type(), this.getNamedElement(), null, "type", null, 0, 1, CastExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2667
2668 initEClass(unaryExpressionEClass, UnaryExpression.class, "UnaryExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2669 initEAttribute(getUnaryExpression_Op(), this.getUnaryOp(), "op", null, 0, 1, UnaryExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2670 initEReference(getUnaryExpression_Body(), this.getExpression(), null, "body", null, 0, 1, UnaryExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2671
2672 initEClass(nodeEClass, Node.class, "Node", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2673 initEAttribute(getNode_WithId(), ecorePackage.getEBoolean(), "withId", null, 0, 1, Node.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2674
2675 initEClass(functorEClass, Functor.class, "Functor", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2676 initEReference(getFunctor_Parameters(), this.getVariable(), null, "parameters", null, 0, -1, Functor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2677
2678 initEClass(predicateEClass, Predicate.class, "Predicate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2679
2680 initEClass(metricEClass, Metric.class, "Metric", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2681 initEReference(getMetric_ReturnType(), this.getNamedElement(), null, "returnType", null, 0, 1, Metric.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2682
2683 // Initialize enums and add enum literals
2684 initEEnum(binaryOperatorEEnum, BinaryOperator.class, "BinaryOperator");
2685 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.EQ);
2686 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.NOT_EQ);
2687 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.LESS);
2688 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.LESS_EQ);
2689 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.GREATER);
2690 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.GREATER_EQ);
2691 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.IN);
2692 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.ADD);
2693 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.SUB);
2694 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.MUL);
2695 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.DIV);
2696 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.POW);
2697 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.IMPLIES);
2698
2699 initEEnum(unaryOpEEnum, UnaryOp.class, "UnaryOp");
2700 addEEnumLiteral(unaryOpEEnum, UnaryOp.NEG);
2701 addEEnumLiteral(unaryOpEEnum, UnaryOp.PLUS);
2702 addEEnumLiteral(unaryOpEEnum, UnaryOp.MINUS);
2703 addEEnumLiteral(unaryOpEEnum, UnaryOp.MAY);
2704 addEEnumLiteral(unaryOpEEnum, UnaryOp.MUST);
2705 addEEnumLiteral(unaryOpEEnum, UnaryOp.CURRENT);
2706
2707 initEEnum(logicValueEEnum, LogicValue.class, "LogicValue");
2708 addEEnumLiteral(logicValueEEnum, LogicValue.TRUE);
2709 addEEnumLiteral(logicValueEEnum, LogicValue.FALSE);
2710 addEEnumLiteral(logicValueEEnum, LogicValue.UNKNOWN);
2711 addEEnumLiteral(logicValueEEnum, LogicValue.ERROR);
2712
2713 initEEnum(objectiveKindEEnum, ObjectiveKind.class, "ObjectiveKind");
2714 addEEnumLiteral(objectiveKindEEnum, ObjectiveKind.MINIMIZE);
2715 addEEnumLiteral(objectiveKindEEnum, ObjectiveKind.MAXIMIZE);
2716
2717 initEEnum(quantifierEEnum, Quantifier.class, "Quantifier");
2718 addEEnumLiteral(quantifierEEnum, Quantifier.EXISTS);
2719 addEEnumLiteral(quantifierEEnum, Quantifier.FORALL);
2720 addEEnumLiteral(quantifierEEnum, Quantifier.COUNT);
2721
2722 // Create resource
2723 createResource(eNS_URI);
2724 }
2725
2726} //SolverLanguagePackageImpl