@Test public void solveMethodWithTypePromotionsToByte() throws ParseException { CompilationUnit cu = parseSample("Issue338"); ClassOrInterfaceDeclaration clazz = Navigator.demandClass(cu, "TypePromotions"); MethodDeclaration method = Navigator.demandMethod(clazz, "callingByte"); { MethodCallExpr expression = method.getBody().get().getStatements().get(0).asExpressionStmt().getExpression().asMethodCallExpr(); SymbolReference<ResolvedMethodDeclaration> reference = JavaParserFacade.get(new ReflectionTypeSolver()).solve(expression); assertEquals(true, reference.isSolved()); assertEquals("byteParam", reference.getCorrespondingDeclaration().getName()); } { MethodCallExpr expression = method.getBody().get().getStatements().get(1).asExpressionStmt().getExpression().asMethodCallExpr(); SymbolReference<ResolvedMethodDeclaration> reference = JavaParserFacade.get(new ReflectionTypeSolver()).solve(expression); assertEquals(false, reference.isSolved()); } { MethodCallExpr expression = method.getBody().get().getStatements().get(2).asExpressionStmt().getExpression().asMethodCallExpr(); SymbolReference<ResolvedMethodDeclaration> reference = JavaParserFacade.get(new ReflectionTypeSolver()).solve(expression); assertEquals(false, reference.isSolved()); } { MethodCallExpr expression = method.getBody().get().getStatements().get(3).asExpressionStmt().getExpression().asMethodCallExpr(); SymbolReference<ResolvedMethodDeclaration> reference = JavaParserFacade.get(new ReflectionTypeSolver()).solve(expression); assertEquals(false, reference.isSolved()); } }
@Test public void solveMethodWithTypePromotionsToByteWithExtraParam() throws ParseException { CompilationUnit cu = parseSample("Issue338"); ClassOrInterfaceDeclaration clazz = Navigator.demandClass(cu, "TypePromotionsWithExtraParam"); MethodDeclaration method = Navigator.demandMethod(clazz, "callingByte"); { MethodCallExpr expression = method.getBody().get().getStatements().get(0).asExpressionStmt().getExpression().asMethodCallExpr(); SymbolReference<ResolvedMethodDeclaration> reference = JavaParserFacade.get(new ReflectionTypeSolver()).solve(expression); assertEquals(true, reference.isSolved()); assertEquals("byteParam", reference.getCorrespondingDeclaration().getName()); } { MethodCallExpr expression = method.getBody().get().getStatements().get(1).asExpressionStmt().getExpression().asMethodCallExpr(); SymbolReference<ResolvedMethodDeclaration> reference = JavaParserFacade.get(new ReflectionTypeSolver()).solve(expression); assertEquals(false, reference.isSolved()); } { MethodCallExpr expression = method.getBody().get().getStatements().get(2).asExpressionStmt().getExpression().asMethodCallExpr(); SymbolReference<ResolvedMethodDeclaration> reference = JavaParserFacade.get(new ReflectionTypeSolver()).solve(expression); assertEquals(false, reference.isSolved()); } { MethodCallExpr expression = method.getBody().get().getStatements().get(3).asExpressionStmt().getExpression().asMethodCallExpr(); SymbolReference<ResolvedMethodDeclaration> reference = JavaParserFacade.get(new ReflectionTypeSolver()).solve(expression); assertEquals(false, reference.isSolved()); } }
@Test public void solveMethodWithTypePromotionsToShortWithExtraParam() throws ParseException { CompilationUnit cu = parseSample("Issue338"); ClassOrInterfaceDeclaration clazz = Navigator.demandClass(cu, "TypePromotionsWithExtraParam"); MethodDeclaration method = Navigator.demandMethod(clazz, "callingShort"); { MethodCallExpr expression = method.getBody().get().getStatements().get(0).asExpressionStmt().getExpression().asMethodCallExpr(); SymbolReference<ResolvedMethodDeclaration> reference = JavaParserFacade.get(new ReflectionTypeSolver()).solve(expression); assertEquals(true, reference.isSolved()); assertEquals("shortParam", reference.getCorrespondingDeclaration().getName()); } { MethodCallExpr expression = method.getBody().get().getStatements().get(1).asExpressionStmt().getExpression().asMethodCallExpr(); SymbolReference<ResolvedMethodDeclaration> reference = JavaParserFacade.get(new ReflectionTypeSolver()).solve(expression); assertEquals(true, reference.isSolved()); assertEquals("shortParam", reference.getCorrespondingDeclaration().getName()); } { MethodCallExpr expression = method.getBody().get().getStatements().get(2).asExpressionStmt().getExpression().asMethodCallExpr(); SymbolReference<ResolvedMethodDeclaration> reference = JavaParserFacade.get(new ReflectionTypeSolver()).solve(expression); assertEquals(false, reference.isSolved()); } { MethodCallExpr expression = method.getBody().get().getStatements().get(3).asExpressionStmt().getExpression().asMethodCallExpr(); SymbolReference<ResolvedMethodDeclaration> reference = JavaParserFacade.get(new ReflectionTypeSolver()).solve(expression); assertEquals(false, reference.isSolved()); } }
@Test public void solveMethodWithTypePromotionsToShort() throws ParseException { CompilationUnit cu = parseSample("Issue338"); ClassOrInterfaceDeclaration clazz = Navigator.demandClass(cu, "TypePromotions"); MethodDeclaration method = Navigator.demandMethod(clazz, "callingShort"); { MethodCallExpr expression = method.getBody().get().getStatements().get(0).asExpressionStmt().getExpression().asMethodCallExpr(); SymbolReference<ResolvedMethodDeclaration> reference = JavaParserFacade.get(new ReflectionTypeSolver()).solve(expression); assertEquals(true, reference.isSolved()); assertEquals("shortParam", reference.getCorrespondingDeclaration().getName()); } { MethodCallExpr expression = method.getBody().get().getStatements().get(1).asExpressionStmt().getExpression().asMethodCallExpr(); SymbolReference<ResolvedMethodDeclaration> reference = JavaParserFacade.get(new ReflectionTypeSolver()).solve(expression); assertEquals(true, reference.isSolved()); assertEquals("shortParam", reference.getCorrespondingDeclaration().getName()); } { MethodCallExpr expression = method.getBody().get().getStatements().get(2).asExpressionStmt().getExpression().asMethodCallExpr(); SymbolReference<ResolvedMethodDeclaration> reference = JavaParserFacade.get(new ReflectionTypeSolver()).solve(expression); assertEquals(false, reference.isSolved()); } { MethodCallExpr expression = method.getBody().get().getStatements().get(3).asExpressionStmt().getExpression().asMethodCallExpr(); SymbolReference<ResolvedMethodDeclaration> reference = JavaParserFacade.get(new ReflectionTypeSolver()).solve(expression); assertEquals(false, reference.isSolved()); } }
@Test public void solveMethodWithTypePromotionsToInt() throws ParseException { CompilationUnit cu = parseSample("Issue338"); ClassOrInterfaceDeclaration clazz = Navigator.demandClass(cu, "TypePromotions"); MethodDeclaration method = Navigator.demandMethod(clazz, "callingInt"); { MethodCallExpr expression = method.getBody().get().getStatements().get(0).asExpressionStmt().getExpression().asMethodCallExpr(); SymbolReference<ResolvedMethodDeclaration> reference = JavaParserFacade.get(new ReflectionTypeSolver()).solve(expression); assertEquals(true, reference.isSolved()); assertEquals("intParam", reference.getCorrespondingDeclaration().getName()); } { MethodCallExpr expression = method.getBody().get().getStatements().get(1).asExpressionStmt().getExpression().asMethodCallExpr(); SymbolReference<ResolvedMethodDeclaration> reference = JavaParserFacade.get(new ReflectionTypeSolver()).solve(expression); assertEquals(true, reference.isSolved()); assertEquals("intParam", reference.getCorrespondingDeclaration().getName()); } { MethodCallExpr expression = method.getBody().get().getStatements().get(2).asExpressionStmt().getExpression().asMethodCallExpr(); SymbolReference<ResolvedMethodDeclaration> reference = JavaParserFacade.get(new ReflectionTypeSolver()).solve(expression); assertEquals(true, reference.isSolved()); assertEquals("intParam", reference.getCorrespondingDeclaration().getName()); } { MethodCallExpr expression = method.getBody().get().getStatements().get(3).asExpressionStmt().getExpression().asMethodCallExpr(); SymbolReference<ResolvedMethodDeclaration> reference = JavaParserFacade.get(new ReflectionTypeSolver()).solve(expression); assertEquals(false, reference.isSolved()); } }
@Test public void solveMethodWithTypePromotionsToIntWithExtraParam() throws ParseException { CompilationUnit cu = parseSample("Issue338"); ClassOrInterfaceDeclaration clazz = Navigator.demandClass(cu, "TypePromotionsWithExtraParam"); MethodDeclaration method = Navigator.demandMethod(clazz, "callingInt"); { MethodCallExpr expression = method.getBody().get().getStatements().get(0).asExpressionStmt().getExpression().asMethodCallExpr(); SymbolReference<ResolvedMethodDeclaration> reference = JavaParserFacade.get(new ReflectionTypeSolver()).solve(expression); assertEquals(true, reference.isSolved()); assertEquals("intParam", reference.getCorrespondingDeclaration().getName()); } { MethodCallExpr expression = method.getBody().get().getStatements().get(1).asExpressionStmt().getExpression().asMethodCallExpr(); SymbolReference<ResolvedMethodDeclaration> reference = JavaParserFacade.get(new ReflectionTypeSolver()).solve(expression); assertEquals(true, reference.isSolved()); assertEquals("intParam", reference.getCorrespondingDeclaration().getName()); } { MethodCallExpr expression = method.getBody().get().getStatements().get(2).asExpressionStmt().getExpression().asMethodCallExpr(); SymbolReference<ResolvedMethodDeclaration> reference = JavaParserFacade.get(new ReflectionTypeSolver()).solve(expression); assertEquals(true, reference.isSolved()); assertEquals("intParam", reference.getCorrespondingDeclaration().getName()); } { MethodCallExpr expression = method.getBody().get().getStatements().get(3).asExpressionStmt().getExpression().asMethodCallExpr(); SymbolReference<ResolvedMethodDeclaration> reference = JavaParserFacade.get(new ReflectionTypeSolver()).solve(expression); assertEquals(false, reference.isSolved()); } }
@Test public void solveMethodWithTypePromotionsToLong() throws ParseException { CompilationUnit cu = parseSample("Issue338"); ClassOrInterfaceDeclaration clazz = Navigator.demandClass(cu, "TypePromotions"); MethodDeclaration method = Navigator.demandMethod(clazz, "callingLong"); { MethodCallExpr expression = method.getBody().get().getStatements().get(0).asExpressionStmt().getExpression().asMethodCallExpr(); SymbolReference<ResolvedMethodDeclaration> reference = JavaParserFacade.get(new ReflectionTypeSolver()).solve(expression); assertEquals(true, reference.isSolved()); assertEquals("longParam", reference.getCorrespondingDeclaration().getName()); } { MethodCallExpr expression = method.getBody().get().getStatements().get(1).asExpressionStmt().getExpression().asMethodCallExpr(); SymbolReference<ResolvedMethodDeclaration> reference = JavaParserFacade.get(new ReflectionTypeSolver()).solve(expression); assertEquals(true, reference.isSolved()); assertEquals("longParam", reference.getCorrespondingDeclaration().getName()); } { MethodCallExpr expression = method.getBody().get().getStatements().get(2).asExpressionStmt().getExpression().asMethodCallExpr(); SymbolReference<ResolvedMethodDeclaration> reference = JavaParserFacade.get(new ReflectionTypeSolver()).solve(expression); assertEquals(true, reference.isSolved()); assertEquals("longParam", reference.getCorrespondingDeclaration().getName()); } { MethodCallExpr expression = method.getBody().get().getStatements().get(3).asExpressionStmt().getExpression().asMethodCallExpr(); SymbolReference<ResolvedMethodDeclaration> reference = JavaParserFacade.get(new ReflectionTypeSolver()).solve(expression); assertEquals(true, reference.isSolved()); assertEquals("longParam", reference.getCorrespondingDeclaration().getName()); } }
@Test public void solveMethodWithTypePromotionsToLongWithExtraParam() throws ParseException { CompilationUnit cu = parseSample("Issue338"); ClassOrInterfaceDeclaration clazz = Navigator.demandClass(cu, "TypePromotionsWithExtraParam"); MethodDeclaration method = Navigator.demandMethod(clazz, "callingLong"); { MethodCallExpr expression = method.getBody().get().getStatements().get(0).asExpressionStmt().getExpression().asMethodCallExpr(); SymbolReference<ResolvedMethodDeclaration> reference = JavaParserFacade.get(new ReflectionTypeSolver()).solve(expression); assertEquals(true, reference.isSolved()); assertEquals("longParam", reference.getCorrespondingDeclaration().getName()); } { MethodCallExpr expression = method.getBody().get().getStatements().get(1).asExpressionStmt().getExpression().asMethodCallExpr(); SymbolReference<ResolvedMethodDeclaration> reference = JavaParserFacade.get(new ReflectionTypeSolver()).solve(expression); assertEquals(true, reference.isSolved()); assertEquals("longParam", reference.getCorrespondingDeclaration().getName()); } { MethodCallExpr expression = method.getBody().get().getStatements().get(2).asExpressionStmt().getExpression().asMethodCallExpr(); SymbolReference<ResolvedMethodDeclaration> reference = JavaParserFacade.get(new ReflectionTypeSolver()).solve(expression); assertEquals(true, reference.isSolved()); assertEquals("longParam", reference.getCorrespondingDeclaration().getName()); } { MethodCallExpr expression = method.getBody().get().getStatements().get(3).asExpressionStmt().getExpression().asMethodCallExpr(); SymbolReference<ResolvedMethodDeclaration> reference = JavaParserFacade.get(new ReflectionTypeSolver()).solve(expression); assertEquals(true, reference.isSolved()); assertEquals("longParam", reference.getCorrespondingDeclaration().getName()); } }