final class com.google.common.base.SmallCharMatcher extends com.google.common.base.CharMatcher$NamedFastMatcher
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.google.common.base.SmallCharMatcher
super_class: com.google.common.base.CharMatcher$NamedFastMatcher
{
static final int MAX_SIZE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1023
private final char[] table;
descriptor: [C
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean containsZero;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final long filter;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final int C1;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -862048943
private static final int C2;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 461845907
private static final double DESIRED_LOAD_FACTOR;
descriptor: D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0.5
private void <init>(char[], long, boolean, java.lang.String);
descriptor: ([CJZLjava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 4 start local 5 0: aload 0
aload 5
invokespecial com.google.common.base.CharMatcher$NamedFastMatcher.<init>:(Ljava/lang/String;)V
1: aload 0
aload 1
putfield com.google.common.base.SmallCharMatcher.table:[C
2: aload 0
lload 2
putfield com.google.common.base.SmallCharMatcher.filter:J
3: aload 0
iload 4
putfield com.google.common.base.SmallCharMatcher.containsZero:Z
4: return
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/google/common/base/SmallCharMatcher;
0 5 1 table [C
0 5 2 filter J
0 5 4 containsZero Z
0 5 5 description Ljava/lang/String;
MethodParameters:
Name Flags
table
filter
containsZero
description
static int smear(int);
descriptor: (I)I
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: ldc 461845907
iload 0
ldc -862048943
imul
bipush 15
invokestatic java.lang.Integer.rotateLeft:(II)I
imul
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 hashCode I
MethodParameters:
Name Flags
hashCode
private boolean checkFilter(int);
descriptor: (I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: lconst_1
lconst_1
aload 0
getfield com.google.common.base.SmallCharMatcher.filter:J
iload 1
lshr
land
lcmp
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/common/base/SmallCharMatcher;
0 2 1 c I
MethodParameters:
Name Flags
c
static int chooseTableSize(int);
descriptor: (I)I
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: iload 0
iconst_1
if_icmpne 2
1: iconst_2
ireturn
2: StackMap locals:
StackMap stack:
iload 0
iconst_1
isub
invokestatic java.lang.Integer.highestOneBit:(I)I
iconst_1
ishl
istore 1
start local 1 3: goto 5
4: StackMap locals: int
StackMap stack:
iload 1
iconst_1
ishl
istore 1
5: StackMap locals:
StackMap stack:
iload 1
i2d
ldc 0.5
dmul
iload 0
i2d
dcmpg
iflt 4
6: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 setSize I
3 7 1 tableSize I
RuntimeInvisibleAnnotations:
com.google.common.annotations.VisibleForTesting()
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
com.google.common.annotations.VisibleForTesting()
MethodParameters:
Name Flags
setSize
static com.google.common.base.CharMatcher from(java.util.BitSet, java.lang.String);
descriptor: (Ljava/util/BitSet;Ljava/lang/String;)Lcom/google/common/base/CharMatcher;
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=10, args_size=2
start local 0 start local 1 0: lconst_0
lstore 2
start local 2 1: aload 0
invokevirtual java.util.BitSet.cardinality:()I
istore 4
start local 4 2: aload 0
iconst_0
invokevirtual java.util.BitSet.get:(I)Z
istore 5
start local 5 3: iload 4
invokestatic com.google.common.base.SmallCharMatcher.chooseTableSize:(I)I
newarray 5
astore 6
start local 6 4: aload 6
arraylength
iconst_1
isub
istore 7
start local 7 5: aload 0
iconst_0
invokevirtual java.util.BitSet.nextSetBit:(I)I
istore 8
start local 8 6: goto 15
7: StackMap locals: java.util.BitSet java.lang.String long int int char[] int int
StackMap stack:
lload 2
lconst_1
iload 8
lshl
lor
lstore 2
8: iload 8
invokestatic com.google.common.base.SmallCharMatcher.smear:(I)I
iload 7
iand
istore 9
start local 9 9: StackMap locals: int
StackMap stack:
aload 6
iload 9
caload
ifne 12
10: aload 6
iload 9
iload 8
i2c
castore
11: goto 14
12: StackMap locals:
StackMap stack:
iload 9
iconst_1
iadd
iload 7
iand
istore 9
13: goto 9
end local 9 14: StackMap locals:
StackMap stack:
aload 0
iload 8
iconst_1
iadd
invokevirtual java.util.BitSet.nextSetBit:(I)I
istore 8
StackMap locals:
StackMap stack:
15: iload 8
iconst_m1
if_icmpne 7
end local 8 16: new com.google.common.base.SmallCharMatcher
dup
aload 6
lload 2
iload 5
aload 1
invokespecial com.google.common.base.SmallCharMatcher.<init>:([CJZLjava/lang/String;)V
areturn
end local 7 end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 chars Ljava/util/BitSet;
0 17 1 description Ljava/lang/String;
1 17 2 filter J
2 17 4 size I
3 17 5 containsZero Z
4 17 6 table [C
5 17 7 mask I
6 16 8 c I
9 14 9 index I
MethodParameters:
Name Flags
chars
description
public boolean matches(char);
descriptor: (C)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: iload 1
ifne 2
1: aload 0
getfield com.google.common.base.SmallCharMatcher.containsZero:Z
ireturn
2: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual com.google.common.base.SmallCharMatcher.checkFilter:(I)Z
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 0
getfield com.google.common.base.SmallCharMatcher.table:[C
arraylength
iconst_1
isub
istore 2
start local 2 5: iload 1
invokestatic com.google.common.base.SmallCharMatcher.smear:(I)I
iload 2
iand
istore 3
start local 3 6: iload 3
istore 4
start local 4 7: StackMap locals: int int int
StackMap stack:
aload 0
getfield com.google.common.base.SmallCharMatcher.table:[C
iload 4
caload
ifne 9
8: iconst_0
ireturn
9: StackMap locals:
StackMap stack:
aload 0
getfield com.google.common.base.SmallCharMatcher.table:[C
iload 4
caload
iload 1
if_icmpne 11
10: iconst_1
ireturn
11: StackMap locals:
StackMap stack:
iload 4
iconst_1
iadd
iload 2
iand
istore 4
12: iload 4
iload 3
if_icmpne 7
13: iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/google/common/base/SmallCharMatcher;
0 14 1 c C
5 14 2 mask I
6 14 3 startingIndex I
7 14 4 index I
MethodParameters:
Name Flags
c
void setBits(java.util.BitSet);
descriptor: (Ljava/util/BitSet;)V
flags: (0x0000)
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield com.google.common.base.SmallCharMatcher.containsZero:Z
ifeq 2
1: aload 1
iconst_0
invokevirtual java.util.BitSet.set:(I)V
2: StackMap locals:
StackMap stack:
aload 0
getfield com.google.common.base.SmallCharMatcher.table:[C
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 7
StackMap locals: com.google.common.base.SmallCharMatcher java.util.BitSet top int int char[]
StackMap stack:
3: aload 5
iload 3
caload
istore 2
start local 2 4: iload 2
ifeq 6
5: aload 1
iload 2
invokevirtual java.util.BitSet.set:(I)V
end local 2 6: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
iload 4
if_icmplt 3
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/google/common/base/SmallCharMatcher;
0 9 1 table Ljava/util/BitSet;
4 6 2 c C
MethodParameters:
Name Flags
table
}
SourceFile: "SmallCharMatcher.java"
InnerClasses:
abstract NamedFastMatcher = com.google.common.base.CharMatcher$NamedFastMatcher of com.google.common.base.CharMatcher
RuntimeInvisibleAnnotations:
com.google.common.annotations.GwtIncompatible()