final class com.google.common.util.concurrent.AbstractService$StateSnapshot
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.google.common.util.concurrent.AbstractService$StateSnapshot
super_class: java.lang.Object
{
final com.google.common.util.concurrent.Service$State state;
descriptor: Lcom/google/common/util/concurrent/Service$State;
flags: (0x0010) ACC_FINAL
final boolean shutdownWhenStartupFinishes;
descriptor: Z
flags: (0x0010) ACC_FINAL
final java.lang.Throwable failure;
descriptor: Ljava/lang/Throwable;
flags: (0x0010) ACC_FINAL
RuntimeVisibleTypeAnnotations:
FIELD
org.checkerframework.checker.nullness.qual.Nullable()
void <init>(com.google.common.util.concurrent.Service$State);
descriptor: (Lcom/google/common/util/concurrent/Service$State;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
aconst_null
invokespecial com.google.common.util.concurrent.AbstractService$StateSnapshot.<init>:(Lcom/google/common/util/concurrent/Service$State;ZLjava/lang/Throwable;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/common/util/concurrent/AbstractService$StateSnapshot;
0 2 1 internalState Lcom/google/common/util/concurrent/Service$State;
MethodParameters:
Name Flags
internalState
void <init>(com.google.common.util.concurrent.Service$State, boolean, java.lang.Throwable);
descriptor: (Lcom/google/common/util/concurrent/Service$State;ZLjava/lang/Throwable;)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: iload 2
ifeq 2
aload 1
getstatic com.google.common.util.concurrent.Service$State.STARTING:Lcom/google/common/util/concurrent/Service$State;
if_acmpeq 2
iconst_0
goto 3
StackMap locals: com.google.common.util.concurrent.AbstractService$StateSnapshot com.google.common.util.concurrent.Service$State int java.lang.Throwable
StackMap stack:
2: iconst_1
3: StackMap locals:
StackMap stack: int
ldc "shutdownWhenStartupFinishes can only be set if state is STARTING. Got %s instead."
4: aload 1
5: invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/String;Ljava/lang/Object;)V
6: aload 3
ifnull 7
iconst_1
goto 8
StackMap locals:
StackMap stack:
7: iconst_0
StackMap locals:
StackMap stack: int
8: aload 1
getstatic com.google.common.util.concurrent.Service$State.FAILED:Lcom/google/common/util/concurrent/Service$State;
if_acmpne 9
iconst_1
goto 10
StackMap locals:
StackMap stack: int
9: iconst_0
StackMap locals: com.google.common.util.concurrent.AbstractService$StateSnapshot com.google.common.util.concurrent.Service$State int java.lang.Throwable
StackMap stack: int int
10: ixor
ifeq 11
iconst_0
goto 12
StackMap locals:
StackMap stack:
11: iconst_1
12: StackMap locals:
StackMap stack: int
ldc "A failure cause should be set if and only if the state is failed. Got %s and %s instead."
13: aload 1
14: aload 3
15: invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
16: aload 0
aload 1
putfield com.google.common.util.concurrent.AbstractService$StateSnapshot.state:Lcom/google/common/util/concurrent/Service$State;
17: aload 0
iload 2
putfield com.google.common.util.concurrent.AbstractService$StateSnapshot.shutdownWhenStartupFinishes:Z
18: aload 0
aload 3
putfield com.google.common.util.concurrent.AbstractService$StateSnapshot.failure:Ljava/lang/Throwable;
19: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/google/common/util/concurrent/AbstractService$StateSnapshot;
0 20 1 internalState Lcom/google/common/util/concurrent/Service$State;
0 20 2 shutdownWhenStartupFinishes Z
0 20 3 failure Ljava/lang/Throwable;
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
org.checkerframework.checker.nullness.qual.Nullable()
MethodParameters:
Name Flags
internalState
shutdownWhenStartupFinishes
failure
com.google.common.util.concurrent.Service$State externalState();
descriptor: ()Lcom/google/common/util/concurrent/Service$State;
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.common.util.concurrent.AbstractService$StateSnapshot.shutdownWhenStartupFinishes:Z
ifeq 2
aload 0
getfield com.google.common.util.concurrent.AbstractService$StateSnapshot.state:Lcom/google/common/util/concurrent/Service$State;
getstatic com.google.common.util.concurrent.Service$State.STARTING:Lcom/google/common/util/concurrent/Service$State;
if_acmpne 2
1: getstatic com.google.common.util.concurrent.Service$State.STOPPING:Lcom/google/common/util/concurrent/Service$State;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.google.common.util.concurrent.AbstractService$StateSnapshot.state:Lcom/google/common/util/concurrent/Service$State;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/google/common/util/concurrent/AbstractService$StateSnapshot;
java.lang.Throwable failureCause();
descriptor: ()Ljava/lang/Throwable;
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.common.util.concurrent.AbstractService$StateSnapshot.state:Lcom/google/common/util/concurrent/Service$State;
getstatic com.google.common.util.concurrent.Service$State.FAILED:Lcom/google/common/util/concurrent/Service$State;
if_acmpne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
2: StackMap locals:
StackMap stack: int
ldc "failureCause() is only valid if the service has failed, service is %s"
3: aload 0
getfield com.google.common.util.concurrent.AbstractService$StateSnapshot.state:Lcom/google/common/util/concurrent/Service$State;
4: invokestatic com.google.common.base.Preconditions.checkState:(ZLjava/lang/String;Ljava/lang/Object;)V
5: aload 0
getfield com.google.common.util.concurrent.AbstractService$StateSnapshot.failure:Ljava/lang/Throwable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/google/common/util/concurrent/AbstractService$StateSnapshot;
}
SourceFile: "AbstractService.java"
NestHost: com.google.common.util.concurrent.AbstractService
InnerClasses:
private final StateSnapshot = com.google.common.util.concurrent.AbstractService$StateSnapshot of com.google.common.util.concurrent.AbstractService
public abstract State = com.google.common.util.concurrent.Service$State of com.google.common.util.concurrent.Service