Skip to content

Commit

Permalink
rename DummyTypeSolver into MemoryTypeSolver
Browse files Browse the repository at this point in the history
  • Loading branch information
ftomassetti committed Nov 5, 2016
1 parent ab7f4cc commit f93a05f
Show file tree
Hide file tree
Showing 5 changed files with 50 additions and 45 deletions.
Expand Up @@ -23,7 +23,12 @@
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;


public class DummyTypeSolver implements TypeSolver { /**
* A TypeSolver which only consider the TypeDeclarations provided to it.
*
* @author Federico Tomassetti
*/
public class MemoryTypeSolver implements TypeSolver {


private TypeSolver parent; private TypeSolver parent;
private Map<String, TypeDeclaration> declarationMap = new HashMap<>(); private Map<String, TypeDeclaration> declarationMap = new HashMap<>();
Expand Down
Expand Up @@ -61,7 +61,7 @@ public void resolveDeclaredFieldReference() throws ParseException {
ExpressionStmt stmt = (ExpressionStmt) method1.getBody().get().getStmts().get(0); ExpressionStmt stmt = (ExpressionStmt) method1.getBody().get().getStmts().get(0);
AssignExpr assignExpr = (AssignExpr) stmt.getExpression(); AssignExpr assignExpr = (AssignExpr) stmt.getExpression();


SymbolSolver symbolSolver = new SymbolSolver(new DummyTypeSolver()); SymbolSolver symbolSolver = new SymbolSolver(new MemoryTypeSolver());
SymbolReference symbolReference = symbolSolver.solveSymbol("i", assignExpr.getTarget()); SymbolReference symbolReference = symbolSolver.solveSymbol("i", assignExpr.getTarget());


assertEquals(true, symbolReference.isSolved()); assertEquals(true, symbolReference.isSolved());
Expand All @@ -77,7 +77,7 @@ public void resolveInheritedFieldReference() throws ParseException {
ExpressionStmt stmt = (ExpressionStmt) method1.getBody().get().getStmts().get(0); ExpressionStmt stmt = (ExpressionStmt) method1.getBody().get().getStmts().get(0);
AssignExpr assignExpr = (AssignExpr) stmt.getExpression(); AssignExpr assignExpr = (AssignExpr) stmt.getExpression();


SymbolSolver symbolSolver = new SymbolSolver(new DummyTypeSolver()); SymbolSolver symbolSolver = new SymbolSolver(new MemoryTypeSolver());
SymbolReference symbolReference = symbolSolver.solveSymbol("i", assignExpr.getTarget()); SymbolReference symbolReference = symbolSolver.solveSymbol("i", assignExpr.getTarget());


assertEquals(true, symbolReference.isSolved()); assertEquals(true, symbolReference.isSolved());
Expand All @@ -92,7 +92,7 @@ public void resolveParameterReference() throws ParseException {
MethodDeclaration method1 = Navigator.demandMethod(referencesToField, "aMethod"); MethodDeclaration method1 = Navigator.demandMethod(referencesToField, "aMethod");
NameExpr foo = Navigator.findNameExpression(method1, "foo"); NameExpr foo = Navigator.findNameExpression(method1, "foo");


SymbolSolver symbolSolver = new SymbolSolver(new DummyTypeSolver()); SymbolSolver symbolSolver = new SymbolSolver(new MemoryTypeSolver());
SymbolReference symbolReference = symbolSolver.solveSymbol("foo", foo); SymbolReference symbolReference = symbolSolver.solveSymbol("foo", foo);


assertEquals(true, symbolReference.isSolved()); assertEquals(true, symbolReference.isSolved());
Expand Down
Expand Up @@ -37,7 +37,7 @@
import com.github.javaparser.symbolsolver.model.typesystem.Type; import com.github.javaparser.symbolsolver.model.typesystem.Type;
import com.github.javaparser.symbolsolver.reflectionmodel.ReflectionClassDeclaration; import com.github.javaparser.symbolsolver.reflectionmodel.ReflectionClassDeclaration;
import com.github.javaparser.symbolsolver.resolution.AbstractResolutionTest; import com.github.javaparser.symbolsolver.resolution.AbstractResolutionTest;
import com.github.javaparser.symbolsolver.resolution.typesolvers.DummyTypeSolver; import com.github.javaparser.symbolsolver.resolution.typesolvers.MemoryTypeSolver;
import com.github.javaparser.symbolsolver.resolution.typesolvers.ReflectionTypeSolver; import com.github.javaparser.symbolsolver.resolution.typesolvers.ReflectionTypeSolver;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import org.junit.Before; import org.junit.Before;
Expand Down Expand Up @@ -76,9 +76,9 @@ public void solveExistingGenericType() throws ParseException {
ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A"); ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A");
Context context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver); Context context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver);


Optional<Type> a = context.solveGenericType("A", new DummyTypeSolver()); Optional<Type> a = context.solveGenericType("A", new MemoryTypeSolver());
Optional<Type> b = context.solveGenericType("B", new DummyTypeSolver()); Optional<Type> b = context.solveGenericType("B", new MemoryTypeSolver());
Optional<Type> c = context.solveGenericType("C", new DummyTypeSolver()); Optional<Type> c = context.solveGenericType("C", new MemoryTypeSolver());


assertEquals(true, a.isPresent()); assertEquals(true, a.isPresent());
assertEquals("A", a.get().describe()); assertEquals("A", a.get().describe());
Expand All @@ -97,7 +97,7 @@ public void solveUnexistingGenericType() throws ParseException {
ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A"); ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A");
Context context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver); Context context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver);


Optional<Type> d = context.solveGenericType("D", new DummyTypeSolver()); Optional<Type> d = context.solveGenericType("D", new MemoryTypeSolver());


assertEquals(false, d.isPresent()); assertEquals(false, d.isPresent());
} }
Expand All @@ -108,7 +108,7 @@ public void solveSymbolReferringToDeclaredInstanceField() throws ParseException
ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A"); ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A");
Context context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver); Context context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver);


SymbolReference<? extends ValueDeclaration> ref = context.solveSymbol("i", new DummyTypeSolver()); SymbolReference<? extends ValueDeclaration> ref = context.solveSymbol("i", new MemoryTypeSolver());
assertEquals(true, ref.isSolved()); assertEquals(true, ref.isSolved());
assertEquals("int", ref.getCorrespondingDeclaration().getType().describe()); assertEquals("int", ref.getCorrespondingDeclaration().getType().describe());
} }
Expand All @@ -119,7 +119,7 @@ public void solveSymbolReferringToDeclaredStaticField() throws ParseException {
ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A"); ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A");
Context context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver); Context context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver);


SymbolReference<? extends ValueDeclaration> ref = context.solveSymbol("j", new DummyTypeSolver()); SymbolReference<? extends ValueDeclaration> ref = context.solveSymbol("j", new MemoryTypeSolver());
assertEquals(true, ref.isSolved()); assertEquals(true, ref.isSolved());
assertEquals("long", ref.getCorrespondingDeclaration().getType().describe()); assertEquals("long", ref.getCorrespondingDeclaration().getType().describe());
} }
Expand All @@ -130,7 +130,7 @@ public void solveSymbolReferringToInheritedInstanceField() throws ParseException
ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A"); ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A");
Context context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver); Context context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver);


SymbolReference<? extends ValueDeclaration> ref = context.solveSymbol("k", new DummyTypeSolver()); SymbolReference<? extends ValueDeclaration> ref = context.solveSymbol("k", new MemoryTypeSolver());
assertEquals(true, ref.isSolved()); assertEquals(true, ref.isSolved());
assertEquals("boolean", ref.getCorrespondingDeclaration().getType().describe()); assertEquals("boolean", ref.getCorrespondingDeclaration().getType().describe());
} }
Expand All @@ -141,7 +141,7 @@ public void solveSymbolReferringToInterfaceInheritedInstanceField() throws Parse
ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A"); ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A");
Context context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver); Context context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver);


SymbolReference<? extends ValueDeclaration> ref = context.solveSymbol("o", new DummyTypeSolver()); SymbolReference<? extends ValueDeclaration> ref = context.solveSymbol("o", new MemoryTypeSolver());
assertEquals(true, ref.isSolved()); assertEquals(true, ref.isSolved());
assertEquals("int", ref.getCorrespondingDeclaration().getType().describe()); assertEquals("int", ref.getCorrespondingDeclaration().getType().describe());
} }
Expand All @@ -152,7 +152,7 @@ public void solveSymbolReferringToInheritedStaticField() throws ParseException {
ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A"); ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A");
Context context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver); Context context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver);


SymbolReference<? extends ValueDeclaration> ref = context.solveSymbol("m", new DummyTypeSolver()); SymbolReference<? extends ValueDeclaration> ref = context.solveSymbol("m", new MemoryTypeSolver());
assertEquals(true, ref.isSolved()); assertEquals(true, ref.isSolved());
assertEquals("char", ref.getCorrespondingDeclaration().getType().describe()); assertEquals("char", ref.getCorrespondingDeclaration().getType().describe());
} }
Expand All @@ -163,7 +163,7 @@ public void solveSymbolReferringToUnknownElement() throws ParseException {
ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A"); ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A");
Context context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver); Context context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver);


SymbolReference<? extends ValueDeclaration> ref = context.solveSymbol("zzz", new DummyTypeSolver()); SymbolReference<? extends ValueDeclaration> ref = context.solveSymbol("zzz", new MemoryTypeSolver());
assertEquals(false, ref.isSolved()); assertEquals(false, ref.isSolved());
} }


Expand All @@ -173,7 +173,7 @@ public void solveSymbolAsValueReferringToDeclaredInstanceField() throws ParseExc
ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A"); ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A");
Context context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver); Context context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver);


Optional<Value> ref = context.solveSymbolAsValue("i", new DummyTypeSolver()); Optional<Value> ref = context.solveSymbolAsValue("i", new MemoryTypeSolver());
assertEquals(true, ref.isPresent()); assertEquals(true, ref.isPresent());
assertEquals("int", ref.get().getType().describe()); assertEquals("int", ref.get().getType().describe());
} }
Expand All @@ -184,7 +184,7 @@ public void solveSymbolAsValueReferringToDeclaredStaticField() throws ParseExcep
ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A"); ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A");
Context context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver); Context context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver);


Optional<Value> ref = context.solveSymbolAsValue("j", new DummyTypeSolver()); Optional<Value> ref = context.solveSymbolAsValue("j", new MemoryTypeSolver());
assertEquals(true, ref.isPresent()); assertEquals(true, ref.isPresent());
assertEquals("long", ref.get().getType().describe()); assertEquals("long", ref.get().getType().describe());
} }
Expand All @@ -195,7 +195,7 @@ public void solveSymbolAsValueReferringToInheritedInstanceField() throws ParseEx
ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A"); ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A");
Context context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver); Context context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver);


Optional<Value> ref = context.solveSymbolAsValue("k", new DummyTypeSolver()); Optional<Value> ref = context.solveSymbolAsValue("k", new MemoryTypeSolver());
assertEquals(true, ref.isPresent()); assertEquals(true, ref.isPresent());
assertEquals("boolean", ref.get().getType().describe()); assertEquals("boolean", ref.get().getType().describe());
} }
Expand All @@ -206,7 +206,7 @@ public void solveSymbolAsValueReferringToInterfaceInheritedInstanceField() throw
ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A"); ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A");
ClassOrInterfaceDeclarationContext context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver); ClassOrInterfaceDeclarationContext context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver);


Optional<Value> ref = context.solveSymbolAsValue("o", new DummyTypeSolver()); Optional<Value> ref = context.solveSymbolAsValue("o", new MemoryTypeSolver());
assertEquals(true, ref.isPresent()); assertEquals(true, ref.isPresent());
assertEquals("int", ref.get().getType().describe()); assertEquals("int", ref.get().getType().describe());
} }
Expand All @@ -217,7 +217,7 @@ public void solveSymbolAsValueReferringToInheritedStaticField() throws ParseExce
ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A"); ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A");
Context context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver); Context context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver);


Optional<Value> ref = context.solveSymbolAsValue("m", new DummyTypeSolver()); Optional<Value> ref = context.solveSymbolAsValue("m", new MemoryTypeSolver());
assertEquals(true, ref.isPresent()); assertEquals(true, ref.isPresent());
assertEquals("char", ref.get().getType().describe()); assertEquals("char", ref.get().getType().describe());
} }
Expand All @@ -228,7 +228,7 @@ public void solveSymbolAsValueReferringToUnknownElement() throws ParseException
ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A"); ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A");
Context context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver); Context context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver);


Optional<Value> ref = context.solveSymbolAsValue("zzz", new DummyTypeSolver()); Optional<Value> ref = context.solveSymbolAsValue("zzz", new MemoryTypeSolver());
assertEquals(false, ref.isPresent()); assertEquals(false, ref.isPresent());
} }


Expand All @@ -238,7 +238,7 @@ public void solveTypeRefToItself() throws ParseException {
ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A"); ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A");
Context context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver); Context context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver);


SymbolReference<TypeDeclaration> ref = context.solveType("A", new DummyTypeSolver()); SymbolReference<TypeDeclaration> ref = context.solveType("A", new MemoryTypeSolver());
assertEquals(true, ref.isSolved()); assertEquals(true, ref.isSolved());
} }


Expand All @@ -248,7 +248,7 @@ public void solveTypeRefToUnexisting() throws ParseException {
ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A"); ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A");
Context context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver); Context context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver);


SymbolReference<TypeDeclaration> ref = context.solveType("Foo", new DummyTypeSolver()); SymbolReference<TypeDeclaration> ref = context.solveType("Foo", new MemoryTypeSolver());
assertEquals(false, ref.isSolved()); assertEquals(false, ref.isSolved());
} }


Expand Down Expand Up @@ -278,7 +278,7 @@ public void solveTypeRefToInternalClass() throws ParseException {
ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A"); ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A");
Context context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver); Context context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver);


SymbolReference<TypeDeclaration> ref = context.solveType("B", new DummyTypeSolver()); SymbolReference<TypeDeclaration> ref = context.solveType("B", new MemoryTypeSolver());
assertEquals(true, ref.isSolved()); assertEquals(true, ref.isSolved());
} }


Expand All @@ -288,7 +288,7 @@ public void solveTypeRefToInternalEnum() throws ParseException {
ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A"); ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A");
Context context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver); Context context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver);


SymbolReference<TypeDeclaration> ref = context.solveType("E", new DummyTypeSolver()); SymbolReference<TypeDeclaration> ref = context.solveType("E", new MemoryTypeSolver());
assertEquals(true, ref.isSolved()); assertEquals(true, ref.isSolved());
} }


Expand All @@ -298,7 +298,7 @@ public void solveTypeRefToInternalOfInternalClass() throws ParseException {
ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A"); ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A");
Context context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver); Context context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver);


SymbolReference<TypeDeclaration> ref = context.solveType("C", new DummyTypeSolver()); SymbolReference<TypeDeclaration> ref = context.solveType("C", new MemoryTypeSolver());
assertEquals(false, ref.isSolved()); assertEquals(false, ref.isSolved());
} }


Expand All @@ -308,7 +308,7 @@ public void solveTypeRefToAnotherClassInFile() throws ParseException {
ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A"); ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A");
Context context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver); Context context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver);


SymbolReference<TypeDeclaration> ref = context.solveType("Super", new DummyTypeSolver()); SymbolReference<TypeDeclaration> ref = context.solveType("Super", new MemoryTypeSolver());
assertEquals(true, ref.isSolved()); assertEquals(true, ref.isSolved());
} }


Expand All @@ -318,7 +318,7 @@ public void solveTypeRefToQualifiedInternalClass() throws ParseException {
ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A"); ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A");
Context context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver); Context context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver);


SymbolReference<TypeDeclaration> ref = context.solveType("A.B", new DummyTypeSolver()); SymbolReference<TypeDeclaration> ref = context.solveType("A.B", new MemoryTypeSolver());
assertEquals(true, ref.isSolved()); assertEquals(true, ref.isSolved());
} }


Expand All @@ -328,7 +328,7 @@ public void solveTypeRefToQualifiedInternalOfInternalClass() throws ParseExcepti
ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A"); ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A");
Context context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver); Context context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver);


SymbolReference<TypeDeclaration> ref = context.solveType("B.C", new DummyTypeSolver()); SymbolReference<TypeDeclaration> ref = context.solveType("B.C", new MemoryTypeSolver());
assertEquals(true, ref.isSolved()); assertEquals(true, ref.isSolved());
} }


Expand All @@ -338,7 +338,7 @@ public void solveTypeRefToMoreQualifiedInternalOfInternalClass() throws ParseExc
ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A"); ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A");
Context context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver); Context context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver);


SymbolReference<TypeDeclaration> ref = context.solveType("A.B.C", new DummyTypeSolver()); SymbolReference<TypeDeclaration> ref = context.solveType("A.B.C", new MemoryTypeSolver());
assertEquals(true, ref.isSolved()); assertEquals(true, ref.isSolved());
} }


Expand Down
Expand Up @@ -31,7 +31,7 @@
import com.github.javaparser.symbolsolver.model.typesystem.Type; import com.github.javaparser.symbolsolver.model.typesystem.Type;
import com.github.javaparser.symbolsolver.resolution.AbstractResolutionTest; import com.github.javaparser.symbolsolver.resolution.AbstractResolutionTest;
import com.github.javaparser.symbolsolver.resolution.typesolvers.CombinedTypeSolver; import com.github.javaparser.symbolsolver.resolution.typesolvers.CombinedTypeSolver;
import com.github.javaparser.symbolsolver.resolution.typesolvers.DummyTypeSolver; import com.github.javaparser.symbolsolver.resolution.typesolvers.MemoryTypeSolver;
import com.github.javaparser.symbolsolver.resolution.typesolvers.JarTypeSolver; import com.github.javaparser.symbolsolver.resolution.typesolvers.JarTypeSolver;
import com.github.javaparser.symbolsolver.resolution.typesolvers.ReflectionTypeSolver; import com.github.javaparser.symbolsolver.resolution.typesolvers.ReflectionTypeSolver;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
Expand Down Expand Up @@ -70,9 +70,9 @@ public void solveExistingGenericType() throws ParseException {
CompilationUnit cu = parseSample("ClassWithTypeVariables"); CompilationUnit cu = parseSample("ClassWithTypeVariables");
Context context = new CompilationUnitContext(cu, typeSolver); Context context = new CompilationUnitContext(cu, typeSolver);


Optional<Type> a = context.solveGenericType("A", new DummyTypeSolver()); Optional<Type> a = context.solveGenericType("A", new MemoryTypeSolver());
Optional<Type> b = context.solveGenericType("B", new DummyTypeSolver()); Optional<Type> b = context.solveGenericType("B", new MemoryTypeSolver());
Optional<Type> c = context.solveGenericType("C", new DummyTypeSolver()); Optional<Type> c = context.solveGenericType("C", new MemoryTypeSolver());


assertEquals(false, a.isPresent()); assertEquals(false, a.isPresent());
assertEquals(false, b.isPresent()); assertEquals(false, b.isPresent());
Expand All @@ -84,7 +84,7 @@ public void solveUnexistingGenericType() throws ParseException {
CompilationUnit cu = parseSample("ClassWithTypeVariables"); CompilationUnit cu = parseSample("ClassWithTypeVariables");
Context context = new CompilationUnitContext(cu, typeSolver); Context context = new CompilationUnitContext(cu, typeSolver);


Optional<Type> d = context.solveGenericType("D", new DummyTypeSolver()); Optional<Type> d = context.solveGenericType("D", new MemoryTypeSolver());


assertEquals(false, d.isPresent()); assertEquals(false, d.isPresent());
} }
Expand Down Expand Up @@ -168,11 +168,11 @@ public void solveTypeInSamePackage() throws ParseException {


TypeDeclaration otherClass = EasyMock.createMock(TypeDeclaration.class); TypeDeclaration otherClass = EasyMock.createMock(TypeDeclaration.class);
EasyMock.expect(otherClass.getQualifiedName()).andReturn("com.foo.OtherClassInSamePackage"); EasyMock.expect(otherClass.getQualifiedName()).andReturn("com.foo.OtherClassInSamePackage");
DummyTypeSolver dummyTypeSolver = new DummyTypeSolver(); MemoryTypeSolver memoryTypeSolver = new MemoryTypeSolver();
dummyTypeSolver.addDeclaration("com.foo.OtherClassInSamePackage", otherClass); memoryTypeSolver.addDeclaration("com.foo.OtherClassInSamePackage", otherClass);
EasyMock.replay(otherClass); EasyMock.replay(otherClass);


SymbolReference<TypeDeclaration> ref = context.solveType("OtherClassInSamePackage", dummyTypeSolver); SymbolReference<TypeDeclaration> ref = context.solveType("OtherClassInSamePackage", memoryTypeSolver);
assertEquals(true, ref.isSolved()); assertEquals(true, ref.isSolved());
assertEquals("com.foo.OtherClassInSamePackage", ref.getCorrespondingDeclaration().getQualifiedName()); assertEquals("com.foo.OtherClassInSamePackage", ref.getCorrespondingDeclaration().getQualifiedName());
} }
Expand Down

0 comments on commit f93a05f

Please sign in to comment.