private static boolean isStringBuilderOrBuffer(ASTVariableDeclaratorId node) { if (node.getType() != null) { return TypeHelper.isEither(node, StringBuffer.class, StringBuilder.class); } Node nn = node.getTypeNameNode(); if (nn == null || nn.jjtGetNumChildren() == 0) { return false; } return TypeHelper.isEither((TypeNode) nn.jjtGetChild(0), StringBuffer.class, StringBuilder.class); } }
@Override public Object visit(ASTVariableDeclaratorId node, Object data) { Node nameNode = node.getTypeNameNode(); if (nameNode == null || nameNode instanceof ASTPrimitiveType || !appliesToClassName(node.getNameDeclaration().getTypeImage())) { return data; } List<NameOccurrence> declars = node.getUsages(); for (NameOccurrence occ : declars) { JavaNameOccurrence jocc = (JavaNameOccurrence) occ; if (!isTargetMethod(jocc)) { continue; } Node expr = jocc.getLocation().jjtGetParent().jjtGetParent().jjtGetParent(); checkNodeAndReport(data, jocc.getLocation(), expr); } return data; }
private static boolean isStringBuilderOrBuffer(ASTVariableDeclaratorId node) { if (node.getType() != null) { return TypeHelper.isEither(node, StringBuffer.class, StringBuilder.class); } Node nn = node.getTypeNameNode(); if (nn == null || nn.jjtGetNumChildren() == 0) { return false; } return TypeHelper.isEither((TypeNode) nn.jjtGetChild(0), StringBuffer.class, StringBuilder.class); } }
@Override public Object visit(ASTVariableDeclaratorId node, Object data) { Node nameNode = node.getTypeNameNode(); if (nameNode == null || nameNode instanceof ASTPrimitiveType || !appliesToClassName(node.getNameDeclaration().getTypeImage())) { return data; } List<NameOccurrence> declars = node.getUsages(); for (NameOccurrence occ : declars) { JavaNameOccurrence jocc = (JavaNameOccurrence) occ; if (!isTargetMethod(jocc)) { continue; } Node expr = jocc.getLocation().jjtGetParent().jjtGetParent().jjtGetParent(); checkNodeAndReport(data, jocc.getLocation(), expr); } return data; }