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 e6b0981 tweak records components() generation for no component case
e6b0981 is described below
commit e6b0981214a1d3660c57733e9eaeca321a96540b
Author: Paul King <[email protected]>
AuthorDate: Thu Nov 4 16:06:25 2021 +1000
tweak records components() generation for no component case
---
.../codehaus/groovy/transform/RecordTypeASTTransformation.java | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git
a/src/main/java/org/codehaus/groovy/transform/RecordTypeASTTransformation.java
b/src/main/java/org/codehaus/groovy/transform/RecordTypeASTTransformation.java
index 49e3f44..ec7eb64 100644
---
a/src/main/java/org/codehaus/groovy/transform/RecordTypeASTTransformation.java
+++
b/src/main/java/org/codehaus/groovy/transform/RecordTypeASTTransformation.java
@@ -268,8 +268,13 @@ public class RecordTypeASTTransformation extends
AbstractASTTransformation imple
args.addExpression(callThisX(pNode.getName()));
gtypes.add(new GenericsType(getWrapper(pNode.getType())));
}
- tupleClass.setGenericsTypes(gtypes.toArray(new GenericsType[0]));
- Statement body = returnS(ctorX(tupleClass, args));
+ Statement body;
+ if (pList.isEmpty()) {
+ body = returnS(propX(classX(tupleClass), "INSTANCE"));
+ } else {
+ tupleClass.setGenericsTypes(gtypes.toArray(new GenericsType[0]));
+ body = returnS(ctorX(tupleClass, args));
+ }
addGeneratedMethod(cNode, COMPONENTS, PUBLIC_FINAL, tupleClass,
Parameter.EMPTY_ARRAY, ClassNode.EMPTY_ARRAY, body);
}