Class EqualNode

  • All Implemented Interfaces:
    com.oracle.truffle.api.nodes.NodeInterface, java.lang.Cloneable

    public abstract class EqualNode
    extends ExpressionNode
    • 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
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected EqualNode​(com.oracle.truffle.api.source.SourceSection sourceSection)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected boolean eval​(boolean left, boolean right)  
      protected boolean eval​(double left, double right)  
      protected boolean eval​(double left, long right)  
      protected boolean eval​(long left, double right)  
      protected boolean eval​(long left, long right)  
      protected boolean eval​(java.lang.Object left, java.lang.Object right)  
      protected boolean eval​(java.lang.Object left, java.lang.Object right, java.lang.Class<? extends VmValue> leftJavaClass)
      This method effectively covers `VmValue left, VmValue right` but is implemented in a more efficient way.
      protected boolean eval​(java.lang.String left, java.lang.String right)  
      protected static @Nullable java.lang.Class<? extends VmValue> getVmValueJavaClassOrNull​(java.lang.Object value)  
      protected static boolean isIncompatibleTypes​(java.lang.Object left, java.lang.Object right)  
      • 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

      • EqualNode

        protected EqualNode​(com.oracle.truffle.api.source.SourceSection sourceSection)
    • Method Detail

      • eval

        protected boolean eval​(java.lang.String left,
                               java.lang.String right)
      • eval

        protected boolean eval​(long left,
                               long right)
      • eval

        protected boolean eval​(long left,
                               double right)
      • eval

        protected boolean eval​(double left,
                               long right)
      • eval

        protected boolean eval​(double left,
                               double right)
      • eval

        protected boolean eval​(boolean left,
                               boolean right)
      • eval

        protected boolean eval​(java.lang.Object left,
                               java.lang.Object right,
                               java.lang.Class<? extends VmValue> leftJavaClass)
        This method effectively covers `VmValue left, VmValue right` 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
      • getVmValueJavaClassOrNull

        protected static @Nullable java.lang.Class<? extends VmValue> getVmValueJavaClassOrNull​(java.lang.Object value)
      • eval

        protected boolean eval​(java.lang.Object left,
                               java.lang.Object right)
      • isIncompatibleTypes

        protected static boolean isIncompatibleTypes​(java.lang.Object left,
                                                     java.lang.Object right)