diff --git a/java-symbol-solver-core/src/main/java/me/tomassetti/symbolsolver/javaparsermodel/JavaParserFacade.java b/java-symbol-solver-core/src/main/java/me/tomassetti/symbolsolver/javaparsermodel/JavaParserFacade.java index 49e469e8d5..4a32edf1ff 100644 --- a/java-symbol-solver-core/src/main/java/me/tomassetti/symbolsolver/javaparsermodel/JavaParserFacade.java +++ b/java-symbol-solver-core/src/main/java/me/tomassetti/symbolsolver/javaparsermodel/JavaParserFacade.java @@ -237,7 +237,7 @@ private TypeUsage getTypeConcrete(Node node, boolean solveLambdas) { int pos = JavaParserSymbolDeclaration.getParamPos(node); SymbolReference refMethod = JavaParserFacade.get(typeSolver).solve(callExpr); if (!refMethod.isSolved()) { - throw new UnsolvedSymbolException(callExpr.getName()); + throw new UnsolvedSymbolException(node.getParentNode().toString(), callExpr.getName()); } logger.finest("getType on lambda expr " + refMethod.getCorrespondingDeclaration().getName()); //logger.finest("Method param " + refMethod.getCorrespondingDeclaration().getParam(pos)); @@ -536,8 +536,7 @@ public TypeDeclaration getTypeDeclaration(ClassOrInterfaceDeclaration classOrInt public TypeUsage getTypeOfThisIn(Node node) { // TODO consider static methods if (node instanceof ClassOrInterfaceDeclaration) { - JavaParserClassDeclaration classDeclaration = new JavaParserClassDeclaration((ClassOrInterfaceDeclaration) node, typeSolver); - return new ReferenceTypeUsageImpl(classDeclaration, typeSolver); + return new ReferenceTypeUsageImpl(getTypeDeclaration((ClassOrInterfaceDeclaration) node), typeSolver); } else if (node instanceof EnumDeclaration) { JavaParserEnumDeclaration enumDeclaration = new JavaParserEnumDeclaration((EnumDeclaration) node, typeSolver); return new ReferenceTypeUsageImpl(enumDeclaration, typeSolver); diff --git a/java-symbol-solver-core/src/main/java/me/tomassetti/symbolsolver/javaparsermodel/declarations/JavaParserClassDeclaration.java b/java-symbol-solver-core/src/main/java/me/tomassetti/symbolsolver/javaparsermodel/declarations/JavaParserClassDeclaration.java index eb88bab8d7..765780d38e 100644 --- a/java-symbol-solver-core/src/main/java/me/tomassetti/symbolsolver/javaparsermodel/declarations/JavaParserClassDeclaration.java +++ b/java-symbol-solver-core/src/main/java/me/tomassetti/symbolsolver/javaparsermodel/declarations/JavaParserClassDeclaration.java @@ -129,6 +129,11 @@ public ClassDeclaration asClass() { return this; } + @Override + public boolean hasDirectlyAnnotation(String canonicalName) { + throw new UnsupportedOperationException(); + } + @Override public boolean isInterface() { return wrappedNode.isInterface(); diff --git a/java-symbol-solver-core/src/main/java/me/tomassetti/symbolsolver/javaparsermodel/declarations/JavaParserEnumDeclaration.java b/java-symbol-solver-core/src/main/java/me/tomassetti/symbolsolver/javaparsermodel/declarations/JavaParserEnumDeclaration.java index 1712a7f93d..50182e162e 100644 --- a/java-symbol-solver-core/src/main/java/me/tomassetti/symbolsolver/javaparsermodel/declarations/JavaParserEnumDeclaration.java +++ b/java-symbol-solver-core/src/main/java/me/tomassetti/symbolsolver/javaparsermodel/declarations/JavaParserEnumDeclaration.java @@ -88,6 +88,11 @@ public boolean isType() { return true; } + @Override + public boolean hasDirectlyAnnotation(String canonicalName) { + throw new UnsupportedOperationException(); + } + @Override public boolean canBeAssignedTo(TypeDeclaration other) { // Enums cannot be extended diff --git a/java-symbol-solver-core/src/main/java/me/tomassetti/symbolsolver/javaparsermodel/declarations/JavaParserInterfaceDeclaration.java b/java-symbol-solver-core/src/main/java/me/tomassetti/symbolsolver/javaparsermodel/declarations/JavaParserInterfaceDeclaration.java index 9c9af006a6..8a0088c4ab 100644 --- a/java-symbol-solver-core/src/main/java/me/tomassetti/symbolsolver/javaparsermodel/declarations/JavaParserInterfaceDeclaration.java +++ b/java-symbol-solver-core/src/main/java/me/tomassetti/symbolsolver/javaparsermodel/declarations/JavaParserInterfaceDeclaration.java @@ -89,6 +89,11 @@ public InterfaceDeclaration asInterface() { return this; } + @Override + public boolean hasDirectlyAnnotation(String canonicalName) { + throw new UnsupportedOperationException(); + } + public boolean isInterface() { return true; } diff --git a/java-symbol-solver-core/src/main/java/me/tomassetti/symbolsolver/javaparsermodel/declarations/JavaParserTypeParameter.java b/java-symbol-solver-core/src/main/java/me/tomassetti/symbolsolver/javaparsermodel/declarations/JavaParserTypeParameter.java index 4dad8c94dd..4ad8a64a5c 100644 --- a/java-symbol-solver-core/src/main/java/me/tomassetti/symbolsolver/javaparsermodel/declarations/JavaParserTypeParameter.java +++ b/java-symbol-solver-core/src/main/java/me/tomassetti/symbolsolver/javaparsermodel/declarations/JavaParserTypeParameter.java @@ -155,6 +155,11 @@ public boolean isTypeVariable() { return true; } + @Override + public boolean hasDirectlyAnnotation(String canonicalName) { + throw new UnsupportedOperationException(); + } + @Override public List getTypeParameters() { return Collections.emptyList(); @@ -174,4 +179,9 @@ public com.github.javaparser.ast.TypeParameter getWrappedNode() { return wrappedNode; } + + @Override + public String toString() { + return "JPTypeParameter(" + wrappedNode.getName() +", bounds=" + wrappedNode.getTypeBound()+ ")"; + } } diff --git a/java-symbol-solver-core/src/main/java/me/tomassetti/symbolsolver/javaparsermodel/declarations/JavaParserTypeVariableDeclaration.java b/java-symbol-solver-core/src/main/java/me/tomassetti/symbolsolver/javaparsermodel/declarations/JavaParserTypeVariableDeclaration.java index 3cd854aa1c..3a4e9e5162 100644 --- a/java-symbol-solver-core/src/main/java/me/tomassetti/symbolsolver/javaparsermodel/declarations/JavaParserTypeVariableDeclaration.java +++ b/java-symbol-solver-core/src/main/java/me/tomassetti/symbolsolver/javaparsermodel/declarations/JavaParserTypeVariableDeclaration.java @@ -139,6 +139,11 @@ public boolean isType() { return true; } + @Override + public boolean hasDirectlyAnnotation(String canonicalName) { + throw new UnsupportedOperationException(); + } + @Override public boolean isClass() { return false; diff --git a/java-symbol-solver-core/src/main/java/me/tomassetti/symbolsolver/javassistmodel/JavassistClassDeclaration.java b/java-symbol-solver-core/src/main/java/me/tomassetti/symbolsolver/javassistmodel/JavassistClassDeclaration.java index 6fa32b773f..e5966bdae1 100644 --- a/java-symbol-solver-core/src/main/java/me/tomassetti/symbolsolver/javassistmodel/JavassistClassDeclaration.java +++ b/java-symbol-solver-core/src/main/java/me/tomassetti/symbolsolver/javassistmodel/JavassistClassDeclaration.java @@ -42,6 +42,11 @@ public ClassDeclaration asClass() { return this; } + @Override + public boolean hasDirectlyAnnotation(String canonicalName) { + throw new UnsupportedOperationException(); + } + @Override public Set getDeclaredMethods() { return Arrays.stream(ctClass.getDeclaredMethods()) diff --git a/java-symbol-solver-core/src/main/java/me/tomassetti/symbolsolver/javassistmodel/JavassistInterfaceDeclaration.java b/java-symbol-solver-core/src/main/java/me/tomassetti/symbolsolver/javassistmodel/JavassistInterfaceDeclaration.java index f1f0e104eb..c2345a9a29 100644 --- a/java-symbol-solver-core/src/main/java/me/tomassetti/symbolsolver/javassistmodel/JavassistInterfaceDeclaration.java +++ b/java-symbol-solver-core/src/main/java/me/tomassetti/symbolsolver/javassistmodel/JavassistInterfaceDeclaration.java @@ -240,6 +240,23 @@ public Set getDeclaredMethods() { .collect(Collectors.toSet()); } + @Override + public boolean hasDirectlyAnnotation(String canonicalName) { + try { + for (Object annotationRaw : ctClass.getAnnotations()) { + if (annotationRaw.getClass().getCanonicalName().equals(canonicalName)) { + return true; + } + if (Arrays.stream(annotationRaw.getClass().getInterfaces()).anyMatch(it -> it.getCanonicalName().equals(canonicalName))) { + return true; + } + } + } catch (ClassNotFoundException e) { + throw new RuntimeException(e); + } + return false; + } + @Override public String getName() { throw new UnsupportedOperationException(); diff --git a/java-symbol-solver-core/src/main/java/me/tomassetti/symbolsolver/model/typesystem/ReferenceTypeUsageImpl.java b/java-symbol-solver-core/src/main/java/me/tomassetti/symbolsolver/model/typesystem/ReferenceTypeUsageImpl.java index af2f095379..838f04ada3 100644 --- a/java-symbol-solver-core/src/main/java/me/tomassetti/symbolsolver/model/typesystem/ReferenceTypeUsageImpl.java +++ b/java-symbol-solver-core/src/main/java/me/tomassetti/symbolsolver/model/typesystem/ReferenceTypeUsageImpl.java @@ -1,18 +1,16 @@ package me.tomassetti.symbolsolver.model.typesystem; +import me.tomassetti.symbolsolver.javaparsermodel.LambdaArgumentTypeUsagePlaceholder; +import me.tomassetti.symbolsolver.javaparsermodel.declarations.JavaParserTypeVariableDeclaration; import me.tomassetti.symbolsolver.model.declarations.MethodDeclaration; import me.tomassetti.symbolsolver.model.declarations.TypeDeclaration; import me.tomassetti.symbolsolver.model.invokations.MethodUsage; import me.tomassetti.symbolsolver.model.resolution.TypeParameter; import me.tomassetti.symbolsolver.model.resolution.TypeSolver; -import me.tomassetti.symbolsolver.javaparsermodel.LambdaArgumentTypeUsagePlaceholder; -import me.tomassetti.symbolsolver.javaparsermodel.declarations.JavaParserTypeVariableDeclaration; import java.util.HashSet; import java.util.List; import java.util.Set; -import java.util.function.Function; -import java.util.function.Predicate; // TODO Remove references to typeSolver: it is needed to instantiate other instances of ReferenceTypeUsage // and to get the Object type declaration @@ -62,7 +60,7 @@ public boolean isAssignableBy(TypeUsage other) { } } if (other instanceof LambdaArgumentTypeUsagePlaceholder) { - return this.getQualifiedName().equals(Predicate.class.getCanonicalName()) || this.getQualifiedName().equals(Function.class.getCanonicalName()); + return this.getTypeDeclaration().hasAnnotation(FunctionalInterface.class.getCanonicalName()); } else if (other instanceof ReferenceTypeUsageImpl) { ReferenceTypeUsageImpl otherRef = (ReferenceTypeUsageImpl) other; if (compareConsideringTypeParameters(otherRef)) { diff --git a/java-symbol-solver-core/src/main/java/me/tomassetti/symbolsolver/reflectionmodel/ReflectionClassDeclaration.java b/java-symbol-solver-core/src/main/java/me/tomassetti/symbolsolver/reflectionmodel/ReflectionClassDeclaration.java index 4609568750..dc9cf14dc5 100644 --- a/java-symbol-solver-core/src/main/java/me/tomassetti/symbolsolver/reflectionmodel/ReflectionClassDeclaration.java +++ b/java-symbol-solver-core/src/main/java/me/tomassetti/symbolsolver/reflectionmodel/ReflectionClassDeclaration.java @@ -277,6 +277,11 @@ public ClassDeclaration asClass() { return this; } + @Override + public boolean hasDirectlyAnnotation(String canonicalName) { + throw new UnsupportedOperationException(); + } + /*@Override public boolean canBeAssignedTo(TypeDeclaration other, TypeSolver typeSolver) { if (getQualifiedName().equals(other.getQualifiedName())) { diff --git a/java-symbol-solver-core/src/main/java/me/tomassetti/symbolsolver/reflectionmodel/ReflectionInterfaceDeclaration.java b/java-symbol-solver-core/src/main/java/me/tomassetti/symbolsolver/reflectionmodel/ReflectionInterfaceDeclaration.java index cad6ac5af4..ef04d9251d 100644 --- a/java-symbol-solver-core/src/main/java/me/tomassetti/symbolsolver/reflectionmodel/ReflectionInterfaceDeclaration.java +++ b/java-symbol-solver-core/src/main/java/me/tomassetti/symbolsolver/reflectionmodel/ReflectionInterfaceDeclaration.java @@ -18,6 +18,7 @@ import me.tomassetti.symbolsolver.javaparsermodel.LambdaArgumentTypeUsagePlaceholder; import me.tomassetti.symbolsolver.javaparsermodel.UnsolvedSymbolException; +import java.lang.annotation.Annotation; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.lang.reflect.TypeVariable; @@ -303,6 +304,16 @@ public InterfaceDeclaration asInterface() { return this; } + @Override + public boolean hasDirectlyAnnotation(String canonicalName) { + for (Annotation a : clazz.getDeclaredAnnotations()) { + if (a.annotationType().getCanonicalName().equals(canonicalName)) { + return true; + } + } + return false; + } + @Override public List getTypeParameters() { List params = new ArrayList<>(); diff --git a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/AbstractTest.java b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/AbstractTest.java new file mode 100644 index 0000000000..eaaee42304 --- /dev/null +++ b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/AbstractTest.java @@ -0,0 +1,23 @@ +package me.tomassetti.symbolsolver; + +import java.io.File; + +public abstract class AbstractTest { + + protected static File adaptPath(File path) { + if (path.exists()) { + return path; + } else { + File underJavaParserCore = new File("java-symbol-solver-core/" + path.getPath()); + if (underJavaParserCore.exists()) { + return underJavaParserCore; + } else { + throw new IllegalArgumentException(); + } + } + } + + protected static String adaptPath(String path) { + return adaptPath(new File(path)).getPath(); + } +} diff --git a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/FindingAllFields.java b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/FindingAllFields.java index 1770837ebd..53b66950bb 100644 --- a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/FindingAllFields.java +++ b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/FindingAllFields.java @@ -8,7 +8,7 @@ import me.tomassetti.symbolsolver.javaparsermodel.JavaParserFacade; import me.tomassetti.symbolsolver.model.declarations.Declaration; import me.tomassetti.symbolsolver.model.declarations.TypeDeclaration; -import me.tomassetti.symbolsolver.resolution.AbstractTest; +import me.tomassetti.symbolsolver.resolution.AbstractResolutionTest; import me.tomassetti.symbolsolver.resolution.typesolvers.JreTypeSolver; import org.junit.Test; @@ -16,7 +16,7 @@ import static org.junit.Assert.*; -public class FindingAllFields extends AbstractTest { +public class FindingAllFields extends AbstractResolutionTest { @Test public void findAllInheritedFields() throws ParseException { diff --git a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/Issue18.java b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/Issue18.java index 85405e9d04..c2a43a590f 100644 --- a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/Issue18.java +++ b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/Issue18.java @@ -9,13 +9,13 @@ import me.tomassetti.symbolsolver.javaparsermodel.JavaParserFacade; import me.tomassetti.symbolsolver.model.resolution.TypeSolver; import me.tomassetti.symbolsolver.model.typesystem.TypeUsage; -import me.tomassetti.symbolsolver.resolution.AbstractTest; +import me.tomassetti.symbolsolver.resolution.AbstractResolutionTest; import me.tomassetti.symbolsolver.resolution.typesolvers.JreTypeSolver; import org.junit.Test; import static org.junit.Assert.assertEquals; -public class Issue18 extends AbstractTest { +public class Issue18 extends AbstractResolutionTest { @Test public void typeDeclarationSuperClassImplicitlyIncludeObject() throws ParseException { diff --git a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/javaparsermodel/declarations/JavaParserClassDeclarationTest.java b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/javaparsermodel/declarations/JavaParserClassDeclarationTest.java index d9b7706791..6fe8364a6d 100644 --- a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/javaparsermodel/declarations/JavaParserClassDeclarationTest.java +++ b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/javaparsermodel/declarations/JavaParserClassDeclarationTest.java @@ -1,6 +1,7 @@ package me.tomassetti.symbolsolver.javaparsermodel.declarations; import com.google.common.collect.ImmutableSet; +import me.tomassetti.symbolsolver.AbstractTest; import me.tomassetti.symbolsolver.model.resolution.TypeSolver; import me.tomassetti.symbolsolver.resolution.typesolvers.CombinedTypeSolver; import me.tomassetti.symbolsolver.resolution.typesolvers.JavaParserTypeSolver; @@ -13,17 +14,17 @@ import static org.junit.Assert.assertEquals; -public class JavaParserClassDeclarationTest { +public class JavaParserClassDeclarationTest extends AbstractTest { private TypeSolver typeSolver; @Before public void setup() { - File src = new File("src/test/resources/javaparser_src/proper_source"); + File src = adaptPath(new File("src/test/resources/javaparser_src/proper_source")); CombinedTypeSolver combinedTypeSolver = new CombinedTypeSolver(); combinedTypeSolver.add(new JreTypeSolver()); combinedTypeSolver.add(new JavaParserTypeSolver(src)); - combinedTypeSolver.add(new JavaParserTypeSolver(new File("src/test/resources/javaparser_src/generated"))); + combinedTypeSolver.add(new JavaParserTypeSolver(adaptPath(new File("src/test/resources/javaparser_src/generated")))); typeSolver = combinedTypeSolver; } diff --git a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/javassistmodel/JavassistClassDeclarationTest.java b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/javassistmodel/JavassistClassDeclarationTest.java index 687aa3fd55..1bd508562f 100644 --- a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/javassistmodel/JavassistClassDeclarationTest.java +++ b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/javassistmodel/JavassistClassDeclarationTest.java @@ -1,6 +1,7 @@ package me.tomassetti.symbolsolver.javassistmodel; import com.google.common.collect.ImmutableSet; +import me.tomassetti.symbolsolver.AbstractTest; import me.tomassetti.symbolsolver.model.resolution.TypeSolver; import me.tomassetti.symbolsolver.resolution.typesolvers.CombinedTypeSolver; import me.tomassetti.symbolsolver.resolution.typesolvers.JarTypeSolver; @@ -13,13 +14,13 @@ import static org.junit.Assert.*; -public class JavassistClassDeclarationTest { +public class JavassistClassDeclarationTest extends AbstractTest { private TypeSolver typeSolver; @Before public void setup() throws IOException { - String pathToJar = "src/test/resources/javaparser-core-2.1.0.jar"; + String pathToJar = adaptPath("src/test/resources/javaparser-core-2.1.0.jar"); typeSolver = new CombinedTypeSolver(new JarTypeSolver(pathToJar), new JreTypeSolver()); } diff --git a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/AbstractTest.java b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/AbstractResolutionTest.java similarity index 83% rename from java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/AbstractTest.java rename to java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/AbstractResolutionTest.java index 3aad59e1d0..5a4e484d2e 100644 --- a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/AbstractTest.java +++ b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/AbstractResolutionTest.java @@ -3,13 +3,14 @@ import com.github.javaparser.JavaParser; import com.github.javaparser.ParseException; import com.github.javaparser.ast.CompilationUnit; +import me.tomassetti.symbolsolver.AbstractTest; import java.io.InputStream; /** * @author Federico Tomassetti */ -public abstract class AbstractTest { +public abstract class AbstractResolutionTest extends AbstractTest { protected CompilationUnit parseSample(String sampleName) throws ParseException { InputStream is = this.getClass().getClassLoader().getResourceAsStream(sampleName + ".java.txt"); diff --git a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/AnalyseJavaParserTest.java b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/AnalyseJavaParserTest.java index 6e7fe74629..b4d6d61aad 100644 --- a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/AnalyseJavaParserTest.java +++ b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/AnalyseJavaParserTest.java @@ -1,6 +1,7 @@ package me.tomassetti.symbolsolver.resolution; import com.github.javaparser.ParseException; +import me.tomassetti.symbolsolver.AbstractTest; import me.tomassetti.symbolsolver.SourceFileInfoExtractor; import me.tomassetti.symbolsolver.javaparsermodel.JavaParserFacade; import me.tomassetti.symbolsolver.resolution.typesolvers.CombinedTypeSolver; @@ -15,15 +16,15 @@ import static org.junit.Assert.*; -public class AnalyseJavaParserTest { +public class AnalyseJavaParserTest extends AbstractTest { - private static final File src = new File("src/test/resources/javaparser_src/proper_source"); + private static final File src = adaptPath(new File("src/test/resources/javaparser_src/proper_source")); private SourceFileInfoExtractor getSourceFileInfoExtractor() { CombinedTypeSolver combinedTypeSolver = new CombinedTypeSolver(); combinedTypeSolver.add(new JreTypeSolver()); combinedTypeSolver.add(new JavaParserTypeSolver(src)); - combinedTypeSolver.add(new JavaParserTypeSolver(new File("src/test/resources/javaparser_src/generated"))); + combinedTypeSolver.add(new JavaParserTypeSolver(adaptPath(new File("src/test/resources/javaparser_src/generated")))); SourceFileInfoExtractor sourceFileInfoExtractor = new SourceFileInfoExtractor(); sourceFileInfoExtractor.setTypeSolver(combinedTypeSolver); sourceFileInfoExtractor.setPrintFileName(false); @@ -51,7 +52,7 @@ private void parse(String fileName) throws IOException, ParseException { String output = outErrStream.toString(); String path = "src/test/resources/javaparser_expected_output/" + fileName.replaceAll("/", "_")+ ".txt"; - File dstFile = new File(path); + File dstFile = adaptPath(new File(path)); if (DEBUG && (sourceFileInfoExtractor.getKo() != 0 || sourceFileInfoExtractor.getUnsupported() != 0)){ System.err.println(output); diff --git a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/AnalyseNewJavaParserTest.java b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/AnalyseNewJavaParserTest.java index 79eb4dc00e..16568470db 100644 --- a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/AnalyseNewJavaParserTest.java +++ b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/AnalyseNewJavaParserTest.java @@ -1,7 +1,7 @@ package me.tomassetti.symbolsolver.resolution; import com.github.javaparser.ParseException; -import me.tomassetti.symbolsolver.SourceFileInfoExtractor; +import me.tomassetti.symbolsolver.*; import me.tomassetti.symbolsolver.javaparsermodel.JavaParserFacade; import me.tomassetti.symbolsolver.resolution.typesolvers.CombinedTypeSolver; import me.tomassetti.symbolsolver.resolution.typesolvers.JavaParserTypeSolver; @@ -19,23 +19,10 @@ /** * We analize a more recent version of JavaParser, after the project moved to Java 8. */ -public class AnalyseNewJavaParserTest { +public class AnalyseNewJavaParserTest extends AbstractResolutionTest { private static final File src = adaptPath(new File("src/test/resources/javaparser_new_src/javaparser-core")); - private static File adaptPath(File path) { - if (path.exists()) { - return path; - } else { - File underJavaParserCore = new File("java-symbol-solver-core/" + path.getPath()); - if (underJavaParserCore.exists()) { - return underJavaParserCore; - } else { - throw new IllegalArgumentException(); - } - } - } - private static SourceFileInfoExtractor getSourceFileInfoExtractor() { CombinedTypeSolver combinedTypeSolver = new CombinedTypeSolver(); combinedTypeSolver.add(new JreTypeSolver()); diff --git a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/ContextTest.java b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/ContextTest.java index 0f3fa03a63..f4d026db44 100644 --- a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/ContextTest.java +++ b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/ContextTest.java @@ -11,31 +11,27 @@ import com.github.javaparser.ast.expr.NameExpr; import com.github.javaparser.ast.stmt.ExpressionStmt; import com.github.javaparser.ast.type.Type; -import me.tomassetti.symbolsolver.javaparsermodel.JavaParserFacade; +import me.tomassetti.symbolsolver.AbstractTest; import me.tomassetti.symbolsolver.javaparser.Navigator; +import me.tomassetti.symbolsolver.javaparsermodel.JavaParserFacade; import me.tomassetti.symbolsolver.model.declarations.ClassDeclaration; import me.tomassetti.symbolsolver.model.declarations.TypeDeclaration; -import me.tomassetti.symbolsolver.resolution.typesolvers.CombinedTypeSolver; -import me.tomassetti.symbolsolver.resolution.typesolvers.DummyTypeSolver; -import me.tomassetti.symbolsolver.resolution.typesolvers.JarTypeSolver; -import me.tomassetti.symbolsolver.resolution.typesolvers.JavaParserTypeSolver; -import me.tomassetti.symbolsolver.resolution.typesolvers.JreTypeSolver; import me.tomassetti.symbolsolver.model.invokations.MethodUsage; -import me.tomassetti.symbolsolver.model.typesystem.TypeUsage; -import org.junit.Test; -import static org.easymock.EasyMock.*; - import me.tomassetti.symbolsolver.model.resolution.SymbolReference; import me.tomassetti.symbolsolver.model.resolution.TypeSolver; +import me.tomassetti.symbolsolver.model.typesystem.TypeUsage; +import me.tomassetti.symbolsolver.resolution.typesolvers.*; +import org.junit.Test; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.util.Collections; -import static org.junit.Assert.*; +import static org.easymock.EasyMock.*; +import static org.junit.Assert.assertEquals; -public class ContextTest { +public class ContextTest extends AbstractTest { private CompilationUnit parseSample(String sampleName) throws ParseException { InputStream is = ContextTest.class.getClassLoader().getResourceAsStream(sampleName + ".java.txt"); @@ -190,7 +186,7 @@ public void resolveReferenceToMethod() throws ParseException, IOException { MethodDeclaration method = Navigator.demandMethod(referencesToField, "findType"); MethodCallExpr callToGetTypes = Navigator.findMethodCall(method, "getTypes"); - String pathToJar = "src/test/resources/javaparser-core-2.1.0.jar"; + String pathToJar = adaptPath("src/test/resources/javaparser-core-2.1.0.jar"); JarTypeSolver typeSolver = new JarTypeSolver(pathToJar); SymbolSolver symbolSolver = new SymbolSolver(typeSolver); @@ -209,7 +205,7 @@ public void resolveCascadeOfReferencesToMethod() throws ParseException, IOExcept MethodDeclaration method = Navigator.demandMethod(referencesToField, "findType"); MethodCallExpr callToStream = Navigator.findMethodCall(method, "stream"); - String pathToJar = "src/test/resources/javaparser-core-2.1.0.jar"; + String pathToJar = adaptPath("src/test/resources/javaparser-core-2.1.0.jar"); JarTypeSolver typeSolver = new JarTypeSolver(pathToJar); SymbolSolver symbolSolver = new SymbolSolver(typeSolver); MethodUsage ref = symbolSolver.solveMethod("stream", Collections.emptyList(), callToStream); @@ -298,7 +294,7 @@ public void resolveGenericReturnTypeOfMethodInJar() throws ParseException, IOExc MethodDeclaration method = Navigator.demandMethod(clazz, "findType"); MethodCallExpr call = Navigator.findMethodCall(method, "getTypes"); - String pathToJar = "src/test/resources/javaparser-core-2.1.0.jar"; + String pathToJar = adaptPath("src/test/resources/javaparser-core-2.1.0.jar"); TypeSolver typeSolver = new CombinedTypeSolver(new JreTypeSolver(), new JarTypeSolver(pathToJar)); MethodUsage methodUsage = JavaParserFacade.get(typeSolver).solveMethodAsUsage(call); @@ -315,7 +311,7 @@ public void resolveTypeUsageOfFirstMethodInGenericClass() throws ParseException, MethodDeclaration method = Navigator.demandMethod(clazz, "findType"); MethodCallExpr callToGetTypes = Navigator.findMethodCall(method, "getTypes"); - String pathToJar = "src/test/resources/javaparser-core-2.1.0.jar"; + String pathToJar = adaptPath("src/test/resources/javaparser-core-2.1.0.jar"); TypeSolver typeSolver = new CombinedTypeSolver(new JreTypeSolver(), new JarTypeSolver(pathToJar)); MethodUsage filterUsage = JavaParserFacade.get(typeSolver).solveMethodAsUsage(callToGetTypes); @@ -331,7 +327,7 @@ public void resolveTypeUsageOfMethodInGenericClass() throws ParseException, IOEx MethodDeclaration method = Navigator.demandMethod(clazz, "findType"); MethodCallExpr callToStream = Navigator.findMethodCall(method, "stream"); - String pathToJar = "src/test/resources/javaparser-core-2.1.0.jar"; + String pathToJar = adaptPath("src/test/resources/javaparser-core-2.1.0.jar"); TypeSolver typeSolver = new CombinedTypeSolver(new JreTypeSolver(), new JarTypeSolver(pathToJar)); MethodUsage filterUsage = JavaParserFacade.get(typeSolver).solveMethodAsUsage(callToStream); @@ -345,7 +341,7 @@ public void resolveTypeUsageOfCascadeMethodInGenericClass() throws ParseExceptio MethodDeclaration method = Navigator.demandMethod(clazz, "findType"); MethodCallExpr callToFilter = Navigator.findMethodCall(method, "filter"); - String pathToJar = "src/test/resources/javaparser-core-2.1.0.jar"; + String pathToJar = adaptPath("src/test/resources/javaparser-core-2.1.0.jar"); TypeSolver typeSolver = new CombinedTypeSolver(new JreTypeSolver(), new JarTypeSolver(pathToJar)); MethodUsage filterUsage = JavaParserFacade.get(typeSolver).solveMethodAsUsage(callToFilter); @@ -360,7 +356,7 @@ public void resolveLambdaType() throws ParseException, IOException { MethodCallExpr callToFilter = Navigator.findMethodCall(method, "filter"); Expression lambdaExpr = callToFilter.getArgs().get(0); - String pathToJar = "src/test/resources/javaparser-core-2.1.0.jar"; + String pathToJar = adaptPath("src/test/resources/javaparser-core-2.1.0.jar"); TypeSolver typeSolver = new CombinedTypeSolver(new JreTypeSolver(), new JarTypeSolver(pathToJar)); TypeUsage typeOfLambdaExpr = JavaParserFacade.get(typeSolver).getType(lambdaExpr); @@ -375,7 +371,7 @@ public void resolveReferenceToLambdaParam() throws ParseException, IOException { MethodCallExpr callToGetName = Navigator.findMethodCall(method, "getName"); Expression referenceToT = callToGetName.getScope(); - String pathToJar = "src/test/resources/javaparser-core-2.1.0.jar"; + String pathToJar = adaptPath("src/test/resources/javaparser-core-2.1.0.jar"); TypeSolver typeSolver = new CombinedTypeSolver(new JreTypeSolver(), new JarTypeSolver(pathToJar)); TypeUsage typeOfT = JavaParserFacade.get(typeSolver).getType(referenceToT); @@ -389,7 +385,7 @@ public void resolveReferenceToCallOnLambdaParam() throws ParseException, IOExcep MethodDeclaration method = Navigator.demandMethod(clazz, "findType"); MethodCallExpr callToGetName = Navigator.findMethodCall(method, "getName"); - String pathToJar = "src/test/resources/javaparser-core-2.1.0.jar"; + String pathToJar = adaptPath("src/test/resources/javaparser-core-2.1.0.jar"); TypeSolver typeSolver = new CombinedTypeSolver(new JreTypeSolver(), new JarTypeSolver(pathToJar)); MethodUsage methodUsage = JavaParserFacade.get(typeSolver).solveMethodAsUsage(callToGetName); diff --git a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/EnumTest.java b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/EnumResolutionTest.java similarity index 96% rename from java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/EnumTest.java rename to java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/EnumResolutionTest.java index 0f4a2434c4..304df19118 100644 --- a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/EnumTest.java +++ b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/EnumResolutionTest.java @@ -17,7 +17,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; -public class EnumTest extends AbstractTest { +public class EnumResolutionTest extends AbstractResolutionTest { @Test public void switchOnEnum() throws ParseException { diff --git a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/FieldsTest.java b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/FieldsResolutionTest.java similarity index 98% rename from java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/FieldsTest.java rename to java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/FieldsResolutionTest.java index e15c0ce48d..fb14cd60f2 100644 --- a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/FieldsTest.java +++ b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/FieldsResolutionTest.java @@ -23,7 +23,7 @@ import java.io.File; -public class FieldsTest extends AbstractTest{ +public class FieldsResolutionTest extends AbstractResolutionTest { @Test public void accessClassFieldThroughThis() throws ParseException { diff --git a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/GenericsTest.java b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/GenericsResolutionTest.java similarity index 99% rename from java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/GenericsTest.java rename to java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/GenericsResolutionTest.java index cf8ab79fac..214b020250 100644 --- a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/GenericsTest.java +++ b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/GenericsResolutionTest.java @@ -31,7 +31,7 @@ import static org.junit.Assert.*; -public class GenericsTest extends AbstractTest{ +public class GenericsResolutionTest extends AbstractResolutionTest { @Test public void resolveFieldWithGenericTypeToString() throws ParseException { diff --git a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/JavaParserFacadeTest.java b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/JavaParserFacadeResolutionTest.java similarity index 93% rename from java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/JavaParserFacadeTest.java rename to java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/JavaParserFacadeResolutionTest.java index 1f0bd72ed2..46c8f86dd0 100644 --- a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/JavaParserFacadeTest.java +++ b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/JavaParserFacadeResolutionTest.java @@ -13,7 +13,7 @@ import static org.junit.Assert.*; -public class JavaParserFacadeTest extends AbstractTest { +public class JavaParserFacadeResolutionTest extends AbstractResolutionTest { @Test public void typeDeclarationSuperClassImplicitlyIncludeObject() throws ParseException { diff --git a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/LambdaTest.java b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/LambdaResolutionTest.java similarity index 98% rename from java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/LambdaTest.java rename to java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/LambdaResolutionTest.java index 031b9ab36b..878a6fc8be 100644 --- a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/LambdaTest.java +++ b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/LambdaResolutionTest.java @@ -14,7 +14,7 @@ import static org.junit.Assert.assertEquals; -public class LambdaTest extends AbstractTest { +public class LambdaResolutionTest extends AbstractResolutionTest { @Test public void lambdaMapParameter() throws ParseException { diff --git a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/MethodsTest.java b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/MethodsResolutionTest.java similarity index 96% rename from java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/MethodsTest.java rename to java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/MethodsResolutionTest.java index 568f8a5f19..fd2713bc59 100644 --- a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/MethodsTest.java +++ b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/MethodsResolutionTest.java @@ -15,7 +15,7 @@ import static org.junit.Assert.assertEquals; -public class MethodsTest extends AbstractTest{ +public class MethodsResolutionTest extends AbstractResolutionTest { @Test public void solveMethodAccessThroughSuper() throws ParseException { diff --git a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/QualifiedNameTest.java b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/QualifiedNameResolutionTest.java similarity index 95% rename from java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/QualifiedNameTest.java rename to java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/QualifiedNameResolutionTest.java index b48fb9c6f0..6eed0d6451 100644 --- a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/QualifiedNameTest.java +++ b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/QualifiedNameResolutionTest.java @@ -14,7 +14,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; -public class QualifiedNameTest extends AbstractTest { +public class QualifiedNameResolutionTest extends AbstractResolutionTest { @Test public void resolveLocalVariableInParentOfParent() throws ParseException { diff --git a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/StatementContextTest.java b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/StatementContextResolutionTest.java similarity index 98% rename from java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/StatementContextTest.java rename to java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/StatementContextResolutionTest.java index 10ed4cf0ce..0b3136f2fc 100644 --- a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/StatementContextTest.java +++ b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/StatementContextResolutionTest.java @@ -18,7 +18,7 @@ import me.tomassetti.symbolsolver.model.resolution.SymbolReference; import me.tomassetti.symbolsolver.model.resolution.TypeSolver; -public class StatementContextTest extends AbstractTest { +public class StatementContextResolutionTest extends AbstractResolutionTest { @Test public void resolveLocalVariableInParentOfParent() throws ParseException { diff --git a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/VariadicTest.java b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/VariadicResolutionTest.java similarity index 95% rename from java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/VariadicTest.java rename to java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/VariadicResolutionTest.java index 76ca194020..722a9665c0 100644 --- a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/VariadicTest.java +++ b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/VariadicResolutionTest.java @@ -16,7 +16,7 @@ import static org.junit.Assert.*; -public class VariadicTest extends AbstractTest{ +public class VariadicResolutionTest extends AbstractResolutionTest { @Test public void issue7() throws ParseException { diff --git a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/javaparser/contexts/ClassOrInterfaceDeclarationContextTest.java b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/javaparser/contexts/ClassOrInterfaceDeclarationContextResolutionTest.java similarity index 99% rename from java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/javaparser/contexts/ClassOrInterfaceDeclarationContextTest.java rename to java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/javaparser/contexts/ClassOrInterfaceDeclarationContextResolutionTest.java index 854b519aff..a69339e843 100644 --- a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/javaparser/contexts/ClassOrInterfaceDeclarationContextTest.java +++ b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/javaparser/contexts/ClassOrInterfaceDeclarationContextResolutionTest.java @@ -32,7 +32,7 @@ /** * @author Federico Tomassetti */ -public class ClassOrInterfaceDeclarationContextTest extends AbstractTest { +public class ClassOrInterfaceDeclarationContextResolutionTest extends AbstractResolutionTest { private TypeSolver typeSolver; diff --git a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/javaparser/contexts/CompilationUnitContextTest.java b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/javaparser/contexts/CompilationUnitContextResolutionTest.java similarity index 94% rename from java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/javaparser/contexts/CompilationUnitContextTest.java rename to java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/javaparser/contexts/CompilationUnitContextResolutionTest.java index ca13aa1986..9ee0a303c0 100644 --- a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/javaparser/contexts/CompilationUnitContextTest.java +++ b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/javaparser/contexts/CompilationUnitContextResolutionTest.java @@ -4,34 +4,35 @@ import com.github.javaparser.ast.CompilationUnit; import com.google.common.collect.ImmutableList; import me.tomassetti.symbolsolver.javaparsermodel.contexts.CompilationUnitContext; +import me.tomassetti.symbolsolver.model.declarations.MethodDeclaration; +import me.tomassetti.symbolsolver.model.declarations.TypeDeclaration; +import me.tomassetti.symbolsolver.model.declarations.ValueDeclaration; import me.tomassetti.symbolsolver.model.resolution.Context; import me.tomassetti.symbolsolver.model.resolution.SymbolReference; import me.tomassetti.symbolsolver.model.resolution.TypeSolver; import me.tomassetti.symbolsolver.model.resolution.Value; -import me.tomassetti.symbolsolver.resolution.*; -import me.tomassetti.symbolsolver.model.declarations.MethodDeclaration; -import me.tomassetti.symbolsolver.model.declarations.TypeDeclaration; -import me.tomassetti.symbolsolver.model.declarations.ValueDeclaration; +import me.tomassetti.symbolsolver.model.typesystem.NullTypeUsage; +import me.tomassetti.symbolsolver.model.typesystem.PrimitiveTypeUsage; +import me.tomassetti.symbolsolver.model.typesystem.TypeUsage; +import me.tomassetti.symbolsolver.resolution.AbstractResolutionTest; import me.tomassetti.symbolsolver.resolution.typesolvers.CombinedTypeSolver; import me.tomassetti.symbolsolver.resolution.typesolvers.DummyTypeSolver; import me.tomassetti.symbolsolver.resolution.typesolvers.JarTypeSolver; import me.tomassetti.symbolsolver.resolution.typesolvers.JreTypeSolver; -import me.tomassetti.symbolsolver.model.typesystem.*; import org.easymock.EasyMock; import org.junit.Before; import org.junit.Test; -import static org.junit.Assert.*; import java.io.IOException; import java.util.Optional; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; /** * @author Federico Tomassetti */ -public class CompilationUnitContextTest extends AbstractTest { +public class CompilationUnitContextResolutionTest extends AbstractResolutionTest { private TypeSolver typeSolver; @@ -79,7 +80,7 @@ public void solveSymbolReferringToStaticallyImportedValue() throws ParseExceptio CombinedTypeSolver typeSolver = new CombinedTypeSolver(); typeSolver.add(new JreTypeSolver()); - typeSolver.add(new JarTypeSolver("src/test/resources/junit-4.8.1.jar")); + typeSolver.add(new JarTypeSolver(adaptPath("src/test/resources/junit-4.8.1.jar"))); SymbolReference ref = context.solveSymbol("out", typeSolver); assertEquals(true, ref.isSolved()); assertEquals("java.io.PrintStream", ref.getCorrespondingDeclaration().getType().asReferenceTypeUsage().getQualifiedName()); @@ -92,7 +93,7 @@ public void solveSymbolReferringToStaticallyImportedUsingAsteriskValue() throws CombinedTypeSolver typeSolver = new CombinedTypeSolver(); typeSolver.add(new JreTypeSolver()); - typeSolver.add(new JarTypeSolver("src/test/resources/junit-4.8.1.jar")); + typeSolver.add(new JarTypeSolver(adaptPath("src/test/resources/junit-4.8.1.jar"))); SymbolReference ref = context.solveSymbol("err", typeSolver); assertEquals(true, ref.isSolved()); assertEquals("java.io.PrintStream", ref.getCorrespondingDeclaration().getType().asReferenceTypeUsage().getQualifiedName()); @@ -115,7 +116,7 @@ public void solveSymbolAsValueReferringToStaticallyImportedValue() throws ParseE CombinedTypeSolver typeSolver = new CombinedTypeSolver(); typeSolver.add(new JreTypeSolver()); - typeSolver.add(new JarTypeSolver("src/test/resources/junit-4.8.1.jar")); + typeSolver.add(new JarTypeSolver(adaptPath("src/test/resources/junit-4.8.1.jar"))); Optional ref = context.solveSymbolAsValue("out", typeSolver); assertEquals(true, ref.isPresent()); assertEquals("java.io.PrintStream", ref.get().getUsage().describe()); @@ -128,7 +129,7 @@ public void solveSymbolAsValueReferringToStaticallyImportedUsingAsteriskValue() CombinedTypeSolver typeSolver = new CombinedTypeSolver(); typeSolver.add(new JreTypeSolver()); - typeSolver.add(new JarTypeSolver("src/test/resources/junit-4.8.1.jar")); + typeSolver.add(new JarTypeSolver(adaptPath("src/test/resources/junit-4.8.1.jar"))); Optional ref = context.solveSymbolAsValue("err", typeSolver); assertEquals(true, ref.isPresent()); assertEquals("java.io.PrintStream", ref.get().getUsage().describe()); @@ -165,7 +166,7 @@ public void solveTypeImported() throws ParseException, IOException { CompilationUnit cu = parseSample("CompilationUnitWithImports"); Context context = new CompilationUnitContext(cu, typeSolver); - SymbolReference ref = context.solveType("Assert", new JarTypeSolver("src/test/resources/junit-4.8.1.jar")); + SymbolReference ref = context.solveType("Assert", new JarTypeSolver(adaptPath("src/test/resources/junit-4.8.1.jar"))); assertEquals(true, ref.isSolved()); assertEquals("org.junit.Assert", ref.getCorrespondingDeclaration().getQualifiedName()); } @@ -175,7 +176,7 @@ public void solveTypeNotImported() throws ParseException, IOException { CompilationUnit cu = parseSample("CompilationUnitWithImports"); Context context = new CompilationUnitContext(cu, typeSolver); - SymbolReference ref = context.solveType("org.junit.Assume", new JarTypeSolver("src/test/resources/junit-4.8.1.jar")); + SymbolReference ref = context.solveType("org.junit.Assume", new JarTypeSolver(adaptPath("src/test/resources/junit-4.8.1.jar"))); assertEquals(true, ref.isSolved()); assertEquals("org.junit.Assume", ref.getCorrespondingDeclaration().getQualifiedName()); } @@ -186,7 +187,7 @@ public void solveMethodStaticallyImportedWithAsterisk() throws ParseException, I Context context = new CompilationUnitContext(cu, typeSolver); CombinedTypeSolver typeSolver = new CombinedTypeSolver(); - typeSolver.add(new JarTypeSolver("src/test/resources/junit-4.8.1.jar")); + typeSolver.add(new JarTypeSolver(adaptPath("src/test/resources/junit-4.8.1.jar"))); typeSolver.add(new JreTypeSolver()); SymbolReference ref = context.solveMethod("assertFalse", ImmutableList.of(PrimitiveTypeUsage.BOOLEAN), typeSolver); @@ -203,7 +204,7 @@ public void solveMethodStaticallyImportedWithoutAsterisk() throws ParseException Context context = new CompilationUnitContext(cu, typeSolver); CombinedTypeSolver typeSolver = new CombinedTypeSolver(); - typeSolver.add(new JarTypeSolver("src/test/resources/junit-4.8.1.jar")); + typeSolver.add(new JarTypeSolver(adaptPath("src/test/resources/junit-4.8.1.jar"))); typeSolver.add(new JreTypeSolver()); SymbolReference ref = context.solveMethod("assertEquals", ImmutableList.of(NullTypeUsage.INSTANCE, NullTypeUsage.INSTANCE), typeSolver); diff --git a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/javaparser/contexts/EnumDeclarationContextTest.java b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/javaparser/contexts/EnumDeclarationContextResolutionTest.java similarity index 98% rename from java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/javaparser/contexts/EnumDeclarationContextTest.java rename to java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/javaparser/contexts/EnumDeclarationContextResolutionTest.java index 315fb0d977..6725576089 100644 --- a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/javaparser/contexts/EnumDeclarationContextTest.java +++ b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/javaparser/contexts/EnumDeclarationContextResolutionTest.java @@ -23,7 +23,7 @@ /** * @author Federico Tomassetti */ -public class EnumDeclarationContextTest extends AbstractTest { +public class EnumDeclarationContextResolutionTest extends AbstractResolutionTest { private TypeSolver typeSolver; diff --git a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/javaparser/contexts/FieldAccessContextTest.java b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/javaparser/contexts/FieldAccessContextResolutionTest.java similarity index 94% rename from java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/javaparser/contexts/FieldAccessContextTest.java rename to java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/javaparser/contexts/FieldAccessContextResolutionTest.java index 03b6351c03..4a66af0e12 100644 --- a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/javaparser/contexts/FieldAccessContextTest.java +++ b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/javaparser/contexts/FieldAccessContextResolutionTest.java @@ -18,7 +18,7 @@ /** * @author Malte Langkabel */ -public class FieldAccessContextTest extends AbstractTest { +public class FieldAccessContextResolutionTest extends AbstractResolutionTest { @Test public void solveMethodCallInFieldAccessContext() throws ParseException { diff --git a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/javaparser/contexts/LambdaExprContextTest.java b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/javaparser/contexts/LambdaExprContextResolutionTest.java similarity index 98% rename from java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/javaparser/contexts/LambdaExprContextTest.java rename to java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/javaparser/contexts/LambdaExprContextResolutionTest.java index 44e1a3e306..f09e97cb82 100644 --- a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/javaparser/contexts/LambdaExprContextTest.java +++ b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/javaparser/contexts/LambdaExprContextResolutionTest.java @@ -29,7 +29,7 @@ /** * @author Malte Langkabel */ -public class LambdaExprContextTest extends AbstractTest { +public class LambdaExprContextResolutionTest extends AbstractResolutionTest { private TypeSolver typeSolver; diff --git a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/javaparser/contexts/MethodCallExprContextTest.java b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/javaparser/contexts/MethodCallExprContextResolutionTest.java similarity index 93% rename from java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/javaparser/contexts/MethodCallExprContextTest.java rename to java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/javaparser/contexts/MethodCallExprContextResolutionTest.java index 6174ab097b..c2e4b583fb 100644 --- a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/javaparser/contexts/MethodCallExprContextTest.java +++ b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/javaparser/contexts/MethodCallExprContextResolutionTest.java @@ -25,7 +25,7 @@ /** * @author Malte Langkabel */ -public class MethodCallExprContextTest extends AbstractTest { +public class MethodCallExprContextResolutionTest extends AbstractResolutionTest { @Test public void solveNestedMethodCallExprContextWithoutScope() throws ParseException { @@ -35,7 +35,7 @@ public void solveNestedMethodCallExprContextWithoutScope() throws ParseException MethodDeclaration method = Navigator.demandMethod(clazz, "bar1"); MethodCallExpr methodCallExpr = Navigator.findMethodCall(method, "foo"); - File src = new File("src/test/resources"); + File src = adaptPath(new File("src/test/resources")); CombinedTypeSolver combinedTypeSolver = new CombinedTypeSolver(); combinedTypeSolver.add(new JreTypeSolver()); combinedTypeSolver.add(new JavaParserTypeSolver(src)); diff --git a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/javaparser/declarations/JavaParserTypeParameterTest.java b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/javaparser/declarations/JavaParserTypeParameterResolutionTest.java similarity index 95% rename from java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/javaparser/declarations/JavaParserTypeParameterTest.java rename to java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/javaparser/declarations/JavaParserTypeParameterResolutionTest.java index 5613b92b64..c07ede4cbf 100644 --- a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/javaparser/declarations/JavaParserTypeParameterTest.java +++ b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/javaparser/declarations/JavaParserTypeParameterResolutionTest.java @@ -10,13 +10,13 @@ import me.tomassetti.symbolsolver.javaparsermodel.declarations.JavaParserTypeParameter; import me.tomassetti.symbolsolver.model.resolution.TypeParameter; import me.tomassetti.symbolsolver.model.resolution.TypeSolver; -import me.tomassetti.symbolsolver.resolution.AbstractTest; +import me.tomassetti.symbolsolver.resolution.AbstractResolutionTest; import me.tomassetti.symbolsolver.javaparsermodel.JavaParserFacade; import me.tomassetti.symbolsolver.resolution.typesolvers.JreTypeSolver; import org.junit.Test; import static org.junit.Assert.*; -public class JavaParserTypeParameterTest extends AbstractTest { +public class JavaParserTypeParameterResolutionTest extends AbstractResolutionTest { @Test public void declaredOnMethodPositiveCase() throws ParseException { diff --git a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/reflectionmodel/SymbolResolutionTest.java b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/reflectionmodel/SymbolResolutionResolutionTest.java similarity index 95% rename from java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/reflectionmodel/SymbolResolutionTest.java rename to java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/reflectionmodel/SymbolResolutionResolutionTest.java index 06ed00a827..a6a0ccfcdf 100644 --- a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/reflectionmodel/SymbolResolutionTest.java +++ b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/reflectionmodel/SymbolResolutionResolutionTest.java @@ -10,7 +10,7 @@ import com.github.javaparser.ast.stmt.ReturnStmt; import me.tomassetti.symbolsolver.javaparsermodel.JavaParserFacade; import me.tomassetti.symbolsolver.javaparser.Navigator; -import me.tomassetti.symbolsolver.resolution.AbstractTest; +import me.tomassetti.symbolsolver.resolution.AbstractResolutionTest; import me.tomassetti.symbolsolver.model.resolution.TypeSolver; import me.tomassetti.symbolsolver.resolution.typesolvers.JreTypeSolver; import me.tomassetti.symbolsolver.model.typesystem.TypeUsage; @@ -18,7 +18,7 @@ import static org.junit.Assert.assertEquals; -public class SymbolResolutionTest extends AbstractTest { +public class SymbolResolutionResolutionTest extends AbstractResolutionTest { @Test public void getTypeOfField() throws ParseException { diff --git a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/typesolvers/JarTypeSolverTest.java b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/typesolvers/JarTypeSolverTest.java index 91695bc6b6..24dbb255a0 100644 --- a/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/typesolvers/JarTypeSolverTest.java +++ b/java-symbol-solver-core/src/test/java/me/tomassetti/symbolsolver/resolution/typesolvers/JarTypeSolverTest.java @@ -1,5 +1,6 @@ package me.tomassetti.symbolsolver.resolution.typesolvers; +import me.tomassetti.symbolsolver.AbstractTest; import org.junit.Test; import java.io.IOException; @@ -7,11 +8,11 @@ import static org.junit.Assert.assertEquals; -public class JarTypeSolverTest { +public class JarTypeSolverTest extends AbstractTest { @Test public void initial() throws IOException { - String pathToJar = "src/test/resources/javaparser-core-2.1.0.jar"; + String pathToJar = adaptPath("src/test/resources/javaparser-core-2.1.0.jar"); JarTypeSolver jarTypeSolver = new JarTypeSolver(pathToJar); assertEquals(true, jarTypeSolver.tryToSolveType("com.github.javaparser.SourcesHelper").isSolved()); assertEquals(true, jarTypeSolver.tryToSolveType("com.github.javaparser.Token").isSolved()); diff --git a/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_Problem.txt b/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_Problem.txt index 5e9c5e2a4c..3b9b709a70 100644 --- a/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_Problem.txt +++ b/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_Problem.txt @@ -1,7 +1,7 @@ Line 16) assertNotNull(message) ==> com.github.javaparser.utils.Utils.assertNotNull(T) Line 17) assertNotNull(range) ==> com.github.javaparser.utils.Utils.assertNotNull(T) Line 18) assertNotNull(cause) ==> com.github.javaparser.utils.Utils.assertNotNull(T) - Line 24) range.ifPresent( r -> str.append(" ").append(r)) ==> UNSOLVED + Line 24) range.ifPresent( r -> str.append(" ").append(r)) ==> java.util.Optional.ifPresent(java.util.function.Consumer) Line 24) str.append(" ").append(r) ==> ERROR Line 24) str.append(" ") ==> java.lang.StringBuilder.append(java.lang.String) Line 25) str.toString() ==> java.lang.StringBuilder.toString() diff --git a/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_CompilationUnit.txt b/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_CompilationUnit.txt index a196c1a3a1..6c84a76564 100644 --- a/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_CompilationUnit.txt +++ b/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_CompilationUnit.txt @@ -42,7 +42,7 @@ Line 269) addClass(name, Modifier.PUBLIC) ==> com.github.javaparser.ast.CompilationUnit.addClass(java.lang.String, com.github.javaparser.ast.Modifier) Line 281) Arrays.stream(modifiers).collect(Collectors.toCollection(() -> EnumSet.noneOf(Modifier.class))) ==> ERROR Line 281) Arrays.stream(modifiers) ==> UNSOLVED - Line 282) Collectors.toCollection(() -> EnumSet.noneOf(Modifier.class)) ==> UNSOLVED + Line 282) Collectors.toCollection(() -> EnumSet.noneOf(Modifier.class)) ==> java.util.stream.Collectors.toCollection(java.util.function.Supplier) Line 282) EnumSet.noneOf(Modifier.class) ==> java.util.EnumSet.noneOf(java.lang.Class) Line 284) getTypes().add(classOrInterfaceDeclaration) ==> java.util.List.add(E) Line 284) getTypes() ==> com.github.javaparser.ast.CompilationUnit.getTypes() @@ -50,7 +50,7 @@ Line 296) addInterface(name, Modifier.PUBLIC) ==> com.github.javaparser.ast.CompilationUnit.addInterface(java.lang.String, com.github.javaparser.ast.Modifier) Line 308) Arrays.stream(modifiers).collect(Collectors.toCollection(() -> EnumSet.noneOf(Modifier.class))) ==> ERROR Line 308) Arrays.stream(modifiers) ==> UNSOLVED - Line 309) Collectors.toCollection(() -> EnumSet.noneOf(Modifier.class)) ==> UNSOLVED + Line 309) Collectors.toCollection(() -> EnumSet.noneOf(Modifier.class)) ==> java.util.stream.Collectors.toCollection(java.util.function.Supplier) Line 309) EnumSet.noneOf(Modifier.class) ==> java.util.EnumSet.noneOf(java.lang.Class) Line 311) getTypes().add(classOrInterfaceDeclaration) ==> java.util.List.add(E) Line 311) getTypes() ==> com.github.javaparser.ast.CompilationUnit.getTypes() @@ -58,7 +58,7 @@ Line 323) addEnum(name, Modifier.PUBLIC) ==> com.github.javaparser.ast.CompilationUnit.addEnum(java.lang.String, com.github.javaparser.ast.Modifier) Line 334) Arrays.stream(modifiers).collect(Collectors.toCollection(() -> EnumSet.noneOf(Modifier.class))) ==> ERROR Line 334) Arrays.stream(modifiers) ==> UNSOLVED - Line 335) Collectors.toCollection(() -> EnumSet.noneOf(Modifier.class)) ==> UNSOLVED + Line 335) Collectors.toCollection(() -> EnumSet.noneOf(Modifier.class)) ==> java.util.stream.Collectors.toCollection(java.util.function.Supplier) Line 335) EnumSet.noneOf(Modifier.class) ==> java.util.EnumSet.noneOf(java.lang.Class) Line 336) getTypes().add(enumDeclaration) ==> java.util.List.add(E) Line 336) getTypes() ==> com.github.javaparser.ast.CompilationUnit.getTypes() @@ -66,7 +66,7 @@ Line 348) addAnnotationDeclaration(name, Modifier.PUBLIC) ==> com.github.javaparser.ast.CompilationUnit.addAnnotationDeclaration(java.lang.String, com.github.javaparser.ast.Modifier) Line 359) Arrays.stream(modifiers).collect(Collectors.toCollection(() -> EnumSet.noneOf(Modifier.class))) ==> ERROR Line 359) Arrays.stream(modifiers) ==> UNSOLVED - Line 360) Collectors.toCollection(() -> EnumSet.noneOf(Modifier.class)) ==> UNSOLVED + Line 360) Collectors.toCollection(() -> EnumSet.noneOf(Modifier.class)) ==> java.util.stream.Collectors.toCollection(java.util.function.Supplier) Line 360) EnumSet.noneOf(Modifier.class) ==> java.util.EnumSet.noneOf(java.lang.Class) Line 361) getTypes().add(annotationDeclaration) ==> java.util.List.add(E) Line 361) getTypes() ==> com.github.javaparser.ast.CompilationUnit.getTypes() diff --git a/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_comments_CommentsCollection.txt b/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_comments_CommentsCollection.txt index c96cbb3d46..1c6ec8e238 100644 --- a/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_comments_CommentsCollection.txt +++ b/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_comments_CommentsCollection.txt @@ -1,19 +1,19 @@ Line 41) comments.addAll(commentsToCopy) ==> java.util.TreeSet.addAll(java.util.Collection) - Line 45) comments.stream().filter( comment -> comment instanceof LineComment).map( comment -> (LineComment) comment).collect(Collectors.toCollection(() -> new TreeSet<>(NODE_BY_BEGIN_POSITION))) ==> ERROR + Line 45) comments.stream().filter( comment -> comment instanceof LineComment).map( comment -> (LineComment) comment).collect(Collectors.toCollection(() -> new TreeSet<>(NODE_BY_BEGIN_POSITION))) ==> java.util.stream.Stream.collect(java.util.stream.Collector) Line 45) comments.stream().filter( comment -> comment instanceof LineComment).map( comment -> (LineComment) comment) ==> java.util.stream.Stream.map(java.util.function.Function) Line 45) comments.stream().filter( comment -> comment instanceof LineComment) ==> java.util.stream.Stream.filter(java.util.function.Predicate) Line 45) comments.stream() ==> ERROR - Line 48) Collectors.toCollection(() -> new TreeSet<>(NODE_BY_BEGIN_POSITION)) ==> UNSOLVED - Line 52) comments.stream().filter( comment -> comment instanceof BlockComment).map( comment -> (BlockComment) comment).collect(Collectors.toCollection(() -> new TreeSet<>(NODE_BY_BEGIN_POSITION))) ==> ERROR + Line 48) Collectors.toCollection(() -> new TreeSet<>(NODE_BY_BEGIN_POSITION)) ==> java.util.stream.Collectors.toCollection(java.util.function.Supplier) + Line 52) comments.stream().filter( comment -> comment instanceof BlockComment).map( comment -> (BlockComment) comment).collect(Collectors.toCollection(() -> new TreeSet<>(NODE_BY_BEGIN_POSITION))) ==> java.util.stream.Stream.collect(java.util.stream.Collector) Line 52) comments.stream().filter( comment -> comment instanceof BlockComment).map( comment -> (BlockComment) comment) ==> java.util.stream.Stream.map(java.util.function.Function) Line 52) comments.stream().filter( comment -> comment instanceof BlockComment) ==> java.util.stream.Stream.filter(java.util.function.Predicate) Line 52) comments.stream() ==> ERROR - Line 55) Collectors.toCollection(() -> new TreeSet<>(NODE_BY_BEGIN_POSITION)) ==> UNSOLVED - Line 59) comments.stream().filter( comment -> comment instanceof JavadocComment).map( comment -> (JavadocComment) comment).collect(Collectors.toCollection(() -> new TreeSet<>(NODE_BY_BEGIN_POSITION))) ==> ERROR + Line 55) Collectors.toCollection(() -> new TreeSet<>(NODE_BY_BEGIN_POSITION)) ==> java.util.stream.Collectors.toCollection(java.util.function.Supplier) + Line 59) comments.stream().filter( comment -> comment instanceof JavadocComment).map( comment -> (JavadocComment) comment).collect(Collectors.toCollection(() -> new TreeSet<>(NODE_BY_BEGIN_POSITION))) ==> java.util.stream.Stream.collect(java.util.stream.Collector) Line 59) comments.stream().filter( comment -> comment instanceof JavadocComment).map( comment -> (JavadocComment) comment) ==> java.util.stream.Stream.map(java.util.function.Function) Line 59) comments.stream().filter( comment -> comment instanceof JavadocComment) ==> java.util.stream.Stream.filter(java.util.function.Predicate) Line 59) comments.stream() ==> ERROR - Line 62) Collectors.toCollection(() -> new TreeSet<>(NODE_BY_BEGIN_POSITION)) ==> UNSOLVED + Line 62) Collectors.toCollection(() -> new TreeSet<>(NODE_BY_BEGIN_POSITION)) ==> java.util.stream.Collectors.toCollection(java.util.function.Supplier) Line 66) comments.add(comment) ==> java.util.TreeSet.add(E) Line 70) getComments() ==> com.github.javaparser.ast.comments.CommentsCollection.getComments() Line 73) c.getBegin() ==> com.github.javaparser.ast.Node.getBegin() diff --git a/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_expr_VariableDeclarationExpr.txt b/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_expr_VariableDeclarationExpr.txt index c5ef483040..1859f5addf 100644 --- a/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_expr_VariableDeclarationExpr.txt +++ b/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_expr_VariableDeclarationExpr.txt @@ -11,7 +11,7 @@ Line 79) setModifiers(Arrays.stream(modifiers).collect(Collectors.toCollection(() -> EnumSet.noneOf(Modifier.class)))) ==> ERROR Line 79) Arrays.stream(modifiers).collect(Collectors.toCollection(() -> EnumSet.noneOf(Modifier.class))) ==> ERROR Line 79) Arrays.stream(modifiers) ==> UNSOLVED - Line 80) Collectors.toCollection(() -> EnumSet.noneOf(Modifier.class)) ==> UNSOLVED + Line 80) Collectors.toCollection(() -> EnumSet.noneOf(Modifier.class)) ==> java.util.stream.Collectors.toCollection(java.util.function.Supplier) Line 80) EnumSet.noneOf(Modifier.class) ==> java.util.EnumSet.noneOf(java.lang.Class) Line 84) setElementType(elementType) ==> com.github.javaparser.ast.expr.VariableDeclarationExpr.setElementType(com.github.javaparser.ast.type.Type) Line 85) setVariables(singletonList(var)) ==> UNSOLVED @@ -19,7 +19,7 @@ Line 86) setModifiers(Arrays.stream(modifiers).collect(Collectors.toCollection(() -> EnumSet.noneOf(Modifier.class)))) ==> ERROR Line 86) Arrays.stream(modifiers).collect(Collectors.toCollection(() -> EnumSet.noneOf(Modifier.class))) ==> ERROR Line 86) Arrays.stream(modifiers) ==> UNSOLVED - Line 87) Collectors.toCollection(() -> EnumSet.noneOf(Modifier.class)) ==> UNSOLVED + Line 87) Collectors.toCollection(() -> EnumSet.noneOf(Modifier.class)) ==> java.util.stream.Collectors.toCollection(java.util.function.Supplier) Line 87) EnumSet.noneOf(Modifier.class) ==> java.util.EnumSet.noneOf(java.lang.Class) Line 91) setElementType(elementType) ==> com.github.javaparser.ast.expr.VariableDeclarationExpr.setElementType(com.github.javaparser.ast.type.Type) Line 92) setVariables(variables) ==> com.github.javaparser.ast.expr.VariableDeclarationExpr.setVariables(java.util.List) diff --git a/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithAnnotations.txt b/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithAnnotations.txt index 84a07d5c55..7dafb9977a 100644 --- a/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithAnnotations.txt +++ b/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithAnnotations.txt @@ -1,40 +1,40 @@ - Line 55) name(name) ==> ERROR + Line 55) name(name) ==> com.github.javaparser.ast.expr.NameExpr.name(java.lang.String) Line 56) getAnnotations().add(normalAnnotationExpr) ==> java.util.List.add(E) - Line 56) getAnnotations() ==> ERROR + Line 56) getAnnotations() ==> com.github.javaparser.ast.nodeTypes.NodeWithAnnotations.getAnnotations() Line 57) normalAnnotationExpr.setParentNode((Node) this) ==> com.github.javaparser.ast.Node.setParentNode(com.github.javaparser.ast.Node) Line 68) ((Node) this).tryAddImportToParentCompilationUnit(clazz) ==> com.github.javaparser.ast.Node.tryAddImportToParentCompilationUnit(java.lang.Class) - Line 69) addAnnotation(clazz.getSimpleName()) ==> ERROR + Line 69) addAnnotation(clazz.getSimpleName()) ==> com.github.javaparser.ast.nodeTypes.NodeWithAnnotations.addAnnotation(java.lang.String) Line 69) clazz.getSimpleName() ==> java.lang.Class.getSimpleName() - Line 81) name(name) ==> ERROR + Line 81) name(name) ==> com.github.javaparser.ast.expr.NameExpr.name(java.lang.String) Line 82) getAnnotations().add(markerAnnotationExpr) ==> java.util.List.add(E) - Line 82) getAnnotations() ==> ERROR + Line 82) getAnnotations() ==> com.github.javaparser.ast.nodeTypes.NodeWithAnnotations.getAnnotations() Line 83) markerAnnotationExpr.setParentNode((Node) this) ==> com.github.javaparser.ast.Node.setParentNode(com.github.javaparser.ast.Node) Line 94) ((Node) this).tryAddImportToParentCompilationUnit(clazz) ==> com.github.javaparser.ast.Node.tryAddImportToParentCompilationUnit(java.lang.Class) - Line 95) addMarkerAnnotation(clazz.getSimpleName()) ==> ERROR + Line 95) addMarkerAnnotation(clazz.getSimpleName()) ==> com.github.javaparser.ast.nodeTypes.NodeWithAnnotations.addMarkerAnnotation(java.lang.String) Line 95) clazz.getSimpleName() ==> java.lang.Class.getSimpleName() - Line 108) name(name) ==> ERROR - Line 108) name(value) ==> ERROR + Line 108) name(name) ==> com.github.javaparser.ast.expr.NameExpr.name(java.lang.String) + Line 108) name(value) ==> com.github.javaparser.ast.expr.NameExpr.name(java.lang.String) Line 109) getAnnotations().add(singleMemberAnnotationExpr) ==> java.util.List.add(E) - Line 109) getAnnotations() ==> ERROR + Line 109) getAnnotations() ==> com.github.javaparser.ast.nodeTypes.NodeWithAnnotations.getAnnotations() Line 110) singleMemberAnnotationExpr.setParentNode((Node) this) ==> com.github.javaparser.ast.Node.setParentNode(com.github.javaparser.ast.Node) Line 123) ((Node) this).tryAddImportToParentCompilationUnit(clazz) ==> com.github.javaparser.ast.Node.tryAddImportToParentCompilationUnit(java.lang.Class) - Line 124) addSingleMemberAnnotation(clazz.getSimpleName(), value) ==> ERROR + Line 124) addSingleMemberAnnotation(clazz.getSimpleName(), value) ==> com.github.javaparser.ast.nodeTypes.NodeWithAnnotations.addSingleMemberAnnotation(java.lang.String, java.lang.String) Line 124) clazz.getSimpleName() ==> java.lang.Class.getSimpleName() Line 134) getAnnotations().stream().anyMatch( a -> a.getName().getName().equals(annotationName)) ==> java.util.stream.Stream.anyMatch(java.util.function.Predicate) Line 134) getAnnotations().stream() ==> java.util.Collection.stream() - Line 134) getAnnotations() ==> ERROR + Line 134) getAnnotations() ==> com.github.javaparser.ast.nodeTypes.NodeWithAnnotations.getAnnotations() Line 134) a.getName().getName().equals(annotationName) ==> java.lang.String.equals(java.lang.Object) Line 134) a.getName().getName() ==> com.github.javaparser.ast.expr.NameExpr.getName() Line 134) a.getName() ==> com.github.javaparser.ast.expr.AnnotationExpr.getName() - Line 144) isAnnotationPresent(annotationClass.getSimpleName()) ==> ERROR + Line 144) isAnnotationPresent(annotationClass.getSimpleName()) ==> com.github.javaparser.ast.nodeTypes.NodeWithAnnotations.isAnnotationPresent(java.lang.String) Line 144) annotationClass.getSimpleName() ==> java.lang.Class.getSimpleName() Line 154) getAnnotations().stream().filter( a -> a.getName().getName().equals(annotationName)).findFirst().orElse(null) ==> java.util.Optional.orElse(T) Line 154) getAnnotations().stream().filter( a -> a.getName().getName().equals(annotationName)).findFirst() ==> java.util.stream.Stream.findFirst() Line 154) getAnnotations().stream().filter( a -> a.getName().getName().equals(annotationName)) ==> java.util.stream.Stream.filter(java.util.function.Predicate) Line 154) getAnnotations().stream() ==> java.util.Collection.stream() - Line 154) getAnnotations() ==> ERROR + Line 154) getAnnotations() ==> com.github.javaparser.ast.nodeTypes.NodeWithAnnotations.getAnnotations() Line 154) a.getName().getName().equals(annotationName) ==> java.lang.String.equals(java.lang.Object) Line 154) a.getName().getName() ==> com.github.javaparser.ast.expr.NameExpr.getName() Line 154) a.getName() ==> com.github.javaparser.ast.expr.AnnotationExpr.getName() - Line 165) getAnnotationByName(annotationClass.getSimpleName()) ==> ERROR + Line 165) getAnnotationByName(annotationClass.getSimpleName()) ==> com.github.javaparser.ast.nodeTypes.NodeWithAnnotations.getAnnotationByName(java.lang.String) Line 165) annotationClass.getSimpleName() ==> java.lang.Class.getSimpleName() diff --git a/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithBlockStmt.txt b/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithBlockStmt.txt index 7e926929e3..37d6538390 100644 --- a/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithBlockStmt.txt +++ b/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithBlockStmt.txt @@ -1,2 +1,2 @@ - Line 13) setBody(block) ==> ERROR + Line 13) setBody(block) ==> com.github.javaparser.ast.nodeTypes.NodeWithBlockStmt.setBody(com.github.javaparser.ast.stmt.BlockStmt) Line 14) block.setParentNode((Node) this) ==> com.github.javaparser.ast.Node.setParentNode(com.github.javaparser.ast.Node) diff --git a/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithBody.txt b/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithBody.txt index c33eb90acb..862d0d4af6 100644 --- a/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithBody.txt +++ b/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithBody.txt @@ -1,2 +1,2 @@ Line 14) b.setParentNode((Node) this) ==> com.github.javaparser.ast.Node.setParentNode(com.github.javaparser.ast.Node) - Line 15) setBody(b) ==> ERROR + Line 15) setBody(b) ==> com.github.javaparser.ast.nodeTypes.NodeWithBody.setBody(com.github.javaparser.ast.stmt.Statement) diff --git a/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithElementType.txt b/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithElementType.txt index 6d07e5dd4e..227beb6c6b 100644 --- a/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithElementType.txt +++ b/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithElementType.txt @@ -1,4 +1,4 @@ Line 65) ((Node) this).tryAddImportToParentCompilationUnit(typeClass) ==> com.github.javaparser.ast.Node.tryAddImportToParentCompilationUnit(java.lang.Class) - Line 66) setElementType(new ClassOrInterfaceType(typeClass.getSimpleName())) ==> ERROR + Line 66) setElementType(new ClassOrInterfaceType(typeClass.getSimpleName())) ==> com.github.javaparser.ast.nodeTypes.NodeWithElementType.setElementType(com.github.javaparser.ast.type.Type) Line 66) typeClass.getSimpleName() ==> java.lang.Class.getSimpleName() - Line 71) setElementType(classOrInterfaceType) ==> ERROR + Line 71) setElementType(classOrInterfaceType) ==> com.github.javaparser.ast.nodeTypes.NodeWithElementType.setElementType(com.github.javaparser.ast.type.Type) diff --git a/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithExtends.txt b/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithExtends.txt index 75f0851ead..a42aae34b1 100644 --- a/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithExtends.txt +++ b/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithExtends.txt @@ -1,6 +1,6 @@ Line 20) ((Node) this).tryAddImportToParentCompilationUnit(clazz) ==> com.github.javaparser.ast.Node.tryAddImportToParentCompilationUnit(java.lang.Class) - Line 21) addExtends(clazz.getSimpleName()) ==> ERROR + Line 21) addExtends(clazz.getSimpleName()) ==> com.github.javaparser.ast.nodeTypes.NodeWithExtends.addExtends(java.lang.String) Line 21) clazz.getSimpleName() ==> java.lang.Class.getSimpleName() Line 33) getExtends().add(classOrInterfaceType) ==> java.util.List.add(E) - Line 33) getExtends() ==> ERROR + Line 33) getExtends() ==> com.github.javaparser.ast.nodeTypes.NodeWithExtends.getExtends() Line 34) classOrInterfaceType.setParentNode((Node) this) ==> com.github.javaparser.ast.Node.setParentNode(com.github.javaparser.ast.Node) diff --git a/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithImplements.txt b/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithImplements.txt index 7fdf68c354..766991c494 100644 --- a/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithImplements.txt +++ b/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithImplements.txt @@ -1,6 +1,6 @@ Line 22) getImplements().add(classOrInterfaceType) ==> java.util.List.add(E) - Line 22) getImplements() ==> ERROR + Line 22) getImplements() ==> com.github.javaparser.ast.nodeTypes.NodeWithImplements.getImplements() Line 23) classOrInterfaceType.setParentNode((Node) this) ==> com.github.javaparser.ast.Node.setParentNode(com.github.javaparser.ast.Node) Line 34) ((Node) this).tryAddImportToParentCompilationUnit(clazz) ==> com.github.javaparser.ast.Node.tryAddImportToParentCompilationUnit(java.lang.Class) - Line 35) addImplements(clazz.getSimpleName()) ==> ERROR + Line 35) addImplements(clazz.getSimpleName()) ==> com.github.javaparser.ast.nodeTypes.NodeWithImplements.addImplements(java.lang.String) Line 35) clazz.getSimpleName() ==> java.lang.Class.getSimpleName() diff --git a/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithMembers.txt b/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithMembers.txt index c3a6d19233..b3ba7baf75 100644 --- a/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithMembers.txt +++ b/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithMembers.txt @@ -1,7 +1,7 @@ Line 49) ((Node) this).tryAddImportToParentCompilationUnit(typeClass) ==> com.github.javaparser.ast.Node.tryAddImportToParentCompilationUnit(java.lang.Class) - Line 50) addField(typeClass.getSimpleName(), name, modifiers) ==> ERROR + Line 50) addField(typeClass.getSimpleName(), name, modifiers) ==> com.github.javaparser.ast.nodeTypes.NodeWithMembers.addField(java.lang.String, java.lang.String, com.github.javaparser.ast.Modifier) Line 50) typeClass.getSimpleName() ==> java.lang.Class.getSimpleName() - Line 62) addField(new ClassOrInterfaceType(type), name, modifiers) ==> ERROR + Line 62) addField(new ClassOrInterfaceType(type), name, modifiers) ==> com.github.javaparser.ast.nodeTypes.NodeWithMembers.addField(com.github.javaparser.ast.type.Type, java.lang.String, com.github.javaparser.ast.Modifier) Line 75) fieldDeclaration.setParentNode((Node) this) ==> com.github.javaparser.ast.Node.setParentNode(com.github.javaparser.ast.Node) Line 77) fieldDeclaration.getVariables().add(variable) ==> java.util.List.add(E) Line 77) fieldDeclaration.getVariables() ==> com.github.javaparser.ast.body.FieldDeclaration.getVariables() @@ -9,63 +9,63 @@ Line 79) fieldDeclaration.setModifiers(Arrays.stream(modifiers).collect(toCollection(() -> EnumSet.noneOf(Modifier.class)))) ==> ERROR Line 79) Arrays.stream(modifiers).collect(toCollection(() -> EnumSet.noneOf(Modifier.class))) ==> ERROR Line 79) Arrays.stream(modifiers) ==> UNSOLVED - Line 80) toCollection(() -> EnumSet.noneOf(Modifier.class)) ==> ERROR + Line 80) toCollection(() -> EnumSet.noneOf(Modifier.class)) ==> java.util.stream.Collectors.toCollection(java.util.function.Supplier) Line 80) EnumSet.noneOf(Modifier.class) ==> java.util.EnumSet.noneOf(java.lang.Class) Line 81) variable.setType(type) ==> ERROR Line 82) getMembers().add(fieldDeclaration) ==> java.util.List.add(E) - Line 82) getMembers() ==> ERROR - Line 94) addField(typeClass, name, Modifier.PRIVATE) ==> ERROR - Line 106) addField(type, name, Modifier.PRIVATE) ==> ERROR - Line 117) addField(typeClass, name, Modifier.PUBLIC) ==> ERROR - Line 129) addField(type, name, Modifier.PUBLIC) ==> ERROR - Line 140) addField(typeClass, name, Modifier.PROTECTED) ==> ERROR - Line 152) addField(type, name, Modifier.PROTECTED) ==> ERROR + Line 82) getMembers() ==> com.github.javaparser.ast.nodeTypes.NodeWithMembers.getMembers() + Line 94) addField(typeClass, name, Modifier.PRIVATE) ==> com.github.javaparser.ast.nodeTypes.NodeWithMembers.addField(java.lang.Class, java.lang.String, com.github.javaparser.ast.Modifier) + Line 106) addField(type, name, Modifier.PRIVATE) ==> com.github.javaparser.ast.nodeTypes.NodeWithMembers.addField(java.lang.String, java.lang.String, com.github.javaparser.ast.Modifier) + Line 117) addField(typeClass, name, Modifier.PUBLIC) ==> com.github.javaparser.ast.nodeTypes.NodeWithMembers.addField(java.lang.Class, java.lang.String, com.github.javaparser.ast.Modifier) + Line 129) addField(type, name, Modifier.PUBLIC) ==> com.github.javaparser.ast.nodeTypes.NodeWithMembers.addField(java.lang.String, java.lang.String, com.github.javaparser.ast.Modifier) + Line 140) addField(typeClass, name, Modifier.PROTECTED) ==> com.github.javaparser.ast.nodeTypes.NodeWithMembers.addField(java.lang.Class, java.lang.String, com.github.javaparser.ast.Modifier) + Line 152) addField(type, name, Modifier.PROTECTED) ==> com.github.javaparser.ast.nodeTypes.NodeWithMembers.addField(java.lang.String, java.lang.String, com.github.javaparser.ast.Modifier) Line 164) methodDeclaration.setName(methodName) ==> com.github.javaparser.ast.body.MethodDeclaration.setName(java.lang.String) Line 165) methodDeclaration.setType(VOID_TYPE) ==> ERROR Line 166) methodDeclaration.setModifiers(Arrays.stream(modifiers).collect(toCollection(() -> EnumSet.noneOf(Modifier.class)))) ==> ERROR Line 166) Arrays.stream(modifiers).collect(toCollection(() -> EnumSet.noneOf(Modifier.class))) ==> ERROR Line 166) Arrays.stream(modifiers) ==> UNSOLVED - Line 167) toCollection(() -> EnumSet.noneOf(Modifier.class)) ==> ERROR + Line 167) toCollection(() -> EnumSet.noneOf(Modifier.class)) ==> java.util.stream.Collectors.toCollection(java.util.function.Supplier) Line 167) EnumSet.noneOf(Modifier.class) ==> java.util.EnumSet.noneOf(java.lang.Class) Line 168) getMembers().add(methodDeclaration) ==> java.util.List.add(E) - Line 168) getMembers() ==> ERROR + Line 168) getMembers() ==> com.github.javaparser.ast.nodeTypes.NodeWithMembers.getMembers() Line 169) methodDeclaration.setParentNode((Node) this) ==> com.github.javaparser.ast.Node.setParentNode(com.github.javaparser.ast.Node) Line 181) constructorDeclaration.setModifiers(Arrays.stream(modifiers).collect(toCollection(() -> EnumSet.noneOf(Modifier.class)))) ==> ERROR Line 181) Arrays.stream(modifiers).collect(toCollection(() -> EnumSet.noneOf(Modifier.class))) ==> ERROR Line 181) Arrays.stream(modifiers) ==> UNSOLVED - Line 182) toCollection(() -> EnumSet.noneOf(Modifier.class)) ==> ERROR + Line 182) toCollection(() -> EnumSet.noneOf(Modifier.class)) ==> java.util.stream.Collectors.toCollection(java.util.function.Supplier) Line 182) EnumSet.noneOf(Modifier.class) ==> java.util.EnumSet.noneOf(java.lang.Class) Line 183) constructorDeclaration.setName(((TypeDeclaration) this).getName()) ==> com.github.javaparser.ast.body.ConstructorDeclaration.setName(java.lang.String) Line 183) ((TypeDeclaration) this).getName() ==> com.github.javaparser.ast.body.TypeDeclaration.getName() Line 184) getMembers().add(constructorDeclaration) ==> java.util.List.add(E) - Line 184) getMembers() ==> ERROR + Line 184) getMembers() ==> com.github.javaparser.ast.nodeTypes.NodeWithMembers.getMembers() Line 185) constructorDeclaration.setParentNode((Node) this) ==> com.github.javaparser.ast.Node.setParentNode(com.github.javaparser.ast.Node) Line 192) getMembers().add(initializerDeclaration) ==> java.util.List.add(E) - Line 192) getMembers() ==> ERROR + Line 192) getMembers() ==> com.github.javaparser.ast.nodeTypes.NodeWithMembers.getMembers() Line 193) initializerDeclaration.setParentNode((Node) this) ==> com.github.javaparser.ast.Node.setParentNode(com.github.javaparser.ast.Node) Line 200) getMembers().add(initializerDeclaration) ==> java.util.List.add(E) - Line 200) getMembers() ==> ERROR + Line 200) getMembers() ==> com.github.javaparser.ast.nodeTypes.NodeWithMembers.getMembers() Line 201) initializerDeclaration.setParentNode((Node) this) ==> com.github.javaparser.ast.Node.setParentNode(com.github.javaparser.ast.Node) Line 212) getMembers().stream().filter( m -> m instanceof MethodDeclaration && ((MethodDeclaration) m).getName().equals(name)).map( m -> (MethodDeclaration) m).collect(toList()) ==> java.util.stream.Stream.collect(java.util.stream.Collector) Line 212) getMembers().stream().filter( m -> m instanceof MethodDeclaration && ((MethodDeclaration) m).getName().equals(name)).map( m -> (MethodDeclaration) m) ==> java.util.stream.Stream.map(java.util.function.Function) Line 212) getMembers().stream().filter( m -> m instanceof MethodDeclaration && ((MethodDeclaration) m).getName().equals(name)) ==> java.util.stream.Stream.filter(java.util.function.Predicate) Line 212) getMembers().stream() ==> java.util.Collection.stream() - Line 212) getMembers() ==> ERROR + Line 212) getMembers() ==> com.github.javaparser.ast.nodeTypes.NodeWithMembers.getMembers() Line 213) ((MethodDeclaration) m).getName().equals(name) ==> java.lang.String.equals(java.lang.Object) Line 213) ((MethodDeclaration) m).getName() ==> com.github.javaparser.ast.body.MethodDeclaration.getName() - Line 214) toList() ==> ERROR - Line 223) unmodifiableList(getMembers().stream().filter( m -> m instanceof MethodDeclaration).map( m -> (MethodDeclaration) m).collect(toList())) ==> ERROR + Line 214) toList() ==> java.util.stream.Collectors.toList() + Line 223) unmodifiableList(getMembers().stream().filter( m -> m instanceof MethodDeclaration).map( m -> (MethodDeclaration) m).collect(toList())) ==> java.util.Collections.unmodifiableList(java.util.List) Line 223) getMembers().stream().filter( m -> m instanceof MethodDeclaration).map( m -> (MethodDeclaration) m).collect(toList()) ==> java.util.stream.Stream.collect(java.util.stream.Collector) Line 223) getMembers().stream().filter( m -> m instanceof MethodDeclaration).map( m -> (MethodDeclaration) m) ==> java.util.stream.Stream.map(java.util.function.Function) Line 223) getMembers().stream().filter( m -> m instanceof MethodDeclaration) ==> java.util.stream.Stream.filter(java.util.function.Predicate) Line 223) getMembers().stream() ==> java.util.Collection.stream() - Line 223) getMembers() ==> ERROR - Line 226) toList() ==> ERROR + Line 223) getMembers() ==> com.github.javaparser.ast.nodeTypes.NodeWithMembers.getMembers() + Line 226) toList() ==> java.util.stream.Collectors.toList() Line 237) getMembers().stream().filter( m -> m instanceof MethodDeclaration && ((MethodDeclaration) m).getParameters().stream().map( p -> p.getType().toString()).collect(toSet()).equals(Stream.of(paramTypes).collect(toSet()))).map( m -> (MethodDeclaration) m).collect(toList()) ==> java.util.stream.Stream.collect(java.util.stream.Collector) Line 237) getMembers().stream().filter( m -> m instanceof MethodDeclaration && ((MethodDeclaration) m).getParameters().stream().map( p -> p.getType().toString()).collect(toSet()).equals(Stream.of(paramTypes).collect(toSet()))).map( m -> (MethodDeclaration) m) ==> java.util.stream.Stream.map(java.util.function.Function) Line 237) getMembers().stream().filter( m -> m instanceof MethodDeclaration && ((MethodDeclaration) m).getParameters().stream().map( p -> p.getType().toString()).collect(toSet()).equals(Stream.of(paramTypes).collect(toSet()))) ==> java.util.stream.Stream.filter(java.util.function.Predicate) Line 237) getMembers().stream() ==> java.util.Collection.stream() - Line 237) getMembers() ==> ERROR + Line 237) getMembers() ==> com.github.javaparser.ast.nodeTypes.NodeWithMembers.getMembers() Line 239) ((MethodDeclaration) m).getParameters().stream().map( p -> p.getType().toString()).collect(toSet()).equals(Stream.of(paramTypes).collect(toSet())) ==> ERROR Line 239) ((MethodDeclaration) m).getParameters().stream().map( p -> p.getType().toString()).collect(toSet()) ==> ERROR Line 239) ((MethodDeclaration) m).getParameters().stream().map( p -> p.getType().toString()) ==> java.util.stream.Stream.map(java.util.function.Function) @@ -73,16 +73,16 @@ Line 239) ((MethodDeclaration) m).getParameters() ==> com.github.javaparser.ast.body.MethodDeclaration.getParameters() Line 239) p.getType().toString() ==> com.github.javaparser.ast.Node.toString() Line 239) p.getType() ==> com.github.javaparser.ast.body.Parameter.getType() - Line 240) toSet() ==> ERROR + Line 240) toSet() ==> java.util.stream.Collectors.toSet() Line 240) Stream.of(paramTypes).collect(toSet()) ==> ERROR Line 240) Stream.of(paramTypes) ==> ERROR - Line 240) toSet() ==> ERROR - Line 241) toList() ==> ERROR + Line 240) toSet() ==> java.util.stream.Collectors.toSet() + Line 241) toList() ==> java.util.stream.Collectors.toList() Line 252) getMembers().stream().filter( m -> m instanceof MethodDeclaration && ((MethodDeclaration) m).getParameters().stream().map( p -> p.getType().toString()).collect(toSet()).equals(Stream.of(paramTypes).map(Class::getSimpleName).collect(toSet()))).map( m -> (MethodDeclaration) m).collect(toList()) ==> java.util.stream.Stream.collect(java.util.stream.Collector) Line 252) getMembers().stream().filter( m -> m instanceof MethodDeclaration && ((MethodDeclaration) m).getParameters().stream().map( p -> p.getType().toString()).collect(toSet()).equals(Stream.of(paramTypes).map(Class::getSimpleName).collect(toSet()))).map( m -> (MethodDeclaration) m) ==> java.util.stream.Stream.map(java.util.function.Function) Line 252) getMembers().stream().filter( m -> m instanceof MethodDeclaration && ((MethodDeclaration) m).getParameters().stream().map( p -> p.getType().toString()).collect(toSet()).equals(Stream.of(paramTypes).map(Class::getSimpleName).collect(toSet()))) ==> java.util.stream.Stream.filter(java.util.function.Predicate) Line 252) getMembers().stream() ==> java.util.Collection.stream() - Line 252) getMembers() ==> ERROR + Line 252) getMembers() ==> com.github.javaparser.ast.nodeTypes.NodeWithMembers.getMembers() Line 254) ((MethodDeclaration) m).getParameters().stream().map( p -> p.getType().toString()).collect(toSet()).equals(Stream.of(paramTypes).map(Class::getSimpleName).collect(toSet())) ==> ERROR Line 254) ((MethodDeclaration) m).getParameters().stream().map( p -> p.getType().toString()).collect(toSet()) ==> ERROR Line 254) ((MethodDeclaration) m).getParameters().stream().map( p -> p.getType().toString()) ==> java.util.stream.Stream.map(java.util.function.Function) @@ -90,27 +90,27 @@ Line 254) ((MethodDeclaration) m).getParameters() ==> com.github.javaparser.ast.body.MethodDeclaration.getParameters() Line 254) p.getType().toString() ==> com.github.javaparser.ast.Node.toString() Line 254) p.getType() ==> com.github.javaparser.ast.body.Parameter.getType() - Line 255) toSet() ==> ERROR + Line 255) toSet() ==> java.util.stream.Collectors.toSet() Line 256) Stream.of(paramTypes).map(Class::getSimpleName).collect(toSet()) ==> ERROR Line 256) Stream.of(paramTypes).map(Class::getSimpleName) ==> ERROR Line 256) Stream.of(paramTypes) ==> ERROR - Line 256) toSet() ==> ERROR - Line 257) toList() ==> ERROR + Line 256) toSet() ==> java.util.stream.Collectors.toSet() + Line 257) toList() ==> java.util.stream.Collectors.toList() Line 267) getMembers().stream().filter( m -> m instanceof FieldDeclaration && ((FieldDeclaration) m).getVariables().stream().anyMatch( var -> var.getId().getName().equals(name))).findFirst().orElse(null) ==> java.util.Optional.orElse(T) Line 267) getMembers().stream().filter( m -> m instanceof FieldDeclaration && ((FieldDeclaration) m).getVariables().stream().anyMatch( var -> var.getId().getName().equals(name))).findFirst() ==> java.util.stream.Stream.findFirst() Line 267) getMembers().stream().filter( m -> m instanceof FieldDeclaration && ((FieldDeclaration) m).getVariables().stream().anyMatch( var -> var.getId().getName().equals(name))) ==> java.util.stream.Stream.filter(java.util.function.Predicate) Line 267) getMembers().stream() ==> java.util.Collection.stream() - Line 267) getMembers() ==> ERROR + Line 267) getMembers() ==> com.github.javaparser.ast.nodeTypes.NodeWithMembers.getMembers() Line 268) ((FieldDeclaration) m).getVariables().stream().anyMatch( var -> var.getId().getName().equals(name)) ==> java.util.stream.Stream.anyMatch(java.util.function.Predicate) Line 268) ((FieldDeclaration) m).getVariables().stream() ==> java.util.Collection.stream() Line 268) ((FieldDeclaration) m).getVariables() ==> com.github.javaparser.ast.body.FieldDeclaration.getVariables() Line 269) var.getId().getName().equals(name) ==> java.lang.String.equals(java.lang.Object) Line 269) var.getId().getName() ==> com.github.javaparser.ast.body.VariableDeclaratorId.getName() Line 269) var.getId() ==> com.github.javaparser.ast.body.VariableDeclarator.getId() - Line 279) unmodifiableList(getMembers().stream().filter( m -> m instanceof FieldDeclaration).map( m -> (FieldDeclaration) m).collect(toList())) ==> ERROR + Line 279) unmodifiableList(getMembers().stream().filter( m -> m instanceof FieldDeclaration).map( m -> (FieldDeclaration) m).collect(toList())) ==> java.util.Collections.unmodifiableList(java.util.List) Line 279) getMembers().stream().filter( m -> m instanceof FieldDeclaration).map( m -> (FieldDeclaration) m).collect(toList()) ==> java.util.stream.Stream.collect(java.util.stream.Collector) Line 279) getMembers().stream().filter( m -> m instanceof FieldDeclaration).map( m -> (FieldDeclaration) m) ==> java.util.stream.Stream.map(java.util.function.Function) Line 279) getMembers().stream().filter( m -> m instanceof FieldDeclaration) ==> java.util.stream.Stream.filter(java.util.function.Predicate) Line 279) getMembers().stream() ==> java.util.Collection.stream() - Line 279) getMembers() ==> ERROR - Line 282) toList() ==> ERROR + Line 279) getMembers() ==> com.github.javaparser.ast.nodeTypes.NodeWithMembers.getMembers() + Line 282) toList() ==> java.util.stream.Collectors.toList() diff --git a/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithModifiers.txt b/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithModifiers.txt index ea5d8b8e01..093967a97d 100644 --- a/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithModifiers.txt +++ b/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithModifiers.txt @@ -1,28 +1,28 @@ Line 25) getModifiers().addAll(Arrays.stream(modifiers).collect(Collectors.toCollection(() -> EnumSet.noneOf(Modifier.class)))) ==> ERROR - Line 25) getModifiers() ==> ERROR + Line 25) getModifiers() ==> com.github.javaparser.ast.nodeTypes.NodeWithModifiers.getModifiers() Line 25) Arrays.stream(modifiers).collect(Collectors.toCollection(() -> EnumSet.noneOf(Modifier.class))) ==> ERROR Line 25) Arrays.stream(modifiers) ==> UNSOLVED - Line 26) Collectors.toCollection(() -> EnumSet.noneOf(Modifier.class)) ==> UNSOLVED + Line 26) Collectors.toCollection(() -> EnumSet.noneOf(Modifier.class)) ==> java.util.stream.Collectors.toCollection(java.util.function.Supplier) Line 26) EnumSet.noneOf(Modifier.class) ==> java.util.EnumSet.noneOf(java.lang.Class) Line 31) getModifiers().contains(Modifier.STATIC) ==> ERROR - Line 31) getModifiers() ==> ERROR + Line 31) getModifiers() ==> com.github.javaparser.ast.nodeTypes.NodeWithModifiers.getModifiers() Line 35) getModifiers().contains(Modifier.ABSTRACT) ==> ERROR - Line 35) getModifiers() ==> ERROR + Line 35) getModifiers() ==> com.github.javaparser.ast.nodeTypes.NodeWithModifiers.getModifiers() Line 39) getModifiers().contains(Modifier.FINAL) ==> ERROR - Line 39) getModifiers() ==> ERROR + Line 39) getModifiers() ==> com.github.javaparser.ast.nodeTypes.NodeWithModifiers.getModifiers() Line 43) getModifiers().contains(Modifier.NATIVE) ==> ERROR - Line 43) getModifiers() ==> ERROR + Line 43) getModifiers() ==> com.github.javaparser.ast.nodeTypes.NodeWithModifiers.getModifiers() Line 47) getModifiers().contains(Modifier.PRIVATE) ==> ERROR - Line 47) getModifiers() ==> ERROR + Line 47) getModifiers() ==> com.github.javaparser.ast.nodeTypes.NodeWithModifiers.getModifiers() Line 51) getModifiers().contains(Modifier.PROTECTED) ==> ERROR - Line 51) getModifiers() ==> ERROR + Line 51) getModifiers() ==> com.github.javaparser.ast.nodeTypes.NodeWithModifiers.getModifiers() Line 55) getModifiers().contains(Modifier.PUBLIC) ==> ERROR - Line 55) getModifiers() ==> ERROR + Line 55) getModifiers() ==> com.github.javaparser.ast.nodeTypes.NodeWithModifiers.getModifiers() Line 59) getModifiers().contains(Modifier.STRICTFP) ==> ERROR - Line 59) getModifiers() ==> ERROR + Line 59) getModifiers() ==> com.github.javaparser.ast.nodeTypes.NodeWithModifiers.getModifiers() Line 63) getModifiers().contains(Modifier.SYNCHRONIZED) ==> ERROR - Line 63) getModifiers() ==> ERROR + Line 63) getModifiers() ==> com.github.javaparser.ast.nodeTypes.NodeWithModifiers.getModifiers() Line 67) getModifiers().contains(Modifier.TRANSIENT) ==> ERROR - Line 67) getModifiers() ==> ERROR + Line 67) getModifiers() ==> com.github.javaparser.ast.nodeTypes.NodeWithModifiers.getModifiers() Line 71) getModifiers().contains(Modifier.VOLATILE) ==> ERROR - Line 71) getModifiers() ==> ERROR + Line 71) getModifiers() ==> com.github.javaparser.ast.nodeTypes.NodeWithModifiers.getModifiers() diff --git a/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithParameters.txt b/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithParameters.txt index ed383e7eda..f68fe9e2ca 100644 --- a/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithParameters.txt +++ b/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithParameters.txt @@ -1,31 +1,31 @@ - Line 17) addParameter(new Parameter(type, new VariableDeclaratorId(name))) ==> ERROR + Line 17) addParameter(new Parameter(type, new VariableDeclaratorId(name))) ==> com.github.javaparser.ast.nodeTypes.NodeWithParameters.addParameter(com.github.javaparser.ast.body.Parameter) Line 21) ((Node) this).tryAddImportToParentCompilationUnit(paramClass) ==> com.github.javaparser.ast.Node.tryAddImportToParentCompilationUnit(java.lang.Class) Line 22) addParameter(new ClassOrInterfaceType(paramClass.getSimpleName()), name) ==> ERROR Line 22) paramClass.getSimpleName() ==> java.lang.Class.getSimpleName() Line 32) addParameter(new ClassOrInterfaceType(className), name) ==> ERROR Line 37) getParameters().add(parameter) ==> java.util.List.add(E) - Line 37) getParameters() ==> ERROR + Line 37) getParameters() ==> com.github.javaparser.ast.nodeTypes.NodeWithParameters.getParameters() Line 38) parameter.setParentNode((Node) this) ==> com.github.javaparser.ast.Node.setParentNode(com.github.javaparser.ast.Node) - Line 43) addAndGetParameter(new Parameter(type, new VariableDeclaratorId(name))) ==> ERROR + Line 43) addAndGetParameter(new Parameter(type, new VariableDeclaratorId(name))) ==> com.github.javaparser.ast.nodeTypes.NodeWithParameters.addAndGetParameter(com.github.javaparser.ast.body.Parameter) Line 47) ((Node) this).tryAddImportToParentCompilationUnit(paramClass) ==> com.github.javaparser.ast.Node.tryAddImportToParentCompilationUnit(java.lang.Class) Line 48) addAndGetParameter(new ClassOrInterfaceType(paramClass.getSimpleName()), name) ==> ERROR Line 48) paramClass.getSimpleName() ==> java.lang.Class.getSimpleName() Line 59) addAndGetParameter(new ClassOrInterfaceType(className), name) ==> ERROR Line 63) getParameters().add(parameter) ==> java.util.List.add(E) - Line 63) getParameters() ==> ERROR + Line 63) getParameters() ==> com.github.javaparser.ast.nodeTypes.NodeWithParameters.getParameters() Line 64) parameter.setParentNode((Node) this) ==> com.github.javaparser.ast.Node.setParentNode(com.github.javaparser.ast.Node) Line 75) getParameters().stream().filter( p -> p.getName().equals(name)).findFirst().orElse(null) ==> java.util.Optional.orElse(T) Line 75) getParameters().stream().filter( p -> p.getName().equals(name)).findFirst() ==> java.util.stream.Stream.findFirst() Line 75) getParameters().stream().filter( p -> p.getName().equals(name)) ==> java.util.stream.Stream.filter(java.util.function.Predicate) Line 75) getParameters().stream() ==> java.util.Collection.stream() - Line 75) getParameters() ==> ERROR + Line 75) getParameters() ==> com.github.javaparser.ast.nodeTypes.NodeWithParameters.getParameters() Line 76) p.getName().equals(name) ==> java.lang.String.equals(java.lang.Object) Line 76) p.getName() ==> com.github.javaparser.ast.body.Parameter.getName() Line 86) getParameters().stream().filter( p -> p.getType().toString().equals(type)).findFirst().orElse(null) ==> java.util.Optional.orElse(T) Line 86) getParameters().stream().filter( p -> p.getType().toString().equals(type)).findFirst() ==> java.util.stream.Stream.findFirst() Line 86) getParameters().stream().filter( p -> p.getType().toString().equals(type)) ==> java.util.stream.Stream.filter(java.util.function.Predicate) Line 86) getParameters().stream() ==> java.util.Collection.stream() - Line 86) getParameters() ==> ERROR + Line 86) getParameters() ==> com.github.javaparser.ast.nodeTypes.NodeWithParameters.getParameters() Line 87) p.getType().toString().equals(type) ==> java.lang.String.equals(java.lang.Object) Line 87) p.getType().toString() ==> com.github.javaparser.ast.Node.toString() Line 87) p.getType() ==> com.github.javaparser.ast.body.Parameter.getType() @@ -33,7 +33,7 @@ Line 97) getParameters().stream().filter( p -> p.getType().toString().equals(type.getSimpleName())).findFirst() ==> java.util.stream.Stream.findFirst() Line 97) getParameters().stream().filter( p -> p.getType().toString().equals(type.getSimpleName())) ==> java.util.stream.Stream.filter(java.util.function.Predicate) Line 97) getParameters().stream() ==> java.util.Collection.stream() - Line 97) getParameters() ==> ERROR + Line 97) getParameters() ==> com.github.javaparser.ast.nodeTypes.NodeWithParameters.getParameters() Line 98) p.getType().toString().equals(type.getSimpleName()) ==> java.lang.String.equals(java.lang.Object) Line 98) p.getType().toString() ==> com.github.javaparser.ast.Node.toString() Line 98) p.getType() ==> com.github.javaparser.ast.body.Parameter.getType() diff --git a/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithStatements.txt b/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithStatements.txt index 1585950629..48bdc75006 100644 --- a/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithStatements.txt +++ b/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithStatements.txt @@ -1,11 +1,11 @@ Line 18) getStmts().add(statement) ==> java.util.List.add(E) - Line 18) getStmts() ==> ERROR + Line 18) getStmts() ==> com.github.javaparser.ast.nodeTypes.NodeWithStatements.getStmts() Line 19) statement.setParentNode((Node) this) ==> com.github.javaparser.ast.Node.setParentNode(com.github.javaparser.ast.Node) Line 25) getStmts().add(index, statement) ==> java.util.List.add(int, E) - Line 25) getStmts() ==> ERROR + Line 25) getStmts() ==> com.github.javaparser.ast.nodeTypes.NodeWithStatements.getStmts() Line 26) statement.setParentNode((Node) this) ==> com.github.javaparser.ast.Node.setParentNode(com.github.javaparser.ast.Node) Line 32) expr.setParentNode(statement) ==> com.github.javaparser.ast.Node.setParentNode(com.github.javaparser.ast.Node) - Line 33) addStatement(statement) ==> ERROR - Line 37) addStatement(new NameExpr(statement)) ==> ERROR + Line 33) addStatement(statement) ==> com.github.javaparser.ast.nodeTypes.NodeWithStatements.addStatement(com.github.javaparser.ast.stmt.Statement) + Line 37) addStatement(new NameExpr(statement)) ==> com.github.javaparser.ast.nodeTypes.NodeWithStatements.addStatement(com.github.javaparser.ast.expr.Expression) Line 42) expr.setParentNode(stmt) ==> com.github.javaparser.ast.Node.setParentNode(com.github.javaparser.ast.Node) - Line 43) addStatement(index, stmt) ==> ERROR + Line 43) addStatement(index, stmt) ==> com.github.javaparser.ast.nodeTypes.NodeWithStatements.addStatement(int, com.github.javaparser.ast.stmt.Statement) diff --git a/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithThrowable.txt b/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithThrowable.txt index 303542b67f..bb1294e62e 100644 --- a/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithThrowable.txt +++ b/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithThrowable.txt @@ -1,13 +1,13 @@ Line 22) getThrows().add(throwType) ==> java.util.List.add(E) - Line 22) getThrows() ==> ERROR + Line 22) getThrows() ==> com.github.javaparser.ast.nodeTypes.NodeWithThrowable.getThrows() Line 23) throwType.setParentNode((Node) this) ==> com.github.javaparser.ast.Node.setParentNode(com.github.javaparser.ast.Node) Line 34) ((Node) this).tryAddImportToParentCompilationUnit(clazz) ==> com.github.javaparser.ast.Node.tryAddImportToParentCompilationUnit(java.lang.Class) Line 35) addThrows(new ClassOrInterfaceType(clazz.getSimpleName())) ==> ERROR Line 35) clazz.getSimpleName() ==> java.lang.Class.getSimpleName() - Line 45) isThrows(clazz.getSimpleName()) ==> ERROR + Line 45) isThrows(clazz.getSimpleName()) ==> com.github.javaparser.ast.nodeTypes.NodeWithThrowable.isThrows(java.lang.String) Line 45) clazz.getSimpleName() ==> java.lang.Class.getSimpleName() Line 55) getThrows().stream().anyMatch( t -> t.toString().equals(throwableName)) ==> java.util.stream.Stream.anyMatch(java.util.function.Predicate) Line 55) getThrows().stream() ==> java.util.Collection.stream() - Line 55) getThrows() ==> ERROR + Line 55) getThrows() ==> com.github.javaparser.ast.nodeTypes.NodeWithThrowable.getThrows() Line 55) t.toString().equals(throwableName) ==> java.lang.String.equals(java.lang.Object) Line 55) t.toString() ==> com.github.javaparser.ast.Node.toString() diff --git a/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithType.txt b/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithType.txt index 7b75e059d8..f1460c10ee 100644 --- a/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithType.txt +++ b/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithType.txt @@ -1,4 +1,4 @@ Line 60) ((Node) this).tryAddImportToParentCompilationUnit(typeClass) ==> com.github.javaparser.ast.Node.tryAddImportToParentCompilationUnit(java.lang.Class) - Line 61) setType(new ClassOrInterfaceType(typeClass.getSimpleName())) ==> ERROR + Line 61) setType(new ClassOrInterfaceType(typeClass.getSimpleName())) ==> com.github.javaparser.ast.nodeTypes.NodeWithType.setType(com.github.javaparser.ast.type.Type) Line 61) typeClass.getSimpleName() ==> java.lang.Class.getSimpleName() - Line 66) setType(classOrInterfaceType) ==> ERROR + Line 66) setType(classOrInterfaceType) ==> com.github.javaparser.ast.nodeTypes.NodeWithType.setType(com.github.javaparser.ast.type.Type) diff --git a/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithTypeArguments.txt b/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithTypeArguments.txt index c624fced7a..1689edfe98 100644 --- a/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithTypeArguments.txt +++ b/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_ast_nodeTypes_NodeWithTypeArguments.txt @@ -1,7 +1,7 @@ - Line 54) getTypeArguments() ==> ERROR + Line 54) getTypeArguments() ==> com.github.javaparser.ast.nodeTypes.NodeWithTypeArguments.getTypeArguments() Line 57) getTypeArguments().isEmpty() ==> java.util.List.isEmpty() - Line 57) getTypeArguments() ==> ERROR - Line 65) setTypeArguments(empty) ==> ERROR - Line 73) setTypeArguments((List>) null) ==> ERROR + Line 57) getTypeArguments() ==> com.github.javaparser.ast.nodeTypes.NodeWithTypeArguments.getTypeArguments() + Line 65) setTypeArguments(empty) ==> com.github.javaparser.ast.nodeTypes.NodeWithTypeArguments.setTypeArguments(java.util.List>) + Line 73) setTypeArguments((List>) null) ==> com.github.javaparser.ast.nodeTypes.NodeWithTypeArguments.setTypeArguments(java.util.List>) Line 78) setTypeArguments(arrayToList(typeArguments)) ==> ERROR - Line 78) arrayToList(typeArguments) ==> ERROR + Line 78) arrayToList(typeArguments) ==> UNSOLVED diff --git a/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_utils_PositionUtils.txt b/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_utils_PositionUtils.txt index 933606b373..a6ced586f2 100644 --- a/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_utils_PositionUtils.txt +++ b/java-symbol-solver-core/src/test/resources/javaparser_methodcalls_expected_output/com_github_javaparser_utils_PositionUtils.txt @@ -1,6 +1,6 @@ Line 46) sortByBeginPosition(nodes, false) ==> com.github.javaparser.utils.PositionUtils.sortByBeginPosition(java.util.List, boolean) - Line 50) Collections.sort(nodes, ( o1, o2) -> PositionUtils.compare(o1, o2, ignoringAnnotations)) ==> UNSOLVED - Line 50) PositionUtils.compare(o1, o2, ignoringAnnotations) ==> ERROR + Line 50) Collections.sort(nodes, ( o1, o2) -> PositionUtils.compare(o1, o2, ignoringAnnotations)) ==> java.util.Collections.sort(java.util.List, java.util.Comparator) + Line 50) PositionUtils.compare(o1, o2, ignoringAnnotations) ==> UNSOLVED Line 54) areInOrder(a, b, false) ==> com.github.javaparser.utils.PositionUtils.areInOrder(com.github.javaparser.ast.Node, com.github.javaparser.ast.Node, boolean) Line 58) compare(a, b, ignoringAnnotations) ==> com.github.javaparser.utils.PositionUtils.compare(com.github.javaparser.ast.Node, com.github.javaparser.ast.Node, boolean) Line 63) signum(beginLineWithoutConsideringAnnotation(a) - beginLineWithoutConsideringAnnotation(b)) ==> java.lang.Integer.signum(int) diff --git a/java-symbol-solver-model/src/main/java/me/tomassetti/symbolsolver/model/declarations/TypeDeclaration.java b/java-symbol-solver-model/src/main/java/me/tomassetti/symbolsolver/model/declarations/TypeDeclaration.java index 41265c8e42..4746fc6c31 100644 --- a/java-symbol-solver-model/src/main/java/me/tomassetti/symbolsolver/model/declarations/TypeDeclaration.java +++ b/java-symbol-solver-model/src/main/java/me/tomassetti/symbolsolver/model/declarations/TypeDeclaration.java @@ -115,4 +115,13 @@ default ClassDeclaration asClass() { default InterfaceDeclaration asInterface() { throw new UnsupportedOperationException(this.getClass().getCanonicalName()); } + + boolean hasDirectlyAnnotation(String canonicalName); + + default boolean hasAnnotation(String canonicalName) { + if (hasDirectlyAnnotation(canonicalName)) { + return true; + } + return getAllAncestors().stream().anyMatch(it -> it.asReferenceTypeUsage().getTypeDeclaration().hasDirectlyAnnotation(canonicalName)); + } }