blob: a8ba141a9cc6c53b7b534bf56943eecb1e77508d [file] [log] [blame]
source cs : '/resource/org.eclipse.ocl.xtext.base/model/BaseCS.ecore#/'
target as : 'Pivot.ecore#/'
mappings {
}
disambiguation {
}
nameresolution {
named-element NamedElement name-property name; /*from target */
name-referencer PathElementCS name-property name; /*from source */
name-qualifier PathNameCS name-segments-property ownedPathElements; /*from source */
Variable {
named-element /*name-property name*/;
}
Namespace {
named-element
/*qualifying Namespace using invalid,
Class using invalid,
Package using invalid,
Operation using invalid,
Property using invalid*/;
}
/*FIXME Element {
same-scope
}*/
Class {
named-element
qualifying Property using ownedProperties,
Operation using ownedOperations;
nested-scope ownedProperties->select(not isStatic),
ownedOperations->select(not isStatic),
ownedBehaviors
occluding let allSuperClasses = self->closure(superClass) -- FIXME
in allSuperClasses->collect(ownedProperties->select(not isStatic))
->includingAll(allSuperClasses->collect(ownedOperations->select(not isStatic)))
->includingAll(allSuperClasses->collection(ownedBehaviors));
}
DataType {
nested-scope ownedProperties->select(not isStatic),
ownedOperations->select(not isStatic)
occluding let allSuperClasses = self->closure(superClass)
in allSuperClasses->collect(ownedProperties->select(not isStatic))
->includingAll(allSuperClasses->collect(ownedOperations->select(not isStatic)));
}
Enumeration {
nested-scope ownedLiterals,
ownedProperties->select(not isStatic),
ownedOperations->select(not isStatic),
ownedBehaviors;
}
ExpressionInOCL{
nested-scope ownedContext->asSequence() /*FIXME*/,
ownedParameters,
ownedResult->asSequence() /*FIXME*/;
}
IterateExp{
for ownedIterators
nested-scope ownedResult->asSequence() /*FIXME*/, following ownedIterators;
for all
nested-scope ownedIterators;
}
IteratorExp {
for ownedIterators
nested-scope following ownedIterators;
for all
nested-scope ownedIterators;
}
LetExp {
for ownedIn
nested-scope ownedVariable->asSequence() /*FIXME*/;
}
Library {
nested-scope ownedPackages,
ownedClasses,
ownedPrecedences;
}
Model {
same-scope ownedPackages, ownedImports.importedNamespace,
imported ownedImports.importedNamespace;
exports Package using ownedPackages;
}
Operation {
named-element
filtered by argTypes : OrderedSet(Type)
when matchesArgs(argTypes);
for all excepting ownedParameters
nested-scope ownedParameters;
}
Package {
named-element
qualifying Class using ownedClasses,
Package using ownedPackages;
/*for all*/
nested-scope ownedClasses;
exports Class using ownedClasses;
}
Property {
named-element;
}
}
helpers {
as::Operation {
matchesArgs(argTypes : OrderedSet(Type)) : Boolean :=
argTypes->size() = ownedParameters->size()
and argTypes->forAll(x | x.conformsTo(ownedParameters->at(argTypes->indexOf(x)).type));
}
as::Class {
conformsTo(anotherType : Class) : Boolean :=
_conformsTo(anotherType) or
superClasses->exists(conformsTo(anotherType));
_conformsTo(anotherType : Class) : Boolean :=
self = anotherType;
}
}