fix: variable declarations shouldn't collide with defined name of named function exp
This commit is contained in:
parent
8f13ff3e0b
commit
9ec99def3f
@ -40,14 +40,13 @@ public class FunctionScope extends Scope {
|
|||||||
@Override public Variable defineStrict(Variable var, Location loc) {
|
@Override public Variable defineStrict(Variable var, Location loc) {
|
||||||
checkNotEnded();
|
checkNotEnded();
|
||||||
if (locals.has(var.name)) throw alreadyDefinedErr(loc, var.name);
|
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);
|
if (blacklistNames.contains(var.name)) throw alreadyDefinedErr(loc, var.name);
|
||||||
|
|
||||||
var res = super.defineStrict(var, loc);
|
var res = super.defineStrict(var, loc);
|
||||||
removeCapture(var.name);
|
removeCapture(var.name);
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
public Variable defineParam(Variable var, Location loc) {
|
public Variable defineSpecial(Variable var, Location loc) {
|
||||||
return specials.add(var);
|
return specials.add(var);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user