You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by su...@apache.org on 2019/01/05 17:21:32 UTC

[groovy-website] branch asf-site updated: Update 3.0 release note to add the sample code for Java-style non-static inner class instantiation.

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

sunlan pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/groovy-website.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 79c54de  Update 3.0 release note to add the sample code for Java-style non-static inner class instantiation.
79c54de is described below

commit 79c54dedf280e5edd262541d4c025c5b364d9c54
Author: Daniel Sun <su...@apache.org>
AuthorDate: Sun Jan 6 01:21:20 2019 +0800

    Update 3.0 release note to add the sample code for Java-style non-static inner class instantiation.
---
 site/src/site/releasenotes/groovy-3.0.adoc | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/site/src/site/releasenotes/groovy-3.0.adoc b/site/src/site/releasenotes/groovy-3.0.adoc
index c0a663d..8c11ae6 100644
--- a/site/src/site/releasenotes/groovy-3.0.adoc
+++ b/site/src/site/releasenotes/groovy-3.0.adoc
@@ -413,6 +413,25 @@ block (e.g. an if-then-else statement or another anonymous code block). Anywhere
 you might need to terminate the previous statement with a semicolon. In which case, see the
 note above about refactoring your code! :-)
 
+===  Java-style non-static inner class instantiation
+
+Java syntax for non-static inner class instantiation is now supported.
+
+[source,groovy]
+--------------------------------------
+public class Computer {
+    public class Cpu {
+        int coreNumber
+
+        public Cpu(int coreNumber) {
+            this.coreNumber = coreNumber
+        }
+    }
+}
+
+assert 4 == new Computer().new Cpu(4).coreNumber
+--------------------------------------
+
 ===  Interface default methods
 
 Java 8 supports adding default implementations to interfaces. Groovy now supports this too: