public abstract class JSFunctionFactory extends Object
| Modifier and Type | Field and Description |
|---|---|
protected JSContext |
context |
protected JSObjectFactory |
objectFactory |
| Modifier | Constructor and Description |
|---|---|
protected |
JSFunctionFactory(JSContext context,
JSObjectFactory objectFactory) |
| Modifier and Type | Method and Description |
|---|---|
static JSFunctionFactory |
create(JSContext context,
com.oracle.truffle.api.object.DynamicObject prototype) |
com.oracle.truffle.api.object.DynamicObject |
create(JSFunctionData functionData,
com.oracle.truffle.api.frame.MaterializedFrame enclosingFrame,
Object classPrototype,
JSRealm realm) |
com.oracle.truffle.api.object.DynamicObject |
createBound(JSFunctionData functionData,
Object classPrototype,
JSRealm realm,
com.oracle.truffle.api.object.DynamicObject boundTargetFunction,
Object boundThis,
Object[] boundArguments) |
com.oracle.truffle.api.object.DynamicObject |
createWithPrototype(JSFunctionData functionData,
com.oracle.truffle.api.frame.MaterializedFrame enclosingFrame,
Object classPrototype,
JSRealm realm,
com.oracle.truffle.api.object.DynamicObject prototype) |
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) |
protected abstract void |
initProperties(com.oracle.truffle.api.object.DynamicObject obj,
JSFunctionData functionData) |
protected abstract boolean |
isInObjectProto() |
protected final JSContext context
protected final JSObjectFactory objectFactory
protected JSFunctionFactory(JSContext context, JSObjectFactory objectFactory)
public static JSFunctionFactory create(JSContext context, com.oracle.truffle.api.object.DynamicObject prototype)
public final com.oracle.truffle.api.object.DynamicObject create(JSFunctionData functionData, com.oracle.truffle.api.frame.MaterializedFrame enclosingFrame, Object classPrototype, JSRealm realm)
public final com.oracle.truffle.api.object.DynamicObject createWithPrototype(JSFunctionData functionData, com.oracle.truffle.api.frame.MaterializedFrame enclosingFrame, Object classPrototype, JSRealm realm, com.oracle.truffle.api.object.DynamicObject prototype)
protected abstract void initProperties(com.oracle.truffle.api.object.DynamicObject obj,
JSFunctionData functionData)
public final com.oracle.truffle.api.object.DynamicObject createBound(JSFunctionData functionData, Object classPrototype, JSRealm realm, com.oracle.truffle.api.object.DynamicObject boundTargetFunction, Object boundThis, Object[] boundArguments)
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)
protected abstract boolean isInObjectProto()