Class DeletePropertyNode
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.access.JSTargetableNode
com.oracle.truffle.js.nodes.control.DeletePropertyNode
- All Implemented Interfaces:
com.oracle.truffle.api.instrumentation.InstrumentableNode,com.oracle.truffle.api.nodes.NodeInterface,Cloneable
11.4.1 The delete Operator (
delete object[property]).-
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
FieldsModifier and TypeFieldDescriptionprotected JavaScriptNodeprotected final booleanprotected JavaScriptNodeFields inherited from class com.oracle.truffle.js.nodes.JavaScriptNode
INTERMEDIATE_VALUE -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedDeletePropertyNode(boolean strict, JavaScriptNode targetNode, JavaScriptNode propertyNode) -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanarrayElementInt(Object target, int index, com.oracle.truffle.api.interop.InteropLibrary interop) protected JavaScriptNodecopyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) static DeletePropertyNodecreate(boolean strict) static DeletePropertyNodecreate(JavaScriptNode object, JavaScriptNode property, boolean strict) protected static booleandoBigInt(BigInt target, Object property, JSToPropertyKeyNode toPropertyKeyNode) protected final booleandoJSGlobalObject(JSGlobalObject targetObject, Object key, JSToPropertyKeyNode toPropertyKeyNode, com.oracle.truffle.api.object.DynamicObjectLibrary dynamicObjectLib) protected final booleandoJSObject(JSDynamicObject targetObject, Object key, com.oracle.truffle.api.nodes.Node node, IsArrayNode isArrayNode, com.oracle.truffle.api.profiles.InlinedConditionProfile arrayProfile, ToArrayIndexNode toArrayIndexNode, com.oracle.truffle.api.profiles.InlinedConditionProfile arrayIndexProfile, JSArrayDeleteIndexNode deleteArrayIndexNode, JSClassProfile jsclassProfile, JSToPropertyKeyNode toPropertyKeyNode) protected final booleandoJSOrdinaryObject(JSDynamicObject targetObject, Object key, JSToPropertyKeyNode toPropertyKeyNode, com.oracle.truffle.api.object.DynamicObjectLibrary dynamicObjectLib) booleandoOther(Object target, Object property, JSToPropertyKeyNode toPropertyKeyNode) protected static booleandoSafeInteger(SafeInteger target, Object property, JSToPropertyKeyNode toPropertyKeyNode) protected booleandoString(com.oracle.truffle.api.strings.TruffleString target, Object property, ToArrayIndexNode toArrayIndexNode, com.oracle.truffle.api.strings.TruffleString.EqualNode equalsNode) protected static booleandoSymbol(Symbol target, Object property, JSToPropertyKeyNode toPropertyKeyNode) final ObjectevaluateTarget(com.oracle.truffle.api.frame.VirtualFrame frame) final Objectexecute(com.oracle.truffle.api.frame.VirtualFrame frame) Executes this node using the specified context and frame and returns the result value.abstract booleanexecuteEvaluated(Object objectResult, Object propertyResult) protected booleanforeignObject(Object target, Object key, com.oracle.truffle.api.interop.InteropLibrary interop, ToArrayIndexNode toArrayIndexNode, JSToPropertyKeyNode toPropertyKeyNode) final JavaScriptNodebooleanbooleanisResultAlwaysOfType(Class<?> clazz) com.oracle.truffle.api.instrumentation.InstrumentableNodematerializeInstrumentableNodes(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) protected booleanmember(Object target, com.oracle.truffle.api.strings.TruffleString name, com.oracle.truffle.api.interop.InteropLibrary interop) Methods inherited from class com.oracle.truffle.js.nodes.access.JSTargetableNode
createWrapper, evaluateReceiver, executeDoubleWithTarget, executeIntWithTarget, executeWithTarget, expressionToStringMethods inherited from class com.oracle.truffle.js.nodes.JavaScriptNode
addCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, executeBoolean, executeDouble, executeInt, executeVoid, findBlockScopeNode, getSourceSection, hasSourceSection, isInstrumentable, 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
-
Field Details
-
strict
protected final boolean strict -
targetNode
-
propertyNode
-
-
Constructor Details
-
DeletePropertyNode
protected DeletePropertyNode(boolean strict, JavaScriptNode targetNode, JavaScriptNode propertyNode)
-
-
Method Details
-
create
-
create
public static DeletePropertyNode create(JavaScriptNode object, JavaScriptNode property, boolean strict) -
hasTag
- Specified by:
hasTagin interfacecom.oracle.truffle.api.instrumentation.InstrumentableNode- Overrides:
hasTagin classJavaScriptNode
-
getNodeObject
-
materializeInstrumentableNodes
-
getTarget
- Overrides:
getTargetin classJSTargetableNode
-
execute
Description copied from class:JavaScriptNodeExecutes this node using the specified context and frame and returns the result value.- Specified by:
executein classJavaScriptNode- Parameters:
frame- the frame of the currently executing guest language method- Returns:
- the value of the execution
-
evaluateTarget
- Overrides:
evaluateTargetin classJSTargetableNode
-
executeEvaluated
-
doJSOrdinaryObject
protected final boolean doJSOrdinaryObject(JSDynamicObject targetObject, Object key, JSToPropertyKeyNode toPropertyKeyNode, com.oracle.truffle.api.object.DynamicObjectLibrary dynamicObjectLib) -
doJSGlobalObject
protected final boolean doJSGlobalObject(JSGlobalObject targetObject, Object key, JSToPropertyKeyNode toPropertyKeyNode, com.oracle.truffle.api.object.DynamicObjectLibrary dynamicObjectLib) -
doJSObject
protected final boolean doJSObject(JSDynamicObject targetObject, Object key, com.oracle.truffle.api.nodes.Node node, IsArrayNode isArrayNode, com.oracle.truffle.api.profiles.InlinedConditionProfile arrayProfile, ToArrayIndexNode toArrayIndexNode, com.oracle.truffle.api.profiles.InlinedConditionProfile arrayIndexProfile, JSArrayDeleteIndexNode deleteArrayIndexNode, JSClassProfile jsclassProfile, JSToPropertyKeyNode toPropertyKeyNode) -
doSymbol
protected static boolean doSymbol(Symbol target, Object property, JSToPropertyKeyNode toPropertyKeyNode) -
doSafeInteger
protected static boolean doSafeInteger(SafeInteger target, Object property, JSToPropertyKeyNode toPropertyKeyNode) -
doBigInt
protected static boolean doBigInt(BigInt target, Object property, JSToPropertyKeyNode toPropertyKeyNode) -
doString
protected boolean doString(com.oracle.truffle.api.strings.TruffleString target, Object property, ToArrayIndexNode toArrayIndexNode, com.oracle.truffle.api.strings.TruffleString.EqualNode equalsNode) -
member
protected boolean member(Object target, com.oracle.truffle.api.strings.TruffleString name, com.oracle.truffle.api.interop.InteropLibrary interop) -
arrayElementInt
protected boolean arrayElementInt(Object target, int index, com.oracle.truffle.api.interop.InteropLibrary interop) -
foreignObject
protected boolean foreignObject(Object target, Object key, com.oracle.truffle.api.interop.InteropLibrary interop, ToArrayIndexNode toArrayIndexNode, JSToPropertyKeyNode toPropertyKeyNode) -
doOther
-
copyUninitialized
protected JavaScriptNode copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) - Overrides:
copyUninitializedin classJavaScriptNode
-
isResultAlwaysOfType
- Overrides:
isResultAlwaysOfTypein classJavaScriptNode
-