From 09a966494f1d1762c4e7173186d486a235f7d715 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jesper=20=C3=96qvist?= <jesper.oqvist@cs.lth.se>
Date: Thu, 14 May 2020 13:05:06 +0200
Subject: [PATCH] [parsing] Allow Java 8 array constructor references

fixes #323
---
 ChangeLog                | 5 +++++
 src/javacc/jrag/Jrag.jjt | 5 +++++
 2 files changed, 10 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index 9bc30771..bbceb693 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2020-05-14  Jesper Öqvist <jesper.oqvist@cs.lth.se>
+
+    * Fixed aspect parsing issue for Java 8 array constructor references.
+    See https://bitbucket.org/jastadd/jastadd2/issues/323/parsing-of-array-constructor-references
+
 2019-11-29  Jesper Öqvist <jesper.oqvist@cs.lth.se>
 
     * Deprecated some old options: lazyMaps, private, traceVisitCheck,
diff --git a/src/javacc/jrag/Jrag.jjt b/src/javacc/jrag/Jrag.jjt
index 0fad9450..aafdc642 100644
--- a/src/javacc/jrag/Jrag.jjt
+++ b/src/javacc/jrag/Jrag.jjt
@@ -2179,6 +2179,7 @@ void PrimarySuffix() :
   LOOKAHEAD(3)
   "." TypeArguments() JavaIdentifier()
 |
+  LOOKAHEAD(2)
   "[" Expression() "]"
 |
   "." JavaIdentifier()
@@ -2190,6 +2191,10 @@ void PrimarySuffix() :
 |
   LOOKAHEAD(2)
   "::" JavaIdentifier()
+|
+  // Array constructor reference
+  LOOKAHEAD(2)
+  "[" "]" "::" "new"
 }
 
 void Literal() :
-- 
GitLab