class jdk.javadoc.internal.doclets.toolkit.util.Utils$ConstantValueExpression
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: jdk.javadoc.internal.doclets.toolkit.util.Utils$ConstantValueExpression
  super_class: java.lang.Object
{
  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.javadoc.internal.doclets.toolkit.util.Utils$ConstantValueExpression this
         0: .line 2587
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // jdk.javadoc.internal.doclets.toolkit.util.Utils$ConstantValueExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/javadoc/internal/doclets/toolkit/util/Utils$ConstantValueExpression;

  public java.lang.String constantValueExpression(jdk.javadoc.internal.doclets.toolkit.WorkArounds, javax.lang.model.element.VariableElement);
    descriptor: (Ljdk/javadoc/internal/doclets/toolkit/WorkArounds;Ljavax/lang/model/element/VariableElement;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // jdk.javadoc.internal.doclets.toolkit.util.Utils$ConstantValueExpression this
        start local 1 // jdk.javadoc.internal.doclets.toolkit.WorkArounds workArounds
        start local 2 // javax.lang.model.element.VariableElement ve
         0: .line 2589
            new jdk.javadoc.internal.doclets.toolkit.util.Utils$ConstantValueExpression$1
            dup
            aload 0 /* this */
            invokespecial jdk.javadoc.internal.doclets.toolkit.util.Utils$ConstantValueExpression$1.<init>:(Ljdk/javadoc/internal/doclets/toolkit/util/Utils$ConstantValueExpression;)V
         1: .line 2634
            aload 2 /* ve */
            invokeinterface javax.lang.model.element.VariableElement.asType:()Ljavax/lang/model/type/TypeMirror;
            aload 1 /* workArounds */
            aload 2 /* ve */
            invokevirtual jdk.javadoc.internal.doclets.toolkit.WorkArounds.getConstValue:(Ljavax/lang/model/element/VariableElement;)Ljava/lang/Object;
            invokevirtual jdk.javadoc.internal.doclets.toolkit.util.Utils$ConstantValueExpression$1.visit:(Ljavax/lang/model/type/TypeMirror;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
         2: .line 2589
            areturn
        end local 2 // javax.lang.model.element.VariableElement ve
        end local 1 // jdk.javadoc.internal.doclets.toolkit.WorkArounds workArounds
        end local 0 // jdk.javadoc.internal.doclets.toolkit.util.Utils$ConstantValueExpression this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Ljdk/javadoc/internal/doclets/toolkit/util/Utils$ConstantValueExpression;
            0    3     1  workArounds  Ljdk/javadoc/internal/doclets/toolkit/WorkArounds;
            0    3     2           ve  Ljavax/lang/model/element/VariableElement;
    MethodParameters:
             Name  Flags
      workArounds  
      ve           

  private java.lang.String sourceForm(double, char);
    descriptor: (DC)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // jdk.javadoc.internal.doclets.toolkit.util.Utils$ConstantValueExpression this
        start local 1 // double v
        start local 3 // char suffix
         0: .line 2639
            dload 1 /* v */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifeq 2
         1: .line 2640
            new java.lang.StringBuilder
            dup
            ldc "0"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* suffix */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "/0"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* suffix */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         2: .line 2641
      StackMap locals:
      StackMap stack:
            dload 1 /* v */
            ldc Infinity
            dcmpl
            ifne 4
         3: .line 2642
            new java.lang.StringBuilder
            dup
            ldc "1"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* suffix */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "/0"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* suffix */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         4: .line 2643
      StackMap locals:
      StackMap stack:
            dload 1 /* v */
            ldc -Infinity
            dcmpl
            ifne 6
         5: .line 2644
            new java.lang.StringBuilder
            dup
            ldc "-1"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* suffix */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "/0"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* suffix */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         6: .line 2645
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            dload 1 /* v */
            invokestatic java.lang.String.valueOf:(D)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* suffix */
            bipush 102
            if_icmpeq 7
            iload 3 /* suffix */
            bipush 70
            if_icmpne 8
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
         7: new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            iload 3 /* suffix */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 9
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
         8: ldc ""
      StackMap locals: jdk.javadoc.internal.doclets.toolkit.util.Utils$ConstantValueExpression double int
      StackMap stack: java.lang.StringBuilder java.lang.String
         9: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // char suffix
        end local 1 // double v
        end local 0 // jdk.javadoc.internal.doclets.toolkit.util.Utils$ConstantValueExpression this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Ljdk/javadoc/internal/doclets/toolkit/util/Utils$ConstantValueExpression;
            0   10     1       v  D
            0   10     3  suffix  C
    MethodParameters:
        Name  Flags
      v       
      suffix  

  private java.lang.String sourceForm(char);
    descriptor: (C)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jdk.javadoc.internal.doclets.toolkit.util.Utils$ConstantValueExpression this
        start local 1 // char c
         0: .line 2649
            new java.lang.StringBuilder
            dup
            bipush 8
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 2 /* buf */
        start local 2 // java.lang.StringBuilder buf
         1: .line 2650
            aload 2 /* buf */
            bipush 39
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         2: .line 2651
            aload 0 /* this */
            iload 1 /* c */
            aload 2 /* buf */
            invokevirtual jdk.javadoc.internal.doclets.toolkit.util.Utils$ConstantValueExpression.sourceChar:(CLjava/lang/StringBuilder;)V
         3: .line 2652
            aload 2 /* buf */
            bipush 39
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         4: .line 2653
            aload 2 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder buf
        end local 1 // char c
        end local 0 // jdk.javadoc.internal.doclets.toolkit.util.Utils$ConstantValueExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljdk/javadoc/internal/doclets/toolkit/util/Utils$ConstantValueExpression;
            0    5     1     c  C
            1    5     2   buf  Ljava/lang/StringBuilder;
    MethodParameters:
      Name  Flags
      c     

  private java.lang.String sourceForm(byte);
    descriptor: (B)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.javadoc.internal.doclets.toolkit.util.Utils$ConstantValueExpression this
        start local 1 // byte c
         0: .line 2657
            new java.lang.StringBuilder
            dup
            ldc "0x"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* c */
            sipush 255
            iand
            bipush 16
            invokestatic java.lang.Integer.toString:(II)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // byte c
        end local 0 // jdk.javadoc.internal.doclets.toolkit.util.Utils$ConstantValueExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/javadoc/internal/doclets/toolkit/util/Utils$ConstantValueExpression;
            0    1     1     c  B
    MethodParameters:
      Name  Flags
      c     

  private java.lang.String sourceForm(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // jdk.javadoc.internal.doclets.toolkit.util.Utils$ConstantValueExpression this
        start local 1 // java.lang.String s
         0: .line 2661
            new java.lang.StringBuilder
            dup
            aload 1 /* s */
            invokevirtual java.lang.String.length:()I
            iconst_5
            iadd
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 2 /* buf */
        start local 2 // java.lang.StringBuilder buf
         1: .line 2662
            aload 2 /* buf */
            bipush 34
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         2: .line 2663
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 7
         4: .line 2664
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 1 /* s */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* c */
        start local 4 // char c
         5: .line 2665
            aload 0 /* this */
            iload 4 /* c */
            aload 2 /* buf */
            invokevirtual jdk.javadoc.internal.doclets.toolkit.util.Utils$ConstantValueExpression.sourceChar:(CLjava/lang/StringBuilder;)V
        end local 4 // char c
         6: .line 2663
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            aload 1 /* s */
            invokevirtual java.lang.String.length:()I
            if_icmplt 4
        end local 3 // int i
         8: .line 2667
            aload 2 /* buf */
            bipush 34
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         9: .line 2668
            aload 2 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder buf
        end local 1 // java.lang.String s
        end local 0 // jdk.javadoc.internal.doclets.toolkit.util.Utils$ConstantValueExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Ljdk/javadoc/internal/doclets/toolkit/util/Utils$ConstantValueExpression;
            0   10     1     s  Ljava/lang/String;
            1   10     2   buf  Ljava/lang/StringBuilder;
            3    8     3     i  I
            5    6     4     c  C
    MethodParameters:
      Name  Flags
      s     

  private void sourceChar(char, java.lang.StringBuilder);
    descriptor: (CLjava/lang/StringBuilder;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // jdk.javadoc.internal.doclets.toolkit.util.Utils$ConstantValueExpression this
        start local 1 // char c
        start local 2 // java.lang.StringBuilder buf
         0: .line 2672
            iload 1 /* c */
            lookupswitch { // 8
                    8: 1
                    9: 2
                   10: 3
                   12: 4
                   13: 5
                   34: 6
                   39: 7
                   92: 8
              default: 9
          }
         1: .line 2673
      StackMap locals:
      StackMap stack:
            aload 2 /* buf */
            ldc "\\b"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
            return
         2: .line 2674
      StackMap locals:
      StackMap stack:
            aload 2 /* buf */
            ldc "\\t"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
            return
         3: .line 2675
      StackMap locals:
      StackMap stack:
            aload 2 /* buf */
            ldc "\\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
            return
         4: .line 2676
      StackMap locals:
      StackMap stack:
            aload 2 /* buf */
            ldc "\\f"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
            return
         5: .line 2677
      StackMap locals:
      StackMap stack:
            aload 2 /* buf */
            ldc "\\r"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
            return
         6: .line 2678
      StackMap locals:
      StackMap stack:
            aload 2 /* buf */
            ldc "\\\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
            return
         7: .line 2679
      StackMap locals:
      StackMap stack:
            aload 2 /* buf */
            ldc "\\'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
            return
         8: .line 2680
      StackMap locals:
      StackMap stack:
            aload 2 /* buf */
            ldc "\\\\"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
            return
         9: .line 2682
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* c */
            invokevirtual jdk.javadoc.internal.doclets.toolkit.util.Utils$ConstantValueExpression.isPrintableAscii:(C)Z
            ifeq 11
        10: .line 2683
            aload 2 /* buf */
            iload 1 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
            return
        11: .line 2685
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* c */
            aload 2 /* buf */
            invokevirtual jdk.javadoc.internal.doclets.toolkit.util.Utils$ConstantValueExpression.unicodeEscape:(CLjava/lang/StringBuilder;)V
        12: .line 2686
            return
        end local 2 // java.lang.StringBuilder buf
        end local 1 // char c
        end local 0 // jdk.javadoc.internal.doclets.toolkit.util.Utils$ConstantValueExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Ljdk/javadoc/internal/doclets/toolkit/util/Utils$ConstantValueExpression;
            0   13     1     c  C
            0   13     2   buf  Ljava/lang/StringBuilder;
    MethodParameters:
      Name  Flags
      c     
      buf   

  private void unicodeEscape(char, java.lang.StringBuilder);
    descriptor: (CLjava/lang/StringBuilder;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // jdk.javadoc.internal.doclets.toolkit.util.Utils$ConstantValueExpression this
        start local 1 // char c
        start local 2 // java.lang.StringBuilder buf
         0: .line 2692
            aload 2 /* buf */
            ldc "\\u"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         1: .line 2693
            aload 2 /* buf */
            ldc "0123456789abcdef"
            bipush 15
            iload 1 /* c */
            bipush 12
            ishr
            iand
            invokevirtual java.lang.String.charAt:(I)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         2: .line 2694
            aload 2 /* buf */
            ldc "0123456789abcdef"
            bipush 15
            iload 1 /* c */
            bipush 8
            ishr
            iand
            invokevirtual java.lang.String.charAt:(I)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         3: .line 2695
            aload 2 /* buf */
            ldc "0123456789abcdef"
            bipush 15
            iload 1 /* c */
            iconst_4
            ishr
            iand
            invokevirtual java.lang.String.charAt:(I)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         4: .line 2696
            aload 2 /* buf */
            ldc "0123456789abcdef"
            bipush 15
            iload 1 /* c */
            iconst_0
            ishr
            iand
            invokevirtual java.lang.String.charAt:(I)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         5: .line 2697
            return
        end local 2 // java.lang.StringBuilder buf
        end local 1 // char c
        end local 0 // jdk.javadoc.internal.doclets.toolkit.util.Utils$ConstantValueExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljdk/javadoc/internal/doclets/toolkit/util/Utils$ConstantValueExpression;
            0    6     1     c  C
            0    6     2   buf  Ljava/lang/StringBuilder;
    MethodParameters:
      Name  Flags
      c     
      buf   

  private boolean isPrintableAscii(char);
    descriptor: (C)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.javadoc.internal.doclets.toolkit.util.Utils$ConstantValueExpression this
        start local 1 // char c
         0: .line 2699
            iload 1 /* c */
            bipush 32
            if_icmplt 1
            iload 1 /* c */
            bipush 126
            if_icmpgt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // char c
        end local 0 // jdk.javadoc.internal.doclets.toolkit.util.Utils$ConstantValueExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/javadoc/internal/doclets/toolkit/util/Utils$ConstantValueExpression;
            0    2     1     c  C
    MethodParameters:
      Name  Flags
      c     
}
SourceFile: "Utils.java"
NestHost: jdk.javadoc.internal.doclets.toolkit.util.Utils
InnerClasses:
  private ConstantValueExpression = jdk.javadoc.internal.doclets.toolkit.util.Utils$ConstantValueExpression of jdk.javadoc.internal.doclets.toolkit.util.Utils
  jdk.javadoc.internal.doclets.toolkit.util.Utils$ConstantValueExpression$1