private static boolean hasElseOrElseifClause(AstNode ifStatement) { return ifStatement.hasDirectChildren( PHPGrammar.ELSE_CLAUSE, PHPGrammar.ALTERNATIVE_ELSE_CLAUSE, PHPGrammar.ELSEIF_LIST, PHPGrammar.ALTERNATIVE_ELSEIF_LIST); }
@Override public void visitNode(AstNode astNode) { if (astNode.hasDirectChildren(PythonPunctuator.BACKTICK)) { addIssue(astNode, "Use \"repr\" instead."); } }
@Override public void visitNode(AstNode astNode) { if (astNode.hasDirectChildren(PythonPunctuator.BACKTICK)) { addIssue(astNode, "Use \"repr\" instead."); } }
private boolean isDelegateExpression(AstNode node) { return node.getNumberOfChildren() == 1 && node.hasDirectChildren(CSharpGrammar.PRIMARY_EXPRESSION) && node.getFirstChild(CSharpGrammar.PRIMARY_EXPRESSION).hasDirectChildren(CSharpGrammar.ANONYMOUS_METHOD_EXPRESSION); }
public static boolean isNullLiteralOrEmptyString(AstNode node) { if (node != null) { if (node.hasDirectChildren(NULL_LITERAL)) { return true; } return isEmptyString(node); } return false; }
@Override public void visitNode(AstNode node) { if (node.hasDirectChildren(TreeFactory.WRAPPER_AST_NODE)) { getContext().createLineViolation(this, "Move the array designators \"[]\" to the end of the return type.", node); } }
private static boolean isSimpleExpression(List<AstNode> expressionStatements) { if (expressionStatements.size() != 1) { return false; } AstNode expressionStatement = expressionStatements.get(0); return (expressionStatement.getNumberOfChildren() == 1 && expressionStatement.getFirstChild().is(PythonGrammar.TESTLIST_STAR_EXPR)) || expressionStatement.hasDirectChildren(PythonGrammar.ANNASSIGN); }
private static Set<String> getNonOutNorRefMethodParameters(AstNode node) { return node.hasDirectChildren(CSharpGrammar.FORMAL_PARAMETER_LIST) ? getNonOutNorRefFormalParameters(node.getFirstChild(CSharpGrammar.FORMAL_PARAMETER_LIST)) : Collections.EMPTY_SET; }
private static boolean isSimpleExpression(List<AstNode> expressionStatements) { if (expressionStatements.size() != 1) { return false; } AstNode expressionStatement = expressionStatements.get(0); return (expressionStatement.getNumberOfChildren() == 1 && expressionStatement.getFirstChild().is(PythonGrammar.TESTLIST_STAR_EXPR)) || expressionStatement.hasDirectChildren(PythonGrammar.ANNASSIGN); }
@Override public void visitNode(AstNode node) { AstNode argListNode = node.getFirstChild(PythonGrammar.ARGLIST); if (argListNode == null || !argListNode.hasDirectChildren(PythonGrammar.ARGUMENT)) { addIssue(node.getFirstChild(PythonGrammar.CLASSNAME), MESSAGE); } }
@Override public void visitNode(AstNode node) { AstNode argListNode = node.getFirstChild(PythonGrammar.ARGLIST); if (argListNode == null || !argListNode.hasDirectChildren(PythonGrammar.ARGUMENT)) { addIssue(node.getFirstChild(PythonGrammar.CLASSNAME), MESSAGE); } }
@Override public void visitNode(AstNode node) { if (node.hasDirectChildren(PlSqlKeyword.DECLARE) && !node.hasDescendant(PlSqlGrammar.DECLARE_SECTION)) { addLineIssue(getLocalizedMessage(CHECK_KEY), node.getTokenLine()); } } }
@Override public void visitNode(AstNode node) { if (node.hasParent(PlSqlGrammar.FUNCTION_DECLARATION, PlSqlGrammar.CREATE_FUNCTION) && node.hasDirectChildren(PlSqlKeyword.OUT)) { addLineIssue(getLocalizedMessage(CHECK_KEY), node.getTokenLine()); } }
@Override public void visitNode(AstNode node) { if (node.hasDirectChildren(TreeFactory.WRAPPER_AST_NODE) || (node.is(Kind.VARIABLE) && ((VariableTreeImpl) node).dims() > 0)) { getContext().createLineViolation(this, "Move the array designator from the variable to the type.", node); } }
@Override public void visitNode(AstNode node) { AstNode argListNode = node.getFirstChild(PythonGrammar.ARGLIST); if (argListNode == null || !argListNode.hasDirectChildren(PythonGrammar.ARGUMENT)) { getContext().createLineViolation(this, "Add inheritance from \"object\" or some other new-style class.", node.getFirstChild(PythonGrammar.CLASSNAME)); } }
private void getCountersFromListExpression(Set<String> counters, AstNode initialiserExpr) { for (AstNode assignmentExpr : initialiserExpr.getChildren(FlexGrammar.ASSIGNMENT_EXPR_NO_IN)) { AstNode exprFirstChild = assignmentExpr.getFirstChild(); if (assignmentExpr.hasDirectChildren(FlexGrammar.ASSIGNMENT_OPERATOR)) { counters.add(Expression.exprToString(exprFirstChild)); } else if (exprFirstChild.is(FlexGrammar.UNARY_EXPR)) { counters.add(Expression.exprToString(exprFirstChild.getLastChild())); } else if (exprFirstChild.is(FlexGrammar.POSTFIX_EXPR)) { counters.add(Expression.exprToString(exprFirstChild.getFirstChild())); } } }
private static void getCountersFromListExpression(Set<String> counters, AstNode initialiserExpr) { for (AstNode assignmentExpr : initialiserExpr.getChildren(FlexGrammar.ASSIGNMENT_EXPR_NO_IN)) { AstNode exprFirstChild = assignmentExpr.getFirstChild(); if (assignmentExpr.hasDirectChildren(FlexGrammar.ASSIGNMENT_OPERATOR)) { counters.add(Expression.exprToString(exprFirstChild)); } else if (exprFirstChild.is(FlexGrammar.UNARY_EXPR)) { counters.add(Expression.exprToString(exprFirstChild.getLastChild())); } else if (exprFirstChild.is(FlexGrammar.POSTFIX_EXPR)) { counters.add(Expression.exprToString(exprFirstChild.getFirstChild())); } } }
@Override public void visitNode(AstNode node) { if (!node.getChildren().get(1).is(PlSqlKeyword.DISTINCT) || !node.hasDirectChildren(DmlGrammar.ORDER_BY_CLAUSE)) { return; } List<AstNode> columns = node.getChildren(DmlGrammar.SELECT_COLUMN); List<AstNode> orderByItems = node.getFirstChild(DmlGrammar.ORDER_BY_CLAUSE).getChildren(DmlGrammar.ORDER_BY_ITEM); for (AstNode orderByItem : orderByItems) { checkOrderByItem(orderByItem, columns); } }
private static boolean isEmptyBlock(AstNode node) { if (node.is(CSharpGrammar.SWITCH_STATEMENT)) { return !node.hasDirectChildren(CSharpGrammar.SWITCH_SECTION); } AstNode rightCurlyBrace = node.getFirstChild(CSharpPunctuator.RCURLYBRACE); return rightCurlyBrace.getPreviousAstNode().is(CSharpPunctuator.LCURLYBRACE) && !hasComment(rightCurlyBrace); }
private String getExpressionAsString(AstNode stmtList) { AstNode stmt = stmtList.getFirstChild().getFirstChild(); if (stmt.is(PHPGrammar.RETURN_STATEMENT) && stmt.hasDirectChildren(PHPGrammar.EXPRESSION)) { return CheckUtils.getExpressionAsString(stmt.getFirstChild(PHPGrammar.EXPRESSION)); } else if (stmt.is(PHPGrammar.EXPRESSION_STATEMENT)) { return CheckUtils.getExpressionAsString(stmt.getFirstChild(PHPGrammar.EXPRESSION)); } else { return null; } }