private boolean isInEqualsMethod(IfStatementTree ifStmt) { Tree tree = ifStmt.parent(); while (tree != null && !(tree instanceof MethodTree)) { tree = tree.parent(); } if (tree == null) { return false; } MethodTree methodTree = (MethodTree) tree; if (methodTree.simpleName().toString().equals("equals")) { return true; } return false; }
private static StatementTree getStatementTree(IfStatementTree ifStatementTree) { StatementTree elseStatementOrNextStatement = ifStatementTree.elseStatement(); if (elseStatementOrNextStatement == null) { JavaTree parent = (JavaTree) ifStatementTree.parent(); List<Tree> children = parent.getChildren(); int indexOfIf = children.indexOf(ifStatementTree); if (indexOfIf < children.size() - 1) { // Defensive, this condition should always be true as if necessarily followed by a statement or a token. Tree next = children.get(indexOfIf + 1); if(!next.is(Kind.TOKEN)) { elseStatementOrNextStatement = (StatementTree) next; } } } return elseStatementOrNextStatement; }
private static StatementTree getStatementTree(IfStatementTree ifStatementTree) { StatementTree elseStatementOrNextStatement = ifStatementTree.elseStatement(); if (elseStatementOrNextStatement == null) { JavaTree parent = (JavaTree) ifStatementTree.parent(); List<Tree> children = parent.getChildren(); int indexOfIf = children.indexOf(ifStatementTree); if (indexOfIf < children.size() - 1) { // Defensive, this condition should always be true as if necessarily followed by a statement or a token. Tree next = children.get(indexOfIf + 1); if(!next.is(Kind.TOKEN)) { elseStatementOrNextStatement = (StatementTree) next; } } } return elseStatementOrNextStatement; }
@Override public void visitIfStatement(IfStatementTree tree) { Tree parentTree = tree.parent(); if (parentTree.is(Tree.Kind.IF_STATEMENT) && tree.equals(((IfStatementTree) parentTree).elseStatement())) { checkForReport(tree.thenStatement(), ((IfStatementTree) parentTree).elseKeyword(), tree.closeParenToken(), tree.ifKeyword().firstToken().text()); } else { checkForReport(tree.thenStatement(), tree.ifKeyword(), tree.closeParenToken(), tree.ifKeyword().text()); } SyntaxToken elseKeyword = tree.elseKeyword(); if (elseKeyword != null && !tree.elseStatement().is(Tree.Kind.IF_STATEMENT)) { checkForReport(tree.elseStatement(), elseKeyword, elseKeyword, elseKeyword.firstToken().text()); } super.visitIfStatement(tree); }
@Override public void visitIfStatement(IfStatementTree tree) { Tree parentTree = tree.parent(); if (parentTree.is(Tree.Kind.IF_STATEMENT) && tree.equals(((IfStatementTree) parentTree).elseStatement())) { checkForReport(tree.thenStatement(), ((IfStatementTree) parentTree).elseKeyword(), tree.closeParenToken(), tree.ifKeyword().firstToken().text()); } else { checkForReport(tree.thenStatement(), tree.ifKeyword(), tree.closeParenToken(), tree.ifKeyword().text()); } SyntaxToken elseKeyword = tree.elseKeyword(); if (elseKeyword != null && !tree.elseStatement().is(Tree.Kind.IF_STATEMENT)) { checkForReport(tree.elseStatement(), elseKeyword, elseKeyword, elseKeyword.firstToken().text()); } super.visitIfStatement(tree); }