aboutsummaryrefslogtreecommitdiffstats
path: root/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemPackageImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemPackageImpl.java')
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemPackageImpl.java1061
1 files changed, 1061 insertions, 0 deletions
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemPackageImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemPackageImpl.java
new file mode 100644
index 00000000..de0aa595
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemPackageImpl.java
@@ -0,0 +1,1061 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import org.eclipse.emf.ecore.EAttribute;
6import org.eclipse.emf.ecore.EClass;
7import org.eclipse.emf.ecore.EEnum;
8import org.eclipse.emf.ecore.EPackage;
9import org.eclipse.emf.ecore.EReference;
10
11import org.eclipse.emf.ecore.impl.EPackageImpl;
12
13import org.eclipse.viatra.solver.language.model.problem.Assertion;
14import org.eclipse.viatra.solver.language.model.problem.Atom;
15import org.eclipse.viatra.solver.language.model.problem.ClassDeclaration;
16import org.eclipse.viatra.solver.language.model.problem.Conjunction;
17import org.eclipse.viatra.solver.language.model.problem.ExactMultiplicity;
18import org.eclipse.viatra.solver.language.model.problem.ExistentialQuantifier;
19import org.eclipse.viatra.solver.language.model.problem.ImplicitVariable;
20import org.eclipse.viatra.solver.language.model.problem.Literal;
21import org.eclipse.viatra.solver.language.model.problem.LogicValue;
22import org.eclipse.viatra.solver.language.model.problem.Multiplicity;
23import org.eclipse.viatra.solver.language.model.problem.NamedElement;
24import org.eclipse.viatra.solver.language.model.problem.NegativeLiteral;
25import org.eclipse.viatra.solver.language.model.problem.Node;
26import org.eclipse.viatra.solver.language.model.problem.Parameter;
27import org.eclipse.viatra.solver.language.model.problem.PredicateDefinition;
28import org.eclipse.viatra.solver.language.model.problem.Problem;
29import org.eclipse.viatra.solver.language.model.problem.ProblemFactory;
30import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
31import org.eclipse.viatra.solver.language.model.problem.RangeMultiplicity;
32import org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration;
33import org.eclipse.viatra.solver.language.model.problem.Relation;
34import org.eclipse.viatra.solver.language.model.problem.ScopeDeclaration;
35import org.eclipse.viatra.solver.language.model.problem.Statement;
36import org.eclipse.viatra.solver.language.model.problem.TypeScope;
37import org.eclipse.viatra.solver.language.model.problem.Variable;
38
39/**
40 * <!-- begin-user-doc -->
41 * An implementation of the model <b>Package</b>.
42 * <!-- end-user-doc -->
43 * @generated
44 */
45public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
46 /**
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @generated
50 */
51 private EClass problemEClass = null;
52
53 /**
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @generated
57 */
58 private EClass relationEClass = null;
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 private EClass classDeclarationEClass = null;
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 private EClass referenceDeclarationEClass = null;
73
74 /**
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @generated
78 */
79 private EClass namedElementEClass = null;
80
81 /**
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @generated
85 */
86 private EClass predicateDefinitionEClass = null;
87
88 /**
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 */
93 private EClass parameterEClass = null;
94
95 /**
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @generated
99 */
100 private EClass variableEClass = null;
101
102 /**
103 * <!-- begin-user-doc -->
104 * <!-- end-user-doc -->
105 * @generated
106 */
107 private EClass conjunctionEClass = null;
108
109 /**
110 * <!-- begin-user-doc -->
111 * <!-- end-user-doc -->
112 * @generated
113 */
114 private EClass literalEClass = null;
115
116 /**
117 * <!-- begin-user-doc -->
118 * <!-- end-user-doc -->
119 * @generated
120 */
121 private EClass atomEClass = null;
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 private EClass implicitVariableEClass = null;
129
130 /**
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @generated
134 */
135 private EClass negativeLiteralEClass = null;
136
137 /**
138 * <!-- begin-user-doc -->
139 * <!-- end-user-doc -->
140 * @generated
141 */
142 private EClass existentialQuantifierEClass = null;
143
144 /**
145 * <!-- begin-user-doc -->
146 * <!-- end-user-doc -->
147 * @generated
148 */
149 private EClass assertionEClass = null;
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 private EClass nodeEClass = null;
157
158 /**
159 * <!-- begin-user-doc -->
160 * <!-- end-user-doc -->
161 * @generated
162 */
163 private EClass scopeDeclarationEClass = null;
164
165 /**
166 * <!-- begin-user-doc -->
167 * <!-- end-user-doc -->
168 * @generated
169 */
170 private EClass statementEClass = null;
171
172 /**
173 * <!-- begin-user-doc -->
174 * <!-- end-user-doc -->
175 * @generated
176 */
177 private EClass typeScopeEClass = null;
178
179 /**
180 * <!-- begin-user-doc -->
181 * <!-- end-user-doc -->
182 * @generated
183 */
184 private EClass multiplicityEClass = null;
185
186 /**
187 * <!-- begin-user-doc -->
188 * <!-- end-user-doc -->
189 * @generated
190 */
191 private EClass rangeMultiplicityEClass = null;
192
193 /**
194 * <!-- begin-user-doc -->
195 * <!-- end-user-doc -->
196 * @generated
197 */
198 private EClass exactMultiplicityEClass = null;
199
200 /**
201 * <!-- begin-user-doc -->
202 * <!-- end-user-doc -->
203 * @generated
204 */
205 private EEnum logicValueEEnum = null;
206
207 /**
208 * Creates an instance of the model <b>Package</b>, registered with
209 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
210 * package URI value.
211 * <p>Note: the correct way to create the package is via the static
212 * factory method {@link #init init()}, which also performs
213 * initialization of the package, or returns the registered package,
214 * if one already exists.
215 * <!-- begin-user-doc -->
216 * <!-- end-user-doc -->
217 * @see org.eclipse.emf.ecore.EPackage.Registry
218 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#eNS_URI
219 * @see #init()
220 * @generated
221 */
222 private ProblemPackageImpl() {
223 super(eNS_URI, ProblemFactory.eINSTANCE);
224 }
225
226 /**
227 * <!-- begin-user-doc -->
228 * <!-- end-user-doc -->
229 * @generated
230 */
231 private static boolean isInited = false;
232
233 /**
234 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
235 *
236 * <p>This method is used to initialize {@link ProblemPackage#eINSTANCE} when that field is accessed.
237 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
238 * <!-- begin-user-doc -->
239 * <!-- end-user-doc -->
240 * @see #eNS_URI
241 * @see #createPackageContents()
242 * @see #initializePackageContents()
243 * @generated
244 */
245 public static ProblemPackage init() {
246 if (isInited)
247 return (ProblemPackage) EPackage.Registry.INSTANCE.getEPackage(ProblemPackage.eNS_URI);
248
249 // Obtain or create and register package
250 Object registeredProblemPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
251 ProblemPackageImpl theProblemPackage = registeredProblemPackage instanceof ProblemPackageImpl
252 ? (ProblemPackageImpl) registeredProblemPackage
253 : new ProblemPackageImpl();
254
255 isInited = true;
256
257 // Create package meta-data objects
258 theProblemPackage.createPackageContents();
259
260 // Initialize created meta-data
261 theProblemPackage.initializePackageContents();
262
263 // Mark meta-data to indicate it can't be changed
264 theProblemPackage.freeze();
265
266 // Update the registry and return the package
267 EPackage.Registry.INSTANCE.put(ProblemPackage.eNS_URI, theProblemPackage);
268 return theProblemPackage;
269 }
270
271 /**
272 * <!-- begin-user-doc -->
273 * <!-- end-user-doc -->
274 * @generated
275 */
276 public EClass getProblem() {
277 return problemEClass;
278 }
279
280 /**
281 * <!-- begin-user-doc -->
282 * <!-- end-user-doc -->
283 * @generated
284 */
285 public EReference getProblem_Nodes() {
286 return (EReference) problemEClass.getEStructuralFeatures().get(0);
287 }
288
289 /**
290 * <!-- begin-user-doc -->
291 * <!-- end-user-doc -->
292 * @generated
293 */
294 public EReference getProblem_Statements() {
295 return (EReference) problemEClass.getEStructuralFeatures().get(1);
296 }
297
298 /**
299 * <!-- begin-user-doc -->
300 * <!-- end-user-doc -->
301 * @generated
302 */
303 public EClass getRelation() {
304 return relationEClass;
305 }
306
307 /**
308 * <!-- begin-user-doc -->
309 * <!-- end-user-doc -->
310 * @generated
311 */
312 public EClass getClassDeclaration() {
313 return classDeclarationEClass;
314 }
315
316 /**
317 * <!-- begin-user-doc -->
318 * <!-- end-user-doc -->
319 * @generated
320 */
321 public EAttribute getClassDeclaration_Abstract() {
322 return (EAttribute) classDeclarationEClass.getEStructuralFeatures().get(0);
323 }
324
325 /**
326 * <!-- begin-user-doc -->
327 * <!-- end-user-doc -->
328 * @generated
329 */
330 public EReference getClassDeclaration_SuperTypes() {
331 return (EReference) classDeclarationEClass.getEStructuralFeatures().get(1);
332 }
333
334 /**
335 * <!-- begin-user-doc -->
336 * <!-- end-user-doc -->
337 * @generated
338 */
339 public EReference getClassDeclaration_ReferenceDeclarations() {
340 return (EReference) classDeclarationEClass.getEStructuralFeatures().get(2);
341 }
342
343 /**
344 * <!-- begin-user-doc -->
345 * <!-- end-user-doc -->
346 * @generated
347 */
348 public EClass getReferenceDeclaration() {
349 return referenceDeclarationEClass;
350 }
351
352 /**
353 * <!-- begin-user-doc -->
354 * <!-- end-user-doc -->
355 * @generated
356 */
357 public EReference getReferenceDeclaration_ReferenceType() {
358 return (EReference) referenceDeclarationEClass.getEStructuralFeatures().get(0);
359 }
360
361 /**
362 * <!-- begin-user-doc -->
363 * <!-- end-user-doc -->
364 * @generated
365 */
366 public EReference getReferenceDeclaration_Opposite() {
367 return (EReference) referenceDeclarationEClass.getEStructuralFeatures().get(1);
368 }
369
370 /**
371 * <!-- begin-user-doc -->
372 * <!-- end-user-doc -->
373 * @generated
374 */
375 public EAttribute getReferenceDeclaration_Containment() {
376 return (EAttribute) referenceDeclarationEClass.getEStructuralFeatures().get(2);
377 }
378
379 /**
380 * <!-- begin-user-doc -->
381 * <!-- end-user-doc -->
382 * @generated
383 */
384 public EReference getReferenceDeclaration_Multiplicity() {
385 return (EReference) referenceDeclarationEClass.getEStructuralFeatures().get(3);
386 }
387
388 /**
389 * <!-- begin-user-doc -->
390 * <!-- end-user-doc -->
391 * @generated
392 */
393 public EClass getNamedElement() {
394 return namedElementEClass;
395 }
396
397 /**
398 * <!-- begin-user-doc -->
399 * <!-- end-user-doc -->
400 * @generated
401 */
402 public EAttribute getNamedElement_Name() {
403 return (EAttribute) namedElementEClass.getEStructuralFeatures().get(0);
404 }
405
406 /**
407 * <!-- begin-user-doc -->
408 * <!-- end-user-doc -->
409 * @generated
410 */
411 public EClass getPredicateDefinition() {
412 return predicateDefinitionEClass;
413 }
414
415 /**
416 * <!-- begin-user-doc -->
417 * <!-- end-user-doc -->
418 * @generated
419 */
420 public EAttribute getPredicateDefinition_Error() {
421 return (EAttribute) predicateDefinitionEClass.getEStructuralFeatures().get(0);
422 }
423
424 /**
425 * <!-- begin-user-doc -->
426 * <!-- end-user-doc -->
427 * @generated
428 */
429 public EReference getPredicateDefinition_Parameters() {
430 return (EReference) predicateDefinitionEClass.getEStructuralFeatures().get(1);
431 }
432
433 /**
434 * <!-- begin-user-doc -->
435 * <!-- end-user-doc -->
436 * @generated
437 */
438 public EReference getPredicateDefinition_Bodies() {
439 return (EReference) predicateDefinitionEClass.getEStructuralFeatures().get(2);
440 }
441
442 /**
443 * <!-- begin-user-doc -->
444 * <!-- end-user-doc -->
445 * @generated
446 */
447 public EClass getParameter() {
448 return parameterEClass;
449 }
450
451 /**
452 * <!-- begin-user-doc -->
453 * <!-- end-user-doc -->
454 * @generated
455 */
456 public EReference getParameter_ParameterType() {
457 return (EReference) parameterEClass.getEStructuralFeatures().get(0);
458 }
459
460 /**
461 * <!-- begin-user-doc -->
462 * <!-- end-user-doc -->
463 * @generated
464 */
465 public EClass getVariable() {
466 return variableEClass;
467 }
468
469 /**
470 * <!-- begin-user-doc -->
471 * <!-- end-user-doc -->
472 * @generated
473 */
474 public EClass getConjunction() {
475 return conjunctionEClass;
476 }
477
478 /**
479 * <!-- begin-user-doc -->
480 * <!-- end-user-doc -->
481 * @generated
482 */
483 public EReference getConjunction_Literals() {
484 return (EReference) conjunctionEClass.getEStructuralFeatures().get(0);
485 }
486
487 /**
488 * <!-- begin-user-doc -->
489 * <!-- end-user-doc -->
490 * @generated
491 */
492 public EClass getLiteral() {
493 return literalEClass;
494 }
495
496 /**
497 * <!-- begin-user-doc -->
498 * <!-- end-user-doc -->
499 * @generated
500 */
501 public EClass getAtom() {
502 return atomEClass;
503 }
504
505 /**
506 * <!-- begin-user-doc -->
507 * <!-- end-user-doc -->
508 * @generated
509 */
510 public EReference getAtom_Relation() {
511 return (EReference) atomEClass.getEStructuralFeatures().get(0);
512 }
513
514 /**
515 * <!-- begin-user-doc -->
516 * <!-- end-user-doc -->
517 * @generated
518 */
519 public EReference getAtom_Arguments() {
520 return (EReference) atomEClass.getEStructuralFeatures().get(1);
521 }
522
523 /**
524 * <!-- begin-user-doc -->
525 * <!-- end-user-doc -->
526 * @generated
527 */
528 public EAttribute getAtom_TransitiveClosure() {
529 return (EAttribute) atomEClass.getEStructuralFeatures().get(2);
530 }
531
532 /**
533 * <!-- begin-user-doc -->
534 * <!-- end-user-doc -->
535 * @generated
536 */
537 public EClass getImplicitVariable() {
538 return implicitVariableEClass;
539 }
540
541 /**
542 * <!-- begin-user-doc -->
543 * <!-- end-user-doc -->
544 * @generated
545 */
546 public EClass getNegativeLiteral() {
547 return negativeLiteralEClass;
548 }
549
550 /**
551 * <!-- begin-user-doc -->
552 * <!-- end-user-doc -->
553 * @generated
554 */
555 public EReference getNegativeLiteral_Atom() {
556 return (EReference) negativeLiteralEClass.getEStructuralFeatures().get(0);
557 }
558
559 /**
560 * <!-- begin-user-doc -->
561 * <!-- end-user-doc -->
562 * @generated
563 */
564 public EClass getExistentialQuantifier() {
565 return existentialQuantifierEClass;
566 }
567
568 /**
569 * <!-- begin-user-doc -->
570 * <!-- end-user-doc -->
571 * @generated
572 */
573 public EReference getExistentialQuantifier_ImplicitVariables() {
574 return (EReference) existentialQuantifierEClass.getEStructuralFeatures().get(0);
575 }
576
577 /**
578 * <!-- begin-user-doc -->
579 * <!-- end-user-doc -->
580 * @generated
581 */
582 public EClass getAssertion() {
583 return assertionEClass;
584 }
585
586 /**
587 * <!-- begin-user-doc -->
588 * <!-- end-user-doc -->
589 * @generated
590 */
591 public EReference getAssertion_Relation() {
592 return (EReference) assertionEClass.getEStructuralFeatures().get(0);
593 }
594
595 /**
596 * <!-- begin-user-doc -->
597 * <!-- end-user-doc -->
598 * @generated
599 */
600 public EReference getAssertion_Arguments() {
601 return (EReference) assertionEClass.getEStructuralFeatures().get(1);
602 }
603
604 /**
605 * <!-- begin-user-doc -->
606 * <!-- end-user-doc -->
607 * @generated
608 */
609 public EAttribute getAssertion_Value() {
610 return (EAttribute) assertionEClass.getEStructuralFeatures().get(2);
611 }
612
613 /**
614 * <!-- begin-user-doc -->
615 * <!-- end-user-doc -->
616 * @generated
617 */
618 public EClass getNode() {
619 return nodeEClass;
620 }
621
622 /**
623 * <!-- begin-user-doc -->
624 * <!-- end-user-doc -->
625 * @generated
626 */
627 public EClass getScopeDeclaration() {
628 return scopeDeclarationEClass;
629 }
630
631 /**
632 * <!-- begin-user-doc -->
633 * <!-- end-user-doc -->
634 * @generated
635 */
636 public EReference getScopeDeclaration_TypeScopes() {
637 return (EReference) scopeDeclarationEClass.getEStructuralFeatures().get(0);
638 }
639
640 /**
641 * <!-- begin-user-doc -->
642 * <!-- end-user-doc -->
643 * @generated
644 */
645 public EClass getStatement() {
646 return statementEClass;
647 }
648
649 /**
650 * <!-- begin-user-doc -->
651 * <!-- end-user-doc -->
652 * @generated
653 */
654 public EClass getTypeScope() {
655 return typeScopeEClass;
656 }
657
658 /**
659 * <!-- begin-user-doc -->
660 * <!-- end-user-doc -->
661 * @generated
662 */
663 public EReference getTypeScope_TargetType() {
664 return (EReference) typeScopeEClass.getEStructuralFeatures().get(0);
665 }
666
667 /**
668 * <!-- begin-user-doc -->
669 * <!-- end-user-doc -->
670 * @generated
671 */
672 public EAttribute getTypeScope_Increment() {
673 return (EAttribute) typeScopeEClass.getEStructuralFeatures().get(1);
674 }
675
676 /**
677 * <!-- begin-user-doc -->
678 * <!-- end-user-doc -->
679 * @generated
680 */
681 public EReference getTypeScope_Multiplicity() {
682 return (EReference) typeScopeEClass.getEStructuralFeatures().get(2);
683 }
684
685 /**
686 * <!-- begin-user-doc -->
687 * <!-- end-user-doc -->
688 * @generated
689 */
690 public EClass getMultiplicity() {
691 return multiplicityEClass;
692 }
693
694 /**
695 * <!-- begin-user-doc -->
696 * <!-- end-user-doc -->
697 * @generated
698 */
699 public EClass getRangeMultiplicity() {
700 return rangeMultiplicityEClass;
701 }
702
703 /**
704 * <!-- begin-user-doc -->
705 * <!-- end-user-doc -->
706 * @generated
707 */
708 public EAttribute getRangeMultiplicity_LowerBound() {
709 return (EAttribute) rangeMultiplicityEClass.getEStructuralFeatures().get(0);
710 }
711
712 /**
713 * <!-- begin-user-doc -->
714 * <!-- end-user-doc -->
715 * @generated
716 */
717 public EAttribute getRangeMultiplicity_UpperBound() {
718 return (EAttribute) rangeMultiplicityEClass.getEStructuralFeatures().get(1);
719 }
720
721 /**
722 * <!-- begin-user-doc -->
723 * <!-- end-user-doc -->
724 * @generated
725 */
726 public EClass getExactMultiplicity() {
727 return exactMultiplicityEClass;
728 }
729
730 /**
731 * <!-- begin-user-doc -->
732 * <!-- end-user-doc -->
733 * @generated
734 */
735 public EAttribute getExactMultiplicity_ExactValue() {
736 return (EAttribute) exactMultiplicityEClass.getEStructuralFeatures().get(0);
737 }
738
739 /**
740 * <!-- begin-user-doc -->
741 * <!-- end-user-doc -->
742 * @generated
743 */
744 public EEnum getLogicValue() {
745 return logicValueEEnum;
746 }
747
748 /**
749 * <!-- begin-user-doc -->
750 * <!-- end-user-doc -->
751 * @generated
752 */
753 public ProblemFactory getProblemFactory() {
754 return (ProblemFactory) getEFactoryInstance();
755 }
756
757 /**
758 * <!-- begin-user-doc -->
759 * <!-- end-user-doc -->
760 * @generated
761 */
762 private boolean isCreated = false;
763
764 /**
765 * Creates the meta-model objects for the package. This method is
766 * guarded to have no affect on any invocation but its first.
767 * <!-- begin-user-doc -->
768 * <!-- end-user-doc -->
769 * @generated
770 */
771 public void createPackageContents() {
772 if (isCreated)
773 return;
774 isCreated = true;
775
776 // Create classes and their features
777 problemEClass = createEClass(PROBLEM);
778 createEReference(problemEClass, PROBLEM__NODES);
779 createEReference(problemEClass, PROBLEM__STATEMENTS);
780
781 relationEClass = createEClass(RELATION);
782
783 classDeclarationEClass = createEClass(CLASS_DECLARATION);
784 createEAttribute(classDeclarationEClass, CLASS_DECLARATION__ABSTRACT);
785 createEReference(classDeclarationEClass, CLASS_DECLARATION__SUPER_TYPES);
786 createEReference(classDeclarationEClass, CLASS_DECLARATION__REFERENCE_DECLARATIONS);
787
788 referenceDeclarationEClass = createEClass(REFERENCE_DECLARATION);
789 createEReference(referenceDeclarationEClass, REFERENCE_DECLARATION__REFERENCE_TYPE);
790 createEReference(referenceDeclarationEClass, REFERENCE_DECLARATION__OPPOSITE);
791 createEAttribute(referenceDeclarationEClass, REFERENCE_DECLARATION__CONTAINMENT);
792 createEReference(referenceDeclarationEClass, REFERENCE_DECLARATION__MULTIPLICITY);
793
794 namedElementEClass = createEClass(NAMED_ELEMENT);
795 createEAttribute(namedElementEClass, NAMED_ELEMENT__NAME);
796
797 predicateDefinitionEClass = createEClass(PREDICATE_DEFINITION);
798 createEAttribute(predicateDefinitionEClass, PREDICATE_DEFINITION__ERROR);
799 createEReference(predicateDefinitionEClass, PREDICATE_DEFINITION__PARAMETERS);
800 createEReference(predicateDefinitionEClass, PREDICATE_DEFINITION__BODIES);
801
802 parameterEClass = createEClass(PARAMETER);
803 createEReference(parameterEClass, PARAMETER__PARAMETER_TYPE);
804
805 variableEClass = createEClass(VARIABLE);
806
807 conjunctionEClass = createEClass(CONJUNCTION);
808 createEReference(conjunctionEClass, CONJUNCTION__LITERALS);
809
810 literalEClass = createEClass(LITERAL);
811
812 atomEClass = createEClass(ATOM);
813 createEReference(atomEClass, ATOM__RELATION);
814 createEReference(atomEClass, ATOM__ARGUMENTS);
815 createEAttribute(atomEClass, ATOM__TRANSITIVE_CLOSURE);
816
817 implicitVariableEClass = createEClass(IMPLICIT_VARIABLE);
818
819 negativeLiteralEClass = createEClass(NEGATIVE_LITERAL);
820 createEReference(negativeLiteralEClass, NEGATIVE_LITERAL__ATOM);
821
822 existentialQuantifierEClass = createEClass(EXISTENTIAL_QUANTIFIER);
823 createEReference(existentialQuantifierEClass, EXISTENTIAL_QUANTIFIER__IMPLICIT_VARIABLES);
824
825 assertionEClass = createEClass(ASSERTION);
826 createEReference(assertionEClass, ASSERTION__RELATION);
827 createEReference(assertionEClass, ASSERTION__ARGUMENTS);
828 createEAttribute(assertionEClass, ASSERTION__VALUE);
829
830 nodeEClass = createEClass(NODE);
831
832 scopeDeclarationEClass = createEClass(SCOPE_DECLARATION);
833 createEReference(scopeDeclarationEClass, SCOPE_DECLARATION__TYPE_SCOPES);
834
835 statementEClass = createEClass(STATEMENT);
836
837 typeScopeEClass = createEClass(TYPE_SCOPE);
838 createEReference(typeScopeEClass, TYPE_SCOPE__TARGET_TYPE);
839 createEAttribute(typeScopeEClass, TYPE_SCOPE__INCREMENT);
840 createEReference(typeScopeEClass, TYPE_SCOPE__MULTIPLICITY);
841
842 multiplicityEClass = createEClass(MULTIPLICITY);
843
844 rangeMultiplicityEClass = createEClass(RANGE_MULTIPLICITY);
845 createEAttribute(rangeMultiplicityEClass, RANGE_MULTIPLICITY__LOWER_BOUND);
846 createEAttribute(rangeMultiplicityEClass, RANGE_MULTIPLICITY__UPPER_BOUND);
847
848 exactMultiplicityEClass = createEClass(EXACT_MULTIPLICITY);
849 createEAttribute(exactMultiplicityEClass, EXACT_MULTIPLICITY__EXACT_VALUE);
850
851 // Create enums
852 logicValueEEnum = createEEnum(LOGIC_VALUE);
853 }
854
855 /**
856 * <!-- begin-user-doc -->
857 * <!-- end-user-doc -->
858 * @generated
859 */
860 private boolean isInitialized = false;
861
862 /**
863 * Complete the initialization of the package and its meta-model. This
864 * method is guarded to have no affect on any invocation but its first.
865 * <!-- begin-user-doc -->
866 * <!-- end-user-doc -->
867 * @generated
868 */
869 public void initializePackageContents() {
870 if (isInitialized)
871 return;
872 isInitialized = true;
873
874 // Initialize package
875 setName(eNAME);
876 setNsPrefix(eNS_PREFIX);
877 setNsURI(eNS_URI);
878
879 // Create type parameters
880
881 // Set bounds for type parameters
882
883 // Add supertypes to classes
884 relationEClass.getESuperTypes().add(this.getNamedElement());
885 classDeclarationEClass.getESuperTypes().add(this.getRelation());
886 classDeclarationEClass.getESuperTypes().add(this.getStatement());
887 referenceDeclarationEClass.getESuperTypes().add(this.getRelation());
888 predicateDefinitionEClass.getESuperTypes().add(this.getRelation());
889 predicateDefinitionEClass.getESuperTypes().add(this.getStatement());
890 parameterEClass.getESuperTypes().add(this.getVariable());
891 variableEClass.getESuperTypes().add(this.getNamedElement());
892 conjunctionEClass.getESuperTypes().add(this.getExistentialQuantifier());
893 atomEClass.getESuperTypes().add(this.getLiteral());
894 implicitVariableEClass.getESuperTypes().add(this.getVariable());
895 negativeLiteralEClass.getESuperTypes().add(this.getExistentialQuantifier());
896 negativeLiteralEClass.getESuperTypes().add(this.getLiteral());
897 assertionEClass.getESuperTypes().add(this.getStatement());
898 nodeEClass.getESuperTypes().add(this.getNamedElement());
899 scopeDeclarationEClass.getESuperTypes().add(this.getStatement());
900 rangeMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
901 exactMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
902
903 // Initialize classes, features, and operations; add parameters
904 initEClass(problemEClass, Problem.class, "Problem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
905 initEReference(getProblem_Nodes(), this.getNode(), null, "nodes", null, 0, -1, Problem.class, !IS_TRANSIENT,
906 !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
907 IS_ORDERED);
908 initEReference(getProblem_Statements(), this.getStatement(), null, "statements", null, 0, -1, Problem.class,
909 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
910 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
911
912 initEClass(relationEClass, Relation.class, "Relation", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
913
914 initEClass(classDeclarationEClass, ClassDeclaration.class, "ClassDeclaration", !IS_ABSTRACT, !IS_INTERFACE,
915 IS_GENERATED_INSTANCE_CLASS);
916 initEAttribute(getClassDeclaration_Abstract(), ecorePackage.getEBoolean(), "abstract", null, 0, 1,
917 ClassDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
918 !IS_DERIVED, IS_ORDERED);
919 initEReference(getClassDeclaration_SuperTypes(), this.getClassDeclaration(), null, "superTypes", null, 0, -1,
920 ClassDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
921 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
922 initEReference(getClassDeclaration_ReferenceDeclarations(), this.getReferenceDeclaration(), null,
923 "referenceDeclarations", null, 0, -1, ClassDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE,
924 IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
925
926 initEClass(referenceDeclarationEClass, ReferenceDeclaration.class, "ReferenceDeclaration", !IS_ABSTRACT,
927 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
928 initEReference(getReferenceDeclaration_ReferenceType(), this.getClassDeclaration(), null, "referenceType", null,
929 0, 1, ReferenceDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE,
930 IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
931 initEReference(getReferenceDeclaration_Opposite(), this.getReferenceDeclaration(), null, "opposite", null, 0, 1,
932 ReferenceDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE,
933 IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
934 initEAttribute(getReferenceDeclaration_Containment(), ecorePackage.getEBoolean(), "containment", null, 0, 1,
935 ReferenceDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
936 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
937 initEReference(getReferenceDeclaration_Multiplicity(), this.getMultiplicity(), null, "multiplicity", null, 0, 1,
938 ReferenceDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
939 !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
940
941 initEClass(namedElementEClass, NamedElement.class, "NamedElement", IS_ABSTRACT, !IS_INTERFACE,
942 IS_GENERATED_INSTANCE_CLASS);
943 initEAttribute(getNamedElement_Name(), ecorePackage.getEString(), "name", null, 0, 1, NamedElement.class,
944 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
945
946 initEClass(predicateDefinitionEClass, PredicateDefinition.class, "PredicateDefinition", !IS_ABSTRACT,
947 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
948 initEAttribute(getPredicateDefinition_Error(), ecorePackage.getEBoolean(), "error", null, 0, 1,
949 PredicateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
950 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
951 initEReference(getPredicateDefinition_Parameters(), this.getParameter(), null, "parameters", null, 0, -1,
952 PredicateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
953 !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
954 initEReference(getPredicateDefinition_Bodies(), this.getConjunction(), null, "bodies", null, 0, -1,
955 PredicateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
956 !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
957
958 initEClass(parameterEClass, Parameter.class, "Parameter", !IS_ABSTRACT, !IS_INTERFACE,
959 IS_GENERATED_INSTANCE_CLASS);
960 initEReference(getParameter_ParameterType(), this.getClassDeclaration(), null, "parameterType", null, 0, 1,
961 Parameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
962 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
963
964 initEClass(variableEClass, Variable.class, "Variable", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
965
966 initEClass(conjunctionEClass, Conjunction.class, "Conjunction", !IS_ABSTRACT, !IS_INTERFACE,
967 IS_GENERATED_INSTANCE_CLASS);
968 initEReference(getConjunction_Literals(), this.getLiteral(), null, "literals", null, 0, -1, Conjunction.class,
969 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
970 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
971
972 initEClass(literalEClass, Literal.class, "Literal", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
973
974 initEClass(atomEClass, Atom.class, "Atom", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
975 initEReference(getAtom_Relation(), this.getRelation(), null, "relation", null, 0, 1, Atom.class, !IS_TRANSIENT,
976 !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
977 IS_ORDERED);
978 initEReference(getAtom_Arguments(), this.getVariable(), null, "arguments", null, 0, -1, Atom.class,
979 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
980 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
981 initEAttribute(getAtom_TransitiveClosure(), ecorePackage.getEBoolean(), "transitiveClosure", null, 0, 1,
982 Atom.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED,
983 IS_ORDERED);
984
985 initEClass(implicitVariableEClass, ImplicitVariable.class, "ImplicitVariable", !IS_ABSTRACT, !IS_INTERFACE,
986 IS_GENERATED_INSTANCE_CLASS);
987
988 initEClass(negativeLiteralEClass, NegativeLiteral.class, "NegativeLiteral", !IS_ABSTRACT, !IS_INTERFACE,
989 IS_GENERATED_INSTANCE_CLASS);
990 initEReference(getNegativeLiteral_Atom(), this.getAtom(), null, "atom", null, 0, 1, NegativeLiteral.class,
991 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
992 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
993
994 initEClass(existentialQuantifierEClass, ExistentialQuantifier.class, "ExistentialQuantifier", IS_ABSTRACT,
995 IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
996 initEReference(getExistentialQuantifier_ImplicitVariables(), this.getImplicitVariable(), null,
997 "implicitVariables", null, 0, -1, ExistentialQuantifier.class, !IS_TRANSIENT, !IS_VOLATILE,
998 IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
999
1000 initEClass(assertionEClass, Assertion.class, "Assertion", !IS_ABSTRACT, !IS_INTERFACE,
1001 IS_GENERATED_INSTANCE_CLASS);
1002 initEReference(getAssertion_Relation(), this.getRelation(), null, "relation", null, 0, 1, Assertion.class,
1003 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
1004 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1005 initEReference(getAssertion_Arguments(), this.getNode(), null, "arguments", null, 0, -1, Assertion.class,
1006 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
1007 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1008 initEAttribute(getAssertion_Value(), this.getLogicValue(), "value", null, 0, 1, Assertion.class, !IS_TRANSIENT,
1009 !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1010
1011 initEClass(nodeEClass, Node.class, "Node", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1012
1013 initEClass(scopeDeclarationEClass, ScopeDeclaration.class, "ScopeDeclaration", !IS_ABSTRACT, !IS_INTERFACE,
1014 IS_GENERATED_INSTANCE_CLASS);
1015 initEReference(getScopeDeclaration_TypeScopes(), this.getTypeScope(), null, "typeScopes", null, 0, -1,
1016 ScopeDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
1017 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1018
1019 initEClass(statementEClass, Statement.class, "Statement", IS_ABSTRACT, IS_INTERFACE,
1020 IS_GENERATED_INSTANCE_CLASS);
1021
1022 initEClass(typeScopeEClass, TypeScope.class, "TypeScope", !IS_ABSTRACT, !IS_INTERFACE,
1023 IS_GENERATED_INSTANCE_CLASS);
1024 initEReference(getTypeScope_TargetType(), this.getClassDeclaration(), null, "targetType", null, 0, 1,
1025 TypeScope.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
1026 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1027 initEAttribute(getTypeScope_Increment(), ecorePackage.getEBoolean(), "increment", null, 0, 1, TypeScope.class,
1028 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1029 initEReference(getTypeScope_Multiplicity(), this.getMultiplicity(), null, "multiplicity", null, 0, 1,
1030 TypeScope.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
1031 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1032
1033 initEClass(multiplicityEClass, Multiplicity.class, "Multiplicity", IS_ABSTRACT, !IS_INTERFACE,
1034 IS_GENERATED_INSTANCE_CLASS);
1035
1036 initEClass(rangeMultiplicityEClass, RangeMultiplicity.class, "RangeMultiplicity", !IS_ABSTRACT, !IS_INTERFACE,
1037 IS_GENERATED_INSTANCE_CLASS);
1038 initEAttribute(getRangeMultiplicity_LowerBound(), ecorePackage.getEInt(), "lowerBound", "0", 0, 1,
1039 RangeMultiplicity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
1040 !IS_DERIVED, IS_ORDERED);
1041 initEAttribute(getRangeMultiplicity_UpperBound(), ecorePackage.getEInt(), "upperBound", "-1", 0, 1,
1042 RangeMultiplicity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
1043 !IS_DERIVED, IS_ORDERED);
1044
1045 initEClass(exactMultiplicityEClass, ExactMultiplicity.class, "ExactMultiplicity", !IS_ABSTRACT, !IS_INTERFACE,
1046 IS_GENERATED_INSTANCE_CLASS);
1047 initEAttribute(getExactMultiplicity_ExactValue(), ecorePackage.getEInt(), "exactValue", "1", 0, 1,
1048 ExactMultiplicity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
1049 !IS_DERIVED, IS_ORDERED);
1050
1051 // Initialize enums and add enum literals
1052 initEEnum(logicValueEEnum, LogicValue.class, "LogicValue");
1053 addEEnumLiteral(logicValueEEnum, LogicValue.TRUE);
1054 addEEnumLiteral(logicValueEEnum, LogicValue.FALSE);
1055 addEEnumLiteral(logicValueEEnum, LogicValue.UNKNOWN);
1056
1057 // Create resource
1058 createResource(eNS_URI);
1059 }
1060
1061} //ProblemPackageImpl