From c6eb1ab2c9956dc594e28f3f897db490db4687b1 Mon Sep 17 00:00:00 2001 From: LordBaryhobal Date: Fri, 6 Feb 2026 15:09:53 +0100 Subject: [PATCH] feat(resolver): add error when re-declaring a variable --- src/interpreter/resolver.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/interpreter/resolver.py b/src/interpreter/resolver.py index 002ff13..abcb179 100644 --- a/src/interpreter/resolver.py +++ b/src/interpreter/resolver.py @@ -31,7 +31,10 @@ class Resolver(Expr.Visitor[None], Stmt.Visitor[None]): def declare(self, name: Token) -> None: if len(self.scopes) == 0: return - self.scopes[-1][name.lexeme] = False + scope: dict[str, bool] = self.scopes[-1] + if name.lexeme in scope: + Pebble.token_error(name, "A variable with this name is already declared in this scope.") + scope[name.lexeme] = False def define(self, name: Token) -> None: if len(self.scopes) == 0: