Class CollapseNestedNonEditedAnnotations

java.lang.Object
org.variantsync.diffdetective.variation.diff.transform.CollapseNestedNonEditedAnnotations
All Implemented Interfaces:
VariationDiffTransformer<DiffLinesLabel>

public class CollapseNestedNonEditedAnnotations extends Object implements VariationDiffTransformer<DiffLinesLabel>
Collapses chains of nested non-edited annotations. Imagine a annotation node that is unchanged and has the same parent before and after the edit that is again an unchanged annotation node that has the same parent before and after the edit, and so on. Such chains NON_IF -> NON_IF -> NON_IF -> ... -> NON_IF can be collapsed into a single unchanged annotation node with the formulas of all nodes combined (by AND). This collapse is realized by this transformer. Fun fact: We implemented this transformation because of the wurmcoil edit in Marlin.
Author:
Paul Bittner