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

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


The following commit(s) were added to refs/heads/master by this push:
     new 9e151ed0ac GROOVY-11285: Generated toList() and toMap() methods on 
records perform unnecessary wrapping
9e151ed0ac is described below

commit 9e151ed0ac5021d73d06f8551fda3a84bba6b7b2
Author: Paul King <pa...@asert.com.au>
AuthorDate: Thu Jan 18 21:10:31 2024 +1000

    GROOVY-11285: Generated toList() and toMap() methods on records perform 
unnecessary wrapping
---
 .../org/codehaus/groovy/transform/RecordTypeASTTransformation.java  | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git 
a/src/main/java/org/codehaus/groovy/transform/RecordTypeASTTransformation.java 
b/src/main/java/org/codehaus/groovy/transform/RecordTypeASTTransformation.java
index 6cf19a6faf..61d601bf21 100644
--- 
a/src/main/java/org/codehaus/groovy/transform/RecordTypeASTTransformation.java
+++ 
b/src/main/java/org/codehaus/groovy/transform/RecordTypeASTTransformation.java
@@ -130,9 +130,7 @@ import static org.objectweb.asm.Opcodes.IRETURN;
 @GroovyASTTransformation(phase = CompilePhase.SEMANTIC_ANALYSIS)
 public class RecordTypeASTTransformation extends AbstractASTTransformation 
implements CompilationUnitAware {
 
-    private static final ClassNode ARRAYLIST_TYPE = 
makeWithoutCaching(ArrayList.class, false);
     private static final ClassNode ILLEGAL_ARGUMENT = 
makeWithoutCaching(IllegalArgumentException.class);
-    private static final ClassNode LHMAP_TYPE = 
makeWithoutCaching(LinkedHashMap.class, false);
     private static final ClassNode NAMED_PARAM_TYPE = make(NamedParam.class);
     private static final ClassNode RECORD_OPTIONS_TYPE = 
make(RecordOptions.class);
     private static final ClassNode SIMPLE_BEAN_INFO_TYPE = 
make(SimpleBeanInfo.class);
@@ -379,7 +377,7 @@ public class RecordTypeASTTransformation extends 
AbstractASTTransformation imple
         for (PropertyNode pNode : pList) {
             args.add(callThisX(pNode.getName()));
         }
-        Statement body = returnS(ctorX(ARRAYLIST_TYPE.getPlainNodeReference(), 
listX(args)));
+        Statement body = returnS(listX(args));
         addGeneratedMethod(cNode, TO_LIST, ACC_PUBLIC | ACC_FINAL, 
LIST_TYPE.getPlainNodeReference(), Parameter.EMPTY_ARRAY, 
ClassNode.EMPTY_ARRAY, body);
     }
 
@@ -389,7 +387,7 @@ public class RecordTypeASTTransformation extends 
AbstractASTTransformation imple
             String name = pNode.getName();
             entries.add(mapEntryX(name, callThisX(name)));
         }
-        Statement body = returnS(ctorX(LHMAP_TYPE.getPlainNodeReference(), 
args(mapX(entries))));
+        Statement body = returnS(mapX(entries));
         addGeneratedMethod(cNode, TO_MAP, ACC_PUBLIC | ACC_FINAL, 
MAP_TYPE.getPlainNodeReference(), Parameter.EMPTY_ARRAY, ClassNode.EMPTY_ARRAY, 
body);
     }
 

Reply via email to