-
assigned issue to
Merging of duplicate extend instantiations broken
When weaving a concern or building an application, in the first step, the model extensions (currently known as instantiations) are woven first. After each weaving step, duplicate instantiations, that might be existent after copying over the extensions from the woven in aspect, are merged.
However, the current implementation is broken in that it only merges the first duplicate it finds.
For example, building the workflow and choosing all available features results in Woven_Workflow (empty) with instantiations for each feature:
- Output
- ParallelExecution
- Conditional Execution
- Synchronization
- Conditional Synchronization
- Workflow
- Input
Output itself extends Workflow and Input. When Output is woven in first (based by rank) the intermediary result extends Workflow and Input a second time.
The mergeInstantiations(Aspect)
method then merges the two Workflow instantiations but stops, which leads to two Input instantiations being left. This results into Input being woven twice.
Comments (2)
-
reporter -
reporter - changed status to resolved
Resolves
#433: Ensures that all duplicate instantiations are merged by restarting using recursive call.→ <<cset f189acce54a7>>
- Log in to comment