public class org.junit.rules.RuleChain implements org.junit.rules.TestRule
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.junit.rules.RuleChain
super_class: java.lang.Object
{
private static final org.junit.rules.RuleChain EMPTY_CHAIN;
descriptor: Lorg/junit/rules/RuleChain;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private java.util.List<org.junit.rules.TestRule> rulesStartingWithInnerMost;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Lorg/junit/rules/TestRule;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new org.junit.rules.RuleChain
dup
1: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
2: invokespecial org.junit.rules.RuleChain.<init>:(Ljava/util/List;)V
putstatic org.junit.rules.RuleChain.EMPTY_CHAIN:Lorg/junit/rules/RuleChain;
3: return
LocalVariableTable:
Start End Slot Name Signature
public static org.junit.rules.RuleChain emptyRuleChain();
descriptor: ()Lorg/junit/rules/RuleChain;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic org.junit.rules.RuleChain.EMPTY_CHAIN:Lorg/junit/rules/RuleChain;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static org.junit.rules.RuleChain outerRule(org.junit.rules.TestRule);
descriptor: (Lorg/junit/rules/TestRule;)Lorg/junit/rules/RuleChain;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic org.junit.rules.RuleChain.emptyRuleChain:()Lorg/junit/rules/RuleChain;
aload 0
invokevirtual org.junit.rules.RuleChain.around:(Lorg/junit/rules/TestRule;)Lorg/junit/rules/RuleChain;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 outerRule Lorg/junit/rules/TestRule;
MethodParameters:
Name Flags
outerRule
private void <init>(java.util.List<org.junit.rules.TestRule>);
descriptor: (Ljava/util/List;)V
flags: (0x0002) ACC_PRIVATE
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
aload 1
putfield org.junit.rules.RuleChain.rulesStartingWithInnerMost:Ljava/util/List;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/junit/rules/RuleChain;
0 3 1 rules Ljava/util/List<Lorg/junit/rules/TestRule;>;
Signature: (Ljava/util/List<Lorg/junit/rules/TestRule;>;)V
MethodParameters:
Name Flags
rules
public org.junit.rules.RuleChain around(org.junit.rules.TestRule);
descriptor: (Lorg/junit/rules/TestRule;)Lorg/junit/rules/RuleChain;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 1: aload 2
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
2: aload 2
aload 0
getfield org.junit.rules.RuleChain.rulesStartingWithInnerMost:Ljava/util/List;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
3: new org.junit.rules.RuleChain
dup
aload 2
invokespecial org.junit.rules.RuleChain.<init>:(Ljava/util/List;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/junit/rules/RuleChain;
0 4 1 enclosedRule Lorg/junit/rules/TestRule;
1 4 2 rulesOfNewChain Ljava/util/List<Lorg/junit/rules/TestRule;>;
MethodParameters:
Name Flags
enclosedRule
public org.junit.runners.model.Statement apply(org.junit.runners.model.Statement, org.junit.runner.Description);
descriptor: (Lorg/junit/runners/model/Statement;Lorg/junit/runner/Description;)Lorg/junit/runners/model/Statement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.junit.rules.RuleChain.rulesStartingWithInnerMost:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 3
StackMap locals: org.junit.rules.RuleChain org.junit.runners.model.Statement org.junit.runner.Description top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.junit.rules.TestRule
astore 3
start local 3 2: aload 3
aload 1
aload 2
invokeinterface org.junit.rules.TestRule.apply:(Lorg/junit/runners/model/Statement;Lorg/junit/runner/Description;)Lorg/junit/runners/model/Statement;
astore 1
end local 3 3: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/junit/rules/RuleChain;
0 5 1 base Lorg/junit/runners/model/Statement;
0 5 2 description Lorg/junit/runner/Description;
2 3 3 each Lorg/junit/rules/TestRule;
MethodParameters:
Name Flags
base
description
}
SourceFile: "RuleChain.java"