Package org.pkl.core.ast.internal
Class IsInstanceOfNode
- java.lang.Object
-
- com.oracle.truffle.api.nodes.Node
-
- org.pkl.core.ast.PklNode
-
- org.pkl.core.ast.internal.IsInstanceOfNode
-
- All Implemented Interfaces:
com.oracle.truffle.api.nodes.NodeInterface,java.lang.Cloneable
public abstract class IsInstanceOfNode extends PklNode
-
-
Field Summary
-
Fields inherited from class org.pkl.core.ast.PklNode
sourceSection
-
-
Constructor Summary
Constructors Constructor Description IsInstanceOfNode()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected booleaneval(boolean left, VmClass right)protected booleaneval(double left, VmClass right)protected booleaneval(long left, VmClass right)protected booleaneval(java.lang.String left, VmClass right)protected booleanevalVmValue(java.lang.Object value, VmClass vmClass, java.lang.Class<? extends VmValue> valueJavaClass)This method effectively covers `VmValue value` but is implemented in a more efficient way.abstract booleanexecuteBoolean(java.lang.Object value, VmClass clazz)protected java.lang.Class<? extends VmValue>getJavaClass(java.lang.Object value)-
Methods inherited from class org.pkl.core.ast.PklNode
exceptionBuilder, getShortName, getSourceSection, toString
-
Methods inherited from class com.oracle.truffle.api.nodes.Node
accept, adoptChildren, atomic, atomic, copy, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, onReplace, replace, replace, reportPolymorphicSpecialize
-
-
-
-
Method Detail
-
executeBoolean
public abstract boolean executeBoolean(java.lang.Object value, VmClass clazz)
-
eval
protected boolean eval(java.lang.String left, VmClass right)
-
eval
protected boolean eval(long left, VmClass right)
-
eval
protected boolean eval(double left, VmClass right)
-
eval
protected boolean eval(boolean left, VmClass right)
-
evalVmValue
protected boolean evalVmValue(java.lang.Object value, VmClass vmClass, java.lang.Class<? extends VmValue> valueJavaClass)This method effectively covers `VmValue value` but is implemented in a more efficient way. See: https://www.graalvm.org/22.0/graalvm-as-a-platform/language-implementation-framework/TruffleLibraries/#strategy-2-java-interfaces
-
getJavaClass
protected java.lang.Class<? extends VmValue> getJavaClass(java.lang.Object value)
-
-