public static JS.Thread current() { return (JS.Thread)javaThreadToJSThread.get(java.lang.Thread.currentThread()); }
- public void resume() { bind(); paused = false; CompiledFunctionImpl.eval(this); }
+ public Object resume() { bind(); paused = false; Object ret = CompiledFunctionImpl.eval(this); unbind(); return ret; }
public void pause() { paused = true; unbind(); }
public void bind() { javaThreadToJSThread.put(java.lang.Thread.currentThread(), this); }
- public void unbind() { if (current() == this) javaThreadToJSThread.put(java.lang.Thread.currentThread(), this); }
+ public void unbind() { if (current() == this) javaThreadToJSThread.remove(java.lang.Thread.currentThread()); }
public int getLine() { return currentCompiledFunction == null ? -1 : currentCompiledFunction.getLine(this); }
public String getSourceName() { return currentCompiledFunction == null ? null : currentCompiledFunction.getSourceName(); }