blob: 2e0fcd763a023f0bdc057aec57f5f1ca724a3fbd [file] [log] [blame]
source cs : 'generated/MiniOCLCS.ecore#/'
target as : '/resource/org.eclipse.qvtd.doc.miniocl/model/MiniOCL.ecore#/'
mappings {
-- TODO
}
disambiguation {
NameExpCS {
isOpCallExpWithImplicitSource := parentAsNameExp() = null and roundedBrackets <> null ;
isOpCallExpWithExplicitSource := parentAsNameExp() <> null and roundedBrackets <> null;
isPropCallExpWithImplicitSource := parentAsNameExp() = null and roundedBrackets = null;
isPropCallExpWithExplicitSource := parentAsNameExp() <> null and roundedBrackets = null;
}
}
name-resolution {
targets {
NamedElement using name;
Package qualifies Package using ownedPackages,
Class using ownedClasses;
Class qualifies Operation using ownedOperations,
Property using ownedProperties;
Operation filtered by args : OrderedSet(OCLExpression)
when args->size() = ownedParameters->size()
-- FIXME and check arg/parm types conformance
;
Property;
Variable;
}
inputs {
PathElementCS using elementName;
qualifier PathNameCS using pathElements;
}
providers {
Root {
in current-scope provides adding
Package using ownedPackages;
in exported-scope provides
Package using ownedPackages;
}
Package {
in current-scope provides occluding
Package using ownedPackages
Class using ownedClasses;
}
Class {
vars superClasses = self->closure(superClass);
in current-scope provides occluding
Operation using ownedOperations occluding superClasses.ownedOperations
Property using ownedProperties occluding superClasses.ownedProperties;
in exported-scope provides
Operation using ownedOperations
Property using ownedProperties;
}
Operation {
in current-scope provides occluding
Variable using ownedParameters;
}
ExpressionInOCL {
in current-scope provides occluding
Variable using ownedSelfVar;
}
}
}
helpers {
}