[ 
https://issues.apache.org/jira/browse/GROOVY-11689?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17955547#comment-17955547
 ] 

ASF GitHub Bot commented on GROOVY-11689:
-----------------------------------------

jdaugherty commented on code in PR #2245:
URL: https://github.com/apache/groovy/pull/2245#discussion_r2119566916


##########
src/main/java/org/codehaus/groovy/transform/DelegateASTTransformation.java:
##########
@@ -215,7 +220,10 @@ public void visit(final ASTNode[] nodes, final SourceUnit 
source) {
     }
 
     private static Collection<MethodNode> collectMethods(final ClassNode type) 
{
-        List<MethodNode> methods = new 
java.util.LinkedList<>(getAllMethods(type));
+        List<MethodNode> methods = new ArrayList<>(getAllMethods(type));
+        if (!methods.isEmpty()) {
+            
methods.sort(Comparator.comparing(MethodNodeUtils::methodDescriptorWithoutReturnType));
+        }

Review Comment:
   I've moved the sort to the end of the method, great catch!





> @Delegate generates random method orders
> ----------------------------------------
>
>                 Key: GROOVY-11689
>                 URL: https://issues.apache.org/jira/browse/GROOVY-11689
>             Project: Groovy
>          Issue Type: Improvement
>            Reporter: James Daugherty
>            Priority: Major
>
> While working on the Grails build reproducibility, I discovered that the 
> `grails-scaffolding` artifact was not reproducible.  This was because the 
> `@Delegate` method calls getMethods() which we discovered in GROOVY-11674 can 
> have ordering issues.  This ticket is to sort this call to ensure consistent 
> class file creation.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to