From 76bf3a2a077c0ceaf1c8006814a75d55a04655e6 Mon Sep 17 00:00:00 2001 From: Moritz Gmeiner Date: Mon, 2 Sep 2024 15:35:14 +0200 Subject: [PATCH] fixed bug in resolver --- interpreter/src/resolver/_resolver.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/interpreter/src/resolver/_resolver.rs b/interpreter/src/resolver/_resolver.rs index 70a3f2a..f163505 100644 --- a/interpreter/src/resolver/_resolver.rs +++ b/interpreter/src/resolver/_resolver.rs @@ -120,12 +120,6 @@ impl Resolver { } fn resolve_var(&mut self, name: &str) -> ResolverResult { - if name == "this" { - return Err(ResolverError::ThisOutsideMethod); - } else if name == "super" { - return Err(ResolverError::SuperOutsideMethod); - } - let mut level = 0; // resolve normal local variable @@ -161,6 +155,12 @@ impl Resolver { return Ok(Expr::global_variable(name)); } + if name == "this" { + return Err(ResolverError::ThisOutsideMethod); + } else if name == "super" { + return Err(ResolverError::SuperOutsideMethod); + } + let name = name.into(); Err(ResolverError::UnresolvableVariable { name })