Skip to content

Commit 8197880

Browse files
committed
remove boilerplate Variation(Tree|Diff)Transformer
These where interfaces without a real purpose.
1 parent 2c6d651 commit 8197880

15 files changed

Lines changed: 24 additions & 49 deletions

src/main/java/org/variantsync/diffdetective/analysis/PreprocessingAnalysis.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,19 @@
33
import java.util.Arrays;
44
import java.util.List;
55

6+
import org.variantsync.diffdetective.variation.diff.VariationDiff;
67
import org.variantsync.diffdetective.variation.diff.transform.Transformer;
7-
import org.variantsync.diffdetective.variation.diff.transform.VariationDiffTransformer;
88
import org.variantsync.diffdetective.variation.DiffLinesLabel;
99

1010
public class PreprocessingAnalysis implements Analysis.Hooks {
11-
private final List<VariationDiffTransformer<DiffLinesLabel>> preprocessors;
11+
private final List<Transformer<VariationDiff<DiffLinesLabel>>> preprocessors;
1212

13-
public PreprocessingAnalysis(List<VariationDiffTransformer<DiffLinesLabel>> preprocessors) {
13+
public PreprocessingAnalysis(List<Transformer<VariationDiff<DiffLinesLabel>>> preprocessors) {
1414
this.preprocessors = preprocessors;
1515
}
1616

1717
@SafeVarargs
18-
public PreprocessingAnalysis(VariationDiffTransformer<DiffLinesLabel>... preprocessors) {
18+
public PreprocessingAnalysis(Transformer<VariationDiff<DiffLinesLabel>>... preprocessors) {
1919
this.preprocessors = Arrays.asList(preprocessors);
2020
}
2121

src/main/java/org/variantsync/diffdetective/internal/SimpleRenderer.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
import org.variantsync.diffdetective.variation.diff.render.VariationDiffRenderer;
2020
import org.variantsync.diffdetective.variation.diff.serialize.nodeformat.MappingsDiffNodeFormat;
2121
import org.variantsync.diffdetective.variation.diff.transform.Transformer;
22-
import org.variantsync.diffdetective.variation.diff.transform.VariationDiffTransformer;
2322

2423
import java.io.IOException;
2524
import java.nio.file.Files;
@@ -163,7 +162,7 @@ public static void main(String[] args) throws IOException {
163162
final Repository repository = Repository.fromDirectory(repoPath, repoName);
164163
repository.setParseOptions(repository.getParseOptions().withDiffStoragePolicy(PatchDiffParseOptions.DiffStoragePolicy.REMEMBER_STRIPPED_DIFF));
165164

166-
final List<VariationDiffTransformer<DiffLinesLabel>> transform = VariationDiffMiner.Postprocessing(repository);
165+
final List<Transformer<VariationDiff<DiffLinesLabel>>> transform = VariationDiffMiner.Postprocessing(repository);
167166
final PatchDiff patch = VariationDiffParser.parsePatch(repository, file, commit);
168167
Assert.assertNotNull(patch != null);
169168
Transformer.apply(transform, patch.getVariationDiff());

src/main/java/org/variantsync/diffdetective/mining/VariationDiffMiner.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,15 @@
1313
import org.variantsync.diffdetective.mining.formats.MiningNodeFormat;
1414
import org.variantsync.diffdetective.mining.formats.ReleaseMiningDiffNodeFormat;
1515
import org.variantsync.diffdetective.variation.DiffLinesLabel;
16+
import org.variantsync.diffdetective.variation.diff.VariationDiff;
1617
import org.variantsync.diffdetective.variation.diff.filter.VariationDiffFilter;
1718
import org.variantsync.diffdetective.variation.diff.serialize.GraphFormat;
1819
import org.variantsync.diffdetective.variation.diff.serialize.LineGraphExportOptions;
1920
import org.variantsync.diffdetective.variation.diff.serialize.edgeformat.EdgeLabelFormat;
2021
import org.variantsync.diffdetective.variation.diff.serialize.treeformat.CommitDiffVariationDiffLabelFormat;
2122
import org.variantsync.diffdetective.variation.diff.transform.CollapseNestedNonEditedAnnotations;
2223
import org.variantsync.diffdetective.variation.diff.transform.CutNonEditedSubtrees;
23-
import org.variantsync.diffdetective.variation.diff.transform.VariationDiffTransformer;
24+
import org.variantsync.diffdetective.variation.diff.transform.Transformer;
2425

2526
import java.io.IOException;
2627
import java.nio.file.Path;
@@ -38,8 +39,8 @@ public class VariationDiffMiner {
3839
// public static final int PRINT_LARGEST_SUBJECTS = 3;
3940
public static final boolean DEBUG_TEST = false;
4041

41-
public static List<VariationDiffTransformer<DiffLinesLabel>> Postprocessing(final Repository repository) {
42-
final List<VariationDiffTransformer<DiffLinesLabel>> processing = new ArrayList<>();
42+
public static List<Transformer<VariationDiff<DiffLinesLabel>>> Postprocessing(final Repository repository) {
43+
final List<Transformer<VariationDiff<DiffLinesLabel>>> processing = new ArrayList<>();
4344
processing.add(new CutNonEditedSubtrees<>());
4445
processing.add(new CollapseNestedNonEditedAnnotations());
4546
return processing;

src/main/java/org/variantsync/diffdetective/mining/postprocessing/Postprocessor.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import org.variantsync.diffdetective.variation.diff.filter.TaggedPredicate;
99
import org.variantsync.diffdetective.variation.diff.transform.CutNonEditedSubtrees;
1010
import org.variantsync.diffdetective.variation.diff.transform.Transformer;
11-
import org.variantsync.diffdetective.variation.diff.transform.VariationDiffTransformer;
1211

1312
import java.util.List;
1413
import java.util.Map;
@@ -18,7 +17,7 @@
1817
* Patterns are represented as VariationDiffs and might be filtered or transformed.
1918
*/
2019
public class Postprocessor<L extends Label> {
21-
private final List<VariationDiffTransformer<L>> transformers;
20+
private final List<Transformer<VariationDiff<L>>> transformers;
2221
private final ExplainedFilter<VariationDiff<L>> filters;
2322

2423
/**
@@ -31,7 +30,7 @@ public class Postprocessor<L extends Label> {
3130
public record Result<L extends Label>(List<VariationDiff<L>> processedTrees, Map<String, Integer> filterCounts) {}
3231

3332
private Postprocessor(
34-
final List<VariationDiffTransformer<L>> transformers,
33+
final List<Transformer<VariationDiff<L>>> transformers,
3534
final List<TaggedPredicate<String, ? super VariationDiff<L>>> namedFilters) {
3635
this.transformers = transformers;
3736
this.filters = new ExplainedFilter<VariationDiff<L>>(namedFilters.stream());

src/main/java/org/variantsync/diffdetective/variation/diff/transform/CollapseNestedNonEditedAnnotations.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
*
3232
* @author Paul Bittner
3333
*/
34-
public class CollapseNestedNonEditedAnnotations implements VariationDiffTransformer<DiffLinesLabel> {
34+
public class CollapseNestedNonEditedAnnotations implements Transformer<VariationDiff<DiffLinesLabel>> {
3535
private final List<Stack<DiffNode<DiffLinesLabel>>> chainCandidates = new ArrayList<>();
3636
private final List<Stack<DiffNode<DiffLinesLabel>>> chains = new ArrayList<>();
3737

src/main/java/org/variantsync/diffdetective/variation/diff/transform/CutNonEditedSubtrees.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
* of our edit classes in our ESEC/FSE'22 paper.
2020
* @author Paul Bittner
2121
*/
22-
public class CutNonEditedSubtrees<L extends Label> implements VariationDiffTransformer<L>, VariationDiffVisitor<L> {
22+
public class CutNonEditedSubtrees<L extends Label> implements Transformer<VariationDiff<L>>, VariationDiffVisitor<L> {
2323
private final boolean keepDummy;
2424

2525
/**

src/main/java/org/variantsync/diffdetective/variation/diff/transform/EliminateEmptyAlternatives.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
*
3636
* @author Paul Bittner
3737
*/
38-
public class EliminateEmptyAlternatives<L extends Label> implements VariationTreeTransformer<L> {
38+
public class EliminateEmptyAlternatives<L extends Label> implements Transformer<VariationTree<L>> {
3939
private void elim(VariationTreeNode<L> subtree) {
4040
// We simplify only annotations.
4141
if (!subtree.isAnnotation()) return;

src/main/java/org/variantsync/diffdetective/variation/diff/transform/FeatureExpressionFilter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* For example, it might remove an IF but keep its ELSE branches which is illegal.
1414
*/
1515
@Deprecated
16-
public record FeatureExpressionFilter<L extends Label>(Predicate<DiffNode<L>> isFeatureAnnotation) implements VariationDiffTransformer<L> {
16+
public record FeatureExpressionFilter<L extends Label>(Predicate<DiffNode<L>> isFeatureAnnotation) implements Transformer<VariationDiff<L>> {
1717
@Override
1818
public void transform(VariationDiff<L> variationDiff) {
1919
final List<DiffNode<L>> illegalNodes = new ArrayList<>();

src/main/java/org/variantsync/diffdetective/variation/diff/transform/LabelWithEditClass.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
* All other nodes will be labeled by the {@link NodeType#name name of their node type}.
1616
* @author Paul Bittner
1717
*/
18-
public class LabelWithEditClass implements VariationDiffTransformer<DiffLinesLabel> {
19-
private final VariationDiffTransformer<DiffLinesLabel> relabelNodes;
18+
public class LabelWithEditClass implements Transformer<VariationDiff<DiffLinesLabel>> {
19+
private final Transformer<VariationDiff<DiffLinesLabel>> relabelNodes;
2020

2121
/**
2222
* Creates a new transformation that will use the given catalog of edit classes

src/main/java/org/variantsync/diffdetective/variation/diff/transform/NaiveMovedArtifactDetection.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
* but for each line in the nodes individually.
2121
* @author Paul Bittner
2222
*/
23-
public class NaiveMovedArtifactDetection<L extends Label> implements VariationDiffTransformer<L> {
23+
public class NaiveMovedArtifactDetection<L extends Label> implements Transformer<VariationDiff<L>> {
2424
@Override
2525
public void transform(final VariationDiff<L> variationDiff) {
2626
final List<Pair<DiffNode<L>, DiffNode<L>>> twins = findArtifactTwins(variationDiff);

0 commit comments

Comments
 (0)