From 37ce89a36de99f91bd879e5549b81216218dc83c Mon Sep 17 00:00:00 2001 From: Martin Monperrus Date: Wed, 3 Jun 2020 22:56:24 +0200 Subject: [PATCH 1/3] up --- .../reflect/visitor/filter/SameFilter.java | 18 ++++++++++++++++++ .../test/replace/ReplaceParametrizedTest.java | 9 ++------- 2 files changed, 20 insertions(+), 7 deletions(-) create mode 100644 src/main/java/spoon/reflect/visitor/filter/SameFilter.java diff --git a/src/main/java/spoon/reflect/visitor/filter/SameFilter.java b/src/main/java/spoon/reflect/visitor/filter/SameFilter.java new file mode 100644 index 00000000000..f616b0e3a0a --- /dev/null +++ b/src/main/java/spoon/reflect/visitor/filter/SameFilter.java @@ -0,0 +1,18 @@ +package spoon.reflect.visitor.filter; + +import spoon.reflect.declaration.CtElement; +import spoon.reflect.visitor.Filter; + +/** Finds the element given in parameter, useful for checking if an element is in an ancestor */ +public class SameFilter implements Filter { + private final CtElement argument2; + + public SameFilter(CtElement argument2) { + this.argument2 = argument2; + } + + @Override + public boolean matches(CtElement element) { + return element == argument2; + } +} diff --git a/src/test/java/spoon/test/replace/ReplaceParametrizedTest.java b/src/test/java/spoon/test/replace/ReplaceParametrizedTest.java index 34f2664bf98..2cff5fcabc0 100644 --- a/src/test/java/spoon/test/replace/ReplaceParametrizedTest.java +++ b/src/test/java/spoon/test/replace/ReplaceParametrizedTest.java @@ -38,7 +38,7 @@ import spoon.reflect.reference.CtTypeReference; import spoon.reflect.visitor.CtScanner; import spoon.reflect.visitor.CtVisitable; -import spoon.reflect.visitor.Filter; +import spoon.reflect.visitor.filter.SameFilter; import java.util.ArrayList; import java.util.Collection; @@ -174,12 +174,7 @@ public void scan(CtRole role, CtElement e) { argument.replace(argument2); // the new element is indeed now in this AST - assertTrue(receiver.getClass().getSimpleName() + " failed for " + mmField, receiver.getElements(new Filter() { - @Override - public boolean matches(CtElement element) { - return element == argument2; - } - }).size() == 1); + assertTrue(receiver.getClass().getSimpleName() + " failed for " + mmField, receiver.getElements(new SameFilter(argument2)).size() == 1); } if (!problems.isEmpty()) { fail(getReport(problems)); From 3bd50041ae9051039d3e4f99a3b5fce273a4ca1d Mon Sep 17 00:00:00 2001 From: Martin Monperrus Date: Wed, 3 Jun 2020 22:58:18 +0200 Subject: [PATCH 2/3] up --- src/main/java/spoon/reflect/visitor/filter/SameFilter.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/java/spoon/reflect/visitor/filter/SameFilter.java b/src/main/java/spoon/reflect/visitor/filter/SameFilter.java index f616b0e3a0a..e005cd6c667 100644 --- a/src/main/java/spoon/reflect/visitor/filter/SameFilter.java +++ b/src/main/java/spoon/reflect/visitor/filter/SameFilter.java @@ -1,3 +1,10 @@ +/** + * SPDX-License-Identifier: (MIT OR CECILL-C) + * + * Copyright (C) 2006-2019 INRIA and contributors + * + * Spoon is available either under the terms of the MIT License (see LICENSE-MIT.txt) of the Cecill-C License (see LICENSE-CECILL-C.txt). You as the user are entitled to choose the terms under which to adopt Spoon. + */ package spoon.reflect.visitor.filter; import spoon.reflect.declaration.CtElement; From df2cc47b6ad0e8a0152ae5845ad7591d23d59965 Mon Sep 17 00:00:00 2001 From: Martin Monperrus Date: Thu, 4 Jun 2020 11:59:22 +0000 Subject: [PATCH 3/3] Update SameFilter.java --- src/main/java/spoon/reflect/visitor/filter/SameFilter.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/spoon/reflect/visitor/filter/SameFilter.java b/src/main/java/spoon/reflect/visitor/filter/SameFilter.java index e005cd6c667..d6fa514d5dc 100644 --- a/src/main/java/spoon/reflect/visitor/filter/SameFilter.java +++ b/src/main/java/spoon/reflect/visitor/filter/SameFilter.java @@ -10,7 +10,9 @@ import spoon.reflect.declaration.CtElement; import spoon.reflect.visitor.Filter; -/** Finds the element given in parameter, useful for checking if an element is in an ancestor */ +/** Finds the element given in parameter, useful for checking if an element is in an ancestor. + * Here "same" refers to the Junit meaning: same object memory, equals with == +*/ public class SameFilter implements Filter { private final CtElement argument2;