@Override public void visitElseClause(ElseClauseTree tree) { if (tree.is(Kind.ELSE_CLAUSE) && tree.statements().get(0).is(Kind.IF_STATEMENT)) { ifStatementWithoutNesting.add((IfStatementTree) tree.statements().get(0)); } else { complexity.addComplexityWithoutNesting(tree.elseToken()); } visitWithNesting(tree.statements()); }
@Override public void visitElseClause(ElseClauseTree tree) { if (tree.is(Kind.ELSE_CLAUSE) && tree.statements().get(0).is(Kind.IF_STATEMENT)) { ifStatementWithoutNesting.add((IfStatementTree) tree.statements().get(0)); } else { complexity.addComplexityWithoutNesting(tree.elseToken()); } visitWithNesting(tree.statements()); }
@Override public void visitElseClause(ElseClauseTree tree) { super.visitElseClause(tree); if (tree.is(Tree.Kind.ELSE_CLAUSE) && !tree.statements().get(0).is(Tree.Kind.IF_STATEMENT)) { checkStatement(tree.statements().get(0), tree.elseToken()); } }
@Override public void visitElseClause(ElseClauseTree tree) { super.visitElseClause(tree); if (tree.is(Tree.Kind.ELSE_CLAUSE) && !tree.statements().get(0).is(Tree.Kind.IF_STATEMENT)) { checkStatement(tree.statements().get(0), tree.elseToken()); } }
private static StatementTree getConditionalStatement(Tree tree) { List<StatementTree> statementTrees; if (tree.is(Tree.Kind.IF_STATEMENT)) { statementTrees = ((IfStatementTree) tree).statements(); } else if (tree.is(Tree.Kind.ELSEIF_CLAUSE)) { statementTrees = ((ElseifClauseTree) tree).statements(); } else { statementTrees = ((ElseClauseTree) tree).statements(); } return statementTrees.get(0); }
@Override public void visitElseClause(ElseClauseTree tree) { checkIndentation(tree.elseToken(), tree.statements()); super.visitElseClause(tree); }
@Override public void visitElseClause(ElseClauseTree tree) { super.visitElseClause(tree); if (tree.is(Kind.ELSE_CLAUSE) && tree.statements().get(0).is(Kind.IF_STATEMENT)) { IfStatementTree nestedIf = (IfStatementTree)tree.statements().get(0); if (nestedIf.elseClause() == null && nestedIf.elseifClauses().isEmpty()) { context().newIssue(this, tree.elseToken(), nestedIf.ifToken(), MESSAGE); } } }
private static StatementTree getConditionalStatement(Tree tree) { List<StatementTree> statementTrees; if (tree.is(Tree.Kind.IF_STATEMENT)) { statementTrees = ((IfStatementTree) tree).statements(); } else if (tree.is(Tree.Kind.ELSEIF_CLAUSE)) { statementTrees = ((ElseifClauseTree) tree).statements(); } else { statementTrees = ((ElseClauseTree) tree).statements(); } return statementTrees.get(0); }
@Override public void visitElseClause(ElseClauseTree tree) { checkIndentation(tree.elseToken(), tree.statements()); super.visitElseClause(tree); }
@Override public void visitElseClause(ElseClauseTree tree) { super.visitElseClause(tree); if (tree.is(Tree.Kind.ELSE_CLAUSE)) { checkBlock(tree.statements().get(0), getLastToken(tree.elseToken())); } }
@Override public void visitElseClause(ElseClauseTree tree) { super.visitElseClause(tree); if (tree.is(Tree.Kind.ELSE_CLAUSE)) { checkBlock(tree.statements().get(0), getLastToken(tree.elseToken())); } }
@Override public void visitElseClause(ElseClauseTree tree) { super.visitElseClause(tree); if (tree.is(Tree.Kind.ELSE_CLAUSE)) { checkBlock(tree.statements().get(0), getLastToken(tree.elseToken())); } }
@Override public void visitElseClause(ElseClauseTree tree) { checkControlStructureOpenCurly(tree.elseToken(), getOpenCurlyIfBlock(tree.statements())); super.visitElseClause(tree); }
@Override public void visitElseClause(ElseClauseTree tree) { checkControlStructureOpenCurly(tree.elseToken(), getOpenCurlyIfBlock(tree.statements())); super.visitElseClause(tree); }
@Override public void visitElseClause(ElseClauseTree tree) { if (!tree.is(Kind.ALTERNATIVE_ELSE_CLAUSE) && isElseIf(tree)) { context().newIssue(this, tree.elseToken(), ((IfStatementTree) tree.statements().get(0)).ifToken(), MESSAGE); } super.visitElseClause(tree); }
@Override public void visitElseClause(ElseClauseTree tree) { if (!tree.is(Kind.ALTERNATIVE_ELSE_CLAUSE) && isElseIf(tree)) { context().newIssue(this, tree.elseToken(), ((IfStatementTree) tree.statements().get(0)).ifToken(), MESSAGE); } super.visitElseClause(tree); }
@Test public void standard_syntax() throws Exception { ElseClauseTree tree = parse("else {}", PHPLexicalGrammar.ELSE_CLAUSE); assertThat(tree.is(Kind.ELSE_CLAUSE)).isTrue(); assertThat(tree.elseToken().text()).isEqualTo("else"); assertThat(tree.statements()).hasSize(1); }
@Test public void alternative_syntax() throws Exception { ElseClauseTree tree = parse("else : $stmt1; $stmt2; ", PHPLexicalGrammar.ALTERNATIVE_ELSE_CLAUSE); assertThat(tree.is(Kind.ALTERNATIVE_ELSE_CLAUSE)).isTrue(); assertThat(tree.elseToken().text()).isEqualTo("else"); assertThat(tree.colonToken().text()).isEqualTo(":"); assertThat(tree.statements()).hasSize(2); }
@Override public void visitIfStatement(IfStatementTree tree) { super.visitIfStatement(tree); if (!tree.elseifClauses().isEmpty() || tree.elseClause() == null) { return; } if (returnsBoolean(getSingleStatement(tree.statements())) && returnsBoolean(getSingleStatement(tree.elseClause().statements()))) { context().newIssue(this, tree.ifToken(), tree.condition(), MESSAGE); } }
@Override public void visitIfStatement(IfStatementTree tree) { super.visitIfStatement(tree); if (!tree.elseifClauses().isEmpty() || tree.elseClause() == null) { return; } if (returnsBoolean(getSingleStatement(tree.statements())) && returnsBoolean(getSingleStatement(tree.elseClause().statements()))) { context().newIssue(this, tree.ifToken(), tree.condition(), MESSAGE); } }