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,
com.oracle.truffle.api.object.DynamicObject 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 com.oracle.truffle.api.object.DynamicObject |
getPrototype(JSRealm realm) |
com.oracle.truffle.api.object.Shape |
getShape() |
com.oracle.truffle.api.object.Shape |
getShape(JSRealm realm) |
protected abstract com.oracle.truffle.api.object.Shape |
getShape(JSRealm realm,
com.oracle.truffle.api.object.DynamicObject prototype) |
<T extends com.oracle.truffle.api.object.DynamicObject> |
initProto(T obj,
com.oracle.truffle.api.object.DynamicObject prototype) |
<T extends com.oracle.truffle.api.object.DynamicObject> |
initProto(T obj,
JSRealm realm) |
protected boolean |
isInObjectProto() |
protected void |
setPrototype(com.oracle.truffle.api.object.DynamicObject obj,
com.oracle.truffle.api.object.DynamicObject prototype) |
<T extends com.oracle.truffle.api.object.DynamicObject> |
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, com.oracle.truffle.api.object.DynamicObject 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 com.oracle.truffle.api.object.DynamicObject getPrototype(JSRealm realm)
protected abstract com.oracle.truffle.api.object.Shape getShape(JSRealm realm, com.oracle.truffle.api.object.DynamicObject prototype)
public final com.oracle.truffle.api.object.Shape getShape(JSRealm realm)
public final com.oracle.truffle.api.object.Shape getShape()
public final <T extends com.oracle.truffle.api.object.DynamicObject> T initProto(T obj,
JSRealm realm)
public final <T extends com.oracle.truffle.api.object.DynamicObject> T initProto(T obj,
com.oracle.truffle.api.object.DynamicObject prototype)
protected void setPrototype(com.oracle.truffle.api.object.DynamicObject obj,
com.oracle.truffle.api.object.DynamicObject prototype)
public final <T extends com.oracle.truffle.api.object.DynamicObject> T trackAllocation(T obj)
protected final boolean isInObjectProto()