Community
Participate
Working Groups
On pattern we often see in a tool definition of Sirius is : If someVariable.oclIsKindOf(some::Type) ChangeContext : someVariable.someRefExistingInType If someVariable.oclIsKindOf(some::OtherType) Set : someAttributeExistingInOtherType Right now Sirius will find the type of "someVariable" based on the .odesign declarations and on the return types of the IInterpreter instances. It will not leverage the fact that it is in the "then" branch of an IF and as such we know the type of someVariable have to be some::Type. This bugzilla is about improving Sirius to consider this information which can be provided -- at least by the AQL interpreter-- This should drastically reduce the number of errors reported in the .odesign files. Steps to reproduce : - open interaction.design - select the children of the first "If" which has the expression : aql:end.oclIsKindOf(interactions::ExecutionEnd) in the tool "Delete Participant" The children is a ChangeContext aql:end.execution - right click->validate result : an error stating the feature "execution" is not found in the EClass EObject expected result : no validation error
New Gerrit change created: https://git.eclipse.org/r/64004
Gerrit change https://git.eclipse.org/r/64004 was merged to [master]. Commit: http://git.eclipse.org/c/sirius/org.eclipse.sirius.git/commit/?id=5c4d3056bcf75fd30173eb4ed253d8bc01360921
This is fixed for Sirius 4.0 and will be shipped with M5.
Verified on Sirius 4.0.0.201605180923
Available in Sirius 4.0.0.