This is an automated email from the ASF dual-hosted git repository.

emilles pushed a commit to branch GROOVY_4_0_X
in repository https://gitbox.apache.org/repos/asf/groovy.git


The following commit(s) were added to refs/heads/GROOVY_4_0_X by this push:
     new df914b5a67 restructure empty check
df914b5a67 is described below

commit df914b5a67ea31496461a616f72f37f1dc3caa01
Author: Eric Milles <eric.mil...@thomsonreuters.com>
AuthorDate: Thu Jul 3 10:47:08 2025 -0500

    restructure empty check
---
 .../groovy/transform/stc/StaticTypeCheckingVisitor.java      | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git 
a/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java
 
b/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java
index 3b4fb270d7..1a019db841 100644
--- 
a/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java
+++ 
b/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java
@@ -5241,14 +5241,12 @@ public class StaticTypeCheckingVisitor extends 
ClassCodeVisitorSupport {
             }
             if (variable instanceof Parameter) {
                 Parameter parameter = (Parameter) variable;
-                // check if param part of control structure - but not if 
inside instanceof
-                List<ClassNode> temporaryTypesForExpression = 
getTemporaryTypesForExpression(vexp);
-                if (temporaryTypesForExpression == null || 
temporaryTypesForExpression.isEmpty()) {
+                if (getTemporaryTypesForExpression(vexp).isEmpty()) { // not 
instanceof
+                    // check if the parameter is part of a control structure 
(for loop)
                     type = 
typeCheckingContext.controlStructureVariables.get(parameter);
-                }
-                // now check for closure override
-                if (type == null && temporaryTypesForExpression == null) {
-                    type = getTypeFromClosureArguments(parameter);
+                    if (type == null) { // else check closure metadata
+                        type = getTypeFromClosureArguments(parameter);
+                    }
                 }
                 if (type != null) {
                     storeType(vexp, type);

Reply via email to