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