public class org.h2.value.ValueStringIgnoreCase extends org.h2.value.ValueString
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.h2.value.ValueStringIgnoreCase
  super_class: org.h2.value.ValueString
{
  private static final org.h2.value.ValueStringIgnoreCase EMPTY;
    descriptor: Lorg/h2/value/ValueStringIgnoreCase;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private int hash;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 17
            new org.h2.value.ValueStringIgnoreCase
            dup
            ldc ""
            invokespecial org.h2.value.ValueStringIgnoreCase.<init>:(Ljava/lang/String;)V
         1: .line 16
            putstatic org.h2.value.ValueStringIgnoreCase.EMPTY:Lorg/h2/value/ValueStringIgnoreCase;
         2: .line 17
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.value.ValueStringIgnoreCase this
        start local 1 // java.lang.String value
         0: .line 21
            aload 0 /* this */
            aload 1 /* value */
            invokespecial org.h2.value.ValueString.<init>:(Ljava/lang/String;)V
         1: .line 22
            return
        end local 1 // java.lang.String value
        end local 0 // org.h2.value.ValueStringIgnoreCase this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/h2/value/ValueStringIgnoreCase;
            0    2     1  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      value  

  public int getValueType();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.value.ValueStringIgnoreCase this
         0: .line 26
            bipush 14
            ireturn
        end local 0 // org.h2.value.ValueStringIgnoreCase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/value/ValueStringIgnoreCase;

  public int compareTypeSafe(org.h2.value.Value, org.h2.value.CompareMode);
    descriptor: (Lorg/h2/value/Value;Lorg/h2/value/CompareMode;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.h2.value.ValueStringIgnoreCase this
        start local 1 // org.h2.value.Value o
        start local 2 // org.h2.value.CompareMode mode
         0: .line 31
            aload 2 /* mode */
            aload 0 /* this */
            getfield org.h2.value.ValueStringIgnoreCase.value:Ljava/lang/String;
            aload 1 /* o */
            checkcast org.h2.value.ValueStringIgnoreCase
            getfield org.h2.value.ValueStringIgnoreCase.value:Ljava/lang/String;
            iconst_1
            invokevirtual org.h2.value.CompareMode.compareString:(Ljava/lang/String;Ljava/lang/String;Z)I
            ireturn
        end local 2 // org.h2.value.CompareMode mode
        end local 1 // org.h2.value.Value o
        end local 0 // org.h2.value.ValueStringIgnoreCase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/value/ValueStringIgnoreCase;
            0    1     1     o  Lorg/h2/value/Value;
            0    1     2  mode  Lorg/h2/value/CompareMode;
    MethodParameters:
      Name  Flags
      o     
      mode  

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.value.ValueStringIgnoreCase this
        start local 1 // java.lang.Object other
         0: .line 36
            aload 1 /* other */
            instanceof org.h2.value.ValueString
            ifeq 3
         1: .line 37
            aload 0 /* this */
            getfield org.h2.value.ValueStringIgnoreCase.value:Ljava/lang/String;
            aload 1 /* other */
            checkcast org.h2.value.ValueString
            getfield org.h2.value.ValueString.value:Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 3
         2: .line 36
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 1 // java.lang.Object other
        end local 0 // org.h2.value.ValueStringIgnoreCase this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/h2/value/ValueStringIgnoreCase;
            0    4     1  other  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      other  

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.h2.value.ValueStringIgnoreCase this
         0: .line 42
            aload 0 /* this */
            getfield org.h2.value.ValueStringIgnoreCase.hash:I
            ifne 2
         1: .line 44
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.value.ValueStringIgnoreCase.value:Ljava/lang/String;
            invokevirtual java.lang.String.toUpperCase:()Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            putfield org.h2.value.ValueStringIgnoreCase.hash:I
         2: .line 46
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.value.ValueStringIgnoreCase.hash:I
            ireturn
        end local 0 // org.h2.value.ValueStringIgnoreCase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/h2/value/ValueStringIgnoreCase;

  public java.lang.StringBuilder getSQL(java.lang.StringBuilder);
    descriptor: (Ljava/lang/StringBuilder;)Ljava/lang/StringBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.value.ValueStringIgnoreCase this
        start local 1 // java.lang.StringBuilder builder
         0: .line 51
            aload 1 /* builder */
            ldc "CAST("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         1: .line 52
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.h2.value.ValueStringIgnoreCase.value:Ljava/lang/String;
            invokestatic org.h2.util.StringUtils.quoteStringSQL:(Ljava/lang/StringBuilder;Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " AS VARCHAR_IGNORECASE)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            areturn
        end local 1 // java.lang.StringBuilder builder
        end local 0 // org.h2.value.ValueStringIgnoreCase this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/h2/value/ValueStringIgnoreCase;
            0    2     1  builder  Ljava/lang/StringBuilder;
    MethodParameters:
         Name  Flags
      builder  

  public static org.h2.value.ValueStringIgnoreCase get(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/h2/value/ValueStringIgnoreCase;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.lang.String s
         0: .line 63
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            istore 1 /* length */
        start local 1 // int length
         1: .line 64
            iload 1 /* length */
            ifne 3
         2: .line 65
            getstatic org.h2.value.ValueStringIgnoreCase.EMPTY:Lorg/h2/value/ValueStringIgnoreCase;
            areturn
         3: .line 67
      StackMap locals: int
      StackMap stack:
            new org.h2.value.ValueStringIgnoreCase
            dup
            aload 0 /* s */
            invokestatic org.h2.util.StringUtils.cache:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial org.h2.value.ValueStringIgnoreCase.<init>:(Ljava/lang/String;)V
            astore 2 /* obj */
        start local 2 // org.h2.value.ValueStringIgnoreCase obj
         4: .line 68
            iload 1 /* length */
            getstatic org.h2.engine.SysProperties.OBJECT_CACHE_MAX_PER_ELEMENT_SIZE:I
            if_icmple 6
         5: .line 69
            aload 2 /* obj */
            areturn
         6: .line 71
      StackMap locals: org.h2.value.ValueStringIgnoreCase
      StackMap stack:
            aload 2 /* obj */
            invokestatic org.h2.value.Value.cache:(Lorg/h2/value/Value;)Lorg/h2/value/Value;
            checkcast org.h2.value.ValueStringIgnoreCase
            astore 3 /* cache */
        start local 3 // org.h2.value.ValueStringIgnoreCase cache
         7: .line 74
            aload 3 /* cache */
            getfield org.h2.value.ValueStringIgnoreCase.value:Ljava/lang/String;
            aload 0 /* s */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 75
            aload 3 /* cache */
            areturn
         9: .line 77
      StackMap locals: org.h2.value.ValueStringIgnoreCase
      StackMap stack:
            aload 2 /* obj */
            areturn
        end local 3 // org.h2.value.ValueStringIgnoreCase cache
        end local 2 // org.h2.value.ValueStringIgnoreCase obj
        end local 1 // int length
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0       s  Ljava/lang/String;
            1   10     1  length  I
            4   10     2     obj  Lorg/h2/value/ValueStringIgnoreCase;
            7   10     3   cache  Lorg/h2/value/ValueStringIgnoreCase;
    MethodParameters:
      Name  Flags
      s     

  protected org.h2.value.ValueString getNew(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/h2/value/ValueString;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.h2.value.ValueStringIgnoreCase this
        start local 1 // java.lang.String s
         0: .line 82
            aload 1 /* s */
            invokestatic org.h2.value.ValueStringIgnoreCase.get:(Ljava/lang/String;)Lorg/h2/value/ValueStringIgnoreCase;
            areturn
        end local 1 // java.lang.String s
        end local 0 // org.h2.value.ValueStringIgnoreCase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/value/ValueStringIgnoreCase;
            0    1     1     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  protected org.h2.value.Value getNew(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/h2/value/Value;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.h2.value.ValueStringIgnoreCase.getNew:(Ljava/lang/String;)Lorg/h2/value/ValueString;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "ValueStringIgnoreCase.java"