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

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

commit e968470c321047d4685877d969ef62b63cadc5af
Author: Paul King <[email protected]>
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 a2251e5ee0..32b3950c18 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);
@@ -383,7 +381,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);
     }
 
@@ -393,7 +391,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