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,
JSDynamicObject prototype) |
JSFunctionObject |
create(JSFunctionData functionData,
com.oracle.truffle.api.frame.MaterializedFrame enclosingFrame,
Object classPrototype,
JSRealm realm) |
JSFunctionObject |
createBound(JSFunctionData functionData,
Object classPrototype,
JSRealm realm,
Object boundTargetFunction,
Object boundThis,
Object[] boundArguments) |
JSFunctionObject |
createWithPrototype(JSFunctionData functionData,
com.oracle.truffle.api.frame.MaterializedFrame enclosingFrame,
Object classPrototype,
JSRealm realm,
JSDynamicObject prototype) |
JSFunctionObject |
createWrapped(JSFunctionData functionData,
JSRealm realm,
Object wrappedTargetFunction) |
protected abstract JSDynamicObject |
getPrototype(JSRealm realm) |
protected abstract com.oracle.truffle.api.object.Shape |
getShape(JSRealm realm,
JSDynamicObject prototype) |
protected abstract void |
initProperties(JSFunctionObject obj,
JSFunctionData functionData) |
protected final JSContext context
protected final JSObjectFactory objectFactory
protected JSFunctionFactory(JSContext context, JSObjectFactory objectFactory)
public static JSFunctionFactory create(JSContext context, JSDynamicObject prototype)
public final JSFunctionObject create(JSFunctionData functionData, com.oracle.truffle.api.frame.MaterializedFrame enclosingFrame, Object classPrototype, JSRealm realm)
public final JSFunctionObject createWithPrototype(JSFunctionData functionData, com.oracle.truffle.api.frame.MaterializedFrame enclosingFrame, Object classPrototype, JSRealm realm, JSDynamicObject prototype)
protected abstract void initProperties(JSFunctionObject obj, JSFunctionData functionData)
public final JSFunctionObject createBound(JSFunctionData functionData, Object classPrototype, JSRealm realm, Object boundTargetFunction, Object boundThis, Object[] boundArguments)
public final JSFunctionObject createWrapped(JSFunctionData functionData, JSRealm realm, Object wrappedTargetFunction)
protected abstract JSDynamicObject getPrototype(JSRealm realm)
protected abstract com.oracle.truffle.api.object.Shape getShape(JSRealm realm, JSDynamicObject prototype)