• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package com.github.javaparser.symbolsolver;
2 
3 import com.github.javaparser.ast.CompilationUnit;
4 import com.github.javaparser.ast.body.ClassOrInterfaceDeclaration;
5 import com.github.javaparser.ast.body.MethodDeclaration;
6 import com.github.javaparser.ast.expr.MethodCallExpr;
7 import com.github.javaparser.ast.stmt.ExpressionStmt;
8 import com.github.javaparser.symbolsolver.javaparser.Navigator;
9 import com.github.javaparser.symbolsolver.javaparsermodel.JavaParserFacade;
10 import com.github.javaparser.symbolsolver.model.resolution.TypeSolver;
11 import com.github.javaparser.symbolsolver.resolution.AbstractResolutionTest;
12 import com.github.javaparser.symbolsolver.resolution.typesolvers.ReflectionTypeSolver;
13 
14 import org.junit.jupiter.api.Assertions;
15 import org.junit.jupiter.api.Test;
16 
17 class Issue251Test extends AbstractResolutionTest{
18 
19     @Test
testSolveStaticallyImportedMemberType()20     void testSolveStaticallyImportedMemberType() {
21         CompilationUnit cu = parseSample("Issue251");
22         ClassOrInterfaceDeclaration cls = Navigator.demandClassOrInterface(cu, "Main");
23         TypeSolver typeSolver = new ReflectionTypeSolver();
24         JavaParserFacade javaParserFacade = JavaParserFacade.get(typeSolver);
25         MethodDeclaration m = Navigator.demandMethod(cls, "bar");
26         ExpressionStmt stmt = (ExpressionStmt) m.getBody().get().getStatements().get(1);
27         MethodCallExpr expression = (MethodCallExpr) stmt.getExpression();
28         Assertions.assertNotNull(javaParserFacade.solve(expression));
29     }
30 }
31