Class ExportValueNode

java.lang.Object
com.oracle.truffle.api.nodes.Node
com.oracle.truffle.js.nodes.JavaScriptBaseNode
com.oracle.truffle.js.nodes.interop.ExportValueNode
All Implemented Interfaces:
com.oracle.truffle.api.nodes.NodeInterface, Cloneable

public abstract class ExportValueNode extends JavaScriptBaseNode
This node prepares the export of a value via Interop. It transforms values not allowed in Truffle and binds Functions.
See Also:
  • Method Details

    • execute

      public final Object execute(Object value)
    • execute

      public abstract Object execute(Object value, Object thiz, boolean bindMemberFunctions)
    • isInteropCompletePromises

      protected final boolean isInteropCompletePromises()
    • doFunctionNoBind

      protected static JSDynamicObject doFunctionNoBind(JSFunctionObject function, Object thiz, boolean bindFunctions)
    • doFunctionUndefinedThis

      protected static JSDynamicObject doFunctionUndefinedThis(JSFunctionObject function, Object thiz, boolean bindFunctions)
    • doBindUnboundFunction

      protected static com.oracle.truffle.api.interop.TruffleObject doBindUnboundFunction(JSFunctionObject.Unbound function, Object thiz, boolean bindFunctions)
    • doBoundFunction

      protected static JSDynamicObject doBoundFunction(JSFunctionObject.BoundOrWrapped function, Object thiz, boolean bindFunctions)
    • doAsyncFunction

      protected static com.oracle.truffle.api.interop.TruffleObject doAsyncFunction(JSFunctionObject function, Object thiz, boolean bindFunctions)
    • doSafeInteger

      protected static double doSafeInteger(SafeInteger value, Object thiz, boolean bindFunctions)
    • doObject

      protected static JSDynamicObject doObject(JSDynamicObject value, Object thiz, boolean bindFunctions)
    • doInt

      protected static int doInt(int value, Object thiz, boolean bindFunctions)
    • doLong

      protected static long doLong(long value, Object thiz, boolean bindFunctions)
    • doFloat

      protected static float doFloat(float value, Object thiz, boolean bindFunctions)
    • doDouble

      protected static double doDouble(double value, Object thiz, boolean bindFunctions)
    • doBoolean

      protected static boolean doBoolean(boolean value, Object thiz, boolean bindFunctions)
    • doBigInt

      protected static BigInt doBigInt(BigInt value, Object thiz, boolean bindFunctions)
    • doString

      protected static com.oracle.truffle.api.strings.TruffleString doString(com.oracle.truffle.api.strings.TruffleString value, Object thiz, boolean bindFunctions)
    • doTruffleObject

      protected static com.oracle.truffle.api.interop.TruffleObject doTruffleObject(com.oracle.truffle.api.interop.TruffleObject value, Object thiz, boolean bindFunctions)
    • doOther

      protected static Object doOther(Object value, Object thiz, boolean bindFunctions)
    • create

      public static ExportValueNode create()
    • getUncached

      public static ExportValueNode getUncached()