cascade bug infinite loop bug
authorbrian <brian@brianweb.net>
Wed, 2 Jun 2004 04:11:42 +0000 (04:11 +0000)
committerbrian <brian@brianweb.net>
Wed, 2 Jun 2004 04:11:42 +0000 (04:11 +0000)
darcs-hash:20040602041142-24bed-3df1712ef9375a1fa72df36ec2fd02e140ac93c5.gz

src/org/ibex/js/Interpreter.java

index 0d2c219..5fac7cb 100644 (file)
@@ -217,8 +217,8 @@ class Interpreter implements ByteCodes, Tokens {
                     throw je("tried to assign \"" + (val==null?"(null)":val.toString()) + "\" to the null key");
 
                 Trap t = null;
                     throw je("tried to assign \"" + (val==null?"(null)":val.toString()) + "\" to the null key");
 
                 Trap t = null;
-                if (target instanceof JSScope && key.equals("cascade")) {
-                    Trap.TrapScope ts = null;
+                Trap.TrapScope ts = null;
+                if (target instanceof JSScope && key.equals("cascade")) {                    
                     JSScope p = (JSScope)target; // search the scope-path for the trap
                     if (target instanceof Trap.TrapScope) {
                        ts = (Trap.TrapScope)target;
                     JSScope p = (JSScope)target; // search the scope-path for the trap
                     if (target instanceof Trap.TrapScope) {
                        ts = (Trap.TrapScope)target;
@@ -235,7 +235,7 @@ class Interpreter implements ByteCodes, Tokens {
                         if (t == null) { target = ts.t.trapee; key = ts.t.name; }
                     }
                 }
                         if (t == null) { target = ts.t.trapee; key = ts.t.name; }
                     }
                 }
-                if(t == null) {
+                if(ts == null) {
                     if (target instanceof JSScope) {
                         JSScope p = (JSScope)target; // search the scope-path for the trap
                         t = p.getTrap(key);
                     if (target instanceof JSScope) {
                         JSScope p = (JSScope)target; // search the scope-path for the trap
                         t = p.getTrap(key);