Class JSNewNode
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.function.JSNewNode
- All Implemented Interfaces:
com.oracle.truffle.api.instrumentation.InstrumentableNode,com.oracle.truffle.api.nodes.NodeInterface,Cloneable
11.2.2 The new Operator.
-
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
FieldsFields inherited from class com.oracle.truffle.js.nodes.JavaScriptNode
INTERMEDIATE_VALUE -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedJSNewNode(JSContext context, JavaScriptNode targetNode, AbstractFunctionArgumentsNode arguments) -
Method Summary
Modifier and TypeMethodDescriptionprotected JavaScriptNodecopyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) static JSNewNodecreate(JSContext context, JavaScriptNode function, AbstractFunctionArgumentsNode arguments) createClassNotFoundError(com.oracle.truffle.api.frame.VirtualFrame frame, JSDynamicObject target) createFunctionTypeError(com.oracle.truffle.api.frame.VirtualFrame frame, Object target) doJSAdapter(com.oracle.truffle.api.frame.VirtualFrame frame, JSDynamicObject target) doNewForeignObject(com.oracle.truffle.api.frame.VirtualFrame frame, Object target, com.oracle.truffle.api.nodes.Node node, com.oracle.truffle.api.interop.InteropLibrary interop, ExportValueNode convert, ImportValueNode toJSType, com.oracle.truffle.api.profiles.InlinedConditionProfile isHostClassProf, com.oracle.truffle.api.profiles.InlinedConditionProfile isAbstractProf) protected ObjectdoNewJSProxy(com.oracle.truffle.api.frame.VirtualFrame frame, JSDynamicObject proxy, JSFunctionCallNode callNew) doNewReturnThis(com.oracle.truffle.api.frame.VirtualFrame frame, JSDynamicObject target, JSFunctionCallNode callNew) booleancom.oracle.truffle.api.instrumentation.InstrumentableNodematerializeInstrumentableNodes(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) Methods inherited from class com.oracle.truffle.js.nodes.JavaScriptNode
addCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, createWrapper, execute, executeBoolean, executeDouble, executeInt, executeVoid, expressionToString, findBlockScopeNode, getSourceSection, hasSourceSection, isInstrumentable, isResultAlwaysOfType, onReplace, setSourceSection, setSourceSection, toString, transferSourceSection, transferSourceSectionAddExpressionTag, transferSourceSectionAndTagsMethods inherited from class com.oracle.truffle.js.nodes.JavaScriptBaseNode
getJSContext, getLanguage, getLanguageOptions, getRealm, hasOverloadedOperators, reportLoopCount, reportLoopCountMethods 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, reportPolymorphicSpecialize, reportReplaceMethods 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
createProbe, findNearestNodeAt, findNearestNodeAt, findProbe
-
Field Details
-
targetNode
-
context
-
-
Constructor Details
-
JSNewNode
protected JSNewNode(JSContext context, JavaScriptNode targetNode, AbstractFunctionArgumentsNode arguments)
-
-
Method Details
-
hasTag
- Specified by:
hasTagin interfacecom.oracle.truffle.api.instrumentation.InstrumentableNode- Overrides:
hasTagin classJavaScriptNode
-
getNodeObject
-
materializeInstrumentableNodes
-
create
public static JSNewNode create(JSContext context, JavaScriptNode function, AbstractFunctionArgumentsNode arguments) -
getTarget
-
doNewReturnThis
public Object doNewReturnThis(com.oracle.truffle.api.frame.VirtualFrame frame, JSDynamicObject target, JSFunctionCallNode callNew) -
doNewJSProxy
protected Object doNewJSProxy(com.oracle.truffle.api.frame.VirtualFrame frame, JSDynamicObject proxy, JSFunctionCallNode callNew) -
doJSAdapter
-
createClassNotFoundError
public Object createClassNotFoundError(com.oracle.truffle.api.frame.VirtualFrame frame, JSDynamicObject target) -
doNewForeignObject
public Object doNewForeignObject(com.oracle.truffle.api.frame.VirtualFrame frame, Object target, com.oracle.truffle.api.nodes.Node node, com.oracle.truffle.api.interop.InteropLibrary interop, ExportValueNode convert, ImportValueNode toJSType, com.oracle.truffle.api.profiles.InlinedConditionProfile isHostClassProf, com.oracle.truffle.api.profiles.InlinedConditionProfile isAbstractProf) -
createFunctionTypeError
-
copyUninitialized
protected JavaScriptNode copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) - Overrides:
copyUninitializedin classJavaScriptNode
-