home *** CD-ROM | disk | FTP | other *** search
- package com.netscape.javascript;
-
- public final class NativeCall extends ScriptableObject {
- NativeCall caller;
- NativeFunction funObj;
- Scriptable thisObj;
- Object[] originalArgs;
- public int debugPC;
-
- NativeCall getActivation(NativeFunction var1) {
- NativeCall var2 = this;
-
- while(var2.funObj != var1) {
- var2 = var2.caller;
- if (var2 == null) {
- return null;
- }
- }
-
- return var2;
- }
-
- public NativeFunction getFunctionObject() {
- return this.funObj;
- }
-
- public Scriptable getThisObj() {
- return this.thisObj;
- }
-
- NativeCall(Context var1, Scriptable var2, NativeFunction var3, Scriptable var4, Object[] var5) {
- this(var1, var2, var3, var4);
- this.originalArgs = var5;
- NativeFunction[] var6 = var3.nestedFunctions;
- if (var6 != null) {
- for(int var7 = 0; var7 < var6.length; ++var7) {
- NativeFunction var8 = var6[var7];
- if (var8.names != null) {
- super.put(var8.names[0], this, var8);
- }
- }
- }
-
- String[] var10 = var3.names;
- if (var10 != null) {
- for(int var11 = 0; var11 < var3.argCount; ++var11) {
- Object var9 = var11 < var5.length ? var5[var11] : Undefined.instance;
- super.put(var10[var11 + 1], this, var9);
- }
- }
-
- super.put("arguments", this, new Arguments(this));
- }
-
- NativeCall(Context var1, Scriptable var2, NativeFunction var3, Scriptable var4) {
- this.funObj = var3;
- this.thisObj = var4;
- ((ScriptableObject)this).setParentScope(var2);
- this.caller = var1.currentActivation;
- var1.currentActivation = this;
- }
-
- private NativeCall() {
- }
-
- public static Object js_Call(Context var0, Object[] var1, Function var2, boolean var3) {
- if (!var3) {
- Object[] var5 = new Object[]{"Call"};
- throw Context.reportRuntimeError(Context.getMessage("msg.only.from.new", var5));
- } else {
- ScriptRuntime.checkDeprecated(var0, "Call");
- NativeCall var4 = new NativeCall();
- ((ScriptableObject)var4).setPrototype(ScriptableObject.getObjectPrototype(var2));
- return var4;
- }
- }
-
- public NativeCall getCaller() {
- return this.caller;
- }
-
- public Object[] getOriginalArguments() {
- return this.originalArgs;
- }
-
- public String getClassName() {
- return "Call";
- }
- }
-