This commit is contained in:
Gijs de Jong
2023-02-13 11:24:57 +01:00
committed by Rick Ossendrijver
parent 81c0e300a1
commit ee4d3a70fa
8 changed files with 23 additions and 47 deletions

View File

@@ -6,15 +6,15 @@ import com.sun.source.tree.MethodTree;
public interface ArgumentMigrator extends Migrator<ExpressionTree> {
/**
* Get whether the specified annotation can be migrated.
*
* @param state the visitor state
* @return {@code true} if the annotation argument can be migrated or else {@code false}
*/
boolean canFix(
TestNGMetadata metadata,
TestNGMetadata.AnnotationMetadata annotation,
MethodTree methodTree,
VisitorState state);
/**
* Get whether the specified annotation can be migrated.
*
* @param state the visitor state
* @return {@code true} if the annotation argument can be migrated or else {@code false}
*/
boolean canFix(
TestNGMetadata metadata,
TestNGMetadata.AnnotationMetadata annotation,
MethodTree methodTree,
VisitorState state);
}

View File

@@ -4,7 +4,6 @@ import com.google.errorprone.VisitorState;
import com.google.errorprone.annotations.Immutable;
import com.google.errorprone.fixes.SuggestedFix;
import com.sun.source.tree.ClassTree;
import com.sun.source.tree.ExpressionTree;
import com.sun.source.tree.MethodTree;
import java.util.Optional;
@@ -40,6 +39,4 @@ public interface Migrator<T> {
*/
Optional<SuggestedFix> createFix(
ClassTree classTree, MethodTree methodTree, T dataValue, VisitorState state);
}

View File

@@ -13,7 +13,6 @@ import com.sun.source.tree.LiteralTree;
import com.sun.source.tree.MethodTree;
import java.util.Map;
import java.util.Optional;
import tech.picnic.errorprone.bugpatterns.testngtojunit.migrators.DataProviderMigrator;
/**
* POJO containing data collected using {@link TestNGScanner} for use in {@link

View File

@@ -1,5 +1,9 @@
package tech.picnic.errorprone.bugpatterns.testngtojunit.migrators;
import static com.sun.source.tree.Tree.Kind.NEW_ARRAY;
import static java.util.stream.Collectors.joining;
import static java.util.stream.Collectors.toMap;
import com.google.common.collect.ImmutableList;
import com.google.errorprone.VisitorState;
import com.google.errorprone.fixes.SuggestedFix;
@@ -8,24 +12,16 @@ import com.google.errorprone.util.ErrorProneToken;
import com.sun.source.tree.ClassTree;
import com.sun.source.tree.ExpressionTree;
import com.sun.source.tree.IdentifierTree;
import com.sun.source.tree.LiteralTree;
import com.sun.source.tree.MethodTree;
import com.sun.source.tree.NewArrayTree;
import com.sun.source.tree.ReturnTree;
import com.sun.tools.javac.parser.Tokens;
import tech.picnic.errorprone.bugpatterns.testngtojunit.Migrator;
import tech.picnic.errorprone.bugpatterns.testngtojunit.TestNGMetadata;
import tech.picnic.errorprone.bugpatterns.testngtojunit.TestNGMigrationContext;
import tech.picnic.errorprone.bugpatterns.util.SourceCode;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import static com.sun.source.tree.Tree.Kind.NEW_ARRAY;
import static java.util.stream.Collectors.joining;
import static java.util.stream.Collectors.toMap;
import tech.picnic.errorprone.bugpatterns.testngtojunit.Migrator;
import tech.picnic.errorprone.bugpatterns.util.SourceCode;
public class DataProviderMigrator implements Migrator<Void> {
@Override
@@ -37,10 +33,8 @@ public class DataProviderMigrator implements Migrator<Void> {
public boolean canFix(MethodTree methodTree) {
Optional<ReturnTree> returnTree = getReturnTree(methodTree);
boolean res = returnTree.isPresent()
&& returnTree.flatMap(DataProviderMigrator::getDataProviderReturnTree).isPresent();
return res;
return returnTree.isPresent()
&& returnTree.flatMap(DataProviderMigrator::getDataProviderReturnTree).isPresent();
}
private static Optional<SuggestedFix> migrateDataProvider(
@@ -72,15 +66,6 @@ public class DataProviderMigrator implements Migrator<Void> {
.build());
}
private static Optional<MethodTree> getDataProviderMethodTree(
ClassTree classTree, String methodName) {
return classTree.getMembers().stream()
.filter(MethodTree.class::isInstance)
.map(MethodTree.class::cast)
.filter(tree -> tree.getName().contentEquals(methodName))
.findFirst();
}
private static Optional<ReturnTree> getReturnTree(MethodTree methodTree) {
return methodTree.getBody().getStatements().stream()
.filter(ReturnTree.class::isInstance)

View File

@@ -11,7 +11,6 @@ import org.testng.annotations.Test;
import tech.picnic.errorprone.bugpatterns.testngtojunit.ArgumentMigrator;
import tech.picnic.errorprone.bugpatterns.testngtojunit.Migrator;
import tech.picnic.errorprone.bugpatterns.testngtojunit.TestNGMetadata;
import tech.picnic.errorprone.bugpatterns.testngtojunit.TestNGMigrationContext;
import tech.picnic.errorprone.bugpatterns.util.SourceCode;
/** An {@link Migrator} that migrates the {@link Test#description()} argument. */

View File

@@ -18,7 +18,6 @@ import org.testng.annotations.Test;
import tech.picnic.errorprone.bugpatterns.testngtojunit.ArgumentMigrator;
import tech.picnic.errorprone.bugpatterns.testngtojunit.Migrator;
import tech.picnic.errorprone.bugpatterns.testngtojunit.TestNGMetadata;
import tech.picnic.errorprone.bugpatterns.testngtojunit.TestNGMigrationContext;
import tech.picnic.errorprone.bugpatterns.util.SourceCode;
/** An {@link Migrator} that migrates the {@link Test#expectedExceptions()} argument. */

View File

@@ -11,7 +11,6 @@ import org.testng.annotations.Test;
import tech.picnic.errorprone.bugpatterns.testngtojunit.ArgumentMigrator;
import tech.picnic.errorprone.bugpatterns.testngtojunit.Migrator;
import tech.picnic.errorprone.bugpatterns.testngtojunit.TestNGMetadata;
import tech.picnic.errorprone.bugpatterns.testngtojunit.TestNGMigrationContext;
import tech.picnic.errorprone.bugpatterns.util.SourceCode;
/** An {@link Migrator} that migrates the {@link Test#priority()} argument. */

View File

@@ -1,13 +1,11 @@
package tech.picnic.errorprone.bugpatterns.testngtojunit.migrators.argument;
import org.junit.jupiter.api.Test;
import tech.picnic.errorprone.bugpatterns.testngtojunit.TestNGMigrationContext;
final class PriorityArgumentMigratorTest {
@Test
void createFix () {
PriorityArgumentMigrator migrator = new PriorityArgumentMigrator();
}
@Test
void createFix() {
PriorityArgumentMigrator migrator = new PriorityArgumentMigrator();
}
}