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, Cloneable

public abstract class IsInstanceOfNode extends PklNode
  • 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.Children
  • Field Summary

    Fields inherited from class org.pkl.core.ast.PklNode

    sourceSection
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected boolean
    eval(boolean left, VmClass right)
     
    protected boolean
    eval(double left, VmClass right)
     
    protected boolean
    eval(long left, VmClass right)
     
    protected boolean
    eval(String left, VmClass right)
     
    protected boolean
    evalVmValue(Object value, VmClass vmClass, Class<? extends VmValue> valueJavaClass)
    This method effectively covers `VmValue value` but is implemented in a more efficient way.
    abstract boolean
    executeBoolean(Object value, VmClass clazz)
     
    protected Class<? extends VmValue>
     

    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

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • IsInstanceOfNode

      public IsInstanceOfNode()
  • Method Details

    • executeBoolean

      public abstract boolean executeBoolean(Object value, VmClass clazz)
    • eval

      protected boolean eval(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(Object value, VmClass vmClass, Class<? extends VmValue> valueJavaClass)
      This method effectively covers `VmValue value` but is implemented in a more efficient way.
    • getJavaClass

      protected Class<? extends VmValue> getJavaClass(Object value)