diff --git a/ChangeLog b/ChangeLog index 0cfa4cea9a3df9b53a2f32962f03f0b3ac0060e0..102ccef80de9a5663a16534c708b2ddf4ee4e934 100644 --- a/ChangeLog +++ b/ChangeLog @@ -6,6 +6,7 @@ for each AST class. * NTAs declared in the abstract grammar will now always be cached, just like attribute-only NTAs. + * Allow user annotations on aspect constructor declarations. 2016-10-24 Jesper Öqvist <jesper.oqvist@cs.lth.se> diff --git a/src/javacc/jrag/Jrag.jjt b/src/javacc/jrag/Jrag.jjt index 78b86a254eb24acc125ba4e6e2e532f3bfebb20b..edac6c73c5c63f5bbe89362d7434cf7683128e15 100644 --- a/src/javacc/jrag/Jrag.jjt +++ b/src/javacc/jrag/Jrag.jjt @@ -654,7 +654,7 @@ void AspectBodyDeclaration() : LOOKAHEAD( AspectMethodDeclarationLookahead() ) AspectMethodDeclaration() | - LOOKAHEAD( [ "public" | "protected" | "private" ] <IDENTIFIER> "." <IDENTIFIER> "(" ) + LOOKAHEAD( Modifiers() <IDENTIFIER> "." <IDENTIFIER> "(" ) AspectConstructorDeclaration() | LOOKAHEAD( AspectFieldDeclarationLookahead() ) @@ -973,7 +973,7 @@ void AspectRefineMethodDeclaration() : void AspectConstructorDeclaration() : {Token t;} { - [ "public" | "protected" | "private" ] + Modifiers() t = <IDENTIFIER> "." { className = t.image; } <IDENTIFIER> FormalParameters() [ "throws" NameList() ] "{" [ LOOKAHEAD(ExplicitConstructorInvocation()) ExplicitConstructorInvocation() ]