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 2020/01/24 12:03:02 UTC
[groovy] 04/08: do not add null statement label
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 0bbb154933d16446957f0c50380dbbe3ed386440
Author: Eric Milles <er...@thomsonreuters.com>
AuthorDate: Thu Jan 23 12:32:29 2020 -0600
do not add null statement label
(cherry picked from commit f7f6c33ed420033a023d2d1dd095d7157ce03d45)
---
src/main/java/org/codehaus/groovy/classgen/ReturnAdder.java | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/src/main/java/org/codehaus/groovy/classgen/ReturnAdder.java b/src/main/java/org/codehaus/groovy/classgen/ReturnAdder.java
index 866d8cf..0a675f6 100644
--- a/src/main/java/org/codehaus/groovy/classgen/ReturnAdder.java
+++ b/src/main/java/org/codehaus/groovy/classgen/ReturnAdder.java
@@ -40,6 +40,7 @@ import org.codehaus.groovy.ast.stmt.TryCatchStatement;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
+import java.util.Optional;
/**
* Utility class to add return statements.
@@ -131,7 +132,9 @@ public class ReturnAdder {
if (statement instanceof ExpressionStatement) {
Expression expression = ((ExpressionStatement) statement).getExpression();
ReturnStatement returnStatement = new ReturnStatement(expression);
- returnStatement.setStatementLabel(statement.getStatementLabel());
+ Optional.ofNullable(statement.getStatementLabels()).ifPresent(labels -> {
+ labels.forEach(returnStatement::addStatementLabel);
+ });
returnStatement.setSourcePosition(statement);
listener.returnStatementAdded(returnStatement);
return returnStatement;
@@ -191,7 +194,9 @@ public class ReturnAdder {
BlockStatement blockStatement = (BlockStatement) statement;
if (blockStatement.isEmpty()) {
ReturnStatement returnStatement = new ReturnStatement(ConstantExpression.NULL);
- returnStatement.setStatementLabel(blockStatement.getStatementLabel());
+ Optional.ofNullable(blockStatement.getStatementLabels()).ifPresent(labels -> {
+ labels.forEach(returnStatement::addStatementLabel);
+ });
returnStatement.setSourcePosition(blockStatement);
listener.returnStatementAdded(returnStatement);
return returnStatement;