diff options
author | OszkarSemerath <oszkar.semerath@gmail.com> | 2018-11-07 17:33:28 +0100 |
---|---|---|
committer | OszkarSemerath <oszkar.semerath@gmail.com> | 2018-11-07 17:33:28 +0100 |
commit | 64a02259b30424e10586672993901cb1a6b9f83e (patch) | |
tree | 2ae32677bedc09632a8177633676e63f60213ea7 /Tests/Ecore-Plugin/outputs/debug/problem.als | |
parent | Colorcalculator support for datatypes (diff) | |
download | VIATRA-Generator-64a02259b30424e10586672993901cb1a6b9f83e.tar.gz VIATRA-Generator-64a02259b30424e10586672993901cb1a6b9f83e.tar.zst VIATRA-Generator-64a02259b30424e10586672993901cb1a6b9f83e.zip |
Ecore gen test
Diffstat (limited to 'Tests/Ecore-Plugin/outputs/debug/problem.als')
-rw-r--r-- | Tests/Ecore-Plugin/outputs/debug/problem.als | 401 |
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 @@ | |||
1 | enum util'boolean { | ||
2 | util'boolean'true, util'boolean'false | ||
3 | } | ||
4 | one 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 | } | ||
8 | abstract sig util'Object { | ||
9 | } | ||
10 | sig type'EAttribute'class in type'EStructuralFeature'class { | ||
11 | eAttributeType'reference'EAttribute : one type'EDataType'class, | ||
12 | iD'attribute'EAttribute : lone util'boolean | ||
13 | } | ||
14 | sig 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 | } | ||
21 | sig 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 | } | ||
39 | sig 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 | } | ||
45 | sig type'EDataType'class in type'EClassifier'class { | ||
46 | serializable'attribute'EDataType : lone util'boolean | ||
47 | } | ||
48 | sig type'EEnum'class in type'EDataType'class { | ||
49 | eLiterals'reference'EEnum : set type'EEnumLiteral'class | ||
50 | } | ||
51 | sig 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 | } | ||
56 | sig type'EModelElement'class in util'Object { | ||
57 | eAnnotations'reference'EModelElement : set type'EAnnotation'class | ||
58 | } | ||
59 | sig type'ENamedElement'class in type'EModelElement'class { | ||
60 | name'attribute'ENamedElement : lone String | ||
61 | } | ||
62 | sig type'EObject'class in util'Object { | ||
63 | } | ||
64 | sig 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 | } | ||
71 | sig 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 | } | ||
78 | sig type'EParameter'class in type'ETypedElement'class { | ||
79 | eOperation'reference'EParameter : lone type'EOperation'class | ||
80 | } | ||
81 | sig 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 | } | ||
89 | sig 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 | } | ||
98 | sig 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 | } | ||
108 | sig type'EStringToStringMapEntry'class in util'Object { | ||
109 | key'attribute'EStringToStringMapEntry : lone String, | ||
110 | value'attribute'EStringToStringMapEntry : lone String | ||
111 | } | ||
112 | sig 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 | } | ||
120 | sig type'ETypeParameter'class in type'ENamedElement'class + type'ENamedElement'class'UndefinedPart { | ||
121 | eBounds'reference'ETypeParameter : set type'EGenericType'class | ||
122 | } | ||
123 | sig type'EModelElement'class'DefinedPart in type'EModelElement'class { | ||
124 | } | ||
125 | sig type'EModelElement'class'UndefinedPart in type'EModelElement'class { | ||
126 | } | ||
127 | sig type'ENamedElement'class'DefinedPart in type'ENamedElement'class + type'EModelElement'class'DefinedPart { | ||
128 | } | ||
129 | sig type'ENamedElement'class'UndefinedPart in type'ENamedElement'class + type'EModelElement'class'UndefinedPart { | ||
130 | } | ||
131 | sig type'EPackage'class'DefinedPart in type'EPackage'class + type'ENamedElement'class'DefinedPart { | ||
132 | } | ||
133 | sig type'EPackage'class'UndefinedPart in type'EPackage'class + type'ENamedElement'class'UndefinedPart { | ||
134 | } | ||
135 | one sig element'o'1 in type'EModelElement'class'DefinedPart { | ||
136 | } | ||
137 | fact typedefinition'EModelElement'class'DefinedPart { | ||
138 | type'EModelElement'class'DefinedPart = element'o'1 | ||
139 | } | ||
140 | fact typedefinition'ENamedElement'class'DefinedPart { | ||
141 | type'ENamedElement'class'DefinedPart = element'o'1 | ||
142 | } | ||
143 | fact typedefinition'EPackage'class'DefinedPart { | ||
144 | type'EPackage'class'DefinedPart = element'o'1 | ||
145 | } | ||
146 | fact abstract'EAnnotation'class { | ||
147 | type'EAnnotation'class = type'EModelElement'class & type'EModelElement'class'UndefinedPart | ||
148 | } | ||
149 | fact abstract'EClassifier'class { | ||
150 | type'EClassifier'class = type'ENamedElement'class & type'ENamedElement'class'UndefinedPart | ||
151 | } | ||
152 | fact abstract'EEnumLiteral'class { | ||
153 | type'EEnumLiteral'class = type'ENamedElement'class & type'ENamedElement'class'UndefinedPart | ||
154 | } | ||
155 | fact abstract'ETypedElement'class { | ||
156 | type'ETypedElement'class = type'ENamedElement'class & type'ENamedElement'class'UndefinedPart | ||
157 | } | ||
158 | fact abstract'ETypeParameter'class { | ||
159 | type'ETypeParameter'class = type'ENamedElement'class & type'ENamedElement'class'UndefinedPart | ||
160 | } | ||
161 | fact abstract'ENamedElement'class'DefinedPart { | ||
162 | type'ENamedElement'class'DefinedPart = type'ENamedElement'class & type'EModelElement'class'DefinedPart | ||
163 | } | ||
164 | fact abstract'ENamedElement'class'UndefinedPart { | ||
165 | type'ENamedElement'class'UndefinedPart = type'ENamedElement'class & type'EModelElement'class'UndefinedPart | ||
166 | } | ||
167 | fact abstract'EPackage'class'DefinedPart { | ||
168 | type'EPackage'class'DefinedPart = type'EPackage'class & type'ENamedElement'class'DefinedPart | ||
169 | } | ||
170 | fact abstract'EPackage'class'UndefinedPart { | ||
171 | type'EPackage'class'UndefinedPart = type'EPackage'class & type'ENamedElement'class'UndefinedPart | ||
172 | } | ||
173 | fact abstract'EClassifier'class { | ||
174 | type'EClassifier'class = type'EClass'class + type'EDataType'class | ||
175 | } | ||
176 | fact abstract'EModelElement'class { | ||
177 | type'EModelElement'class = type'EAnnotation'class + (type'ENamedElement'class + (type'EModelElement'class'DefinedPart + type'EModelElement'class'UndefinedPart)) | ||
178 | } | ||
179 | fact 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 | } | ||
182 | fact abstract'EPackage'class { | ||
183 | type'EPackage'class = type'EPackage'class'DefinedPart + type'EPackage'class'UndefinedPart | ||
184 | } | ||
185 | fact abstract'EStructuralFeature'class { | ||
186 | type'EStructuralFeature'class = type'EAttribute'class + type'EReference'class | ||
187 | } | ||
188 | fact abstract'ETypedElement'class { | ||
189 | type'ETypedElement'class = type'EOperation'class + (type'EParameter'class + type'EStructuralFeature'class) | ||
190 | } | ||
191 | fact abstract'EModelElement'class'DefinedPart { | ||
192 | type'EModelElement'class'DefinedPart = type'ENamedElement'class'DefinedPart | ||
193 | } | ||
194 | fact abstract'EModelElement'class'UndefinedPart { | ||
195 | type'EModelElement'class'UndefinedPart = type'EAnnotation'class + type'ENamedElement'class'UndefinedPart | ||
196 | } | ||
197 | fact abstract'ENamedElement'class'DefinedPart { | ||
198 | type'ENamedElement'class'DefinedPart = type'EPackage'class'DefinedPart | ||
199 | } | ||
200 | fact 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 | } | ||
203 | fact ObjectTypeDefinition { | ||
204 | util'Object = type'EModelElement'class + (type'EObject'class + (type'EStringToStringMapEntry'class + type'EGenericType'class)) | ||
205 | } | ||
206 | fact common'types'EObject'class'EModelElement'class { | ||
207 | type'EObject'class & type'EModelElement'class = none | ||
208 | } | ||
209 | fact common'types'EStringToStringMapEntry'class'EModelElement'class { | ||
210 | type'EStringToStringMapEntry'class & type'EModelElement'class = none | ||
211 | } | ||
212 | fact common'types'EStringToStringMapEntry'class'EObject'class { | ||
213 | type'EStringToStringMapEntry'class & type'EObject'class = none | ||
214 | } | ||
215 | fact common'types'EGenericType'class'EModelElement'class { | ||
216 | type'EGenericType'class & type'EModelElement'class = none | ||
217 | } | ||
218 | fact common'types'EGenericType'class'EObject'class { | ||
219 | type'EGenericType'class & type'EObject'class = none | ||
220 | } | ||
221 | fact common'types'EGenericType'class'EStringToStringMapEntry'class { | ||
222 | type'EGenericType'class & type'EStringToStringMapEntry'class = none | ||
223 | } | ||
224 | fact common'types'EDataType'class'EClass'class { | ||
225 | type'EDataType'class & type'EClass'class = none | ||
226 | } | ||
227 | fact common'types'ENamedElement'class'EAnnotation'class { | ||
228 | type'ENamedElement'class & type'EAnnotation'class = none | ||
229 | } | ||
230 | fact common'types'EModelElement'class'DefinedPart'EAnnotation'class { | ||
231 | type'EModelElement'class'DefinedPart & type'EAnnotation'class = none | ||
232 | } | ||
233 | fact common'types'EModelElement'class'DefinedPart'ENamedElement'class { | ||
234 | type'EModelElement'class'DefinedPart & type'ENamedElement'class = type'ENamedElement'class'DefinedPart | ||
235 | } | ||
236 | fact common'types'EModelElement'class'UndefinedPart'EAnnotation'class { | ||
237 | type'EModelElement'class'UndefinedPart & type'EAnnotation'class = type'EAnnotation'class | ||
238 | } | ||
239 | fact common'types'EModelElement'class'UndefinedPart'ENamedElement'class { | ||
240 | type'EModelElement'class'UndefinedPart & type'ENamedElement'class = type'ENamedElement'class'UndefinedPart | ||
241 | } | ||
242 | fact common'types'EModelElement'class'UndefinedPart'EModelElement'class'DefinedPart { | ||
243 | type'EModelElement'class'UndefinedPart & type'EModelElement'class'DefinedPart = none | ||
244 | } | ||
245 | fact common'types'EEnumLiteral'class'EClassifier'class { | ||
246 | type'EEnumLiteral'class & type'EClassifier'class = none | ||
247 | } | ||
248 | fact common'types'EPackage'class'EClassifier'class { | ||
249 | type'EPackage'class & type'EClassifier'class = none | ||
250 | } | ||
251 | fact common'types'EPackage'class'EEnumLiteral'class { | ||
252 | type'EPackage'class & type'EEnumLiteral'class = none | ||
253 | } | ||
254 | fact common'types'ETypedElement'class'EClassifier'class { | ||
255 | type'ETypedElement'class & type'EClassifier'class = none | ||
256 | } | ||
257 | fact common'types'ETypedElement'class'EEnumLiteral'class { | ||
258 | type'ETypedElement'class & type'EEnumLiteral'class = none | ||
259 | } | ||
260 | fact common'types'ETypedElement'class'EPackage'class { | ||
261 | type'ETypedElement'class & type'EPackage'class = none | ||
262 | } | ||
263 | fact common'types'ETypeParameter'class'EClassifier'class { | ||
264 | type'ETypeParameter'class & type'EClassifier'class = none | ||
265 | } | ||
266 | fact common'types'ETypeParameter'class'EEnumLiteral'class { | ||
267 | type'ETypeParameter'class & type'EEnumLiteral'class = none | ||
268 | } | ||
269 | fact common'types'ETypeParameter'class'EPackage'class { | ||
270 | type'ETypeParameter'class & type'EPackage'class = none | ||
271 | } | ||
272 | fact common'types'ETypeParameter'class'ETypedElement'class { | ||
273 | type'ETypeParameter'class & type'ETypedElement'class = none | ||
274 | } | ||
275 | fact common'types'ENamedElement'class'DefinedPart'EClassifier'class { | ||
276 | type'ENamedElement'class'DefinedPart & type'EClassifier'class = none | ||
277 | } | ||
278 | fact common'types'ENamedElement'class'DefinedPart'EEnumLiteral'class { | ||
279 | type'ENamedElement'class'DefinedPart & type'EEnumLiteral'class = none | ||
280 | } | ||
281 | fact common'types'ENamedElement'class'DefinedPart'EPackage'class { | ||
282 | type'ENamedElement'class'DefinedPart & type'EPackage'class = type'EPackage'class'DefinedPart | ||
283 | } | ||
284 | fact common'types'ENamedElement'class'DefinedPart'ETypedElement'class { | ||
285 | type'ENamedElement'class'DefinedPart & type'ETypedElement'class = none | ||
286 | } | ||
287 | fact common'types'ENamedElement'class'DefinedPart'ETypeParameter'class { | ||
288 | type'ENamedElement'class'DefinedPart & type'ETypeParameter'class = none | ||
289 | } | ||
290 | fact common'types'ENamedElement'class'UndefinedPart'EClassifier'class { | ||
291 | type'ENamedElement'class'UndefinedPart & type'EClassifier'class = type'EClassifier'class | ||
292 | } | ||
293 | fact common'types'ENamedElement'class'UndefinedPart'EEnumLiteral'class { | ||
294 | type'ENamedElement'class'UndefinedPart & type'EEnumLiteral'class = type'EEnumLiteral'class | ||
295 | } | ||
296 | fact common'types'ENamedElement'class'UndefinedPart'EPackage'class { | ||
297 | type'ENamedElement'class'UndefinedPart & type'EPackage'class = type'EPackage'class'UndefinedPart | ||
298 | } | ||
299 | fact common'types'ENamedElement'class'UndefinedPart'ETypedElement'class { | ||
300 | type'ENamedElement'class'UndefinedPart & type'ETypedElement'class = type'ETypedElement'class | ||
301 | } | ||
302 | fact common'types'ENamedElement'class'UndefinedPart'ETypeParameter'class { | ||
303 | type'ENamedElement'class'UndefinedPart & type'ETypeParameter'class = type'ETypeParameter'class | ||
304 | } | ||
305 | fact common'types'ENamedElement'class'UndefinedPart'ENamedElement'class'DefinedPart { | ||
306 | type'ENamedElement'class'UndefinedPart & type'ENamedElement'class'DefinedPart = none | ||
307 | } | ||
308 | fact common'types'EPackage'class'UndefinedPart'EPackage'class'DefinedPart { | ||
309 | type'EPackage'class'UndefinedPart & type'EPackage'class'DefinedPart = none | ||
310 | } | ||
311 | fact common'types'EReference'class'EAttribute'class { | ||
312 | type'EReference'class & type'EAttribute'class = none | ||
313 | } | ||
314 | fact common'types'EParameter'class'EOperation'class { | ||
315 | type'EParameter'class & type'EOperation'class = none | ||
316 | } | ||
317 | fact common'types'EStructuralFeature'class'EOperation'class { | ||
318 | type'EStructuralFeature'class & type'EOperation'class = none | ||
319 | } | ||
320 | fact common'types'EStructuralFeature'class'EParameter'class { | ||
321 | type'EStructuralFeature'class & type'EParameter'class = none | ||
322 | } | ||
323 | fact common'types'ENamedElement'class'UndefinedPart'EAnnotation'class { | ||
324 | type'ENamedElement'class'UndefinedPart & type'EAnnotation'class = none | ||
325 | } | ||
326 | fact common'types'EEnumLiteral'class'EClassifier'class { | ||
327 | type'EEnumLiteral'class & type'EClassifier'class = none | ||
328 | } | ||
329 | fact common'types'EPackage'class'UndefinedPart'EClassifier'class { | ||
330 | type'EPackage'class'UndefinedPart & type'EClassifier'class = none | ||
331 | } | ||
332 | fact common'types'EPackage'class'UndefinedPart'EEnumLiteral'class { | ||
333 | type'EPackage'class'UndefinedPart & type'EEnumLiteral'class = none | ||
334 | } | ||
335 | fact common'types'ETypedElement'class'EClassifier'class { | ||
336 | type'ETypedElement'class & type'EClassifier'class = none | ||
337 | } | ||
338 | fact common'types'ETypedElement'class'EEnumLiteral'class { | ||
339 | type'ETypedElement'class & type'EEnumLiteral'class = none | ||
340 | } | ||
341 | fact common'types'ETypedElement'class'EPackage'class'UndefinedPart { | ||
342 | type'ETypedElement'class & type'EPackage'class'UndefinedPart = none | ||
343 | } | ||
344 | fact common'types'ETypeParameter'class'EClassifier'class { | ||
345 | type'ETypeParameter'class & type'EClassifier'class = none | ||
346 | } | ||
347 | fact common'types'ETypeParameter'class'EEnumLiteral'class { | ||
348 | type'ETypeParameter'class & type'EEnumLiteral'class = none | ||
349 | } | ||
350 | fact common'types'ETypeParameter'class'EPackage'class'UndefinedPart { | ||
351 | type'ETypeParameter'class & type'EPackage'class'UndefinedPart = none | ||
352 | } | ||
353 | fact common'types'ETypeParameter'class'ETypedElement'class { | ||
354 | type'ETypeParameter'class & type'ETypedElement'class = none | ||
355 | } | ||
356 | fact 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 | } | ||
359 | fact 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 | } | ||
362 | fact 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 | } | ||
365 | fact 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 | } | ||
368 | fact oppositeReference'eModelElement'EAnnotation { | ||
369 | eModelElement'reference'EAnnotation = ~ eAnnotations'reference'EModelElement | ||
370 | } | ||
371 | fact oppositeReference'eOperations'EClass { | ||
372 | eOperations'reference'EClass = ~ eContainingClass'reference'EOperation | ||
373 | } | ||
374 | fact oppositeReference'eStructuralFeatures'EClass { | ||
375 | eStructuralFeatures'reference'EClass = ~ eContainingClass'reference'EStructuralFeature | ||
376 | } | ||
377 | fact oppositeReference'ePackage'EClassifier { | ||
378 | ePackage'reference'EClassifier = ~ eClassifiers'reference'EPackage | ||
379 | } | ||
380 | fact oppositeReference'eLiterals'EEnum { | ||
381 | eLiterals'reference'EEnum = ~ eEnum'reference'EEnumLiteral | ||
382 | } | ||
383 | fact oppositeReference'eParameters'EOperation { | ||
384 | eParameters'reference'EOperation = ~ eOperation'reference'EParameter | ||
385 | } | ||
386 | fact oppositeReference'eSubpackages'EPackage { | ||
387 | eSubpackages'reference'EPackage = ~ eSuperPackage'reference'EPackage | ||
388 | } | ||
389 | fact PartialInterpretation'name'attribute'ENamedElement { | ||
390 | "packageName" in element'o'1.name'attribute'ENamedElement | ||
391 | } | ||
392 | fact PartialInterpretation'nsURI'attribute'EPackage { | ||
393 | "nsUri" in element'o'1.nsURI'attribute'EPackage | ||
394 | } | ||
395 | fact PartialInterpretation'nsPrefix'attribute'EPackage { | ||
396 | "nsPrefix" in element'o'1.nsPrefix'attribute'EPackage | ||
397 | } | ||
398 | fact EnsureAllStrings { | ||
399 | "A" = "A" && ("B" = "B" && ("nsPrefix" = "nsPrefix" && ("nsUri" = "nsUri" && "packageName" = "packageName"))) | ||
400 | } | ||
401 | run { } for exactly 6 util'Object , 2 Int , exactly 0 String \ No newline at end of file | ||