abstract class com.google.common.util.concurrent.AggregateFutureState
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: com.google.common.util.concurrent.AggregateFutureState
super_class: java.lang.Object
{
private volatile java.util.Set<java.lang.Throwable> seenExceptions;
descriptor: Ljava/util/Set;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
Signature: Ljava/util/Set<Ljava/lang/Throwable;>;
private volatile int remaining;
descriptor: I
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private static final com.google.common.util.concurrent.AggregateFutureState$AtomicHelper ATOMIC_HELPER;
descriptor: Lcom/google/common/util/concurrent/AggregateFutureState$AtomicHelper;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.logging.Logger log;
descriptor: Ljava/util/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=3, args_size=0
0: ldc Lcom/google/common/util/concurrent/AggregateFutureState;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
putstatic com.google.common.util.concurrent.AggregateFutureState.log:Ljava/util/logging/Logger;
1: aconst_null
astore 1
start local 1 2: new com.google.common.util.concurrent.AggregateFutureState$SafeAtomicHelper
dup
3: ldc Lcom/google/common/util/concurrent/AggregateFutureState;
ldc Ljava/util/Set;
ldc "seenExceptions"
invokestatic java.util.concurrent.atomic.AtomicReferenceFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
4: ldc Lcom/google/common/util/concurrent/AggregateFutureState;
ldc "remaining"
invokestatic java.util.concurrent.atomic.AtomicIntegerFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
5: invokespecial com.google.common.util.concurrent.AggregateFutureState$SafeAtomicHelper.<init>:(Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;)V
6: astore 0
start local 0 7: goto 11
end local 0 StackMap locals: top java.lang.Throwable
StackMap stack: java.lang.Throwable
8: astore 2
start local 2 9: aload 2
astore 1
10: new com.google.common.util.concurrent.AggregateFutureState$SynchronizedAtomicHelper
dup
invokespecial com.google.common.util.concurrent.AggregateFutureState$SynchronizedAtomicHelper.<init>:()V
astore 0
end local 2 start local 0 11: StackMap locals: com.google.common.util.concurrent.AggregateFutureState$AtomicHelper java.lang.Throwable
StackMap stack:
aload 0
putstatic com.google.common.util.concurrent.AggregateFutureState.ATOMIC_HELPER:Lcom/google/common/util/concurrent/AggregateFutureState$AtomicHelper;
12: aload 1
ifnull 14
13: getstatic com.google.common.util.concurrent.AggregateFutureState.log:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
ldc "SafeAtomicHelper is broken!"
aload 1
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
end local 1 end local 0 14: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
7 8 0 helper Lcom/google/common/util/concurrent/AggregateFutureState$AtomicHelper;
11 14 0 helper Lcom/google/common/util/concurrent/AggregateFutureState$AtomicHelper;
2 14 1 thrownReflectionFailure Ljava/lang/Throwable;
9 11 2 reflectionFailure Ljava/lang/Throwable;
Exception table:
from to target type
2 7 8 Class java.lang.Throwable
void <init>(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield com.google.common.util.concurrent.AggregateFutureState.seenExceptions:Ljava/util/Set;
2: aload 0
iload 1
putfield com.google.common.util.concurrent.AggregateFutureState.remaining:I
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/google/common/util/concurrent/AggregateFutureState;
0 4 1 remainingFutures I
MethodParameters:
Name Flags
remainingFutures
final java.util.Set<java.lang.Throwable> getOrInitSeenExceptions();
descriptor: ()Ljava/util/Set;
flags: (0x0010) ACC_FINAL
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield com.google.common.util.concurrent.AggregateFutureState.seenExceptions:Ljava/util/Set;
astore 1
start local 1 1: aload 1
ifnonnull 6
2: invokestatic com.google.common.collect.Sets.newConcurrentHashSet:()Ljava/util/Set;
astore 1
3: aload 0
aload 1
invokevirtual com.google.common.util.concurrent.AggregateFutureState.addInitialException:(Ljava/util/Set;)V
4: getstatic com.google.common.util.concurrent.AggregateFutureState.ATOMIC_HELPER:Lcom/google/common/util/concurrent/AggregateFutureState$AtomicHelper;
aload 0
aconst_null
aload 1
invokevirtual com.google.common.util.concurrent.AggregateFutureState$AtomicHelper.compareAndSetSeenExceptions:(Lcom/google/common/util/concurrent/AggregateFutureState;Ljava/util/Set;Ljava/util/Set;)V
5: aload 0
getfield com.google.common.util.concurrent.AggregateFutureState.seenExceptions:Ljava/util/Set;
astore 1
6: StackMap locals: java.util.Set
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/google/common/util/concurrent/AggregateFutureState;
1 7 1 seenExceptionsLocal Ljava/util/Set<Ljava/lang/Throwable;>;
Signature: ()Ljava/util/Set<Ljava/lang/Throwable;>;
abstract void addInitialException(java.util.Set<java.lang.Throwable>);
descriptor: (Ljava/util/Set;)V
flags: (0x0400) ACC_ABSTRACT
Signature: (Ljava/util/Set<Ljava/lang/Throwable;>;)V
MethodParameters:
Name Flags
seen
final int decrementRemainingAndGet();
descriptor: ()I
flags: (0x0010) ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic com.google.common.util.concurrent.AggregateFutureState.ATOMIC_HELPER:Lcom/google/common/util/concurrent/AggregateFutureState$AtomicHelper;
aload 0
invokevirtual com.google.common.util.concurrent.AggregateFutureState$AtomicHelper.decrementAndGetRemainingCount:(Lcom/google/common/util/concurrent/AggregateFutureState;)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/util/concurrent/AggregateFutureState;
}
SourceFile: "AggregateFutureState.java"
NestMembers:
com.google.common.util.concurrent.AggregateFutureState$AtomicHelper com.google.common.util.concurrent.AggregateFutureState$SafeAtomicHelper com.google.common.util.concurrent.AggregateFutureState$SynchronizedAtomicHelper
InnerClasses:
private abstract AtomicHelper = com.google.common.util.concurrent.AggregateFutureState$AtomicHelper of com.google.common.util.concurrent.AggregateFutureState
private final SafeAtomicHelper = com.google.common.util.concurrent.AggregateFutureState$SafeAtomicHelper of com.google.common.util.concurrent.AggregateFutureState
private final SynchronizedAtomicHelper = com.google.common.util.concurrent.AggregateFutureState$SynchronizedAtomicHelper of com.google.common.util.concurrent.AggregateFutureState
public final Level = com.google.j2objc.annotations.ReflectionSupport$Level of com.google.j2objc.annotations.ReflectionSupport
RuntimeInvisibleAnnotations:
com.google.common.annotations.GwtCompatible(emulated = true)
com.google.j2objc.annotations.ReflectionSupport(value = com.google.j2objc.annotations.ReflectionSupport$Level.FULL:Lcom/google/j2objc/annotations/ReflectionSupport$Level;)