public abstract class com.google.common.collect.ImmutableSet<E> extends com.google.common.collect.ImmutableCollection<E> implements java.util.Set<E>
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.google.common.collect.ImmutableSet
super_class: com.google.common.collect.ImmutableCollection
{
static final int SPLITERATOR_CHARACTERISTICS;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1297
private transient com.google.common.collect.ImmutableList<E> asList;
descriptor: Lcom/google/common/collect/ImmutableList;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
Signature: Lcom/google/common/collect/ImmutableList<TE;>;
RuntimeVisibleAnnotations:
com.google.errorprone.annotations.concurrent.LazyInit()
RuntimeInvisibleAnnotations:
com.google.j2objc.annotations.RetainedWith()
RuntimeVisibleTypeAnnotations:
FIELD
org.checkerframework.checker.nullness.qual.Nullable()
static final int MAX_TABLE_SIZE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1073741824
private static final double DESIRED_LOAD_FACTOR;
descriptor: D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0.7
private static final int CUTOFF;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 751619276
static final double HASH_FLOODING_FPP;
descriptor: D
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 0.001
static final int MAX_RUN_MULTIPLIER;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 12
public static <E> java.util.stream.Collector<E, ?, com.google.common.collect.ImmutableSet<E>> toImmutableSet();
descriptor: ()Ljava/util/stream/Collector;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic com.google.common.collect.CollectCollectors.toImmutableSet:()Ljava/util/stream/Collector;
areturn
LocalVariableTable:
Start End Slot Name Signature
Signature: <E:Ljava/lang/Object;>()Ljava/util/stream/Collector<TE;*Lcom/google/common/collect/ImmutableSet<TE;>;>;
RuntimeInvisibleAnnotations:
com.google.common.annotations.Beta()
public static <E> com.google.common.collect.ImmutableSet<E> of();
descriptor: ()Lcom/google/common/collect/ImmutableSet;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic com.google.common.collect.RegularImmutableSet.EMPTY:Lcom/google/common/collect/RegularImmutableSet;
areturn
LocalVariableTable:
Start End Slot Name Signature
Signature: <E:Ljava/lang/Object;>()Lcom/google/common/collect/ImmutableSet<TE;>;
public static <E> com.google.common.collect.ImmutableSet<E> of(E);
descriptor: (Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.google.common.collect.SingletonImmutableSet
dup
aload 0
invokespecial com.google.common.collect.SingletonImmutableSet.<init>:(Ljava/lang/Object;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 element TE;
Signature: <E:Ljava/lang/Object;>(TE;)Lcom/google/common/collect/ImmutableSet<TE;>;
MethodParameters:
Name Flags
element
public static <E> com.google.common.collect.ImmutableSet<E> of(E, E);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: iconst_2
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 1
aastore
invokestatic com.google.common.collect.ImmutableSet.construct:(I[Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 e1 TE;
0 1 1 e2 TE;
Signature: <E:Ljava/lang/Object;>(TE;TE;)Lcom/google/common/collect/ImmutableSet<TE;>;
MethodParameters:
Name Flags
e1
e2
public static <E> com.google.common.collect.ImmutableSet<E> of(E, E, E);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iconst_3
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 1
aastore
dup
iconst_2
aload 2
aastore
invokestatic com.google.common.collect.ImmutableSet.construct:(I[Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 e1 TE;
0 1 1 e2 TE;
0 1 2 e3 TE;
Signature: <E:Ljava/lang/Object;>(TE;TE;TE;)Lcom/google/common/collect/ImmutableSet<TE;>;
MethodParameters:
Name Flags
e1
e2
e3
public static <E> com.google.common.collect.ImmutableSet<E> of(E, E, E, E);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_4
iconst_4
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 1
aastore
dup
iconst_2
aload 2
aastore
dup
iconst_3
aload 3
aastore
invokestatic com.google.common.collect.ImmutableSet.construct:(I[Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 e1 TE;
0 1 1 e2 TE;
0 1 2 e3 TE;
0 1 3 e4 TE;
Signature: <E:Ljava/lang/Object;>(TE;TE;TE;TE;)Lcom/google/common/collect/ImmutableSet<TE;>;
MethodParameters:
Name Flags
e1
e2
e3
e4
public static <E> com.google.common.collect.ImmutableSet<E> of(E, E, E, E, E);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iconst_5
iconst_5
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 1
aastore
dup
iconst_2
aload 2
aastore
dup
iconst_3
aload 3
aastore
dup
iconst_4
aload 4
aastore
invokestatic com.google.common.collect.ImmutableSet.construct:(I[Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 e1 TE;
0 1 1 e2 TE;
0 1 2 e3 TE;
0 1 3 e4 TE;
0 1 4 e5 TE;
Signature: <E:Ljava/lang/Object;>(TE;TE;TE;TE;TE;)Lcom/google/common/collect/ImmutableSet<TE;>;
MethodParameters:
Name Flags
e1
e2
e3
e4
e5
public static <E> com.google.common.collect.ImmutableSet<E> of(E, E, E, E, E, E, E[]);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=5, locals=8, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 6
arraylength
ldc 2147483641
if_icmpgt 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
2: StackMap locals:
StackMap stack: int
ldc "the total number of elements must fit in an int"
3: invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/Object;)V
4: bipush 6
aload 6
arraylength
iadd
anewarray java.lang.Object
astore 7
start local 7 5: aload 7
iconst_0
aload 0
aastore
6: aload 7
iconst_1
aload 1
aastore
7: aload 7
iconst_2
aload 2
aastore
8: aload 7
iconst_3
aload 3
aastore
9: aload 7
iconst_4
aload 4
aastore
10: aload 7
iconst_5
aload 5
aastore
11: aload 6
iconst_0
aload 7
bipush 6
aload 6
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
12: aload 7
arraylength
aload 7
invokestatic com.google.common.collect.ImmutableSet.construct:(I[Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
areturn
end local 7 end local 6 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 13 0 e1 TE;
0 13 1 e2 TE;
0 13 2 e3 TE;
0 13 3 e4 TE;
0 13 4 e5 TE;
0 13 5 e6 TE;
0 13 6 others [Ljava/lang/Object;
5 13 7 elements [Ljava/lang/Object;
Signature: <E:Ljava/lang/Object;>(TE;TE;TE;TE;TE;TE;[TE;)Lcom/google/common/collect/ImmutableSet<TE;>;
RuntimeVisibleAnnotations:
java.lang.SafeVarargs()
MethodParameters:
Name Flags
e1
e2
e3
e4
e5
e6
others
private static <E> com.google.common.collect.ImmutableSet<E> construct(int, []);
descriptor: (I[Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: iload 0
tableswitch { // 0 - 1
0: 1
1: 2
default: 4
}
1: StackMap locals:
StackMap stack:
invokestatic com.google.common.collect.ImmutableSet.of:()Lcom/google/common/collect/ImmutableSet;
areturn
2: StackMap locals:
StackMap stack:
aload 1
iconst_0
aaload
astore 2
start local 2 3: aload 2
invokestatic com.google.common.collect.ImmutableSet.of:(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
areturn
end local 2 4: StackMap locals:
StackMap stack:
new com.google.common.collect.ImmutableSet$RegularSetBuilderImpl
dup
iconst_4
invokespecial com.google.common.collect.ImmutableSet$RegularSetBuilderImpl.<init>:(I)V
5: astore 3
start local 3 6: iconst_0
istore 4
start local 4 7: goto 11
8: StackMap locals: int java.lang.Object[] top com.google.common.collect.ImmutableSet$SetBuilderImpl int
StackMap stack:
aload 1
iload 4
aaload
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
astore 5
start local 5 9: aload 3
aload 5
invokevirtual com.google.common.collect.ImmutableSet$SetBuilderImpl.add:(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet$SetBuilderImpl;
astore 3
end local 5 10: iinc 4 1
StackMap locals:
StackMap stack:
11: iload 4
iload 0
if_icmplt 8
end local 4 12: aload 3
invokevirtual com.google.common.collect.ImmutableSet$SetBuilderImpl.review:()Lcom/google/common/collect/ImmutableSet$SetBuilderImpl;
invokevirtual com.google.common.collect.ImmutableSet$SetBuilderImpl.build:()Lcom/google/common/collect/ImmutableSet;
areturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 n I
0 13 1 elements [Ljava/lang/Object;
3 4 2 elem TE;
6 13 3 builder Lcom/google/common/collect/ImmutableSet$SetBuilderImpl<TE;>;
7 12 4 i I
9 10 5 e TE;
Signature: <E:Ljava/lang/Object;>(I[Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet<TE;>;
MethodParameters:
Name Flags
n
elements
public static <E> com.google.common.collect.ImmutableSet<E> copyOf(java.util.Collection<? extends E>);
descriptor: (Ljava/util/Collection;)Lcom/google/common/collect/ImmutableSet;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
instanceof com.google.common.collect.ImmutableSet
ifeq 4
aload 0
instanceof java.util.SortedSet
ifne 4
1: aload 0
checkcast com.google.common.collect.ImmutableSet
astore 1
start local 1 2: aload 1
invokevirtual com.google.common.collect.ImmutableSet.isPartialView:()Z
ifne 6
3: aload 1
areturn
end local 1 4: StackMap locals:
StackMap stack:
aload 0
instanceof java.util.EnumSet
ifeq 6
5: aload 0
checkcast java.util.EnumSet
invokestatic com.google.common.collect.ImmutableSet.copyOfEnumSet:(Ljava/util/EnumSet;)Lcom/google/common/collect/ImmutableSet;
areturn
6: StackMap locals:
StackMap stack:
aload 0
invokeinterface java.util.Collection.toArray:()[Ljava/lang/Object;
astore 1
start local 1 7: aload 1
arraylength
aload 1
invokestatic com.google.common.collect.ImmutableSet.construct:(I[Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 elements Ljava/util/Collection<+TE;>;
2 4 1 set Lcom/google/common/collect/ImmutableSet<TE;>;
7 8 1 array [Ljava/lang/Object;
Signature: <E:Ljava/lang/Object;>(Ljava/util/Collection<+TE;>;)Lcom/google/common/collect/ImmutableSet<TE;>;
MethodParameters:
Name Flags
elements
public static <E> com.google.common.collect.ImmutableSet<E> copyOf(java.lang.Iterable<? extends E>);
descriptor: (Ljava/lang/Iterable;)Lcom/google/common/collect/ImmutableSet;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof java.util.Collection
ifeq 2
1: aload 0
checkcast java.util.Collection
invokestatic com.google.common.collect.ImmutableSet.copyOf:(Ljava/util/Collection;)Lcom/google/common/collect/ImmutableSet;
goto 3
2: StackMap locals:
StackMap stack:
aload 0
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
invokestatic com.google.common.collect.ImmutableSet.copyOf:(Ljava/util/Iterator;)Lcom/google/common/collect/ImmutableSet;
3: StackMap locals:
StackMap stack: com.google.common.collect.ImmutableSet
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 elements Ljava/lang/Iterable<+TE;>;
Signature: <E:Ljava/lang/Object;>(Ljava/lang/Iterable<+TE;>;)Lcom/google/common/collect/ImmutableSet<TE;>;
MethodParameters:
Name Flags
elements
public static <E> com.google.common.collect.ImmutableSet<E> copyOf(java.util.Iterator<? extends E>);
descriptor: (Ljava/util/Iterator;)Lcom/google/common/collect/ImmutableSet;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
1: invokestatic com.google.common.collect.ImmutableSet.of:()Lcom/google/common/collect/ImmutableSet;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 1
start local 1 3: aload 0
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
4: aload 1
invokestatic com.google.common.collect.ImmutableSet.of:(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
areturn
5: StackMap locals: java.lang.Object
StackMap stack:
new com.google.common.collect.ImmutableSet$Builder
dup
invokespecial com.google.common.collect.ImmutableSet$Builder.<init>:()V
aload 1
invokevirtual com.google.common.collect.ImmutableSet$Builder.add:(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet$Builder;
aload 0
invokevirtual com.google.common.collect.ImmutableSet$Builder.addAll:(Ljava/util/Iterator;)Lcom/google/common/collect/ImmutableSet$Builder;
invokevirtual com.google.common.collect.ImmutableSet$Builder.build:()Lcom/google/common/collect/ImmutableSet;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 elements Ljava/util/Iterator<+TE;>;
3 6 1 first TE;
Signature: <E:Ljava/lang/Object;>(Ljava/util/Iterator<+TE;>;)Lcom/google/common/collect/ImmutableSet<TE;>;
MethodParameters:
Name Flags
elements
public static <E> com.google.common.collect.ImmutableSet<E> copyOf(E[]);
descriptor: ([Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
arraylength
tableswitch { // 0 - 1
0: 1
1: 2
default: 3
}
1: StackMap locals:
StackMap stack:
invokestatic com.google.common.collect.ImmutableSet.of:()Lcom/google/common/collect/ImmutableSet;
areturn
2: StackMap locals:
StackMap stack:
aload 0
iconst_0
aaload
invokestatic com.google.common.collect.ImmutableSet.of:(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
areturn
3: StackMap locals:
StackMap stack:
aload 0
arraylength
aload 0
invokevirtual java.lang.Object[].clone:()Ljava/lang/Object;
checkcast java.lang.Object[]
invokestatic com.google.common.collect.ImmutableSet.construct:(I[Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 elements [Ljava/lang/Object;
Signature: <E:Ljava/lang/Object;>([TE;)Lcom/google/common/collect/ImmutableSet<TE;>;
MethodParameters:
Name Flags
elements
private static com.google.common.collect.ImmutableSet copyOfEnumSet(java.util.EnumSet);
descriptor: (Ljava/util/EnumSet;)Lcom/google/common/collect/ImmutableSet;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic java.util.EnumSet.copyOf:(Ljava/util/EnumSet;)Ljava/util/EnumSet;
invokestatic com.google.common.collect.ImmutableEnumSet.asImmutable:(Ljava/util/EnumSet;)Lcom/google/common/collect/ImmutableSet;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 enumSet Ljava/util/EnumSet;
MethodParameters:
Name Flags
enumSet
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.google.common.collect.ImmutableCollection.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/collect/ImmutableSet<TE;>;
boolean isHashCodeFast();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/collect/ImmutableSet<TE;>;
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 start local 1 0: aload 1
aload 0
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof com.google.common.collect.ImmutableSet
ifeq 7
3: aload 0
invokevirtual com.google.common.collect.ImmutableSet.isHashCodeFast:()Z
ifeq 7
4: aload 1
checkcast com.google.common.collect.ImmutableSet
invokevirtual com.google.common.collect.ImmutableSet.isHashCodeFast:()Z
ifeq 7
5: aload 0
invokevirtual com.google.common.collect.ImmutableSet.hashCode:()I
aload 1
invokevirtual java.lang.Object.hashCode:()I
if_icmpeq 7
6: iconst_0
ireturn
7: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic com.google.common.collect.Sets.equalsImpl:(Ljava/util/Set;Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/google/common/collect/ImmutableSet<TE;>;
0 8 1 object Ljava/lang/Object;
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
org.checkerframework.checker.nullness.qual.Nullable()
MethodParameters:
Name Flags
object
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.google.common.collect.Sets.hashCodeImpl:(Ljava/util/Set;)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/collect/ImmutableSet<TE;>;
public abstract com.google.common.collect.UnmodifiableIterator<E> iterator();
descriptor: ()Lcom/google/common/collect/UnmodifiableIterator;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Signature: ()Lcom/google/common/collect/UnmodifiableIterator<TE;>;
public com.google.common.collect.ImmutableList<E> asList();
descriptor: ()Lcom/google/common/collect/ImmutableList;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield com.google.common.collect.ImmutableSet.asList:Lcom/google/common/collect/ImmutableList;
astore 1
start local 1 1: aload 1
ifnonnull 2
aload 0
aload 0
invokevirtual com.google.common.collect.ImmutableSet.createAsList:()Lcom/google/common/collect/ImmutableList;
dup_x1
putfield com.google.common.collect.ImmutableSet.asList:Lcom/google/common/collect/ImmutableList;
goto 3
StackMap locals: com.google.common.collect.ImmutableList
StackMap stack:
2: aload 1
StackMap locals:
StackMap stack: com.google.common.collect.ImmutableList
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/google/common/collect/ImmutableSet<TE;>;
1 4 1 result Lcom/google/common/collect/ImmutableList<TE;>;
Signature: ()Lcom/google/common/collect/ImmutableList<TE;>;
com.google.common.collect.ImmutableList<E> createAsList();
descriptor: ()Lcom/google/common/collect/ImmutableList;
flags: (0x0000)
Code:
stack=4, locals=1, args_size=1
start local 0 0: new com.google.common.collect.RegularImmutableAsList
dup
aload 0
aload 0
invokevirtual com.google.common.collect.ImmutableSet.toArray:()[Ljava/lang/Object;
invokespecial com.google.common.collect.RegularImmutableAsList.<init>:(Lcom/google/common/collect/ImmutableCollection;[Ljava/lang/Object;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/collect/ImmutableSet<TE;>;
Signature: ()Lcom/google/common/collect/ImmutableList<TE;>;
java.lang.Object writeReplace();
descriptor: ()Ljava/lang/Object;
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.google.common.collect.ImmutableSet$SerializedForm
dup
aload 0
invokevirtual com.google.common.collect.ImmutableSet.toArray:()[Ljava/lang/Object;
invokespecial com.google.common.collect.ImmutableSet$SerializedForm.<init>:([Ljava/lang/Object;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/collect/ImmutableSet<TE;>;
public static <E> com.google.common.collect.ImmutableSet$Builder<E> builder();
descriptor: ()Lcom/google/common/collect/ImmutableSet$Builder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new com.google.common.collect.ImmutableSet$Builder
dup
invokespecial com.google.common.collect.ImmutableSet$Builder.<init>:()V
areturn
LocalVariableTable:
Start End Slot Name Signature
Signature: <E:Ljava/lang/Object;>()Lcom/google/common/collect/ImmutableSet$Builder<TE;>;
public static <E> com.google.common.collect.ImmutableSet$Builder<E> builderWithExpectedSize(int);
descriptor: (I)Lcom/google/common/collect/ImmutableSet$Builder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: iload 0
ldc "expectedSize"
invokestatic com.google.common.collect.CollectPreconditions.checkNonnegative:(ILjava/lang/String;)I
pop
1: new com.google.common.collect.ImmutableSet$Builder
dup
iload 0
invokespecial com.google.common.collect.ImmutableSet$Builder.<init>:(I)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 expectedSize I
Signature: <E:Ljava/lang/Object;>(I)Lcom/google/common/collect/ImmutableSet$Builder<TE;>;
RuntimeInvisibleAnnotations:
com.google.common.annotations.Beta()
MethodParameters:
Name Flags
expectedSize
static java.lang.Object[] rebuildHashTable(int, java.lang.Object[], int);
descriptor: (I[Ljava/lang/Object;I)[Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=10, args_size=3
start local 0 start local 1 start local 2 0: iload 0
anewarray java.lang.Object
astore 3
start local 3 1: aload 3
arraylength
iconst_1
isub
istore 4
start local 4 2: iconst_0
istore 5
start local 5 3: goto 13
4: StackMap locals: java.lang.Object[] int int
StackMap stack:
aload 1
iload 5
aaload
astore 6
start local 6 5: aload 6
invokevirtual java.lang.Object.hashCode:()I
invokestatic com.google.common.collect.Hashing.smear:(I)I
istore 7
start local 7 6: iload 7
istore 8
start local 8 7: StackMap locals: java.lang.Object int int
StackMap stack:
iload 8
iload 4
iand
istore 9
start local 9 8: aload 3
iload 9
aaload
ifnonnull 11
9: aload 3
iload 9
aload 6
aastore
10: goto 12
end local 9 11: StackMap locals:
StackMap stack:
iinc 8 1
goto 7
end local 8 end local 7 end local 6 12: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
13: iload 5
iload 2
if_icmplt 4
end local 5 14: aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 newTableSize I
0 15 1 elements [Ljava/lang/Object;
0 15 2 n I
1 15 3 hashTable [Ljava/lang/Object;
2 15 4 mask I
3 14 5 i I
5 12 6 e Ljava/lang/Object;
6 12 7 j0 I
7 12 8 j I
8 11 9 index I
MethodParameters:
Name Flags
newTableSize
elements
n
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_2
invokestatic java.lang.Math.max:(II)I
istore 0
1: iload 0
ldc 751619276
if_icmpge 7
2: 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.7
dmul
iload 0
i2d
dcmpg
iflt 4
6: iload 1
ireturn
end local 1 7: StackMap locals:
StackMap stack:
iload 0
ldc 1073741824
if_icmpge 8
iconst_1
goto 9
StackMap locals:
StackMap stack:
8: iconst_0
StackMap locals:
StackMap stack: int
9: ldc "collection too large"
invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/Object;)V
10: ldc 1073741824
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 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 boolean hashFloodingDetected(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=6, args_size=1
start local 0 0: aload 0
arraylength
invokestatic com.google.common.collect.ImmutableSet.maxRunBeforeFallback:(I)I
istore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 8
3: StackMap locals: int int
StackMap stack:
aload 0
iload 2
aaload
ifnonnull 5
4: goto 9
5: StackMap locals:
StackMap stack:
iinc 2 1
6: iload 2
iload 1
if_icmple 8
7: iconst_1
ireturn
8: StackMap locals:
StackMap stack:
iload 2
aload 0
arraylength
if_icmplt 3
9: StackMap locals:
StackMap stack:
aload 0
arraylength
iconst_1
isub
istore 3
start local 3 10: goto 16
11: StackMap locals: int
StackMap stack:
aload 0
iload 3
aaload
ifnonnull 13
12: goto 17
13: StackMap locals:
StackMap stack:
iload 2
aload 0
arraylength
iconst_1
isub
iload 3
isub
iadd
iload 1
if_icmple 15
14: iconst_1
ireturn
15: StackMap locals:
StackMap stack:
iinc 3 -1
StackMap locals:
StackMap stack:
16: iload 3
iload 2
if_icmpgt 11
17: StackMap locals:
StackMap stack:
iload 2
iconst_1
iadd
istore 4
start local 4 18: goto 27
19: StackMap locals: int
StackMap stack:
iconst_0
istore 5
start local 5 20: goto 25
21: StackMap locals: int
StackMap stack:
iinc 5 1
22: iload 5
iload 1
if_icmple 24
23: iconst_1
ireturn
24: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
25: iload 4
iload 3
if_icmpge 26
aload 0
iload 4
aaload
ifnonnull 21
end local 5 26: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
27: iload 4
iload 3
if_icmplt 19
end local 4 28: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 hashTable [Ljava/lang/Object;
1 29 1 maxRunBeforeFallback I
2 29 2 endOfStartRun I
10 29 3 startOfEndRun I
18 28 4 i I
20 26 5 runLength I
MethodParameters:
Name Flags
hashTable
static int maxRunBeforeFallback(int);
descriptor: (I)I
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: bipush 12
iload 0
getstatic java.math.RoundingMode.UNNECESSARY:Ljava/math/RoundingMode;
invokestatic com.google.common.math.IntMath.log2:(ILjava/math/RoundingMode;)I
imul
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 tableSize I
MethodParameters:
Name Flags
tableSize
public java.util.Iterator iterator();
descriptor: ()Ljava/util/Iterator;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual com.google.common.collect.ImmutableSet.iterator:()Lcom/google/common/collect/UnmodifiableIterator;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: <E:Ljava/lang/Object;>Lcom/google/common/collect/ImmutableCollection<TE;>;Ljava/util/Set<TE;>;
SourceFile: "ImmutableSet.java"
NestMembers:
com.google.common.collect.ImmutableSet$Builder com.google.common.collect.ImmutableSet$Indexed com.google.common.collect.ImmutableSet$Indexed$1 com.google.common.collect.ImmutableSet$JdkBackedSetBuilderImpl com.google.common.collect.ImmutableSet$RegularSetBuilderImpl com.google.common.collect.ImmutableSet$SerializedForm com.google.common.collect.ImmutableSet$SetBuilderImpl
InnerClasses:
public Builder = com.google.common.collect.ImmutableSet$Builder of com.google.common.collect.ImmutableSet
abstract Indexed = com.google.common.collect.ImmutableSet$Indexed of com.google.common.collect.ImmutableSet
private final JdkBackedSetBuilderImpl = com.google.common.collect.ImmutableSet$JdkBackedSetBuilderImpl of com.google.common.collect.ImmutableSet
private final RegularSetBuilderImpl = com.google.common.collect.ImmutableSet$RegularSetBuilderImpl of com.google.common.collect.ImmutableSet
private SerializedForm = com.google.common.collect.ImmutableSet$SerializedForm of com.google.common.collect.ImmutableSet
private abstract SetBuilderImpl = com.google.common.collect.ImmutableSet$SetBuilderImpl of com.google.common.collect.ImmutableSet
RuntimeInvisibleAnnotations:
com.google.common.annotations.GwtCompatible(serializable = true, emulated = true)