projects
/
org.ibex.js.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
7307f7f
)
HACK introduce get() and put() calls in trap functions for subclasses
author
crawshaw
<crawshaw@ibex.org>
Sat, 8 Jan 2005 10:02:24 +0000
(10:02 +0000)
committer
crawshaw
<crawshaw@ibex.org>
Sat, 8 Jan 2005 10:02:24 +0000
(10:02 +0000)
darcs-hash:
20050108100224
-2eb37-
2571c7361dca301842fd5b3000d9ce59b69fe4f9
.gz
src/org/ibex/js/JS.java
patch
|
blob
|
history
diff --git
a/src/org/ibex/js/JS.java
b/src/org/ibex/js/JS.java
index
c988746
..
9cf36df
100644
(file)
--- 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);
}
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;
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);
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);
}
t = (Trap)entries[i + 2];
return t == null ? (JS)entries[i + 1] : (JS)new Interpreter(t, null, false).run(null);
}