ASTCatchStatement cStatement = getCatch(trySt); if (cStatement != null) { ASTBlock block = (ASTBlock) cStatement.jjtGetChild(1); if (block.jjtGetNumChildren() != 0) { continue;
@Override public Object visit(ASTThrowStatement node, Object data) { ASTTryStatement parent = node.getFirstParentOfType(ASTTryStatement.class); if (parent == null) { return data; } for (parent = parent.getFirstParentOfType(ASTTryStatement.class); parent != null; parent = parent .getFirstParentOfType(ASTTryStatement.class)) { List<ASTCatchStatement> list = parent.findDescendantsOfType(ASTCatchStatement.class); for (ASTCatchStatement catchStmt : list) { ASTFormalParameter fp = (ASTFormalParameter) catchStmt.jjtGetChild(0); ASTType type = fp.getFirstDescendantOfType(ASTType.class); ASTClassOrInterfaceType name = type.getFirstDescendantOfType(ASTClassOrInterfaceType.class); if (node.getFirstClassOrInterfaceTypeImage() != null && node.getFirstClassOrInterfaceTypeImage().equals(name.getImage())) { addViolation(data, name); } } } return data; }
@Override public Object visit(ASTCatchStatement catchStmt, Object data) { String target = catchStmt.jjtGetChild(0).findChildrenOfType(ASTVariableDeclaratorId.class).get(0).getImage();
ASTCatchStatement cStatement = getCatch(trySt); if (cStatement != null) { ASTBlock block = (ASTBlock) cStatement.jjtGetChild(1); if (block.jjtGetNumChildren() != 0) { continue;
@Override public Object visit(ASTThrowStatement node, Object data) { ASTTryStatement parent = node.getFirstParentOfType(ASTTryStatement.class); if (parent == null) { return data; } for (parent = parent.getFirstParentOfType(ASTTryStatement.class); parent != null; parent = parent .getFirstParentOfType(ASTTryStatement.class)) { List<ASTCatchStatement> list = parent.findDescendantsOfType(ASTCatchStatement.class); for (ASTCatchStatement catchStmt : list) { ASTFormalParameter fp = (ASTFormalParameter) catchStmt.jjtGetChild(0); ASTType type = fp.getFirstDescendantOfType(ASTType.class); ASTClassOrInterfaceType name = type.getFirstDescendantOfType(ASTClassOrInterfaceType.class); if (node.getFirstClassOrInterfaceTypeImage() != null && node.getFirstClassOrInterfaceTypeImage().equals(name.getImage())) { addViolation(data, name); } } } return data; }
@Override public Object visit(ASTCatchStatement catchStmt, Object data) { String target = catchStmt.jjtGetChild(0).findChildrenOfType(ASTVariableDeclaratorId.class).get(0).getImage();