// Path: scripting/core/ScriptException.java
// public class ScriptException extends Exception {
// 	
// 	/**
// 	 * 
// 	 */
// 	private static final long serialVersionUID = 1L;
// 
// 	public ScriptException(String message) {
// 		super(message);
// 	}
// 	
// 	public ScriptException(Throwable cause) {
// 		super(cause);
// 	}
// }


import org.mozilla.javascript.Script;
import org.mozilla.javascript.Scriptable;
import scripting.core.ScriptException;
package scripting.core.script;



public abstract class JSScript {
	
	public final String name;
	public final String source;
	
	protected Script script;
	protected Scriptable scope;
	
	public JSScript(String name, String source) {
		this.name = name;
		this.source = source;
	}
	
	/**
	 * Called after being executed for the first time to set up functions.
	 * 
	 * @throws ScriptException If an error occurs (such as function not found).
	 */
// Path: scripting/core/ScriptException.java
// public class ScriptException extends Exception {
// 	
// 	/**
// 	 * 
// 	 */
// 	private static final long serialVersionUID = 1L;
// 
// 	public ScriptException(String message) {
// 		super(message);
// 	}
// 	
// 	public ScriptException(Throwable cause) {
// 		super(cause);
// 	}
// }


// Path: scripting/core/script/JSScript.java
import org.mozilla.javascript.Script;
import org.mozilla.javascript.Scriptable;
import scripting.core.ScriptException;

package scripting.core.script;



public abstract class JSScript {
	
	public final String name;
	public final String source;
	
	protected Script script;
	protected Scriptable scope;
	
	public JSScript(String name, String source) {
		this.name = name;
		this.source = source;
	}
	
	/**
	 * Called after being executed for the first time to set up functions.
	 * 
	 * @throws ScriptException If an error occurs (such as function not found).
	 */
	public abstract void postInit() throws ScriptException;