* Make sure prototype and parent scope are set correctly for HopObject.getById().
Fixes bug 601 http://helma.org/bugs/show_bug.cgi?id=601 * Do not define HopObject.getById() as READONLY. Fixes bug 602 http://helma.org/bugs/show_bug.cgi?id=602
This commit is contained in:
parent
ad613b629a
commit
f6d21299a0
1 changed files with 16 additions and 4 deletions
|
@ -43,7 +43,8 @@ public class HopObjectCtor extends FunctionObject {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static final int attr = DONTENUM | PERMANENT | READONLY;
|
static final int attr = DONTENUM | PERMANENT;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create and install a HopObject constructor.
|
* Create and install a HopObject constructor.
|
||||||
* Part of this is copied from o.m.j.FunctionObject.addAsConstructor().
|
* Part of this is copied from o.m.j.FunctionObject.addAsConstructor().
|
||||||
|
@ -54,10 +55,8 @@ public class HopObjectCtor extends FunctionObject {
|
||||||
super(protoName, hopObjCtor, core.global);
|
super(protoName, hopObjCtor, core.global);
|
||||||
this.core = core;
|
this.core = core;
|
||||||
this.protoProperty = prototype;
|
this.protoProperty = prototype;
|
||||||
// Scriptable ps = prototype.getParentScope();
|
|
||||||
addAsConstructor(core.global, prototype);
|
addAsConstructor(core.global, prototype);
|
||||||
// prototype.setParentScope(ps);
|
defineProperty("getById", new GetById(core.global), attr);
|
||||||
defineProperty("getById", new GetById(), attr);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -139,6 +138,10 @@ public class HopObjectCtor extends FunctionObject {
|
||||||
|
|
||||||
class GetById extends BaseFunction {
|
class GetById extends BaseFunction {
|
||||||
|
|
||||||
|
public GetById(Scriptable scope) {
|
||||||
|
ScriptRuntime.setFunctionProtoAndParent(this, scope);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieve any persistent HopObject by type name and id.
|
* Retrieve any persistent HopObject by type name and id.
|
||||||
*
|
*
|
||||||
|
@ -165,6 +168,15 @@ public class HopObjectCtor extends FunctionObject {
|
||||||
}
|
}
|
||||||
return node == null ? null : Context.toObject(node, this);
|
return node == null ? null : Context.toObject(node, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getArity() {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getLength() {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue