/** * Extracts the method name of the method call. * @param prefix the method call * @return the name of the called method */ private String getMethodCallName(ASTPrimaryPrefix prefix) { String result = ""; if (prefix.jjtGetNumChildren() == 1 && prefix.jjtGetChild(0) instanceof ASTName) { result = getLastPartOfName(prefix.jjtGetChild(0)); } return result; }
private String getNameFromPrimaryPrefix(ASTPrimaryPrefix pp) { if (pp.jjtGetNumChildren() == 1 && pp.jjtGetChild(0) instanceof ASTName) { return ((ASTName) pp.jjtGetChild(0)).getImage(); } return null; } }
private String getNameFromPrimaryPrefix(ASTPrimaryPrefix pp) { if (pp.jjtGetNumChildren() == 1 && pp.jjtGetChild(0) instanceof ASTName) { return ((ASTName) pp.jjtGetChild(0)).getImage(); } return null; } }
/** * ASTPrimaryPrefix has name in child node of ASTName */ private static String getNameFromPrefix(ASTPrimaryPrefix node) { String name = null; // should only be 1 child, if more I need more knowledge if (node.jjtGetNumChildren() == 1) { // safety check Node nnode = node.jjtGetChild(0); if (nnode instanceof ASTName) { // just as easy as null check and it // should be an ASTName anyway name = ((ASTName) nnode).getImage(); } } return name; }
private boolean ifVerify(ASTIfStatement is, String varname) { List<ASTPrimaryExpression> finder = is.findDescendantsOfType(ASTPrimaryExpression.class); if (finder.size() > 1) { ASTPrimaryExpression nullStmt = findNonVariableStmt(varname, finder.get(0), finder.get(1)); if (nullStmt != null) { if (nullStmt.jjtGetNumChildren() == 1 && nullStmt.jjtGetChild(0) instanceof ASTPrimaryPrefix) { ASTPrimaryPrefix pp2 = (ASTPrimaryPrefix) nullStmt.jjtGetChild(0); if (pp2.jjtGetNumChildren() == 1 && pp2.jjtGetChild(0) instanceof ASTLiteral) { ASTLiteral lit = (ASTLiteral) pp2.jjtGetChild(0); if (lit.jjtGetNumChildren() == 1 && lit.jjtGetChild(0) instanceof ASTNullLiteral) { return true; } } } } } return false; }
ASTPrimaryPrefix xn = sn.getFirstDescendantOfType(ASTPrimaryPrefix.class); if (xn != null) { if (xn.jjtGetNumChildren() != 0 && xn.jjtGetChild(0) instanceof ASTLiteral) { ASTLiteral literal = (ASTLiteral) xn.jjtGetChild(0); String str = xn.jjtGetChild(0).getImage(); if (str != null) { if (literal.isStringLiteral()) {
|| guardCall.jjtGetChild(0).getImage() == null) { continue; String guardMethodCall = getLastPartOfName(guardCall.jjtGetChild(0)); boolean guardMethodCallMatches = guardStmtByLogLevel.get(methodCall).contains(guardMethodCall); boolean hasArguments = guardCall.jjtGetParent().hasDescendantOfType(ASTArgumentList.class);
@Override public Object visit(ASTPrimaryPrefix node, Object data) { if (node.jjtGetNumChildren() == 0 || !(node.jjtGetChild(0) instanceof ASTName)) { return super.visit(node, data); } String image = ((ASTName) node.jjtGetChild(0)).getImage(); if (image.startsWith("java.lang.")) { image = image.substring(10); } boolean checkBoolean = ((RuleContext) data).getLanguageVersion() .compareTo(LanguageRegistry.getLanguage(JavaLanguageModule.NAME).getVersion("1.5")) >= 0; if (PREFIX_SET.contains(image) || checkBoolean && "Boolean.valueOf".equals(image)) { ASTPrimaryExpression parent = (ASTPrimaryExpression) node.jjtGetParent(); if (parent.jjtGetNumChildren() >= 3) { Node n = parent.jjtGetChild(2); if (n instanceof ASTPrimarySuffix) { ASTPrimarySuffix suffix = (ASTPrimarySuffix) n; image = suffix.getImage(); if (SUFFIX_SET.contains(image) || checkBoolean && "booleanValue".equals(image)) { super.addViolation(data, node); return data; } } } } return super.visit(node, data); }
if (node.jjtGetNumChildren() == 0 || !(node.jjtGetChild(0) instanceof ASTName)) { return super.visit(node, data); if ("Boolean.valueOf".equals(((ASTName) node.jjtGetChild(0)).getImage()) || "java.lang.Boolean.valueOf".equals(((ASTName) node.jjtGetChild(0)).getImage())) { ASTPrimaryExpression parent = (ASTPrimaryExpression) node.jjtGetParent(); ASTPrimarySuffix suffix = parent.getFirstDescendantOfType(ASTPrimarySuffix.class);
String type = "<unknown>"; if (arg != null && arg.jjtGetNumChildren() > 0) { if (arg.jjtGetChild(0) instanceof ASTLiteral) { ASTLiteral lit = (ASTLiteral) arg.jjtGetChild(0); if (lit.isCharLiteral()) { type = "char"; type = "long"; } else if (arg.jjtGetChild(0) instanceof ASTName) {
name = priSuf.getImage(); } else { ASTName astName = (ASTName) pp.jjtGetChild(0); name = astName.getImage();
@Override public Object visit(ASTPrimaryPrefix node, Object data) { if (node.jjtGetNumChildren() == 0 || !(node.jjtGetChild(0) instanceof ASTName)) { return super.visit(node, data); String image = ((ASTName) node.jjtGetChild(0)).getImage();
Node argumentPrimaryPrefixChild = argumentPrimaryPrefix.jjtGetChild(0); if (!(argumentPrimaryPrefixChild instanceof ASTName)) {
/** * Extracts the method name of the method call. * @param prefix the method call * @return the name of the called method */ private String getMethodCallName(ASTPrimaryPrefix prefix) { String result = ""; if (prefix.jjtGetNumChildren() == 1 && prefix.jjtGetChild(0) instanceof ASTName) { result = getLastPartOfName(prefix.jjtGetChild(0)); } return result; }
private String getNameFromPrimaryPrefix(ASTPrimaryPrefix pp) { if (pp.jjtGetNumChildren() == 1 && pp.jjtGetChild(0) instanceof ASTName) { return ((ASTName) pp.jjtGetChild(0)).getImage(); } return null; } }
private String getNameFromPrimaryPrefix(ASTPrimaryPrefix pp) { if (pp.jjtGetNumChildren() == 1 && pp.jjtGetChild(0) instanceof ASTName) { return ((ASTName) pp.jjtGetChild(0)).getImage(); } return null; } }
/** * ASTPrimaryPrefix has name in child node of ASTName */ private static String getNameFromPrefix(ASTPrimaryPrefix node) { String name = null; // should only be 1 child, if more I need more knowledge if (node.jjtGetNumChildren() == 1) { // safety check Node nnode = node.jjtGetChild(0); if (nnode instanceof ASTName) { // just as easy as null check and it // should be an ASTName anyway name = ((ASTName) nnode).getImage(); } } return name; }
private boolean ifVerify(ASTIfStatement is, String varname) { List<ASTPrimaryExpression> finder = is.findDescendantsOfType(ASTPrimaryExpression.class); if (finder.size() > 1) { ASTPrimaryExpression nullStmt = findNonVariableStmt(varname, finder.get(0), finder.get(1)); if (nullStmt != null) { if (nullStmt.jjtGetNumChildren() == 1 && nullStmt.jjtGetChild(0) instanceof ASTPrimaryPrefix) { ASTPrimaryPrefix pp2 = (ASTPrimaryPrefix) nullStmt.jjtGetChild(0); if (pp2.jjtGetNumChildren() == 1 && pp2.jjtGetChild(0) instanceof ASTLiteral) { ASTLiteral lit = (ASTLiteral) pp2.jjtGetChild(0); if (lit.jjtGetNumChildren() == 1 && lit.jjtGetChild(0) instanceof ASTNullLiteral) { return true; } } } } } return false; }
@Override public Object visit(ASTPrimaryPrefix node, Object data) { if (node.jjtGetNumChildren() == 0 || !(node.jjtGetChild(0) instanceof ASTName)) { return super.visit(node, data); } String image = ((ASTName) node.jjtGetChild(0)).getImage(); if (image.startsWith("java.lang.")) { image = image.substring(10); } boolean checkBoolean = ((RuleContext) data).getLanguageVersion() .compareTo(LanguageRegistry.getLanguage(JavaLanguageModule.NAME).getVersion("1.5")) >= 0; if (PREFIX_SET.contains(image) || checkBoolean && "Boolean.valueOf".equals(image)) { ASTPrimaryExpression parent = (ASTPrimaryExpression) node.jjtGetParent(); if (parent.jjtGetNumChildren() >= 3) { Node n = parent.jjtGetChild(2); if (n instanceof ASTPrimarySuffix) { ASTPrimarySuffix suffix = (ASTPrimarySuffix) n; image = suffix.getImage(); if (SUFFIX_SET.contains(image) || checkBoolean && "booleanValue".equals(image)) { super.addViolation(data, node); return data; } } } } return super.visit(node, data); }
if (node.jjtGetNumChildren() == 0 || !(node.jjtGetChild(0) instanceof ASTName)) { return super.visit(node, data); if ("Boolean.valueOf".equals(((ASTName) node.jjtGetChild(0)).getImage()) || "java.lang.Boolean.valueOf".equals(((ASTName) node.jjtGetChild(0)).getImage())) { ASTPrimaryExpression parent = (ASTPrimaryExpression) node.jjtGetParent(); ASTPrimarySuffix suffix = parent.getFirstDescendantOfType(ASTPrimarySuffix.class);