From 1a4ec86fbdf1ea0aef1bd57f3fee162e03a5e279 Mon Sep 17 00:00:00 2001 From: crawshaw Date: Sat, 8 Jan 2005 10:02:24 +0000 Subject: [PATCH] HACK introduce get() and put() calls in trap functions for subclasses darcs-hash:20050108100224-2eb37-2571c7361dca301842fd5b3000d9ce59b69fe4f9.gz --- src/org/ibex/js/JS.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/org/ibex/js/JS.java b/src/org/ibex/js/JS.java index c988746..9cf36df 100644 --- a/src/org/ibex/js/JS.java +++ b/src/org/ibex/js/JS.java @@ -234,13 +234,15 @@ public interface JS extends Pausable { if (t != null && (t = t.write()) != null) { val = (JS)new Interpreter(t, val, false).run(null); } + put(key, val); // HACK: necessary for subclasses overriding put() + /*if (i < 0) i = put(i, key); if (val == null) entries[i + 1] = holder; - else entries[i + 1] = val; + else entries[i + 1] = val;*/ return val; } public JS getAndTriggerTraps(JS key) throws JSExn { Trap t = null; int i = indexOf(key); - if (i < 0) return null; + if (i < 0) return get(key); // HACK: necessary for subclasses overriding get() t = (Trap)entries[i + 2]; return t == null ? (JS)entries[i + 1] : (JS)new Interpreter(t, null, false).run(null); } -- 1.7.10.4