Class IsInstanceOfNode

  • All Implemented Interfaces:
    com.oracle.truffle.api.nodes.NodeInterface, java.lang.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
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      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​(java.lang.String left, VmClass right)  
      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.
      abstract boolean executeBoolean​(java.lang.Object value, VmClass clazz)  
      protected java.lang.Class<? extends VmValue> getJavaClass​(java.lang.Object value)  
      • 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 Detail

      • IsInstanceOfNode

        public IsInstanceOfNode()
    • 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)