@CheckForNull private static Tree parentMethod(NewClassTree newClassTree) { Tree parent = newClassTree.parent(); while (parent != null && !parent.is(Tree.Kind.METHOD, Tree.Kind.CLASS)) { parent = parent.parent(); } return parent; }
@CheckForNull private static Tree parentMethod(NewClassTree newClassTree) { Tree parent = newClassTree.parent(); while (parent != null && !parent.is(Tree.Kind.METHOD, Tree.Kind.CLASS)) { parent = parent.parent(); } return parent; }
@Override public void visitNode(Tree tree) { if (!hasSemantic()) { return; } NewClassTree newClassTree = (NewClassTree) tree; if (newClassTree.symbolType().isSubtypeOf("java.lang.Throwable") && newClassTree.parent().is(Tree.Kind.EXPRESSION_STATEMENT)) { reportIssue(newClassTree, "Throw this exception or remove this useless statement"); } } }
@Override public void visitNode(Tree tree) { if (!hasSemantic()) { return; } NewClassTree newClassTree = (NewClassTree) tree; if (newClassTree.symbolType().isSubtypeOf("java.lang.Throwable") && newClassTree.parent().is(Tree.Kind.EXPRESSION_STATEMENT)) { reportIssue(newClassTree, "Throw this exception or remove this useless statement"); } } }
@Override public void visitNewClass(NewClassTree newClassTree) { String newClassTypeName = newClassTree.identifier().symbolType().fullyQualifiedName(); Tree parent = newClassTree.parent(); if (parent != null && !parent.is(Tree.Kind.VARIABLE)) { checkIfDisallowed(newClassTypeName, newClassTree); } super.visitNewClass(newClassTree ); }
@Override public void visitNewClass(NewClassTree newClassTree) { String newClassTypeName = newClassTree.identifier().symbolType().fullyQualifiedName(); Tree parent = newClassTree.parent(); if (parent != null && !parent.is(Tree.Kind.VARIABLE)) { checkIfDisallowed(newClassTypeName, newClassTree); } super.visitNewClass(newClassTree ); }