@Override public Description matchTry(TryTree tree, VisitorState state) { if (tryTreeMatches(tree, state)) { List<? extends StatementTree> tryStatements = tree.getBlock().getStatements(); StatementTree lastTryStatement = tryStatements.get(tryStatements.size() - 1); String failCall = String.format("%nfail(\"Expected %s\");", exceptionToString(tree)); SuggestedFix.Builder fixBuilder = SuggestedFix.builder().postfixWith(lastTryStatement, failCall); // Make sure that when the fail import is added it doesn't conflict with existing ones. fixBuilder.removeStaticImport("junit.framework.Assert.fail"); fixBuilder.removeStaticImport("junit.framework.TestCase.fail"); fixBuilder.addStaticImport("org.junit.Assert.fail"); return describeMatch(lastTryStatement, fixBuilder.build()); } else { return Description.NO_MATCH; } }
@Override protected Iterable<? extends StatementTree> getChildNodes(TryTree tree, VisitorState state) { return tree.getBlock().getStatements(); }