This is an automated email from the ASF dual-hosted git repository. sunlan pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/groovy.git
commit ffbb3e91a4971f114889e856172a1128c74b1ced Author: Eric Milles <[email protected]> AuthorDate: Thu Jan 14 16:59:48 2021 -0600 GROOVY-9373: allow block to fall through to failsafe return instructions --- .../org/codehaus/groovy/classgen/ReturnAdder.java | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/src/main/java/org/codehaus/groovy/classgen/ReturnAdder.java b/src/main/java/org/codehaus/groovy/classgen/ReturnAdder.java index cf01142..a40f738 100644 --- a/src/main/java/org/codehaus/groovy/classgen/ReturnAdder.java +++ b/src/main/java/org/codehaus/groovy/classgen/ReturnAdder.java @@ -185,15 +185,9 @@ public class ReturnAdder { listener.returnStatementAdded(returnStatement); return returnStatement; } else { - List<Statement> statements = blockStatement.getStatements(); - int lastIndex = statements.size() - 1; + List<Statement> statements = blockStatement.getStatements(); int lastIndex = statements.size() - 1; Statement last = addReturnsIfNeeded(statements.get(lastIndex), blockStatement.getVariableScope()); if (doAdd) statements.set(lastIndex, last); - if (!returns(last)) { - ReturnStatement returnStatement = new ReturnStatement(nullX()); - listener.returnStatementAdded(returnStatement); - if (doAdd) statements.add(returnStatement); - } return blockStatement; } } @@ -234,16 +228,4 @@ public class ReturnAdder { } return statement; } - - private static boolean returns(final Statement statement) { - return statement instanceof ReturnStatement - || statement instanceof BlockStatement - || statement instanceof IfStatement - || statement instanceof ExpressionStatement - || statement instanceof EmptyStatement - || statement instanceof TryCatchStatement - || statement instanceof ThrowStatement - || statement instanceof SynchronizedStatement - || statement instanceof BytecodeSequence; - } }
