public class org.h2.value.CompareModeDefault extends org.h2.value.CompareMode
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.h2.value.CompareModeDefault
super_class: org.h2.value.CompareMode
{
private final java.text.Collator collator;
descriptor: Ljava/text/Collator;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.h2.util.SmallLRUCache<java.lang.String, java.text.CollationKey> collationKeys;
descriptor: Lorg/h2/util/SmallLRUCache;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/h2/util/SmallLRUCache<Ljava/lang/String;Ljava/text/CollationKey;>;
protected void <init>(java.lang.String, int, boolean, boolean);
descriptor: (Ljava/lang/String;IZZ)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
iload 2
iload 3
iload 4
invokespecial org.h2.value.CompareMode.<init>:(Ljava/lang/String;IZZ)V
1: aload 0
aload 1
invokestatic org.h2.value.CompareMode.getCollator:(Ljava/lang/String;)Ljava/text/Collator;
putfield org.h2.value.CompareModeDefault.collator:Ljava/text/Collator;
2: aload 0
getfield org.h2.value.CompareModeDefault.collator:Ljava/text/Collator;
ifnonnull 4
3: aload 1
invokestatic org.h2.message.DbException.throwInternalError:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
4: StackMap locals: org.h2.value.CompareModeDefault java.lang.String int int int
StackMap stack:
aload 0
getfield org.h2.value.CompareModeDefault.collator:Ljava/text/Collator;
iload 2
invokevirtual java.text.Collator.setStrength:(I)V
5: getstatic org.h2.engine.SysProperties.COLLATOR_CACHE_SIZE:I
istore 5
start local 5 6: iload 5
ifeq 9
7: aload 0
iload 5
invokestatic org.h2.util.SmallLRUCache.newInstance:(I)Lorg/h2/util/SmallLRUCache;
putfield org.h2.value.CompareModeDefault.collationKeys:Lorg/h2/util/SmallLRUCache;
8: goto 10
9: StackMap locals: int
StackMap stack:
aload 0
aconst_null
putfield org.h2.value.CompareModeDefault.collationKeys:Lorg/h2/util/SmallLRUCache;
10: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/h2/value/CompareModeDefault;
0 11 1 name Ljava/lang/String;
0 11 2 strength I
0 11 3 binaryUnsigned Z
0 11 4 uuidUnsigned Z
6 11 5 cacheSize I
MethodParameters:
Name Flags
name
strength
binaryUnsigned
uuidUnsigned
public int compareString(java.lang.String, java.lang.String, boolean);
descriptor: (Ljava/lang/String;Ljava/lang/String;Z)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
ifeq 3
1: aload 1
invokevirtual java.lang.String.toUpperCase:()Ljava/lang/String;
astore 1
2: aload 2
invokevirtual java.lang.String.toUpperCase:()Ljava/lang/String;
astore 2
3: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.value.CompareModeDefault.collationKeys:Lorg/h2/util/SmallLRUCache;
ifnull 8
4: aload 0
aload 1
invokevirtual org.h2.value.CompareModeDefault.getKey:(Ljava/lang/String;)Ljava/text/CollationKey;
astore 5
start local 5 5: aload 0
aload 2
invokevirtual org.h2.value.CompareModeDefault.getKey:(Ljava/lang/String;)Ljava/text/CollationKey;
astore 6
start local 6 6: aload 5
aload 6
invokevirtual java.text.CollationKey.compareTo:(Ljava/text/CollationKey;)I
istore 4
end local 6 end local 5 start local 4 7: goto 9
end local 4 8: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.value.CompareModeDefault.collator:Ljava/text/Collator;
aload 1
aload 2
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
istore 4
start local 4 9: StackMap locals: int
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/h2/value/CompareModeDefault;
0 10 1 a Ljava/lang/String;
0 10 2 b Ljava/lang/String;
0 10 3 ignoreCase Z
7 8 4 comp I
9 10 4 comp I
5 7 5 aKey Ljava/text/CollationKey;
6 7 6 bKey Ljava/text/CollationKey;
MethodParameters:
Name Flags
a
b
ignoreCase
public boolean equalsChars(java.lang.String, int, java.lang.String, int, boolean);
descriptor: (Ljava/lang/String;ILjava/lang/String;IZ)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
iload 2
iload 2
iconst_1
iadd
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
aload 3
iload 4
iload 4
iconst_1
iadd
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
1: iload 5
2: invokevirtual org.h2.value.CompareModeDefault.compareString:(Ljava/lang/String;Ljava/lang/String;Z)I
ifne 3
iconst_1
ireturn
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/h2/value/CompareModeDefault;
0 4 1 a Ljava/lang/String;
0 4 2 ai I
0 4 3 b Ljava/lang/String;
0 4 4 bi I
0 4 5 ignoreCase Z
MethodParameters:
Name Flags
a
ai
b
bi
ignoreCase
private java.text.CollationKey getKey(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/text/CollationKey;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.value.CompareModeDefault.collationKeys:Lorg/h2/util/SmallLRUCache;
dup
astore 2
monitorenter
1: aload 0
getfield org.h2.value.CompareModeDefault.collationKeys:Lorg/h2/util/SmallLRUCache;
aload 1
invokevirtual org.h2.util.SmallLRUCache.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.text.CollationKey
astore 3
start local 3 2: aload 3
ifnonnull 5
3: aload 0
getfield org.h2.value.CompareModeDefault.collator:Ljava/text/Collator;
aload 1
invokevirtual java.text.Collator.getCollationKey:(Ljava/lang/String;)Ljava/text/CollationKey;
astore 3
4: aload 0
getfield org.h2.value.CompareModeDefault.collationKeys:Lorg/h2/util/SmallLRUCache;
aload 1
aload 3
invokevirtual org.h2.util.SmallLRUCache.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: StackMap locals: org.h2.util.SmallLRUCache java.text.CollationKey
StackMap stack:
aload 3
aload 2
monitorexit
6: areturn
end local 3 7: StackMap locals: org.h2.value.CompareModeDefault java.lang.String org.h2.util.SmallLRUCache
StackMap stack: java.lang.Throwable
aload 2
monitorexit
8: athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/h2/value/CompareModeDefault;
0 9 1 a Ljava/lang/String;
2 7 3 key Ljava/text/CollationKey;
Exception table:
from to target type
1 6 7 any
7 8 7 any
MethodParameters:
Name Flags
a
}
SourceFile: "CompareModeDefault.java"