diff options
author | Ed Willink | 2016-01-14 17:09:21 +0000 |
---|---|---|
committer | Ed Willink | 2016-01-14 17:09:21 +0000 |
commit | 9c35dbb047d3f6f6798282003fa4630b2e2d2cfa (patch) | |
tree | 18f692bfef2412000cce5e9ef2a7f3fd028cc83e /tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example2 | |
parent | 19e530747e8a24a5f3a59da3d17a06510206c74b (diff) | |
download | org.eclipse.qvtd-9c35dbb047d3f6f6798282003fa4630b2e2d2cfa.tar.gz org.eclipse.qvtd-9c35dbb047d3f6f6798282003fa4630b2e2d2cfa.tar.xz org.eclipse.qvtd-9c35dbb047d3f6f6798282003fa4630b2e2d2cfa.zip |
[485151] - Test case to demonstrate the failure
Diffstat (limited to 'tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example2')
3 files changed, 73 insertions, 0 deletions
diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example2/classescs2asV2Lookup.ocl b/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example2/classescs2asV2Lookup.ocl index 079dceeb8..ea5b84fd4 100644 --- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example2/classescs2asV2Lookup.ocl +++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example2/classescs2asV2Lookup.ocl @@ -98,6 +98,12 @@ def : _qualified_env() : lookup::LookupEnvironment = .addElements(ownedProperties)
def : _env(child : ocl::OclElement) : lookup::LookupEnvironment =
parentEnv().nestedEnv()
+ .addElements(let allSuperClasses = self->closure(superClass)
+ in allSuperClasses->collect(ownedProperties)
+ ->includingAll(allSuperClasses.ownedOperations)
+ ->asOrderedSet() -- FIXME
+ )
+ .nestedEnv()
.addElements(ownedOperations)
.addElements(ownedProperties)
def : _exported_env(importer : ocl::OclElement) : lookup::LookupEnvironment =
diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example2/samples/model2V2_input.xmi b/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example2/samples/model2V2_input.xmi new file mode 100644 index 000000000..081cd222a --- /dev/null +++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example2/samples/model2V2_input.xmi @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="ASCII"?> +<classescs:RootCS + xmi:version="2.0" + xmlns:xmi="http://www.omg.org/XMI" + xmlns:classescs="http://cs2as/tests/example2/classescs/1.0"> + <ownedPackages + name="P1"> + <ownedClasses + name="C1"> + <properties + name="prop1"> + <typeRef> + <path + name="C1"/> + </typeRef> + </properties> + </ownedClasses> + <ownedClasses + name="C2"> + <extends> + <path + name="C1"/> + </extends> + <operations + name="getProp1FromSuperClass"> + <bodyExps> + <name> + <path + name="prop1"/> + </name> + </bodyExps> + <resultRef> + <path + name="C1"/> + </resultRef> + </operations> + </ownedClasses> + </ownedPackages> +</classescs:RootCS> diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example2/samples/model2V2_output_ref.xmi b/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example2/samples/model2V2_output_ref.xmi new file mode 100644 index 000000000..786270ed0 --- /dev/null +++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example2/samples/model2V2_output_ref.xmi @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classes:Root + xmi:version="2.0" + xmlns:xmi="http://www.omg.org/XMI" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:classes="http://cs2as/tests/example2/classes/1.0"> + <ownedPackages + name="P1"> + <ownedClasses + name="C1"> + <ownedProperties + name="prop1" + type="//@ownedPackages.0/@ownedClasses.0"/> + </ownedClasses> + <ownedClasses + name="C2" + superClass="//@ownedPackages.0/@ownedClasses.0"> + <ownedOperations + name="getProp1FromSuperClass" + type="//@ownedPackages.0/@ownedClasses.0"> + <ownedExpressions + xsi:type="classes:PropertyCallExp" + type="//@ownedPackages.0/@ownedClasses.0" + referredProperty="//@ownedPackages.0/@ownedClasses.0/@ownedProperties.0"/> + </ownedOperations> + </ownedClasses> + </ownedPackages> +</classes:Root> |