private static StatementTree getIfStatementLastBlock(StatementTree statementTree) { StatementTree block = statementTree; while (block.is(Tree.Kind.IF_STATEMENT)) { IfStatementTree ifStatementTree = (IfStatementTree) block; StatementTree elseStatement = ifStatementTree.elseStatement(); block = elseStatement == null ? ifStatementTree.thenStatement() : elseStatement; } return block; } }
private static StatementTree getIfStatementLastBlock(StatementTree statementTree) { StatementTree block = statementTree; while (block.is(Tree.Kind.IF_STATEMENT)) { IfStatementTree ifStatementTree = (IfStatementTree) block; StatementTree elseStatement = ifStatementTree.elseStatement(); block = elseStatement == null ? ifStatementTree.thenStatement() : elseStatement; } return block; } }
private void ifSynchronizedIfPattern(IfFieldEqNull parentIf, IfStatementTree nestedIf) { if (thenStmtInitializeField(nestedIf.thenStatement(), parentIf.field) && !parentIf.field.isVolatile() && !methodIsSynchronized) { SyntaxToken synchronizedKeyword = synchronizedStmtStack.peek().synchronizedTree.synchronizedKeyword(); reportIssue(synchronizedKeyword, "Remove this dangerous instance of double-checked locking.", createFlow(parentIf.ifTree, nestedIf), null); } }
@Override public void visitNode(Tree tree) { IfStatementTree ifStatementTree = (IfStatementTree) tree; if (hasOneReturnBoolean(ifStatementTree.elseStatement()) && hasOneReturnBoolean(ifStatementTree.thenStatement())) { addIssue(tree, "Replace this if-then-else statement by a single return statement."); } }
@Override public void visitNode(Tree tree) { IfStatementTree ifStatementTree = (IfStatementTree) tree; SyntaxToken lastToken = ifStatementTree.thenStatement().lastToken(); if (ifStatementTree.elseKeyword() == null) { if(previousToken != null && isOnSameLineAsPreviousIf(ifStatementTree)) { reportIssue(ifStatementTree.ifKeyword(), "Move this \"if\" to a new line or add the missing \"else\".", Collections.singletonList(new JavaFileScannerContext.Location("", previousToken)), null); } previousToken = lastToken; } }
@Override public void visitNode(Tree tree) { IfStatementTree ifStatementTree = (IfStatementTree) tree; SyntaxToken lastToken = ifStatementTree.thenStatement().lastToken(); if (ifStatementTree.elseKeyword() == null) { if(previousToken != null && isOnSameLineAsPreviousIf(ifStatementTree)) { reportIssue(ifStatementTree.ifKeyword(), "Move this \"if\" to a new line or add the missing \"else\".", Collections.singletonList(new JavaFileScannerContext.Location("", previousToken)), null); } previousToken = lastToken; } }
@Override public void visitIfStatement(IfStatementTree tree) { scan(tree.condition()); scan(tree.thenStatement()); scan(tree.elseStatement()); }
private void checkIfStatement(IfStatementTree ifStmt) { checkStatement(ifStmt.thenStatement(), ifStmt); StatementTree elseStmt = ifStmt.elseStatement(); if (elseStmt != null && !elseStmt.is(Tree.Kind.IF_STATEMENT)) { checkStatement(elseStmt, ifStmt.elseKeyword()); } }
@Override public void visitIfStatement(IfStatementTree tree) { scan(tree.condition()); scan(tree.thenStatement()); scan(tree.elseStatement()); }
private boolean isSameLine(IfStatementTree ifStmt) { StatementTree thenStmt = ifStmt.thenStatement(); if (thenStmt.is(Tree.Kind.BLOCK)) { return false; } return ifStmt.firstToken().line() == thenStmt.firstToken().line(); }
@Override public void visitIfStatement(IfStatementTree tree) { ExpressionVisitor expressionVisitor = new ExpressionVisitor(parameterSymbol); tree.condition().accept(expressionVisitor); if (expressionVisitor.typeChecked) { typeChecked = true; return; } scan(tree.thenStatement()); scan(tree.elseStatement()); }
private void checkIfStatement(IfStatementTree ifStmt) { checkStatement(ifStmt.ifKeyword(), ifStmt.thenStatement()); StatementTree elseStmt = ifStmt.elseStatement(); if (elseStmt != null && !elseStmt.is(Tree.Kind.IF_STATEMENT)) { checkStatement(ifStmt.elseKeyword(), elseStmt); } }
private void checkIfStatement(IfStatementTree ifStmt) { checkStatement(ifStmt.ifKeyword(), ifStmt.thenStatement()); StatementTree elseStmt = ifStmt.elseStatement(); if (elseStmt != null && !elseStmt.is(Tree.Kind.IF_STATEMENT)) { checkStatement(ifStmt.elseKeyword(), elseStmt); } }
@Override public void visitIfStatement(IfStatementTree tree) { ExpressionVisitor expressionVisitor = new ExpressionVisitor(parameterSymbol); tree.condition().accept(expressionVisitor); if (expressionVisitor.typeChecked) { typeChecked = true; return; } scan(tree.thenStatement()); scan(tree.elseStatement()); }
@Override public void visitIfStatement(IfStatementTree tree) { addKind(tree.condition(), UastNode.Kind.CONDITION); addKind(tree.thenStatement(), UastNode.Kind.THEN); StatementTree elseStatement = tree.elseStatement(); if (elseStatement != null) { addKind(elseStatement, UastNode.Kind.ELSE); } super.visitIfStatement(tree); }
@Override public void visitIfStatement(IfStatementTree tree) { checkBlock(tree.closeParenToken(), tree.thenStatement()); if (tree.elseKeyword() != null) { checkBlock(tree.elseKeyword(), tree.elseStatement()); } super.visitIfStatement(tree); }
private void visit(IfStatementTree tree) { scan(tree.condition()); scan(tree.thenStatement()); StatementTree elseStatementTree = tree.elseStatement(); if (elseStatementTree != null && elseStatementTree.is(Tree.Kind.IF_STATEMENT)) { visit((IfStatementTree) elseStatementTree); } else { scan(elseStatementTree); } }
private void visit(IfStatementTree tree) { scan(tree.condition()); scan(tree.thenStatement()); StatementTree elseStatementTree = tree.elseStatement(); if (elseStatementTree != null && elseStatementTree.is(Tree.Kind.IF_STATEMENT)) { visit((IfStatementTree) elseStatementTree); } else { scan(elseStatementTree); } }
private void visit(IfStatementTree tree) { scan(tree.condition()); scan(tree.thenStatement()); StatementTree elseStatementTree = tree.elseStatement(); if (elseStatementTree != null && elseStatementTree.is(Tree.Kind.IF_STATEMENT)) { visit((IfStatementTree) elseStatementTree); } else { scan(elseStatementTree); } }
@Override public void visitIfStatement(IfStatementTree tree) { addLine(tree.ifKeyword()); StatementTree thenStatement = tree.thenStatement(); StatementTree elseStatement = tree.elseStatement(); scan(thenStatement); scan(elseStatement); if (elseStatement == null) { addLineOfCloseBrace(tree.ifKeyword(), thenStatement); } else { addLineOfCloseBrace(tree.ifKeyword(), elseStatement); } }