public abstract class com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode extends com.oracle.truffle.js.nodes.unary.JSUnaryNode implements com.oracle.truffle.js.nodes.Truncatable
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode
  super_class: com.oracle.truffle.js.nodes.unary.JSUnaryNode
{
  boolean truncate;
    descriptor: Z
    flags: (0x0000) 
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$CompilationFinal()

  private final double leftDouble;
    descriptor: D
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int leftInt;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected final boolean isInt;
    descriptor: Z
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final boolean isSafeLong;
    descriptor: Z
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected void <init>(java.lang.Number, com.oracle.truffle.js.nodes.JavaScriptNode, boolean);
    descriptor: (Ljava/lang/Number;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Z)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode this
        start local 1 // java.lang.Number leftValue
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode right
        start local 3 // boolean truncate
         0: .line 76
            aload 0 /* this */
            aload 2 /* right */
            invokespecial com.oracle.truffle.js.nodes.unary.JSUnaryNode.<init>:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)V
         1: .line 77
            aload 0 /* this */
            iload 3 /* truncate */
            putfield com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode.truncate:Z
         2: .line 78
            aload 0 /* this */
            aload 1 /* leftValue */
            invokevirtual java.lang.Number.doubleValue:()D
            putfield com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode.leftDouble:D
         3: .line 79
            aload 0 /* this */
            aload 1 /* leftValue */
            invokevirtual java.lang.Number.longValue:()J
            l2i
            putfield com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode.leftInt:I
         4: .line 80
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode.leftDouble:D
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleIsRepresentableAsLong:(D)Z
            ifeq 5
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode.leftDouble:D
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isSafeInteger:(D)Z
            ifeq 5
            iconst_1
            goto 6
      StackMap locals: com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode java.lang.Number com.oracle.truffle.js.nodes.JavaScriptNode int
      StackMap stack: com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode
         5: iconst_0
      StackMap locals: com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode java.lang.Number com.oracle.truffle.js.nodes.JavaScriptNode int
      StackMap stack: com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode int
         6: putfield com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode.isSafeLong:Z
         7: .line 81
            aload 0 /* this */
            aload 1 /* leftValue */
            instanceof java.lang.Integer
            ifne 8
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode.leftDouble:D
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleIsRepresentableAsInt:(D)Z
            ifne 8
            iconst_0
            goto 9
      StackMap locals:
      StackMap stack: com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode
         8: iconst_1
      StackMap locals: com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode java.lang.Number com.oracle.truffle.js.nodes.JavaScriptNode int
      StackMap stack: com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode int
         9: putfield com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode.isInt:Z
        10: .line 82
            return
        end local 3 // boolean truncate
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode right
        end local 1 // java.lang.Number leftValue
        end local 0 // com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lcom/oracle/truffle/js/nodes/binary/JSAddConstantLeftNumberNode;
            0   11     1  leftValue  Ljava/lang/Number;
            0   11     2      right  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0   11     3   truncate  Z
    MethodParameters:
           Name  Flags
      leftValue  
      right      
      truncate   

  public boolean hasTag(java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode this
        start local 1 // java.lang.Class tag
         0: .line 86
            aload 1 /* tag */
            ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$BinaryOperationTag;
            if_acmpne 2
         1: .line 87
            iconst_1
            ireturn
         2: .line 89
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* tag */
            invokespecial com.oracle.truffle.js.nodes.unary.JSUnaryNode.hasTag:(Ljava/lang/Class;)Z
            ireturn
        end local 1 // java.lang.Class tag
        end local 0 // com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/truffle/js/nodes/binary/JSAddConstantLeftNumberNode;
            0    3     1   tag  Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;
    Signature: (Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;)Z
    MethodParameters:
      Name  Flags
      tag   

  public com.oracle.truffle.api.instrumentation.InstrumentableNode materializeInstrumentableNodes(java.util.Set<java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>>);
    descriptor: (Ljava/util/Set;)Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode this
        start local 1 // java.util.Set materializedTags
         0: .line 95
            aload 1 /* materializedTags */
            ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$BinaryOperationTag;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 8
         1: .line 96
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode.isInt:Z
            ifeq 2
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode.leftInt:I
            invokestatic com.oracle.truffle.js.nodes.access.JSConstantNode.createInt:(I)Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode.leftDouble:D
            invokestatic com.oracle.truffle.js.nodes.access.JSConstantNode.createDouble:(D)Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
      StackMap locals:
      StackMap stack: com.oracle.truffle.js.nodes.access.JSConstantNode
         3: astore 2 /* constantNode */
        start local 2 // com.oracle.truffle.js.nodes.access.JSConstantNode constantNode
         4: .line 97
            aload 2 /* constantNode */
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode.getOperand:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            aload 1 /* materializedTags */
            invokestatic com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode.cloneUninitialized:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode.truncate:Z
            invokestatic com.oracle.truffle.js.nodes.binary.JSAddNode.createUnoptimized:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            astore 3 /* node */
        start local 3 // com.oracle.truffle.js.nodes.JavaScriptNode node
         5: .line 98
            aload 0 /* this */
            aload 2 /* constantNode */
            invokestatic com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode.transferSourceSectionAddExpressionTag:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)V
         6: .line 99
            aload 0 /* this */
            aload 3 /* node */
            invokestatic com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode.transferSourceSectionAndTags:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)V
         7: .line 100
            aload 3 /* node */
            areturn
        end local 3 // com.oracle.truffle.js.nodes.JavaScriptNode node
        end local 2 // com.oracle.truffle.js.nodes.access.JSConstantNode constantNode
         8: .line 102
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // java.util.Set materializedTags
        end local 0 // com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    9     0              this  Lcom/oracle/truffle/js/nodes/binary/JSAddConstantLeftNumberNode;
            0    9     1  materializedTags  Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;
            4    8     2      constantNode  Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
            5    8     3              node  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    Signature: (Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;)Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;
    MethodParameters:
                  Name  Flags
      materializedTags  

  public abstract java.lang.Object execute(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      a     

  public java.lang.Number getLeftValue();
    descriptor: ()Ljava/lang/Number;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode this
         0: .line 109
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode.isInt:Z
            ifeq 1
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode.leftInt:I
            i2d
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode.leftDouble:D
      StackMap locals:
      StackMap stack: double
         2: invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            areturn
        end local 0 // com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/truffle/js/nodes/binary/JSAddConstantLeftNumberNode;

  protected int doIntTruncate(int);
    descriptor: (I)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode this
        start local 1 // int right
         0: .line 114
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode.leftInt:I
            iload 1 /* right */
            iadd
            ireturn
        end local 1 // int right
        end local 0 // com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/oracle/truffle/js/nodes/binary/JSAddConstantLeftNumberNode;
            0    1     1  right  I
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"truncate", "isInt"})
    MethodParameters:
       Name  Flags
      right  

  protected int doInt(int);
    descriptor: (I)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode this
        start local 1 // int right
         0: .line 119
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode.leftInt:I
            iload 1 /* right */
            invokestatic java.lang.Math.addExact:(II)I
            ireturn
        end local 1 // int right
        end local 0 // com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/oracle/truffle/js/nodes/binary/JSAddConstantLeftNumberNode;
            0    1     1  right  I
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"!truncate", "isInt"}, rewriteOn = {Ljava/lang/ArithmeticException;})
    MethodParameters:
       Name  Flags
      right  

  protected java.lang.Object doIntOverflow(int);
    descriptor: (I)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode this
        start local 1 // int right
         0: .line 124
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode.leftDouble:D
            d2l
            iload 1 /* right */
            i2l
            ladd
            lstore 2 /* result */
        start local 2 // long result
         1: .line 125
            lload 2 /* result */
            invokestatic com.oracle.truffle.js.nodes.binary.JSAddNode.doIntOverflowStaticLong:(J)Ljava/lang/Object;
            areturn
        end local 2 // long result
        end local 1 // int right
        end local 0 // com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/oracle/truffle/js/nodes/binary/JSAddConstantLeftNumberNode;
            0    2     1   right  I
            1    2     2  result  J
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"!truncate", "isSafeLong"}, rewriteOn = {Ljava/lang/ArithmeticException;})
    MethodParameters:
       Name  Flags
      right  

  protected com.oracle.truffle.js.runtime.SafeInteger doSafeInteger(com.oracle.truffle.js.runtime.SafeInteger);
    descriptor: (Lcom/oracle/truffle/js/runtime/SafeInteger;)Lcom/oracle/truffle/js/runtime/SafeInteger;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode this
        start local 1 // com.oracle.truffle.js.runtime.SafeInteger right
         0: .line 130
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode.leftInt:I
            invokestatic com.oracle.truffle.js.runtime.SafeInteger.valueOf:(I)Lcom/oracle/truffle/js/runtime/SafeInteger;
            aload 1 /* right */
            invokevirtual com.oracle.truffle.js.runtime.SafeInteger.addExact:(Lcom/oracle/truffle/js/runtime/SafeInteger;)Lcom/oracle/truffle/js/runtime/SafeInteger;
            areturn
        end local 1 // com.oracle.truffle.js.runtime.SafeInteger right
        end local 0 // com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/oracle/truffle/js/nodes/binary/JSAddConstantLeftNumberNode;
            0    1     1  right  Lcom/oracle/truffle/js/runtime/SafeInteger;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"isInt"}, rewriteOn = {Ljava/lang/ArithmeticException;})
    MethodParameters:
       Name  Flags
      right  

  protected double doDouble(double);
    descriptor: (D)D
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode this
        start local 1 // double right
         0: .line 135
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode.leftDouble:D
            dload 1 /* right */
            dadd
            dreturn
        end local 1 // double right
        end local 0 // com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/oracle/truffle/js/nodes/binary/JSAddConstantLeftNumberNode;
            0    1     1  right  D
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization()
    MethodParameters:
       Name  Flags
      right  

  protected java.lang.CharSequence doNumberString(java.lang.CharSequence, java.lang.String, com.oracle.truffle.js.nodes.binary.JSConcatStringsNode);
    descriptor: (Ljava/lang/CharSequence;Ljava/lang/String;Lcom/oracle/truffle/js/nodes/binary/JSConcatStringsNode;)Ljava/lang/CharSequence;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode this
        start local 1 // java.lang.CharSequence right
        start local 2 // java.lang.String leftString
        start local 3 // com.oracle.truffle.js.nodes.binary.JSConcatStringsNode createLazyString
         0: .line 142
            aload 3 /* createLazyString */
            aload 2 /* leftString */
            aload 1 /* right */
            invokevirtual com.oracle.truffle.js.nodes.binary.JSConcatStringsNode.executeCharSequence:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
            areturn
        end local 3 // com.oracle.truffle.js.nodes.binary.JSConcatStringsNode createLazyString
        end local 2 // java.lang.String leftString
        end local 1 // java.lang.CharSequence right
        end local 0 // com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lcom/oracle/truffle/js/nodes/binary/JSAddConstantLeftNumberNode;
            0    1     1             right  Ljava/lang/CharSequence;
            0    1     2        leftString  Ljava/lang/String;
            0    1     3  createLazyString  Lcom/oracle/truffle/js/nodes/binary/JSConcatStringsNode;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization()
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
        com.oracle.truffle.api.dsl.Cached(value = "leftValueToString()")
      2:
        com.oracle.truffle.api.dsl.Cached(value = "create()")
    MethodParameters:
                  Name  Flags
      right             
      leftString        
      createLazyString  

  protected java.lang.Object doPrimitiveConversion(java.lang.Object, com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode, com.oracle.truffle.js.nodes.cast.JSToNumberNode, java.lang.String, com.oracle.truffle.js.nodes.binary.JSConcatStringsNode, com.oracle.truffle.api.profiles.ConditionProfile);
    descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode;Lcom/oracle/truffle/js/nodes/cast/JSToNumberNode;Ljava/lang/String;Lcom/oracle/truffle/js/nodes/binary/JSConcatStringsNode;Lcom/oracle/truffle/api/profiles/ConditionProfile;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=8, args_size=7
        start local 0 // com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode this
        start local 1 // java.lang.Object right
        start local 2 // com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode toPrimitiveB
        start local 3 // com.oracle.truffle.js.nodes.cast.JSToNumberNode toNumberB
        start local 4 // java.lang.String leftString
        start local 5 // com.oracle.truffle.js.nodes.binary.JSConcatStringsNode createLazyString
        start local 6 // com.oracle.truffle.api.profiles.ConditionProfile profileB
         0: .line 153
            aload 2 /* toPrimitiveB */
            aload 1 /* right */
            invokevirtual com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode.execute:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 7 /* primitiveRight */
        start local 7 // java.lang.Object primitiveRight
         1: .line 155
            aload 6 /* profileB */
            aload 7 /* primitiveRight */
            invokestatic com.oracle.truffle.js.nodes.JSGuards.isString:(Ljava/lang/Object;)Z
            invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
            ifeq 3
         2: .line 156
            aload 5 /* createLazyString */
            aload 4 /* leftString */
            aload 7 /* primitiveRight */
            checkcast java.lang.CharSequence
            invokevirtual com.oracle.truffle.js.nodes.binary.JSConcatStringsNode.executeCharSequence:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
            areturn
         3: .line 158
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode.leftDouble:D
            aload 3 /* toNumberB */
            aload 7 /* primitiveRight */
            invokevirtual com.oracle.truffle.js.nodes.cast.JSToNumberNode.executeNumber:(Ljava/lang/Object;)Ljava/lang/Number;
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleValue:(Ljava/lang/Number;)D
            dadd
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            areturn
        end local 7 // java.lang.Object primitiveRight
        end local 6 // com.oracle.truffle.api.profiles.ConditionProfile profileB
        end local 5 // com.oracle.truffle.js.nodes.binary.JSConcatStringsNode createLazyString
        end local 4 // java.lang.String leftString
        end local 3 // com.oracle.truffle.js.nodes.cast.JSToNumberNode toNumberB
        end local 2 // com.oracle.truffle.js.nodes.cast.JSToPrimitiveNode toPrimitiveB
        end local 1 // java.lang.Object right
        end local 0 // com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Lcom/oracle/truffle/js/nodes/binary/JSAddConstantLeftNumberNode;
            0    4     1             right  Ljava/lang/Object;
            0    4     2      toPrimitiveB  Lcom/oracle/truffle/js/nodes/cast/JSToPrimitiveNode;
            0    4     3         toNumberB  Lcom/oracle/truffle/js/nodes/cast/JSToNumberNode;
            0    4     4        leftString  Ljava/lang/String;
            0    4     5  createLazyString  Lcom/oracle/truffle/js/nodes/binary/JSConcatStringsNode;
            0    4     6          profileB  Lcom/oracle/truffle/api/profiles/ConditionProfile;
            1    4     7    primitiveRight  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(replaces = {"doInt", "doDouble", "doNumberString"})
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
        com.oracle.truffle.api.dsl.Cached(value = "createHintNone()")
      2:
        com.oracle.truffle.api.dsl.Cached(value = "create()")
      3:
        com.oracle.truffle.api.dsl.Cached(value = "leftValueToString()")
      4:
        com.oracle.truffle.api.dsl.Cached(value = "create()")
      5:
        com.oracle.truffle.api.dsl.Cached(value = "createBinaryProfile()")
    MethodParameters:
                  Name  Flags
      right             
      toPrimitiveB      
      toNumberB         
      leftString        
      createLazyString  
      profileB          

  protected java.lang.String leftValueToString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode this
         0: .line 163
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode.getLeftValue:()Ljava/lang/Number;
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toString:(Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 0 // com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/nodes/binary/JSAddConstantLeftNumberNode;

  public void setTruncate();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode this
         0: .line 168
            invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
         1: .line 169
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode.truncate:Z
            ifne 5
         2: .line 170
            aload 0 /* this */
            iconst_1
            putfield com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode.truncate:Z
         3: .line 171
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode.isInt:Z
            ifeq 5
         4: .line 172
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode.getOperand:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            invokestatic com.oracle.truffle.js.nodes.Truncatable.truncate:(Lcom/oracle/truffle/api/nodes/Node;)V
         5: .line 175
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/oracle/truffle/js/nodes/binary/JSAddConstantLeftNumberNode;

  protected com.oracle.truffle.js.nodes.JavaScriptNode copyUninitialized(java.util.Set<java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>>);
    descriptor: (Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode this
         0: .line 179
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tJSAddConstantLeftNumberNodeGen cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/nodes/binary/JSAddConstantLeftNumberNode;
    Signature: (Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
                  Name  Flags
      materializedTags  

  public java.lang.String expressionToString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode this
         0: .line 184
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode.getOperand:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            ifnull 2
         1: .line 185
            new java.lang.StringBuilder
            dup
            ldc "("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode.getLeftValue:()Ljava/lang/Number;
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.numberToString:(Ljava/lang/Number;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " + "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode.getOperand:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.expressionToString:()Ljava/lang/String;
            ldc "(intermediate value)"
            invokestatic java.util.Objects.toString:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         2: .line 187
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/truffle/js/nodes/binary/JSAddConstantLeftNumberNode;
}
SourceFile: "JSAddConstantLeftNumberNode.java"
InnerClasses:
  public abstract CompilationFinal = com.oracle.truffle.api.CompilerDirectives$CompilationFinal of com.oracle.truffle.api.CompilerDirectives
  public final BinaryOperationTag = com.oracle.truffle.js.nodes.instrumentation.JSTags$BinaryOperationTag of com.oracle.truffle.js.nodes.instrumentation.JSTags
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.NodeInfo(shortName = "+")