Clazz.declarePackage("JS");
Clazz.load(null, "JS.ScriptProcessRunnable", ["JU.Logger"], function(){
var c$ = Clazz.decorateAsClass(function(){
this.parallelProcessor = null;
this.process = null;
this.processLock = null;
this.shapeManager = null;
Clazz.instantialize(this, arguments);}, JS, "ScriptProcessRunnable", null, Runnable);
Clazz.makeConstructor(c$, 
function(parallelProcessor, process, lock, shapeManager){
this.parallelProcessor = parallelProcessor;
this.process = process;
this.processLock = lock;
this.shapeManager = shapeManager;
}, "JS.ScriptParallelProcessor,JS.ScriptProcess,~O,JV.ShapeManager");
Clazz.overrideMethod(c$, "run", 
function(){
try {
if (this.parallelProcessor.error == null) {
if (JU.Logger.debugging) JU.Logger.debug("Running process " + this.process.processName + " " + this.process.context.pc + " - " + (this.process.context.pcEnd - 1));
this.parallelProcessor.eval(this.process.context, this.shapeManager);
if (JU.Logger.debugging) JU.Logger.debug("Process " + this.process.processName + " complete");
}} catch (e$$) {
if (Clazz.exceptionOf(e$$, Exception)){
var e = e$$;
{
e.printStackTrace();
}
} else if (Clazz.exceptionOf(e$$, Error)){
var er = e$$;
{
this.parallelProcessor.clearShapeManager(er);
}
} else {
throw e$$;
}
} finally {
{
--this.parallelProcessor.counter;
this.processLock.notifyAll();
}}
});
});
;//5.0.1-v2 Tue Jul 23 17:25:20 CDT 2024
