diff --git a/ChangeLog b/ChangeLog index 9bc307718002f650d0858ad42f3bd3ef1ae3b40c..bbceb693ca96a3537e088121741857133da6bf5a 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 0fad94504848b91080e3d8e0fe3c94ce0468bb79..aafdc642f357d844e9c71fbf8d2c935961e2e6c5 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() :