diff --git a/src/main/java/me/topchetoeu/jscript/runtime/values/functions/CodeFunction.java b/src/main/java/me/topchetoeu/jscript/runtime/values/functions/CodeFunction.java index 5bf781e..e72a38a 100644 --- a/src/main/java/me/topchetoeu/jscript/runtime/values/functions/CodeFunction.java +++ b/src/main/java/me/topchetoeu/jscript/runtime/values/functions/CodeFunction.java @@ -14,7 +14,6 @@ public final class CodeFunction extends FunctionValue { public Value argsVal; private Value onCall(Frame frame) { - if (mustCallSuper) frame.self = null; frame.onPush(); try { @@ -32,6 +31,7 @@ public final class CodeFunction extends FunctionValue { var frame = new Frame(env, isNew, thisArg, args, this); if (argsVal != null) frame.fakeArgs = argsVal; if (self != null) frame.self = self; + if (mustCallSuper && isNew) frame.self = null; var res = onCall(frame);