public static int getNumberOfLines(FunctionTree declaration) { Tree body = declaration.body(); if (!body.is(Kind.BLOCK)) { return 0; } BlockTree block = (BlockTree) body; int firstLine = block.openCurlyBraceToken().line(); int lastLine = block.closeCurlyBraceToken().line(); return lastLine - firstLine + 1; }
private static boolean endsWithReturn(FunctionTree function) { Tree body = function.body(); if (body.is(Kind.BLOCK)) { BlockTree block = (BlockTree) body; List<StatementTree> statements = block.statements(); if (statements.isEmpty()) { return false; } return statements.get(statements.size() - 1).is(Kind.RETURN_STATEMENT); } return false; }
@Override public void visitBlock(BlockTree tree) { super.visitBlock(tree); check(tree.statements(), tree.closeCurlyBraceToken(), tree); }