From 9ec99def3f09b54b5bbc041fff5d6e69deee4767 Mon Sep 17 00:00:00 2001 From: TopchetoEU <36534413+TopchetoEU@users.noreply.github.com> Date: Thu, 5 Sep 2024 13:29:42 +0300 Subject: [PATCH] fix: variable declarations shouldn't collide with defined name of named function exp --- .../me/topchetoeu/jscript/compilation/scope/FunctionScope.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/me/topchetoeu/jscript/compilation/scope/FunctionScope.java b/src/main/java/me/topchetoeu/jscript/compilation/scope/FunctionScope.java index 85bb3eb..757c4d8 100644 --- a/src/main/java/me/topchetoeu/jscript/compilation/scope/FunctionScope.java +++ b/src/main/java/me/topchetoeu/jscript/compilation/scope/FunctionScope.java @@ -40,14 +40,13 @@ public class FunctionScope extends Scope { @Override public Variable defineStrict(Variable var, Location loc) { checkNotEnded(); if (locals.has(var.name)) throw alreadyDefinedErr(loc, var.name); - if (specials.has(var.name)) throw alreadyDefinedErr(loc, var.name); if (blacklistNames.contains(var.name)) throw alreadyDefinedErr(loc, var.name); var res = super.defineStrict(var, loc); removeCapture(var.name); return res; } - public Variable defineParam(Variable var, Location loc) { + public Variable defineSpecial(Variable var, Location loc) { return specials.add(var); }