public AbstractNativeFunction(GlobalContext globalContext, String... formalParameters) { super( globalContext, LexicalEnvironment.newObjectEnvironment(globalContext.getObject(), false, null), true, formalParameters); setupDebugContext(); setFileName(); }
public Completion executeWith(JSObject withObj, BasicBlock block) { LexicalEnvironment oldEnv = this.lexicalEnvironment; LexicalEnvironment withEnv = LexicalEnvironment.newObjectEnvironment(withObj, true, oldEnv); try { this.lexicalEnvironment = withEnv; return block.call(this); } finally { this.lexicalEnvironment = oldEnv; } }