Template prev;
Template prev2;
JSScope staticScope = null; ///< the scope in which the static block is executed
+ JS staticObject = null;
// Only used during parsing /////////////////////////////////////////////////////////////////
// FIXME this dollar stuff is all wrong
if (id != null) parentPis.putDollar(id, b);
- PerInstantiationScope pis = new PerInstantiationScope(b, ibex, parentPis, staticScope);
+ PerInstantiationScope pis = new PerInstantiationScope(b, ibex, parentPis, staticObject);
for(int i=0; i<urikeys.length; i++) {
if (urikeys[i] == null) continue;
pis.declare(urikeys[i]);
if(b.parentkey != null) initial_uri = b.parentkey + (initial_uri.equals("") ? "" : "." + initial_uri);
b = b.parent;
}
+ initial_uri = "";
parse(new InputStreamReader(is));
JS staticScript = parseScript(static_content, static_content_start);
- t.staticScope = new PerInstantiationScope(null, ibex, null, null);
+ t.staticObject = new JS();
+ t.staticScope = new PerInstantiationScope(null, ibex, null, t.staticObject);
if (staticScript != null) JS.cloneWithNewParentScope(staticScript, t.staticScope).call(null, null, null, null, 0);
}
// process attributes into Vecs, dealing with any XML Namespaces in the process
ATTR: for (int i=0; i < c.getAttrLen(); i++) {
- //#switch(c.getAttrKey(i))
- case "id":
+ if (c.getAttrKey(i).equals("id")) {
t.id = c.getAttrVal(i).toString().intern();
continue ATTR;
- //#end
+ }
// treat value starting with '.' as resource reference
String uri = c.getAttrUri(i); if (!uri.equals("")) uri = '.' + uri;
private static class PerInstantiationScope extends JSScope {
Ibex ibex = null;
PerInstantiationScope parentBoxPis = null;
- JSScope myStatic = null;
+ JS myStatic = null;
void putDollar(String key, Box target) throws JSExn {
if (parentBoxPis != null) parentBoxPis.putDollar(key, target);
declare("$" + key);
put("$" + key, target);
}
- public PerInstantiationScope(JSScope parentScope, Ibex ibex, PerInstantiationScope parentBoxPis, JSScope myStatic) {
+ public PerInstantiationScope(JSScope parentScope, Ibex ibex, PerInstantiationScope parentBoxPis, JS myStatic) {
super(parentScope);
this.parentBoxPis = parentBoxPis;
this.ibex = ibex;