aboutsummaryrefslogtreecommitdiffstats
path: root/Tests/Ecore-Plugin/outputs/debug/problem.als
diff options
context:
space:
mode:
Diffstat (limited to 'Tests/Ecore-Plugin/outputs/debug/problem.als')
-rw-r--r--Tests/Ecore-Plugin/outputs/debug/problem.als401
1 files changed, 401 insertions, 0 deletions
diff --git a/Tests/Ecore-Plugin/outputs/debug/problem.als b/Tests/Ecore-Plugin/outputs/debug/problem.als
new file mode 100644
index 00000000..23498c39
--- /dev/null
+++ b/Tests/Ecore-Plugin/outputs/debug/problem.als
@@ -0,0 +1,401 @@
1enum util'boolean {
2 util'boolean'true, util'boolean'false
3}
4one sig util'language {
5 util'root : one type'EEnumLiteral'class + (type'EEnum'class + (type'EAnnotation'class + (type'EDataType'class + (type'EGenericType'class + (type'ENamedElement'class + (type'EModelElement'class + (type'ETypedElement'class + (type'EAttribute'class + (type'EObject'class + (type'EClass'class + (type'EStringToStringMapEntry'class + (type'EPackage'class + (type'EReference'class + (type'EClassifier'class + (type'EOperation'class + (type'ETypeParameter'class + (type'EParameter'class + (type'EStructuralFeature'class + (type'EModelElement'class'DefinedPart + (type'EModelElement'class'UndefinedPart + (type'ENamedElement'class'DefinedPart + (type'ENamedElement'class'UndefinedPart + (type'EPackage'class'DefinedPart + type'EPackage'class'UndefinedPart))))))))))))))))))))))),
6 util'contains : (type'EEnumLiteral'class + (type'EEnum'class + (type'EAnnotation'class + (type'EDataType'class + (type'EGenericType'class + (type'ENamedElement'class + (type'EModelElement'class + (type'ETypedElement'class + (type'EAttribute'class + (type'EObject'class + (type'EClass'class + (type'EStringToStringMapEntry'class + (type'EPackage'class + (type'EReference'class + (type'EClassifier'class + (type'EOperation'class + (type'ETypeParameter'class + (type'EParameter'class + (type'EStructuralFeature'class + (type'EModelElement'class'DefinedPart + (type'EModelElement'class'UndefinedPart + (type'ENamedElement'class'DefinedPart + (type'ENamedElement'class'UndefinedPart + (type'EPackage'class'DefinedPart + type'EPackage'class'UndefinedPart)))))))))))))))))))))))) lone->set (type'EEnumLiteral'class + (type'EEnum'class + (type'EAnnotation'class + (type'EDataType'class + (type'EGenericType'class + (type'ENamedElement'class + (type'EModelElement'class + (type'ETypedElement'class + (type'EAttribute'class + (type'EObject'class + (type'EClass'class + (type'EStringToStringMapEntry'class + (type'EPackage'class + (type'EReference'class + (type'EClassifier'class + (type'EOperation'class + (type'ETypeParameter'class + (type'EParameter'class + (type'EStructuralFeature'class + (type'EModelElement'class'DefinedPart + (type'EModelElement'class'UndefinedPart + (type'ENamedElement'class'DefinedPart + (type'ENamedElement'class'UndefinedPart + (type'EPackage'class'DefinedPart + type'EPackage'class'UndefinedPart))))))))))))))))))))))))
7}
8abstract sig util'Object {
9}
10sig type'EAttribute'class in type'EStructuralFeature'class {
11 eAttributeType'reference'EAttribute : one type'EDataType'class,
12 iD'attribute'EAttribute : lone util'boolean
13}
14sig type'EAnnotation'class in type'EModelElement'class + type'EModelElement'class'UndefinedPart {
15 details'reference'EAnnotation : set type'EStringToStringMapEntry'class,
16 eModelElement'reference'EAnnotation : lone type'EModelElement'class,
17 contents'reference'EAnnotation : set type'EObject'class,
18 references'reference'EAnnotation : set type'EObject'class,
19 source'attribute'EAnnotation : lone String
20}
21sig type'EClass'class in type'EClassifier'class {
22 eSuperTypes'reference'EClass : set type'EClass'class,
23 eOperations'reference'EClass : set type'EOperation'class,
24 eAllAttributes'reference'EClass : set type'EAttribute'class,
25 eAllReferences'reference'EClass : set type'EReference'class,
26 eReferences'reference'EClass : set type'EReference'class,
27 eAttributes'reference'EClass : set type'EAttribute'class,
28 eAllContainments'reference'EClass : set type'EReference'class,
29 eAllOperations'reference'EClass : set type'EOperation'class,
30 eAllStructuralFeatures'reference'EClass : set type'EStructuralFeature'class,
31 eAllSuperTypes'reference'EClass : set type'EClass'class,
32 eIDAttribute'reference'EClass : lone type'EAttribute'class,
33 eStructuralFeatures'reference'EClass : set type'EStructuralFeature'class,
34 eGenericSuperTypes'reference'EClass : set type'EGenericType'class,
35 eAllGenericSuperTypes'reference'EClass : set type'EGenericType'class,
36 abstract'attribute'EClass : lone util'boolean,
37 interface'attribute'EClass : lone util'boolean
38}
39sig type'EClassifier'class in type'ENamedElement'class + type'ENamedElement'class'UndefinedPart {
40 ePackage'reference'EClassifier : lone type'EPackage'class,
41 eTypeParameters'reference'EClassifier : set type'ETypeParameter'class,
42 instanceClassName'attribute'EClassifier : lone String,
43 instanceTypeName'attribute'EClassifier : lone String
44}
45sig type'EDataType'class in type'EClassifier'class {
46 serializable'attribute'EDataType : lone util'boolean
47}
48sig type'EEnum'class in type'EDataType'class {
49 eLiterals'reference'EEnum : set type'EEnumLiteral'class
50}
51sig type'EEnumLiteral'class in type'ENamedElement'class + type'ENamedElement'class'UndefinedPart {
52 eEnum'reference'EEnumLiteral : lone type'EEnum'class,
53 value'attribute'EEnumLiteral : lone Int,
54 literal'attribute'EEnumLiteral : lone String
55}
56sig type'EModelElement'class in util'Object {
57 eAnnotations'reference'EModelElement : set type'EAnnotation'class
58}
59sig type'ENamedElement'class in type'EModelElement'class {
60 name'attribute'ENamedElement : lone String
61}
62sig type'EObject'class in util'Object {
63}
64sig type'EOperation'class in type'ETypedElement'class {
65 eContainingClass'reference'EOperation : lone type'EClass'class,
66 eTypeParameters'reference'EOperation : set type'ETypeParameter'class,
67 eParameters'reference'EOperation : set type'EParameter'class,
68 eExceptions'reference'EOperation : set type'EClassifier'class,
69 eGenericExceptions'reference'EOperation : set type'EGenericType'class
70}
71sig type'EPackage'class in type'ENamedElement'class {
72 eClassifiers'reference'EPackage : set type'EClassifier'class,
73 eSubpackages'reference'EPackage : set type'EPackage'class,
74 eSuperPackage'reference'EPackage : lone type'EPackage'class,
75 nsURI'attribute'EPackage : lone String,
76 nsPrefix'attribute'EPackage : lone String
77}
78sig type'EParameter'class in type'ETypedElement'class {
79 eOperation'reference'EParameter : lone type'EOperation'class
80}
81sig type'EReference'class in type'EStructuralFeature'class {
82 eOpposite'reference'EReference : lone type'EReference'class,
83 eReferenceType'reference'EReference : one type'EClass'class,
84 eKeys'reference'EReference : set type'EAttribute'class,
85 containment'attribute'EReference : lone util'boolean,
86 container'attribute'EReference : lone util'boolean,
87 resolveProxies'attribute'EReference : lone util'boolean
88}
89sig type'EStructuralFeature'class in type'ETypedElement'class {
90 eContainingClass'reference'EStructuralFeature : lone type'EClass'class,
91 changeable'attribute'EStructuralFeature : lone util'boolean,
92 volatile'attribute'EStructuralFeature : lone util'boolean,
93 transient'attribute'EStructuralFeature : lone util'boolean,
94 defaultValueLiteral'attribute'EStructuralFeature : lone String,
95 unsettable'attribute'EStructuralFeature : lone util'boolean,
96 derived'attribute'EStructuralFeature : lone util'boolean
97}
98sig type'ETypedElement'class in type'ENamedElement'class + type'ENamedElement'class'UndefinedPart {
99 eType'reference'ETypedElement : lone type'EClassifier'class,
100 eGenericType'reference'ETypedElement : lone type'EGenericType'class,
101 ordered'attribute'ETypedElement : lone util'boolean,
102 unique'attribute'ETypedElement : lone util'boolean,
103 lowerBound'attribute'ETypedElement : lone Int,
104 upperBound'attribute'ETypedElement : lone Int,
105 many'attribute'ETypedElement : lone util'boolean,
106 required'attribute'ETypedElement : lone util'boolean
107}
108sig type'EStringToStringMapEntry'class in util'Object {
109 key'attribute'EStringToStringMapEntry : lone String,
110 value'attribute'EStringToStringMapEntry : lone String
111}
112sig type'EGenericType'class in util'Object {
113 eUpperBound'reference'EGenericType : lone type'EGenericType'class,
114 eTypeArguments'reference'EGenericType : set type'EGenericType'class,
115 eRawType'reference'EGenericType : one type'EClassifier'class,
116 eLowerBound'reference'EGenericType : lone type'EGenericType'class,
117 eTypeParameter'reference'EGenericType : lone type'ETypeParameter'class,
118 eClassifier'reference'EGenericType : lone type'EClassifier'class
119}
120sig type'ETypeParameter'class in type'ENamedElement'class + type'ENamedElement'class'UndefinedPart {
121 eBounds'reference'ETypeParameter : set type'EGenericType'class
122}
123sig type'EModelElement'class'DefinedPart in type'EModelElement'class {
124}
125sig type'EModelElement'class'UndefinedPart in type'EModelElement'class {
126}
127sig type'ENamedElement'class'DefinedPart in type'ENamedElement'class + type'EModelElement'class'DefinedPart {
128}
129sig type'ENamedElement'class'UndefinedPart in type'ENamedElement'class + type'EModelElement'class'UndefinedPart {
130}
131sig type'EPackage'class'DefinedPart in type'EPackage'class + type'ENamedElement'class'DefinedPart {
132}
133sig type'EPackage'class'UndefinedPart in type'EPackage'class + type'ENamedElement'class'UndefinedPart {
134}
135one sig element'o'1 in type'EModelElement'class'DefinedPart {
136}
137fact typedefinition'EModelElement'class'DefinedPart {
138 type'EModelElement'class'DefinedPart = element'o'1
139}
140fact typedefinition'ENamedElement'class'DefinedPart {
141 type'ENamedElement'class'DefinedPart = element'o'1
142}
143fact typedefinition'EPackage'class'DefinedPart {
144 type'EPackage'class'DefinedPart = element'o'1
145}
146fact abstract'EAnnotation'class {
147 type'EAnnotation'class = type'EModelElement'class & type'EModelElement'class'UndefinedPart
148}
149fact abstract'EClassifier'class {
150 type'EClassifier'class = type'ENamedElement'class & type'ENamedElement'class'UndefinedPart
151}
152fact abstract'EEnumLiteral'class {
153 type'EEnumLiteral'class = type'ENamedElement'class & type'ENamedElement'class'UndefinedPart
154}
155fact abstract'ETypedElement'class {
156 type'ETypedElement'class = type'ENamedElement'class & type'ENamedElement'class'UndefinedPart
157}
158fact abstract'ETypeParameter'class {
159 type'ETypeParameter'class = type'ENamedElement'class & type'ENamedElement'class'UndefinedPart
160}
161fact abstract'ENamedElement'class'DefinedPart {
162 type'ENamedElement'class'DefinedPart = type'ENamedElement'class & type'EModelElement'class'DefinedPart
163}
164fact abstract'ENamedElement'class'UndefinedPart {
165 type'ENamedElement'class'UndefinedPart = type'ENamedElement'class & type'EModelElement'class'UndefinedPart
166}
167fact abstract'EPackage'class'DefinedPart {
168 type'EPackage'class'DefinedPart = type'EPackage'class & type'ENamedElement'class'DefinedPart
169}
170fact abstract'EPackage'class'UndefinedPart {
171 type'EPackage'class'UndefinedPart = type'EPackage'class & type'ENamedElement'class'UndefinedPart
172}
173fact abstract'EClassifier'class {
174 type'EClassifier'class = type'EClass'class + type'EDataType'class
175}
176fact abstract'EModelElement'class {
177 type'EModelElement'class = type'EAnnotation'class + (type'ENamedElement'class + (type'EModelElement'class'DefinedPart + type'EModelElement'class'UndefinedPart))
178}
179fact abstract'ENamedElement'class {
180 type'ENamedElement'class = type'EClassifier'class + (type'EEnumLiteral'class + (type'EPackage'class + (type'ETypedElement'class + (type'ETypeParameter'class + (type'ENamedElement'class'DefinedPart + type'ENamedElement'class'UndefinedPart)))))
181}
182fact abstract'EPackage'class {
183 type'EPackage'class = type'EPackage'class'DefinedPart + type'EPackage'class'UndefinedPart
184}
185fact abstract'EStructuralFeature'class {
186 type'EStructuralFeature'class = type'EAttribute'class + type'EReference'class
187}
188fact abstract'ETypedElement'class {
189 type'ETypedElement'class = type'EOperation'class + (type'EParameter'class + type'EStructuralFeature'class)
190}
191fact abstract'EModelElement'class'DefinedPart {
192 type'EModelElement'class'DefinedPart = type'ENamedElement'class'DefinedPart
193}
194fact abstract'EModelElement'class'UndefinedPart {
195 type'EModelElement'class'UndefinedPart = type'EAnnotation'class + type'ENamedElement'class'UndefinedPart
196}
197fact abstract'ENamedElement'class'DefinedPart {
198 type'ENamedElement'class'DefinedPart = type'EPackage'class'DefinedPart
199}
200fact abstract'ENamedElement'class'UndefinedPart {
201 type'ENamedElement'class'UndefinedPart = type'EClassifier'class + (type'EEnumLiteral'class + (type'EPackage'class'UndefinedPart + (type'ETypedElement'class + type'ETypeParameter'class)))
202}
203fact ObjectTypeDefinition {
204 util'Object = type'EModelElement'class + (type'EObject'class + (type'EStringToStringMapEntry'class + type'EGenericType'class))
205}
206fact common'types'EObject'class'EModelElement'class {
207 type'EObject'class & type'EModelElement'class = none
208}
209fact common'types'EStringToStringMapEntry'class'EModelElement'class {
210 type'EStringToStringMapEntry'class & type'EModelElement'class = none
211}
212fact common'types'EStringToStringMapEntry'class'EObject'class {
213 type'EStringToStringMapEntry'class & type'EObject'class = none
214}
215fact common'types'EGenericType'class'EModelElement'class {
216 type'EGenericType'class & type'EModelElement'class = none
217}
218fact common'types'EGenericType'class'EObject'class {
219 type'EGenericType'class & type'EObject'class = none
220}
221fact common'types'EGenericType'class'EStringToStringMapEntry'class {
222 type'EGenericType'class & type'EStringToStringMapEntry'class = none
223}
224fact common'types'EDataType'class'EClass'class {
225 type'EDataType'class & type'EClass'class = none
226}
227fact common'types'ENamedElement'class'EAnnotation'class {
228 type'ENamedElement'class & type'EAnnotation'class = none
229}
230fact common'types'EModelElement'class'DefinedPart'EAnnotation'class {
231 type'EModelElement'class'DefinedPart & type'EAnnotation'class = none
232}
233fact common'types'EModelElement'class'DefinedPart'ENamedElement'class {
234 type'EModelElement'class'DefinedPart & type'ENamedElement'class = type'ENamedElement'class'DefinedPart
235}
236fact common'types'EModelElement'class'UndefinedPart'EAnnotation'class {
237 type'EModelElement'class'UndefinedPart & type'EAnnotation'class = type'EAnnotation'class
238}
239fact common'types'EModelElement'class'UndefinedPart'ENamedElement'class {
240 type'EModelElement'class'UndefinedPart & type'ENamedElement'class = type'ENamedElement'class'UndefinedPart
241}
242fact common'types'EModelElement'class'UndefinedPart'EModelElement'class'DefinedPart {
243 type'EModelElement'class'UndefinedPart & type'EModelElement'class'DefinedPart = none
244}
245fact common'types'EEnumLiteral'class'EClassifier'class {
246 type'EEnumLiteral'class & type'EClassifier'class = none
247}
248fact common'types'EPackage'class'EClassifier'class {
249 type'EPackage'class & type'EClassifier'class = none
250}
251fact common'types'EPackage'class'EEnumLiteral'class {
252 type'EPackage'class & type'EEnumLiteral'class = none
253}
254fact common'types'ETypedElement'class'EClassifier'class {
255 type'ETypedElement'class & type'EClassifier'class = none
256}
257fact common'types'ETypedElement'class'EEnumLiteral'class {
258 type'ETypedElement'class & type'EEnumLiteral'class = none
259}
260fact common'types'ETypedElement'class'EPackage'class {
261 type'ETypedElement'class & type'EPackage'class = none
262}
263fact common'types'ETypeParameter'class'EClassifier'class {
264 type'ETypeParameter'class & type'EClassifier'class = none
265}
266fact common'types'ETypeParameter'class'EEnumLiteral'class {
267 type'ETypeParameter'class & type'EEnumLiteral'class = none
268}
269fact common'types'ETypeParameter'class'EPackage'class {
270 type'ETypeParameter'class & type'EPackage'class = none
271}
272fact common'types'ETypeParameter'class'ETypedElement'class {
273 type'ETypeParameter'class & type'ETypedElement'class = none
274}
275fact common'types'ENamedElement'class'DefinedPart'EClassifier'class {
276 type'ENamedElement'class'DefinedPart & type'EClassifier'class = none
277}
278fact common'types'ENamedElement'class'DefinedPart'EEnumLiteral'class {
279 type'ENamedElement'class'DefinedPart & type'EEnumLiteral'class = none
280}
281fact common'types'ENamedElement'class'DefinedPart'EPackage'class {
282 type'ENamedElement'class'DefinedPart & type'EPackage'class = type'EPackage'class'DefinedPart
283}
284fact common'types'ENamedElement'class'DefinedPart'ETypedElement'class {
285 type'ENamedElement'class'DefinedPart & type'ETypedElement'class = none
286}
287fact common'types'ENamedElement'class'DefinedPart'ETypeParameter'class {
288 type'ENamedElement'class'DefinedPart & type'ETypeParameter'class = none
289}
290fact common'types'ENamedElement'class'UndefinedPart'EClassifier'class {
291 type'ENamedElement'class'UndefinedPart & type'EClassifier'class = type'EClassifier'class
292}
293fact common'types'ENamedElement'class'UndefinedPart'EEnumLiteral'class {
294 type'ENamedElement'class'UndefinedPart & type'EEnumLiteral'class = type'EEnumLiteral'class
295}
296fact common'types'ENamedElement'class'UndefinedPart'EPackage'class {
297 type'ENamedElement'class'UndefinedPart & type'EPackage'class = type'EPackage'class'UndefinedPart
298}
299fact common'types'ENamedElement'class'UndefinedPart'ETypedElement'class {
300 type'ENamedElement'class'UndefinedPart & type'ETypedElement'class = type'ETypedElement'class
301}
302fact common'types'ENamedElement'class'UndefinedPart'ETypeParameter'class {
303 type'ENamedElement'class'UndefinedPart & type'ETypeParameter'class = type'ETypeParameter'class
304}
305fact common'types'ENamedElement'class'UndefinedPart'ENamedElement'class'DefinedPart {
306 type'ENamedElement'class'UndefinedPart & type'ENamedElement'class'DefinedPart = none
307}
308fact common'types'EPackage'class'UndefinedPart'EPackage'class'DefinedPart {
309 type'EPackage'class'UndefinedPart & type'EPackage'class'DefinedPart = none
310}
311fact common'types'EReference'class'EAttribute'class {
312 type'EReference'class & type'EAttribute'class = none
313}
314fact common'types'EParameter'class'EOperation'class {
315 type'EParameter'class & type'EOperation'class = none
316}
317fact common'types'EStructuralFeature'class'EOperation'class {
318 type'EStructuralFeature'class & type'EOperation'class = none
319}
320fact common'types'EStructuralFeature'class'EParameter'class {
321 type'EStructuralFeature'class & type'EParameter'class = none
322}
323fact common'types'ENamedElement'class'UndefinedPart'EAnnotation'class {
324 type'ENamedElement'class'UndefinedPart & type'EAnnotation'class = none
325}
326fact common'types'EEnumLiteral'class'EClassifier'class {
327 type'EEnumLiteral'class & type'EClassifier'class = none
328}
329fact common'types'EPackage'class'UndefinedPart'EClassifier'class {
330 type'EPackage'class'UndefinedPart & type'EClassifier'class = none
331}
332fact common'types'EPackage'class'UndefinedPart'EEnumLiteral'class {
333 type'EPackage'class'UndefinedPart & type'EEnumLiteral'class = none
334}
335fact common'types'ETypedElement'class'EClassifier'class {
336 type'ETypedElement'class & type'EClassifier'class = none
337}
338fact common'types'ETypedElement'class'EEnumLiteral'class {
339 type'ETypedElement'class & type'EEnumLiteral'class = none
340}
341fact common'types'ETypedElement'class'EPackage'class'UndefinedPart {
342 type'ETypedElement'class & type'EPackage'class'UndefinedPart = none
343}
344fact common'types'ETypeParameter'class'EClassifier'class {
345 type'ETypeParameter'class & type'EClassifier'class = none
346}
347fact common'types'ETypeParameter'class'EEnumLiteral'class {
348 type'ETypeParameter'class & type'EEnumLiteral'class = none
349}
350fact common'types'ETypeParameter'class'EPackage'class'UndefinedPart {
351 type'ETypeParameter'class & type'EPackage'class'UndefinedPart = none
352}
353fact common'types'ETypeParameter'class'ETypedElement'class {
354 type'ETypeParameter'class & type'ETypedElement'class = none
355}
356fact util'containmentDefinition {
357 util'language.util'contains = details'reference'EAnnotation + (contents'reference'EAnnotation + (eOperations'reference'EClass + (eStructuralFeatures'reference'EClass + (eGenericSuperTypes'reference'EClass + (eTypeParameters'reference'EClassifier + (eLiterals'reference'EEnum + (eAnnotations'reference'EModelElement + (eTypeParameters'reference'EOperation + (eParameters'reference'EOperation + (eGenericExceptions'reference'EOperation + (eClassifiers'reference'EPackage + (eSubpackages'reference'EPackage + (eGenericType'reference'ETypedElement + (eUpperBound'reference'EGenericType + (eTypeArguments'reference'EGenericType + (eLowerBound'reference'EGenericType + eBounds'reference'ETypeParameter))))))))))))))))
358}
359fact util'noParentForRoot {
360 no parent: type'EEnumLiteral'class + (type'EEnum'class + (type'EAnnotation'class + (type'EDataType'class + (type'EGenericType'class + (type'ENamedElement'class + (type'EModelElement'class + (type'ETypedElement'class + (type'EAttribute'class + (type'EObject'class + (type'EClass'class + (type'EStringToStringMapEntry'class + (type'EPackage'class + (type'EReference'class + (type'EClassifier'class + (type'EOperation'class + (type'ETypeParameter'class + (type'EParameter'class + (type'EStructuralFeature'class + (type'EModelElement'class'DefinedPart + (type'EModelElement'class'UndefinedPart + (type'ENamedElement'class'DefinedPart + (type'ENamedElement'class'UndefinedPart + (type'EPackage'class'DefinedPart + type'EPackage'class'UndefinedPart))))))))))))))))))))))) { parent->(util'language.util'root) in util'language.util'contains }
361}
362fact util'atLeastOneParent {
363 all child: type'EEnumLiteral'class + (type'EEnum'class + (type'EAnnotation'class + (type'EDataType'class + (type'EGenericType'class + (type'ENamedElement'class + (type'EModelElement'class + (type'ETypedElement'class + (type'EAttribute'class + (type'EObject'class + (type'EClass'class + (type'EStringToStringMapEntry'class + (type'EPackage'class + (type'EReference'class + (type'EClassifier'class + (type'EOperation'class + (type'ETypeParameter'class + (type'EParameter'class + (type'EStructuralFeature'class + (type'EModelElement'class'DefinedPart + (type'EModelElement'class'UndefinedPart + (type'ENamedElement'class'DefinedPart + (type'ENamedElement'class'UndefinedPart + (type'EPackage'class'DefinedPart + type'EPackage'class'UndefinedPart))))))))))))))))))))))) { child = util'language.util'root or (some parent: type'EEnumLiteral'class + (type'EEnum'class + (type'EAnnotation'class + (type'EDataType'class + (type'EGenericType'class + (type'ENamedElement'class + (type'EModelElement'class + (type'ETypedElement'class + (type'EAttribute'class + (type'EObject'class + (type'EClass'class + (type'EStringToStringMapEntry'class + (type'EPackage'class + (type'EReference'class + (type'EClassifier'class + (type'EOperation'class + (type'ETypeParameter'class + (type'EParameter'class + (type'EStructuralFeature'class + (type'EModelElement'class'DefinedPart + (type'EModelElement'class'UndefinedPart + (type'ENamedElement'class'DefinedPart + (type'ENamedElement'class'UndefinedPart + (type'EPackage'class'DefinedPart + type'EPackage'class'UndefinedPart))))))))))))))))))))))) { parent->child in util'language.util'contains }) }
364}
365fact util'noCircularContainment {
366 no circle: type'EEnumLiteral'class + (type'EEnum'class + (type'EAnnotation'class + (type'EDataType'class + (type'EGenericType'class + (type'ENamedElement'class + (type'EModelElement'class + (type'ETypedElement'class + (type'EAttribute'class + (type'EObject'class + (type'EClass'class + (type'EStringToStringMapEntry'class + (type'EPackage'class + (type'EReference'class + (type'EClassifier'class + (type'EOperation'class + (type'ETypeParameter'class + (type'EParameter'class + (type'EStructuralFeature'class + (type'EModelElement'class'DefinedPart + (type'EModelElement'class'UndefinedPart + (type'ENamedElement'class'DefinedPart + (type'ENamedElement'class'UndefinedPart + (type'EPackage'class'DefinedPart + type'EPackage'class'UndefinedPart))))))))))))))))))))))) { circle->circle in ^ (util'language.util'contains) }
367}
368fact oppositeReference'eModelElement'EAnnotation {
369 eModelElement'reference'EAnnotation = ~ eAnnotations'reference'EModelElement
370}
371fact oppositeReference'eOperations'EClass {
372 eOperations'reference'EClass = ~ eContainingClass'reference'EOperation
373}
374fact oppositeReference'eStructuralFeatures'EClass {
375 eStructuralFeatures'reference'EClass = ~ eContainingClass'reference'EStructuralFeature
376}
377fact oppositeReference'ePackage'EClassifier {
378 ePackage'reference'EClassifier = ~ eClassifiers'reference'EPackage
379}
380fact oppositeReference'eLiterals'EEnum {
381 eLiterals'reference'EEnum = ~ eEnum'reference'EEnumLiteral
382}
383fact oppositeReference'eParameters'EOperation {
384 eParameters'reference'EOperation = ~ eOperation'reference'EParameter
385}
386fact oppositeReference'eSubpackages'EPackage {
387 eSubpackages'reference'EPackage = ~ eSuperPackage'reference'EPackage
388}
389fact PartialInterpretation'name'attribute'ENamedElement {
390 "packageName" in element'o'1.name'attribute'ENamedElement
391}
392fact PartialInterpretation'nsURI'attribute'EPackage {
393 "nsUri" in element'o'1.nsURI'attribute'EPackage
394}
395fact PartialInterpretation'nsPrefix'attribute'EPackage {
396 "nsPrefix" in element'o'1.nsPrefix'attribute'EPackage
397}
398fact EnsureAllStrings {
399 "A" = "A" && ("B" = "B" && ("nsPrefix" = "nsPrefix" && ("nsUri" = "nsUri" && "packageName" = "packageName")))
400}
401run { } for exactly 6 util'Object , 2 Int , exactly 0 String \ No newline at end of file