X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fxwt%2Fjs%2FJSFunction.java;h=2f75ff2dfdc8de8d3be1592e25ed43960ec37423;hb=de378041d5ca2aca1a2b5a31ef15ae90a86c977f;hp=8e5c92aee82c06fdc79b734cbfb5e93554468f7d;hpb=de0141dae807567fa444fe99bbe4821543f4f507;p=org.ibex.core.git diff --git a/src/org/xwt/js/JSFunction.java b/src/org/xwt/js/JSFunction.java index 8e5c92a..2f75ff2 100644 --- a/src/org/xwt/js/JSFunction.java +++ b/src/org/xwt/js/JSFunction.java @@ -1,4 +1,4 @@ -// Copyright 2003 Adam Megacz, see the COPYING file for licensing [GPL] +// Copyright 2004 Adam Megacz, see the COPYING file for licensing [GPL] package org.xwt.js; import org.xwt.util.*; @@ -6,7 +6,7 @@ import java.util.*; import java.io.*; /** A JavaScript function, compiled into bytecode */ -public class JSFunction extends JS implements ByteCodes, Tokens, org.xwt.Scheduler.Task { +class JSFunction extends JS implements ByteCodes, Tokens, org.xwt.Scheduler.Task { // Fields and Accessors /////////////////////////////////////////////// @@ -35,7 +35,7 @@ public class JSFunction extends JS implements ByteCodes, Tokens, org.xwt.Schedul } /** parse and compile a function */ - public static JSFunction fromReader(String sourceName, int firstLine, Reader sourceCode) throws IOException { + public static JSFunction _fromReader(String sourceName, int firstLine, Reader sourceCode) throws IOException { JSFunction ret = new JSFunction(sourceName, firstLine, null); if (sourceCode == null) return ret; Parser p = new Parser(sourceCode, sourceName, firstLine); @@ -49,7 +49,7 @@ public class JSFunction extends JS implements ByteCodes, Tokens, org.xwt.Schedul return ret; } - public JSFunction cloneWithNewParentScope(JSScope s) { + public JSFunction _cloneWithNewParentScope(JSScope s) { JSFunction ret = new JSFunction(sourceName, firstLine, s); // Reuse the same op, arg, line, and size variables for the new "instance" of the function // NOTE: Neither *this* function nor the new function should be modified after this call @@ -72,6 +72,7 @@ public class JSFunction extends JS implements ByteCodes, Tokens, org.xwt.Schedul return cx.resume(); } + public JSScope getParentScope() { return parentScope; } // Adding and Altering Bytecodes /////////////////////////////////////////////////// @@ -105,6 +106,7 @@ public class JSFunction extends JS implements ByteCodes, Tokens, org.xwt.Schedul // Debugging ////////////////////////////////////////////////////////////////////// public String toString() { return "JSFunction [" + sourceName + ":" + firstLine + "]"; } + public String dump() { StringBuffer sb = new StringBuffer(1024); sb.append("\n" + sourceName + ": " + firstLine + "\n");