@Override public void visitNode(AstNode node) { if (node.is(CxxGrammarImpl.LITERAL)) { reg.reset(node.getTokenOriginalValue().replaceAll("\\s", "")); if (reg.find()) { getContext() .createLineViolation(this, "Do not hard code sensitive data in programs.", node); } } }
private static List<String> getParameters(AstNode node) { ImmutableList.Builder<String> builder = ImmutableList.builder(); for (AstNode parameter : node.getFirstChild(JavaGrammar.FORMAL_PARAMETERS) .getDescendants(JavaGrammar.VARIABLE_DECLARATOR_ID)) { builder.add(parameter.getTokenOriginalValue()); } return builder.build(); }
/** * Method that searches for testMethod keyword in a method given a node. * * @param astNode parent node for method. * @return a boolean value, returns true if there is a testMethod keyword or false otherwise. */ public static boolean hasTestMethodKeyword(AstNode astNode) { boolean hasAnnotation = false; List<AstNode> modifiersChildren = astNode.getChildren(MODIFIERS); for (AstNode modifier : modifiersChildren) { for (AstNode modifierChild : modifier.getChildren()) { if ((modifierChild.getTokenOriginalValue().matches(TEST_METHOD_PATTERN))) { hasAnnotation = true; break; } } } return hasAnnotation; }
private void checkAssignment(AstNode astNode) { AstNode memberExpr = astNode.getFirstChild(); AstNode variable = memberExpr.getFirstChild(); if (memberExpr.getNumberOfChildren() == 1 && variable.is(PHPGrammar.VARIABLE_WITHOUT_OBJECTS)) { String varName = variable.getTokenOriginalValue(); if (memberExpr.getTokens().size() == 1 && !CheckUtils.isSuperGlobal(varName) && !globalVariableNames.contains(varName)) { getContext().createLineViolation(this, "Move this variable into a class.", astNode); globalVariableNames.add(varName); } } }
/** * Looks for an Assertion inside method given a list of name nodes. * * @param nameNodes list of Name nodes * @param pattern a pattern to define if it is assert only or assertEquals or assertNotEquals * @return a boolean value true if there is an assertion, false otherwise. */ public static boolean hasAssertion(List<AstNode> nameNodes, String pattern) { StringBuilder validcall = new StringBuilder(); for (AstNode nameNodeChild : nameNodes) { if (nameNodeChild.getTokenOriginalValue().matches(SYSTEM_PATTERN)) { nameNodeChild .getChildren() .stream() .forEach( (AstNode nameNodeGrandChild) -> { validcall.append(nameNodeGrandChild.getTokenOriginalValue()); }); break; } } return validcall.toString().matches(pattern); }
private static boolean isReturnOfSuperReference(AstNode node) { return "return".equals(node.getTokenOriginalValue()) && hasSuperReferenceReturnedExpression(node); }
private static boolean isSuperReference(AstNode node) { return "super".equals(node.getTokenOriginalValue()); }
private static boolean isOverride(AstNode node) { return node.getToken().equals(node.getLastToken()) && "Override".equals(node.getTokenOriginalValue()); }