X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fibex%2Fjs%2FJS.java;h=1e38ce53ca621283a1e64396abba55fe855685e7;hb=2c3f170edc8e0da2de19f8a902e59fd04ea6c990;hp=9aa5606455c3e24c20597359e6769ef766a30d41;hpb=b4cbe7980419f21ef890b407e6d7e6e8026ca71e;p=org.ibex.core.git diff --git a/src/org/ibex/js/JS.java b/src/org/ibex/js/JS.java index 9aa5606..1e38ce5 100644 --- a/src/org/ibex/js/JS.java +++ b/src/org/ibex/js/JS.java @@ -2,7 +2,6 @@ package org.ibex.js; import org.ibex.util.*; -import org.ibex.*; import java.io.*; import java.util.*; @@ -69,7 +68,7 @@ public class JS extends org.ibex.util.BalancedTree { return new JS.UnpauseCallback(i); } - public static class UnpauseCallback implements Scheduler.Task { + public static class UnpauseCallback implements Task { Interpreter i; UnpauseCallback(Interpreter i) { this.i = i; } public void perform() throws JSExn { unpause(null); } @@ -132,7 +131,12 @@ public class JS extends org.ibex.util.BalancedTree { if((int)d == d) return Integer.toString((int)d); return o.toString(); } - throw new RuntimeException("can't coerce "+o+" [" + o.getClass().getName() + "]"); + if (o instanceof JS) return ((JS)o).coerceToString(); // HACK for now, this will probably go away + throw new RuntimeException("can't coerce "+o+" [" + o.getClass().getName() + "] to type String."); + } + + public String coerceToString() { + throw new RuntimeException("can't coerce "+this+" [" + getClass().getName() + "] to type String."); } // Instance Methods ////////////////////////////////////////////////////////////////////