diff options
Diffstat (limited to 'src/main/javassist/compiler/Parser.java')
-rw-r--r-- | src/main/javassist/compiler/Parser.java | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/main/javassist/compiler/Parser.java b/src/main/javassist/compiler/Parser.java index 05b33184..2a1d5d63 100644 --- a/src/main/javassist/compiler/Parser.java +++ b/src/main/javassist/compiler/Parser.java @@ -1001,6 +1001,7 @@ public final class Parser implements TokenId { * | postfix.expr "." Identifier * | postfix.expr ( "[" "]" )* "." CLASS * | postfix.expr "#" Identifier + * | postfix.expr "." SUPER * * "#" is not an operator of regular Java. It separates * a class name and a member name in an expression for static member @@ -1058,9 +1059,10 @@ public final class Parser implements TokenId { case '.' : lex.get(); t = lex.get(); - if (t == CLASS) { + if (t == CLASS) expr = parseDotClass(expr, 0); - } + else if (t == SUPER) + expr = Expr.make('.', new Symbol(toClassName(expr)), new Keyword(t)); else if (t == Identifier) { str = lex.getString(); expr = Expr.make('.', expr, new Member(str)); |