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

Reply via email to