aboutsummaryrefslogtreecommitdiffstats
path: root/src/com/craftinginterpreters/lox/Parser.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/craftinginterpreters/lox/Parser.java')
-rw-r--r--src/com/craftinginterpreters/lox/Parser.java7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/com/craftinginterpreters/lox/Parser.java b/src/com/craftinginterpreters/lox/Parser.java
index 3150035..ab4baaa 100644
--- a/src/com/craftinginterpreters/lox/Parser.java
+++ b/src/com/craftinginterpreters/lox/Parser.java
@@ -362,6 +362,13 @@ class Parser {
return new Expr.Literal(previous().literal);
}
+ if (match(SUPER)) {
+ Token keyword = previous();
+ consume(DOT, "Expect '.' after 'super'.");
+ Token method = consume(IDENTIFIER, "Expect superclass method name.");
+ return new Expr.Super(keyword, method);
+ }
+
if (match(THIS))
return new Expr.This(previous());