Changes were made to fix issue #437, ensuring that when the user deletes a ConstructorEdge, downstream ImplicitParameterNode objects are not deleted, as well.
To fix this, a conditional statement was added to SequenceDiagramBuilder.getCoRemovals() which checks if the input diagram element is a ConstructorEdge. If so, downstream ImplicitParameterNode objects are removed from the list to be returned. A new test was written to consider the behavior of getCoRemovals() with a ConstructorEdge. An unrelated annotation error was also fixed in TestControlFlow.
Changes were made to fix issue #437, ensuring that when the user deletes a
ConstructorEdge
, downstreamImplicitParameterNode
objects are not deleted, as well.To fix this, a conditional statement was added to
SequenceDiagramBuilder.getCoRemovals()
which checks if the input diagram element is aConstructorEdge
. If so, downstreamImplicitParameterNode
objects are removed from the list to be returned. A new test was written to consider the behavior ofgetCoRemovals()
with aConstructorEdge
. An unrelated annotation error was also fixed inTestControlFlow
.Here is an example scenario:
Before applying this fix:
After fixing applying this fix: