home *** CD-ROM | disk | FTP | other *** search
- package com.netscape.javascript;
-
- class InterpretedFunction extends NativeFunction {
- InterpreterData itsData;
-
- InterpretedFunction(InterpreterData var1, Context var2) {
- this.itsData = var1;
- super.names = new String[this.itsData.itsVariableTable.size() + 1];
- super.names[0] = this.itsData.itsName;
-
- for(int var3 = 0; var3 < this.itsData.itsVariableTable.size(); ++var3) {
- super.names[var3 + 1] = this.itsData.itsVariableTable.getName(var3);
- }
-
- super.argCount = (short)this.itsData.itsVariableTable.getParameterCount();
- super.source = this.itsData.itsSource;
- super.nestedFunctions = this.itsData.itsNestedFunctions;
- super.version = (short)var2.getLanguageVersion();
- }
-
- public Object call(Context var1, Scriptable var2, Scriptable var3, Object[] var4) throws JavaScriptException {
- if (this.itsData.itsNeedsActivation) {
- var2 = ScriptRuntime.initVarObj(var1, var2, this, var3, var4);
- }
-
- this.itsData.itsCX = var1;
- this.itsData.itsScope = var2;
- this.itsData.itsThisObj = var3;
- this.itsData.itsInArgs = var4;
- return Interpreter.interpret(this.itsData);
- }
- }
-