class com.google.common.util.concurrent.CycleDetectingLockFactory$ExampleStackTrace extends java.lang.IllegalStateException
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.google.common.util.concurrent.CycleDetectingLockFactory$ExampleStackTrace
super_class: java.lang.IllegalStateException
{
static final java.lang.StackTraceElement[] EMPTY_STACK_TRACE;
descriptor: [Ljava/lang/StackTraceElement;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final com.google.common.collect.ImmutableSet<java.lang.String> EXCLUDED_CLASS_NAMES;
descriptor: Lcom/google/common/collect/ImmutableSet;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Lcom/google/common/collect/ImmutableSet<Ljava/lang/String;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: .line 482
iconst_0
anewarray java.lang.StackTraceElement
putstatic com.google.common.util.concurrent.CycleDetectingLockFactory$ExampleStackTrace.EMPTY_STACK_TRACE:[Ljava/lang/StackTraceElement;
1: .line 486
ldc Lcom/google/common/util/concurrent/CycleDetectingLockFactory;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
2: .line 487
ldc Lcom/google/common/util/concurrent/CycleDetectingLockFactory$ExampleStackTrace;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
3: .line 488
ldc Lcom/google/common/util/concurrent/CycleDetectingLockFactory$LockGraphNode;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
4: .line 485
invokestatic com.google.common.collect.ImmutableSet.of:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
5: .line 484
putstatic com.google.common.util.concurrent.CycleDetectingLockFactory$ExampleStackTrace.EXCLUDED_CLASS_NAMES:Lcom/google/common/collect/ImmutableSet;
6: .line 488
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(com.google.common.util.concurrent.CycleDetectingLockFactory$LockGraphNode, com.google.common.util.concurrent.CycleDetectingLockFactory$LockGraphNode);
descriptor: (Lcom/google/common/util/concurrent/CycleDetectingLockFactory$LockGraphNode;Lcom/google/common/util/concurrent/CycleDetectingLockFactory$LockGraphNode;)V
flags: (0x0000)
Code:
stack=4, locals=6, args_size=3
start local 0 // com.google.common.util.concurrent.CycleDetectingLockFactory$ExampleStackTrace this
start local 1 // com.google.common.util.concurrent.CycleDetectingLockFactory$LockGraphNode node1
start local 2 // com.google.common.util.concurrent.CycleDetectingLockFactory$LockGraphNode node2
0: .line 491
aload 0 /* this */
new java.lang.StringBuilder
dup
aload 1 /* node1 */
invokevirtual com.google.common.util.concurrent.CycleDetectingLockFactory$LockGraphNode.getLockName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " -> "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2 /* node2 */
invokevirtual com.google.common.util.concurrent.CycleDetectingLockFactory$LockGraphNode.getLockName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
1: .line 492
aload 0 /* this */
invokevirtual com.google.common.util.concurrent.CycleDetectingLockFactory$ExampleStackTrace.getStackTrace:()[Ljava/lang/StackTraceElement;
astore 3 /* origStackTrace */
start local 3 // java.lang.StackTraceElement[] origStackTrace
2: .line 493
iconst_0
istore 4 /* i */
start local 4 // int i
3: aload 3 /* origStackTrace */
arraylength
istore 5 /* n */
start local 5 // int n
4: goto 12
5: .line 494
StackMap locals: com.google.common.util.concurrent.CycleDetectingLockFactory$ExampleStackTrace com.google.common.util.concurrent.CycleDetectingLockFactory$LockGraphNode com.google.common.util.concurrent.CycleDetectingLockFactory$LockGraphNode java.lang.StackTraceElement[] int int
StackMap stack:
ldc Lcom/google/common/util/concurrent/CycleDetectingLockFactory$WithExplicitOrdering;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aload 3 /* origStackTrace */
iload 4 /* i */
aaload
invokevirtual java.lang.StackTraceElement.getClassName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
6: .line 496
aload 0 /* this */
getstatic com.google.common.util.concurrent.CycleDetectingLockFactory$ExampleStackTrace.EMPTY_STACK_TRACE:[Ljava/lang/StackTraceElement;
invokevirtual com.google.common.util.concurrent.CycleDetectingLockFactory$ExampleStackTrace.setStackTrace:([Ljava/lang/StackTraceElement;)V
7: .line 497
goto 13
8: .line 499
StackMap locals:
StackMap stack:
getstatic com.google.common.util.concurrent.CycleDetectingLockFactory$ExampleStackTrace.EXCLUDED_CLASS_NAMES:Lcom/google/common/collect/ImmutableSet;
aload 3 /* origStackTrace */
iload 4 /* i */
aaload
invokevirtual java.lang.StackTraceElement.getClassName:()Ljava/lang/String;
invokevirtual com.google.common.collect.ImmutableSet.contains:(Ljava/lang/Object;)Z
ifne 11
9: .line 500
aload 0 /* this */
aload 3 /* origStackTrace */
iload 4 /* i */
iload 5 /* n */
invokestatic java.util.Arrays.copyOfRange:([Ljava/lang/Object;II)[Ljava/lang/Object;
checkcast java.lang.StackTraceElement[]
invokevirtual com.google.common.util.concurrent.CycleDetectingLockFactory$ExampleStackTrace.setStackTrace:([Ljava/lang/StackTraceElement;)V
10: .line 501
goto 13
11: .line 493
StackMap locals:
StackMap stack:
iinc 4 /* i */ 1
StackMap locals:
StackMap stack:
12: iload 4 /* i */
iload 5 /* n */
if_icmplt 5
end local 5 // int n
end local 4 // int i
13: .line 504
StackMap locals:
StackMap stack:
return
end local 3 // java.lang.StackTraceElement[] origStackTrace
end local 2 // com.google.common.util.concurrent.CycleDetectingLockFactory$LockGraphNode node2
end local 1 // com.google.common.util.concurrent.CycleDetectingLockFactory$LockGraphNode node1
end local 0 // com.google.common.util.concurrent.CycleDetectingLockFactory$ExampleStackTrace this
LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/google/common/util/concurrent/CycleDetectingLockFactory$ExampleStackTrace;
0 14 1 node1 Lcom/google/common/util/concurrent/CycleDetectingLockFactory$LockGraphNode;
0 14 2 node2 Lcom/google/common/util/concurrent/CycleDetectingLockFactory$LockGraphNode;
2 14 3 origStackTrace [Ljava/lang/StackTraceElement;
3 13 4 i I
4 13 5 n I
MethodParameters:
Name Flags
node1
node2
}
SourceFile: "CycleDetectingLockFactory.java"
NestHost: com.google.common.util.concurrent.CycleDetectingLockFactory
InnerClasses:
private ExampleStackTrace = com.google.common.util.concurrent.CycleDetectingLockFactory$ExampleStackTrace of com.google.common.util.concurrent.CycleDetectingLockFactory
private LockGraphNode = com.google.common.util.concurrent.CycleDetectingLockFactory$LockGraphNode of com.google.common.util.concurrent.CycleDetectingLockFactory
public final WithExplicitOrdering = com.google.common.util.concurrent.CycleDetectingLockFactory$WithExplicitOrdering of com.google.common.util.concurrent.CycleDetectingLockFactory