You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by pa...@apache.org on 2022/04/29 05:50:12 UTC

[groovy] branch master updated (5c468cd352 -> 863f8d053d)

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

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


    from 5c468cd352 GROOVY-10599: STC: support spread list elements: `['a',*letters(),'z']`
     new 3d0d43894b GROOVY-10609: The default equals and hashCode implementations for emulated records don't have the pojo flag set for generation
     new b43a1deb1f GROOVY-10608: The default toString for emulated records has caching enabled
     new 863f8d053d GROOVY-10608: The default toString for emulated records has caching enabled (add test)

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../groovy/transform/RecordTypeASTTransformation.java     |  8 ++++----
 src/test/org/codehaus/groovy/classgen/RecordTest.groovy   | 15 +++++++++++++++
 2 files changed, 19 insertions(+), 4 deletions(-)


[groovy] 02/03: GROOVY-10608: The default toString for emulated records has caching enabled

Posted by pa...@apache.org.
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

commit b43a1deb1f52820a07331acbc8ba40e7947b1dca
Author: Paul King <pa...@asert.com.au>
AuthorDate: Fri Apr 29 09:09:42 2022 +1000

    GROOVY-10608: The default toString for emulated records has caching enabled
---
 .../java/org/codehaus/groovy/transform/RecordTypeASTTransformation.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/main/java/org/codehaus/groovy/transform/RecordTypeASTTransformation.java b/src/main/java/org/codehaus/groovy/transform/RecordTypeASTTransformation.java
index a4feebbdcd..387c8c36ec 100644
--- a/src/main/java/org/codehaus/groovy/transform/RecordTypeASTTransformation.java
+++ b/src/main/java/org/codehaus/groovy/transform/RecordTypeASTTransformation.java
@@ -206,7 +206,7 @@ public class RecordTypeASTTransformation extends AbstractASTTransformation imple
                 createRecordToString(cNode);
             } else {
                 ToStringASTTransformation.createToString(cNode, false, false, null,
-                        null, true, false, false, true,
+                        null, true, false, false, false,
                         false, false, false, false, true,
                         new String[]{"[", "]", "=", ", "});
             }


[groovy] 01/03: GROOVY-10609: The default equals and hashCode implementations for emulated records don't have the pojo flag set for generation

Posted by pa...@apache.org.
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

commit 3d0d43894beb3bdff978eb2f512611dd4dac83a7
Author: Paul King <pa...@asert.com.au>
AuthorDate: Fri Apr 29 09:09:01 2022 +1000

    GROOVY-10609: The default equals and hashCode implementations for emulated records don't have the pojo flag set for generation
---
 .../org/codehaus/groovy/transform/RecordTypeASTTransformation.java  | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/main/java/org/codehaus/groovy/transform/RecordTypeASTTransformation.java b/src/main/java/org/codehaus/groovy/transform/RecordTypeASTTransformation.java
index e1bf2313c2..a4feebbdcd 100644
--- a/src/main/java/org/codehaus/groovy/transform/RecordTypeASTTransformation.java
+++ b/src/main/java/org/codehaus/groovy/transform/RecordTypeASTTransformation.java
@@ -207,7 +207,7 @@ public class RecordTypeASTTransformation extends AbstractASTTransformation imple
             } else {
                 ToStringASTTransformation.createToString(cNode, false, false, null,
                         null, true, false, false, true,
-                        false, false, false, false, false,
+                        false, false, false, false, true,
                         new String[]{"[", "]", "=", ", "});
             }
         }
@@ -217,8 +217,8 @@ public class RecordTypeASTTransformation extends AbstractASTTransformation imple
                 createRecordEquals(cNode);
                 createRecordHashCode(cNode);
             } else {
-                EqualsAndHashCodeASTTransformation.createEquals(cNode, false, false, false, null, null);
-                EqualsAndHashCodeASTTransformation.createHashCode(cNode, false, false, false, null, null);
+                EqualsAndHashCodeASTTransformation.createEquals(cNode, false, false, false, null, null, false, false, true);
+                EqualsAndHashCodeASTTransformation.createHashCode(cNode, false, false, false, null, null, false, false, true);
             }
         }
 


[groovy] 03/03: GROOVY-10608: The default toString for emulated records has caching enabled (add test)

Posted by pa...@apache.org.
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

commit 863f8d053d59c75994b30e4b73a37b96045df572
Author: Paul King <pa...@asert.com.au>
AuthorDate: Fri Apr 29 15:06:44 2022 +1000

    GROOVY-10608: The default toString for emulated records has caching enabled (add test)
---
 src/test/org/codehaus/groovy/classgen/RecordTest.groovy | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/src/test/org/codehaus/groovy/classgen/RecordTest.groovy b/src/test/org/codehaus/groovy/classgen/RecordTest.groovy
index 62fdb4042e..e93262ab3c 100644
--- a/src/test/org/codehaus/groovy/classgen/RecordTest.groovy
+++ b/src/test/org/codehaus/groovy/classgen/RecordTest.groovy
@@ -367,6 +367,21 @@ final class RecordTest {
         '''
     }
 
+
+    @Test
+    void testShallowImmutability() {
+        assertScript '''
+            record HasItems(List items) { }
+
+            def itemRec = new HasItems(['a', 'b'])
+            assert itemRec.items().size() == 2
+            itemRec.items().clear()
+            itemRec.items() << 'c'
+            assert itemRec.items() == ['c']
+            assert itemRec.toString() == 'HasItems[items=[c]]'
+        '''
+    }
+
     @Test
     void testCoerce() {
         assertScript '''