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 <[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 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);
}