Class JSPrepareThisNode
java.lang.Object
com.oracle.truffle.api.nodes.Node
com.oracle.truffle.js.nodes.JavaScriptBaseNode
com.oracle.truffle.js.nodes.JavaScriptNode
com.oracle.truffle.js.nodes.unary.JSUnaryNode
com.oracle.truffle.js.nodes.cast.JSPrepareThisNode
- All Implemented Interfaces:
com.oracle.truffle.api.instrumentation.InstrumentableNode,com.oracle.truffle.api.nodes.NodeInterface,Cloneable
Implementation of the implicit
this argument conversion upon entering non-strict
functions (OrdinaryCallBindThis).
Converts the caller provided thisArg to the ThisBinding of the callee's execution context,
replacing null or undefined with the global object and performing ToObject on primitives.- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class com.oracle.truffle.api.nodes.Node
com.oracle.truffle.api.nodes.Node.Child, com.oracle.truffle.api.nodes.Node.ChildrenNested classes/interfaces inherited from interface com.oracle.truffle.api.instrumentation.InstrumentableNode
com.oracle.truffle.api.instrumentation.InstrumentableNode.WrapperNode -
Field Summary
Fields inherited from class com.oracle.truffle.js.nodes.unary.JSUnaryNode
operandNodeFields inherited from class com.oracle.truffle.js.nodes.JavaScriptNode
INTERMEDIATE_VALUE -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedJSPrepareThisNode(JSContext context, JavaScriptNode child) -
Method Summary
Modifier and TypeMethodDescriptionprotected JavaScriptNodecopyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) static JSPrepareThisNodecreatePrepareThisBinding(JSContext context, JavaScriptNode child) protected JSObjectprotected JSObjectdoBoolean(boolean value) protected JSObjectdoDouble(double value) protected final ObjectdoForeignObject(Object value, com.oracle.truffle.api.interop.InteropLibrary interop) protected JSObjectdoInt(int value) protected JSObjectdoJSObject(JSObject object) protected JSDynamicObjectdoJSObject(Object object) protected ObjectdoJSObjectCached(Object object, Class<?> cachedClass) protected JSObjectdoString(com.oracle.truffle.api.strings.TruffleString value) protected JSObjectMethods inherited from class com.oracle.truffle.js.nodes.unary.JSUnaryNode
expressionToString, getNodeObject, getOperandMethods inherited from class com.oracle.truffle.js.nodes.JavaScriptNode
addCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, createWrapper, execute, executeBoolean, executeDouble, executeInt, executeVoid, findBlockScopeNode, getSourceSection, hasSourceSection, hasTag, isInstrumentable, isResultAlwaysOfType, onReplace, setSourceSection, setSourceSection, toString, transferSourceSection, transferSourceSectionAddExpressionTag, transferSourceSectionAndTagsMethods inherited from class com.oracle.truffle.js.nodes.JavaScriptBaseNode
getJSContext, getLanguage, getLanguageOptions, getRealm, hasOverloadedOperatorsMethods inherited from class com.oracle.truffle.api.nodes.Node
accept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, replace, replace, reportPolymorphicSpecializeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.oracle.truffle.api.instrumentation.InstrumentableNode
findNearestNodeAt, findNearestNodeAt, materializeInstrumentableNodes
-
Constructor Details
-
JSPrepareThisNode
-
-
Method Details
-
createPrepareThisBinding
-
doJSObject
-
doJSObjectCached
-
doJSObject
-
doBoolean
-
doString
-
doInt
-
doDouble
-
doBigInt
-
doSymbol
-
doForeignObject
-
copyUninitialized
protected JavaScriptNode copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) - Overrides:
copyUninitializedin classJavaScriptNode
-