Repository: groovy
Updated Branches:
  refs/heads/GROOVY_2_6_X 1fe9730bc -> c5e07972e


Minor refactoring

(cherry picked from commit 90b3a87)


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/c5e07972
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/c5e07972
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/c5e07972

Branch: refs/heads/GROOVY_2_6_X
Commit: c5e07972ebff81c41627c8915dd15649b6963cda
Parents: 1fe9730
Author: sunlan <[email protected]>
Authored: Thu Sep 28 16:29:47 2017 +0800
Committer: sunlan <[email protected]>
Committed: Thu Sep 28 16:30:13 2017 +0800

----------------------------------------------------------------------
 src/antlr/GroovyParser.g4 | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/groovy/blob/c5e07972/src/antlr/GroovyParser.g4
----------------------------------------------------------------------
diff --git a/src/antlr/GroovyParser.g4 b/src/antlr/GroovyParser.g4
index 7854496..801e1e1 100644
--- a/src/antlr/GroovyParser.g4
+++ b/src/antlr/GroovyParser.g4
@@ -1013,12 +1013,16 @@ locals[ boolean isInsideClosure ]
     :   nls
 
         // AT: foo.@bar selects the field (or attribute), not property
-        ( SPREAD_DOT nls (AT | nonWildcardTypeArguments)?       // Spread 
operator:  x*.y  ===  x?.collect{it.y}
-        | SAFE_DOT nls (AT | nonWildcardTypeArguments)?         // 
Optional-null operator:  x?.y  === (x==null)?null:x.y
-        | SAFE_CHAIN_DOT nls (AT | nonWildcardTypeArguments)?   // 
Optional-null chain operator:  x??.y.z  === x?.y?.z
-        | METHOD_POINTER nls                                    // Method 
pointer operator: foo.&y == foo.metaClass.getMethodPointer(foo, "y")
-        | METHOD_REFERENCE nls                                  // Method 
reference: System.out::println
-        | DOT nls (AT | nonWildcardTypeArguments)?              // The 
all-powerful dot.
+        (
+            (   DOT                 // The all-powerful dot.
+            |   SPREAD_DOT          // Spread operator:  x*.y  ===  
x?.collect{it.y}
+            |   SAFE_DOT            // Optional-null operator:  x?.y  === 
(x==null)?null:x.y
+            |   SAFE_CHAIN_DOT      // Optional-null chain operator:  x??.y.z  
=== x?.y?.z
+            ) nls (AT | nonWildcardTypeArguments)?
+        |
+            METHOD_POINTER nls      // Method pointer operator: foo.&y == 
foo.metaClass.getMethodPointer(foo, "y")
+        |
+            METHOD_REFERENCE nls    // Method reference: System.out::println
         )
         namePart
         { $t = 1; }

Reply via email to