diff options
author | Adolfo SBH | 2016-03-18 16:34:10 +0000 |
---|---|---|
committer | Ed Willink | 2016-03-23 17:56:52 +0000 |
commit | 6ac7e841573c7c2c44346839f42e638c42304fdb (patch) | |
tree | fe188d115b28a9a76f4c67efa39360f7e30b432f /tests | |
parent | 06a6f015be39fa807095cf697f111fcb23b23df2 (diff) | |
download | org.eclipse.qvtd-6ac7e841573c7c2c44346839f42e638c42304fdb.tar.gz org.eclipse.qvtd-6ac7e841573c7c2c44346839f42e638c42304fdb.tar.xz org.eclipse.qvtd-6ac7e841573c7c2c44346839f42e638c42304fdb.zip |
[cs2as] - Partitioned exported named elements lookup
Diffstat (limited to 'tests')
2 files changed, 23 insertions, 11 deletions
diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example2/classescs2asV2.cs2as b/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example2/classescs2asV2.cs2as index 03c79d825..3586d8387 100644 --- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example2/classescs2asV2.cs2as +++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example2/classescs2asV2.cs2as @@ -95,8 +95,7 @@ nameresolution { Property using ownedProperties occluding self->closure(superClass).ownedProperties; exports - Operation using ownedOperations; - exports /* FIXME allow many contributions in one exports statement*/ + Operation using ownedOperations Property using ownedProperties; } 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 e48d53970..f6453e3e0 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 @@ -6,10 +6,6 @@ import 'classescs2asV2Helpers.ocl' package ocl ---- Default Environment related functionality context OclElement --- -def : _exported_env(importer : OclElement) : lookup::LookupEnvironment[1] = - lookup::LookupEnvironment { } - -- Domain specific default functionality def : unqualified_env_Class() : lookup::LookupEnvironment[1] = _unqualified_env_Class(null) @@ -37,15 +33,26 @@ def : parentEnv_Operation() : lookup::LookupEnvironment[1] = let parent = oclContainer() in if parent = null then lookup::LookupEnvironment { } else parent._unqualified_env_Operation(self) endif def : parentEnv_Property() : lookup::LookupEnvironment[1] = let parent = oclContainer() in if parent = null then lookup::LookupEnvironment { } else parent._unqualified_env_Property(self) endif + +def : _exported_env_Class(importer : OclElement) : lookup::LookupEnvironment[1] = + lookup::LookupEnvironment { } +def : _exported_env_Package(importer : OclElement) : lookup::LookupEnvironment[1] = + lookup::LookupEnvironment { } +def : _exported_env_Operation(importer : OclElement) : lookup::LookupEnvironment[1] = + lookup::LookupEnvironment { } +def : _exported_env_Property(importer : OclElement) : lookup::LookupEnvironment[1] = + lookup::LookupEnvironment { } -- End of domain specific default functionality endpackage package lookup +-- Some common lookup functionality context LookupEnvironment -def : nestedEnv() : LookupEnvironment[1] = +def : nestedEnv() : LookupEnvironment[1] = LookupEnvironment { parentEnv = self } +-- End of common lookup functionality endpackage package as @@ -53,7 +60,7 @@ package as context Root def : _unqualified_env_Package(child : ocl::OclElement) : lookup::LookupEnvironment = - parentEnv_Package() + parentEnv_Package().nestedEnv() .addElements(ownedPackages) @@ -132,13 +139,19 @@ def : _unqualified_env_Property(child : ocl::OclElement) : lookup::LookupEnviron .nestedEnv() .addElements(ownedProperties) -def : _exported_env(importer : ocl::OclElement) : lookup::LookupEnvironment = +def : _exported_env_Operation(importer : ocl::OclElement) : lookup::LookupEnvironment = + let env = lookup::LookupEnvironment {} + in env + .addElements(ownedOperations) + +def : _exported_env_Property(importer : ocl::OclElement) : lookup::LookupEnvironment = let env = lookup::LookupEnvironment {} in env .addElements(ownedProperties) + def : _lookupExportedOperation(importer : ocl::OclElement, oName : String, args : OrderedSet(Argument)) : Operation[?] = - let foundOperation = _lookupOperation(_exported_env(importer), oName, args) + let foundOperation = _lookupOperation(_exported_env_Operation(importer), oName, args) in if foundOperation->isEmpty() then null else foundOperation->first() @@ -148,7 +161,7 @@ def : lookupExportedOperation(importer : ocl::OclElement, aPathElementCS : cs::P _lookupExportedOperation(importer, aPathElementCS.name, args) def : _lookupExportedProperty(importer : ocl::OclElement, pName : String) : Property[?] = - let foundProperty = _lookupProperty(_exported_env(importer), pName) + let foundProperty = _lookupProperty(_exported_env_Property(importer), pName) in if foundProperty->isEmpty() then null else foundProperty->first() |