diff --git a/pmd/etc/grammar/Java.jjt b/pmd/etc/grammar/Java.jjt index 499aa36ef6..942727b053 100644 --- a/pmd/etc/grammar/Java.jjt +++ b/pmd/etc/grammar/Java.jjt @@ -1217,9 +1217,9 @@ void TypeParameters(): } void TypeParameter(): -{} +{Token t;} { - [ TypeBound() ] + t= {jjtThis.setImage(t.image);} [ TypeBound() ] } void TypeBound(): diff --git a/pmd/src/net/sourceforge/pmd/lang/java/ast/JavaParser.java b/pmd/src/net/sourceforge/pmd/lang/java/ast/JavaParser.java index 400c5a72d9..cb9d607ce8 100644 --- a/pmd/src/net/sourceforge/pmd/lang/java/ast/JavaParser.java +++ b/pmd/src/net/sourceforge/pmd/lang/java/ast/JavaParser.java @@ -870,11 +870,12 @@ jjtn000.setModifiers(modifiers); final public void TypeParameter() throws ParseException { /*@bgen(jjtree) TypeParameter */ - ASTTypeParameter jjtn000 = new ASTTypeParameter(this, JJTTYPEPARAMETER); - boolean jjtc000 = true; - jjtree.openNodeScope(jjtn000); + ASTTypeParameter jjtn000 = new ASTTypeParameter(this, JJTTYPEPARAMETER); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000);Token t; try { - jj_consume_token(IDENTIFIER); + t = jj_consume_token(IDENTIFIER); + jjtn000.setImage(t.image); switch (jj_nt.kind) { case EXTENDS: TypeBound(); @@ -7155,6 +7156,11 @@ jjtn000.setModifiers(modifiers); return false; } + private boolean jj_3R_202() { + if (jj_3R_212()) return true; + return false; + } + private boolean jj_3R_157() { if (jj_3R_198()) return true; return false; @@ -7390,11 +7396,6 @@ jjtn000.setModifiers(modifiers); return false; } - private boolean jj_3R_202() { - if (jj_3R_212()) return true; - return false; - } - private boolean jj_3_48() { if (jj_scan_token(AT)) return true; if (jj_3R_95()) return true;