You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by su...@apache.org on 2019/11/22 15:11:30 UTC
[groovy] 14/18: Tweak GROOVY-9126: Remove unnecessary checks (#1096)
This is an automated email from the ASF dual-hosted git repository.
sunlan pushed a commit to branch GROOVY_3_0_X
in repository https://gitbox.apache.org/repos/asf/groovy.git
commit dd6957ec646ea9b42e2892f940a022d00b46b02b
Author: Daniel.Sun <su...@apache.org>
AuthorDate: Fri Nov 22 07:41:59 2019 +0800
Tweak GROOVY-9126: Remove unnecessary checks (#1096)
* Tweak GROOVY-9126: Remove unnecessary checks
* Check if block is empty
(cherry picked from commit d787ddd244a8e8c805d4941366faa1aa3f369c2c)
---
.../java/org/codehaus/groovy/classgen/asm/StatementWriter.java | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/src/main/java/org/codehaus/groovy/classgen/asm/StatementWriter.java b/src/main/java/org/codehaus/groovy/classgen/asm/StatementWriter.java
index 8459b89..ebe0428 100644
--- a/src/main/java/org/codehaus/groovy/classgen/asm/StatementWriter.java
+++ b/src/main/java/org/codehaus/groovy/classgen/asm/StatementWriter.java
@@ -97,7 +97,7 @@ public class StatementWriter {
// GROOVY-7647
if (block.getLastLineNumber() > 0
- && !methodOrConstructorsLastReturnStatementExists(block) // GROOVY-9126
+ && !isMethodOrConstructorNonEmptyBlock(block) // GROOVY-9126
) {
MethodVisitor mv = controller.getMethodVisitor();
Label blockEnd = new Label();
@@ -108,7 +108,7 @@ public class StatementWriter {
controller.getOperandStack().popDownTo(mark);
}
- private boolean methodOrConstructorsLastReturnStatementExists(BlockStatement block) {
+ private boolean isMethodOrConstructorNonEmptyBlock(BlockStatement block) {
MethodNode methodNode = controller.getMethodNode();
if (null == methodNode) {
methodNode = controller.getConstructorNode();
@@ -118,9 +118,7 @@ public class StatementWriter {
return false;
}
- List<Statement> statementList = block.getStatements();
- final int size = statementList.size();
- return size > 0 && statementList.get(size - 1) instanceof ReturnStatement;
+ return !block.getStatements().isEmpty();
}
public void writeForStatement(ForStatement loop) {