home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1999 November / PCONLINE_11_99.ISO / filesbbs / OS2 / APCHSSL2.ZIP / OS2HTTPD / jserv / com / netscape / javascript / NativeScript.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-04-09  |  3.2 KB  |  78 lines

  1. package com.netscape.javascript;
  2.  
  3. import java.io.IOException;
  4. import java.io.StringReader;
  5.  
  6. public class NativeScript extends NativeFunction implements Script {
  7.    private Script script;
  8.  
  9.    public static Object js_Script(Context var0, Object[] var1, Function var2, boolean var3) {
  10.       String var4 = var1.length == 0 ? "" : ScriptRuntime.toString(var1[0]);
  11.       return compile(var2, var4);
  12.    }
  13.  
  14.    public String js_getName() {
  15.       return "";
  16.    }
  17.  
  18.    public Scriptable construct(Context var1, Scriptable var2, Object[] var3) throws JavaScriptException {
  19.       String var4 = Context.getMessage("msg.script.is.not.constructor", (Object[])null);
  20.       throw Context.reportRuntimeError(var4);
  21.    }
  22.  
  23.    public Object exec(Context var1, Scriptable var2) throws JavaScriptException {
  24.       return this.script == null ? Undefined.instance : this.script.exec(var1, var2);
  25.    }
  26.  
  27.    public Object js_exec() throws JavaScriptException {
  28.       Context var1 = Context.getContext();
  29.       Scriptable var2 = ScriptableObject.getTopLevelScope(((ScriptableObject)this).getParentScope());
  30.       return this.exec(var1, var2);
  31.    }
  32.  
  33.    public static Object js_toString(Context var0, Scriptable var1, Object[] var2, Function var3) {
  34.       Script var4 = ((NativeScript)var1).script;
  35.       if (var4 == null) {
  36.          var4 = (Script)var1;
  37.       }
  38.  
  39.       Scriptable var5 = ScriptableObject.getTopLevelScope(var1);
  40.       return var0.decompileScript(var4, var5, 0);
  41.    }
  42.  
  43.    public static Script compile(Scriptable var0, String var1) {
  44.       Context var2 = Context.getContext();
  45.       StringReader var3 = new StringReader(var1);
  46.  
  47.       try {
  48.          int[] var4 = new int[1];
  49.          String var5 = Context.getSourcePositionFromStack(var4);
  50.          if (var5 == null) {
  51.             var5 = "<Script object>";
  52.             var4[0] = 1;
  53.          }
  54.  
  55.          Object var6 = var2.getSecurityDomainForStackDepth(5);
  56.          return var2.compileReader(var0, var3, var5, var4[0], var6);
  57.       } catch (IOException var7) {
  58.          throw new RuntimeException("Unexpected IOException");
  59.       }
  60.    }
  61.  
  62.    public Scriptable js_compile(String var1) {
  63.       this.script = compile((Scriptable)null, var1);
  64.       return this;
  65.    }
  66.  
  67.    public Object call(Context var1, Scriptable var2, Scriptable var3, Object[] var4) throws JavaScriptException {
  68.       return this.exec(var1, var2);
  69.    }
  70.  
  71.    public void initScript(Scriptable var1) {
  72.    }
  73.  
  74.    public String getClassName() {
  75.       return "Script";
  76.    }
  77. }
  78.