diff --git a/ChangeLog b/ChangeLog index 65db7c22916c89b65719506865afb3810abffbc9..65bc1be50da48b836bd177a72e6d8d8f1dee2385 100644 --- a/ChangeLog +++ b/ChangeLog @@ -11,6 +11,11 @@ * Fixed aspect parsing issue for Java 8 array constructor references. See https://bitbucket.org/jastadd/jastadd2/issues/323/parsing-of-array-constructor-references +2020-05-08 Idriss Riouak <idriss.riouak@cs.lth.se> + + * Improve parsing of multiple interfaces in implements statement. + See https://bitbucket.org/jastadd/jastadd2/issues/324/parsing-after-implements + 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 aafdc642f357d844e9c71fbf8d2c935961e2e6c5..c349e8a165286621e1615f788c96507e0ddd859c 100644 --- a/src/javacc/jrag/Jrag.jjt +++ b/src/javacc/jrag/Jrag.jjt @@ -1434,20 +1434,15 @@ void CollectionContribution(): void AspectAddInterface() : { - Token first, last; Token targetName; - SimpleNode nameList; + SimpleNode name; } { - targetName = <IDENTIFIER> { first = token; } + targetName = <IDENTIFIER> "implements" - nameList = TypeNameList() + name = ClassOrInterfaceType(){ root.addInterface(name, targetName.image, fileName); } + ( "," name = ClassOrInterfaceType() { root.addInterface(name, targetName.image, fileName); } )* ";" - { - last = token; - root.addInterface(nameList, targetName.image, fileName); - } - } void AspectExtendInterface() :