public abstract class JSObjectFactory extends Object
| Modifier and Type | Class and Description |
|---|---|
static class |
JSObjectFactory.BoundProto |
static class |
JSObjectFactory.IntrinsicBuilder |
static class |
JSObjectFactory.RealmData |
static class |
JSObjectFactory.UnboundProto |
| Modifier | Constructor and Description |
|---|---|
protected |
JSObjectFactory(JSContext context,
boolean inObjectProto) |
| Modifier and Type | Method and Description |
|---|---|
static JSObjectFactory.BoundProto |
createBound(JSContext context,
JSDynamicObject prototype,
com.oracle.truffle.api.object.Shape factory) |
static JSObjectFactory |
createDefault(JSContext context,
PrototypeSupplier prototypeSupplier,
com.oracle.truffle.api.object.Shape factory) |
static JSObjectFactory.UnboundProto |
createUnbound(JSContext context,
com.oracle.truffle.api.object.Shape factory) |
protected abstract JSDynamicObject |
getPrototype(JSRealm realm) |
com.oracle.truffle.api.object.Shape |
getShape(JSRealm realm) |
protected abstract com.oracle.truffle.api.object.Shape |
getShape(JSRealm realm,
JSDynamicObject prototype) |
<T extends JSDynamicObject> |
initProto(T obj,
JSDynamicObject prototype) |
<T extends JSDynamicObject> |
initProto(T obj,
JSRealm realm) |
protected boolean |
isInObjectProto() |
protected void |
setPrototype(JSDynamicObject obj,
JSDynamicObject prototype) |
<T extends JSDynamicObject> |
trackAllocation(T obj) |
protected final JSContext context
protected JSObjectFactory(JSContext context, boolean inObjectProto)
public static JSObjectFactory.UnboundProto createUnbound(JSContext context, com.oracle.truffle.api.object.Shape factory)
public static JSObjectFactory.BoundProto createBound(JSContext context, JSDynamicObject prototype, com.oracle.truffle.api.object.Shape factory)
public static JSObjectFactory createDefault(JSContext context, PrototypeSupplier prototypeSupplier, com.oracle.truffle.api.object.Shape factory)
protected abstract JSDynamicObject getPrototype(JSRealm realm)
protected abstract com.oracle.truffle.api.object.Shape getShape(JSRealm realm, JSDynamicObject prototype)
public final com.oracle.truffle.api.object.Shape getShape(JSRealm realm)
public final <T extends JSDynamicObject> T initProto(T obj, JSRealm realm)
public final <T extends JSDynamicObject> T initProto(T obj, JSDynamicObject prototype)
protected void setPrototype(JSDynamicObject obj, JSDynamicObject prototype)
public final <T extends JSDynamicObject> T trackAllocation(T obj)
protected final boolean isInObjectProto()