public class ch.qos.logback.core.subst.NodeToStringTransformer
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: ch.qos.logback.core.subst.NodeToStringTransformer
super_class: java.lang.Object
{
final ch.qos.logback.core.subst.Node node;
descriptor: Lch/qos/logback/core/subst/Node;
flags: (0x0010) ACC_FINAL
final ch.qos.logback.core.spi.PropertyContainer propertyContainer0;
descriptor: Lch/qos/logback/core/spi/PropertyContainer;
flags: (0x0010) ACC_FINAL
final ch.qos.logback.core.spi.PropertyContainer propertyContainer1;
descriptor: Lch/qos/logback/core/spi/PropertyContainer;
flags: (0x0010) ACC_FINAL
private static volatile int[] $SWITCH_TABLE$ch$qos$logback$core$subst$Node$Type;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
public void <init>(ch.qos.logback.core.subst.Node, ch.qos.logback.core.spi.PropertyContainer, ch.qos.logback.core.spi.PropertyContainer);
descriptor: (Lch/qos/logback/core/subst/Node;Lch/qos/logback/core/spi/PropertyContainer;Lch/qos/logback/core/spi/PropertyContainer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, 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: aload 0
aload 1
putfield ch.qos.logback.core.subst.NodeToStringTransformer.node:Lch/qos/logback/core/subst/Node;
2: aload 0
aload 2
putfield ch.qos.logback.core.subst.NodeToStringTransformer.propertyContainer0:Lch/qos/logback/core/spi/PropertyContainer;
3: aload 0
aload 3
putfield ch.qos.logback.core.subst.NodeToStringTransformer.propertyContainer1:Lch/qos/logback/core/spi/PropertyContainer;
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lch/qos/logback/core/subst/NodeToStringTransformer;
0 5 1 node Lch/qos/logback/core/subst/Node;
0 5 2 propertyContainer0 Lch/qos/logback/core/spi/PropertyContainer;
0 5 3 propertyContainer1 Lch/qos/logback/core/spi/PropertyContainer;
MethodParameters:
Name Flags
node
propertyContainer0
propertyContainer1
public void <init>(ch.qos.logback.core.subst.Node, ch.qos.logback.core.spi.PropertyContainer);
descriptor: (Lch/qos/logback/core/subst/Node;Lch/qos/logback/core/spi/PropertyContainer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
aconst_null
invokespecial ch.qos.logback.core.subst.NodeToStringTransformer.<init>:(Lch/qos/logback/core/subst/Node;Lch/qos/logback/core/spi/PropertyContainer;Lch/qos/logback/core/spi/PropertyContainer;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lch/qos/logback/core/subst/NodeToStringTransformer;
0 2 1 node Lch/qos/logback/core/subst/Node;
0 2 2 propertyContainer0 Lch/qos/logback/core/spi/PropertyContainer;
MethodParameters:
Name Flags
node
propertyContainer0
public static java.lang.String substituteVariable(java.lang.String, ch.qos.logback.core.spi.PropertyContainer, ch.qos.logback.core.spi.PropertyContainer);
descriptor: (Ljava/lang/String;Lch/qos/logback/core/spi/PropertyContainer;Lch/qos/logback/core/spi/PropertyContainer;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokestatic ch.qos.logback.core.subst.NodeToStringTransformer.tokenizeAndParseString:(Ljava/lang/String;)Lch/qos/logback/core/subst/Node;
astore 3
start local 3 1: new ch.qos.logback.core.subst.NodeToStringTransformer
dup
aload 3
aload 1
aload 2
invokespecial ch.qos.logback.core.subst.NodeToStringTransformer.<init>:(Lch/qos/logback/core/subst/Node;Lch/qos/logback/core/spi/PropertyContainer;Lch/qos/logback/core/spi/PropertyContainer;)V
astore 4
start local 4 2: aload 4
invokevirtual ch.qos.logback.core.subst.NodeToStringTransformer.transform:()Ljava/lang/String;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 input Ljava/lang/String;
0 3 1 pc0 Lch/qos/logback/core/spi/PropertyContainer;
0 3 2 pc1 Lch/qos/logback/core/spi/PropertyContainer;
1 3 3 node Lch/qos/logback/core/subst/Node;
2 3 4 nodeToStringTransformer Lch/qos/logback/core/subst/NodeToStringTransformer;
Exceptions:
throws ch.qos.logback.core.spi.ScanException
MethodParameters:
Name Flags
input
pc0
pc1
private static ch.qos.logback.core.subst.Node tokenizeAndParseString(java.lang.String);
descriptor: (Ljava/lang/String;)Lch/qos/logback/core/subst/Node;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: new ch.qos.logback.core.subst.Tokenizer
dup
aload 0
invokespecial ch.qos.logback.core.subst.Tokenizer.<init>:(Ljava/lang/String;)V
astore 1
start local 1 1: aload 1
invokevirtual ch.qos.logback.core.subst.Tokenizer.tokenize:()Ljava/util/List;
astore 2
start local 2 2: new ch.qos.logback.core.subst.Parser
dup
aload 2
invokespecial ch.qos.logback.core.subst.Parser.<init>:(Ljava/util/List;)V
astore 3
start local 3 3: aload 3
invokevirtual ch.qos.logback.core.subst.Parser.parse:()Lch/qos/logback/core/subst/Node;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 value Ljava/lang/String;
1 4 1 tokenizer Lch/qos/logback/core/subst/Tokenizer;
2 4 2 tokens Ljava/util/List<Lch/qos/logback/core/subst/Token;>;
3 4 3 parser Lch/qos/logback/core/subst/Parser;
Exceptions:
throws ch.qos.logback.core.spi.ScanException
MethodParameters:
Name Flags
value
public java.lang.String transform();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: aload 0
aload 0
getfield ch.qos.logback.core.subst.NodeToStringTransformer.node:Lch/qos/logback/core/subst/Node;
aload 1
new java.util.Stack
dup
invokespecial java.util.Stack.<init>:()V
invokevirtual ch.qos.logback.core.subst.NodeToStringTransformer.compileNode:(Lch/qos/logback/core/subst/Node;Ljava/lang/StringBuilder;Ljava/util/Stack;)V
2: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lch/qos/logback/core/subst/NodeToStringTransformer;
1 3 1 stringBuilder Ljava/lang/StringBuilder;
Exceptions:
throws ch.qos.logback.core.spi.ScanException
private void compileNode(ch.qos.logback.core.subst.Node, java.lang.StringBuilder, java.util.Stack<ch.qos.logback.core.subst.Node>);
descriptor: (Lch/qos/logback/core/subst/Node;Ljava/lang/StringBuilder;Ljava/util/Stack;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
astore 4
start local 4 1: goto 8
2: StackMap locals: ch.qos.logback.core.subst.Node
StackMap stack:
invokestatic ch.qos.logback.core.subst.NodeToStringTransformer.$SWITCH_TABLE$ch$qos$logback$core$subst$Node$Type:()[I
aload 4
getfield ch.qos.logback.core.subst.Node.type:Lch/qos/logback/core/subst/Node$Type;
invokevirtual ch.qos.logback.core.subst.Node$Type.ordinal:()I
iaload
tableswitch { // 1 - 2
1: 3
2: 5
default: 6
}
3: StackMap locals:
StackMap stack:
aload 0
aload 4
aload 2
invokevirtual ch.qos.logback.core.subst.NodeToStringTransformer.handleLiteral:(Lch/qos/logback/core/subst/Node;Ljava/lang/StringBuilder;)V
4: goto 6
5: StackMap locals:
StackMap stack:
aload 0
aload 4
aload 2
aload 3
invokevirtual ch.qos.logback.core.subst.NodeToStringTransformer.handleVariable:(Lch/qos/logback/core/subst/Node;Ljava/lang/StringBuilder;Ljava/util/Stack;)V
6: StackMap locals:
StackMap stack:
aload 4
7: getfield ch.qos.logback.core.subst.Node.next:Lch/qos/logback/core/subst/Node;
astore 4
8: StackMap locals:
StackMap stack:
aload 4
ifnonnull 2
9: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lch/qos/logback/core/subst/NodeToStringTransformer;
0 10 1 inputNode Lch/qos/logback/core/subst/Node;
0 10 2 stringBuilder Ljava/lang/StringBuilder;
0 10 3 cycleCheckStack Ljava/util/Stack<Lch/qos/logback/core/subst/Node;>;
1 10 4 n Lch/qos/logback/core/subst/Node;
Exceptions:
throws ch.qos.logback.core.spi.ScanException
Signature: (Lch/qos/logback/core/subst/Node;Ljava/lang/StringBuilder;Ljava/util/Stack<Lch/qos/logback/core/subst/Node;>;)V
MethodParameters:
Name Flags
inputNode
stringBuilder
cycleCheckStack
private void handleVariable(ch.qos.logback.core.subst.Node, java.lang.StringBuilder, java.util.Stack<ch.qos.logback.core.subst.Node>);
descriptor: (Lch/qos/logback/core/subst/Node;Ljava/lang/StringBuilder;Ljava/util/Stack;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 3
invokevirtual ch.qos.logback.core.subst.NodeToStringTransformer.haveVisitedNodeAlready:(Lch/qos/logback/core/subst/Node;Ljava/util/Stack;)Z
ifeq 4
1: aload 3
aload 1
invokevirtual java.util.Stack.push:(Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 0
aload 3
invokevirtual ch.qos.logback.core.subst.NodeToStringTransformer.constructRecursionErrorMessage:(Ljava/util/Stack;)Ljava/lang/String;
astore 4
start local 4 3: new java.lang.IllegalArgumentException
dup
aload 4
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 4 4: StackMap locals:
StackMap stack:
aload 3
aload 1
invokevirtual java.util.Stack.push:(Ljava/lang/Object;)Ljava/lang/Object;
pop
5: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 4
start local 4 6: aload 1
getfield ch.qos.logback.core.subst.Node.payload:Ljava/lang/Object;
checkcast ch.qos.logback.core.subst.Node
astore 5
start local 5 7: aload 0
aload 5
aload 4
aload 3
invokevirtual ch.qos.logback.core.subst.NodeToStringTransformer.compileNode:(Lch/qos/logback/core/subst/Node;Ljava/lang/StringBuilder;Ljava/util/Stack;)V
8: aload 4
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
start local 6 9: aload 0
aload 6
invokevirtual ch.qos.logback.core.subst.NodeToStringTransformer.lookupKey:(Ljava/lang/String;)Ljava/lang/String;
astore 7
start local 7 10: aload 7
ifnull 15
11: aload 7
invokestatic ch.qos.logback.core.subst.NodeToStringTransformer.tokenizeAndParseString:(Ljava/lang/String;)Lch/qos/logback/core/subst/Node;
astore 8
start local 8 12: aload 0
aload 8
aload 2
aload 3
invokevirtual ch.qos.logback.core.subst.NodeToStringTransformer.compileNode:(Lch/qos/logback/core/subst/Node;Ljava/lang/StringBuilder;Ljava/util/Stack;)V
13: aload 3
invokevirtual java.util.Stack.pop:()Ljava/lang/Object;
pop
14: return
end local 8 15: StackMap locals: ch.qos.logback.core.subst.NodeToStringTransformer ch.qos.logback.core.subst.Node java.lang.StringBuilder java.util.Stack java.lang.StringBuilder ch.qos.logback.core.subst.Node java.lang.String java.lang.String
StackMap stack:
aload 1
getfield ch.qos.logback.core.subst.Node.defaultPart:Ljava/lang/Object;
ifnonnull 19
16: aload 2
new java.lang.StringBuilder
dup
aload 6
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "_IS_UNDEFINED"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
17: aload 3
invokevirtual java.util.Stack.pop:()Ljava/lang/Object;
pop
18: return
19: StackMap locals:
StackMap stack:
aload 1
getfield ch.qos.logback.core.subst.Node.defaultPart:Ljava/lang/Object;
checkcast ch.qos.logback.core.subst.Node
astore 8
start local 8 20: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 9
start local 9 21: aload 0
aload 8
aload 9
aload 3
invokevirtual ch.qos.logback.core.subst.NodeToStringTransformer.compileNode:(Lch/qos/logback/core/subst/Node;Ljava/lang/StringBuilder;Ljava/util/Stack;)V
22: aload 3
invokevirtual java.util.Stack.pop:()Ljava/lang/Object;
pop
23: aload 9
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 10
start local 10 24: aload 2
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
25: return
end local 10 end local 9 end local 8 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 26 0 this Lch/qos/logback/core/subst/NodeToStringTransformer;
0 26 1 n Lch/qos/logback/core/subst/Node;
0 26 2 stringBuilder Ljava/lang/StringBuilder;
0 26 3 cycleCheckStack Ljava/util/Stack<Lch/qos/logback/core/subst/Node;>;
3 4 4 error Ljava/lang/String;
6 26 4 keyBuffer Ljava/lang/StringBuilder;
7 26 5 payload Lch/qos/logback/core/subst/Node;
9 26 6 key Ljava/lang/String;
10 26 7 value Ljava/lang/String;
12 15 8 innerNode Lch/qos/logback/core/subst/Node;
20 26 8 defaultPart Lch/qos/logback/core/subst/Node;
21 26 9 defaultPartBuffer Ljava/lang/StringBuilder;
24 26 10 defaultVal Ljava/lang/String;
Exceptions:
throws ch.qos.logback.core.spi.ScanException
Signature: (Lch/qos/logback/core/subst/Node;Ljava/lang/StringBuilder;Ljava/util/Stack<Lch/qos/logback/core/subst/Node;>;)V
MethodParameters:
Name Flags
n
stringBuilder
cycleCheckStack
private java.lang.String lookupKey(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield ch.qos.logback.core.subst.NodeToStringTransformer.propertyContainer0:Lch/qos/logback/core/spi/PropertyContainer;
aload 1
invokeinterface ch.qos.logback.core.spi.PropertyContainer.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 1: aload 2
ifnull 3
2: aload 2
areturn
3: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield ch.qos.logback.core.subst.NodeToStringTransformer.propertyContainer1:Lch/qos/logback/core/spi/PropertyContainer;
ifnull 7
4: aload 0
getfield ch.qos.logback.core.subst.NodeToStringTransformer.propertyContainer1:Lch/qos/logback/core/spi/PropertyContainer;
aload 1
invokeinterface ch.qos.logback.core.spi.PropertyContainer.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 2
5: aload 2
ifnull 7
6: aload 2
areturn
7: StackMap locals:
StackMap stack:
aload 1
aconst_null
invokestatic ch.qos.logback.core.util.OptionHelper.getSystemProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 2
8: aload 2
ifnull 10
9: aload 2
areturn
10: StackMap locals:
StackMap stack:
aload 1
invokestatic ch.qos.logback.core.util.OptionHelper.getEnv:(Ljava/lang/String;)Ljava/lang/String;
astore 2
11: aload 2
ifnull 13
12: aload 2
areturn
13: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lch/qos/logback/core/subst/NodeToStringTransformer;
0 14 1 key Ljava/lang/String;
1 14 2 value Ljava/lang/String;
MethodParameters:
Name Flags
key
private void handleLiteral(ch.qos.logback.core.subst.Node, java.lang.StringBuilder);
descriptor: (Lch/qos/logback/core/subst/Node;Ljava/lang/StringBuilder;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 1
getfield ch.qos.logback.core.subst.Node.payload:Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lch/qos/logback/core/subst/NodeToStringTransformer;
0 2 1 n Lch/qos/logback/core/subst/Node;
0 2 2 stringBuilder Ljava/lang/StringBuilder;
MethodParameters:
Name Flags
n
stringBuilder
private java.lang.String variableNodeValue(ch.qos.logback.core.subst.Node);
descriptor: (Lch/qos/logback/core/subst/Node;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=3, args_size=2
start local 0 start local 1 0: aload 1
getfield ch.qos.logback.core.subst.Node.payload:Ljava/lang/Object;
checkcast ch.qos.logback.core.subst.Node
astore 2
start local 2 1: aload 2
getfield ch.qos.logback.core.subst.Node.payload:Ljava/lang/Object;
checkcast java.lang.String
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lch/qos/logback/core/subst/NodeToStringTransformer;
0 2 1 variableNode Lch/qos/logback/core/subst/Node;
1 2 2 literalPayload Lch/qos/logback/core/subst/Node;
MethodParameters:
Name Flags
variableNode
private java.lang.String constructRecursionErrorMessage(java.util.Stack<ch.qos.logback.core.subst.Node>);
descriptor: (Ljava/util/Stack;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
ldc "Circular variable reference detected while parsing input ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 2
start local 2 1: aload 1
invokevirtual java.util.Stack.iterator:()Ljava/util/Iterator;
astore 4
goto 6
StackMap locals: ch.qos.logback.core.subst.NodeToStringTransformer java.util.Stack java.lang.StringBuilder top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast ch.qos.logback.core.subst.Node
astore 3
start local 3 3: aload 2
ldc "${"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
aload 3
invokevirtual ch.qos.logback.core.subst.NodeToStringTransformer.variableNodeValue:(Lch/qos/logback/core/subst/Node;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "}"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
4: aload 1
invokevirtual java.util.Stack.lastElement:()Ljava/lang/Object;
aload 3
if_acmpeq 6
5: aload 2
ldc " --> "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 3 6: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
7: aload 2
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
8: aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lch/qos/logback/core/subst/NodeToStringTransformer;
0 9 1 recursionNodes Ljava/util/Stack<Lch/qos/logback/core/subst/Node;>;
1 9 2 errorBuilder Ljava/lang/StringBuilder;
3 6 3 stackNode Lch/qos/logback/core/subst/Node;
Signature: (Ljava/util/Stack<Lch/qos/logback/core/subst/Node;>;)Ljava/lang/String;
MethodParameters:
Name Flags
recursionNodes
private boolean haveVisitedNodeAlready(ch.qos.logback.core.subst.Node, java.util.Stack<ch.qos.logback.core.subst.Node>);
descriptor: (Lch/qos/logback/core/subst/Node;Ljava/util/Stack;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual java.util.Stack.iterator:()Ljava/util/Iterator;
astore 4
goto 4
StackMap locals: ch.qos.logback.core.subst.NodeToStringTransformer ch.qos.logback.core.subst.Node java.util.Stack top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast ch.qos.logback.core.subst.Node
astore 3
start local 3 2: aload 0
aload 1
aload 3
invokevirtual ch.qos.logback.core.subst.NodeToStringTransformer.equalNodes:(Lch/qos/logback/core/subst/Node;Lch/qos/logback/core/subst/Node;)Z
ifeq 4
3: iconst_1
ireturn
end local 3 4: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lch/qos/logback/core/subst/NodeToStringTransformer;
0 6 1 node Lch/qos/logback/core/subst/Node;
0 6 2 cycleDetectionStack Ljava/util/Stack<Lch/qos/logback/core/subst/Node;>;
2 4 3 cycleNode Lch/qos/logback/core/subst/Node;
Signature: (Lch/qos/logback/core/subst/Node;Ljava/util/Stack<Lch/qos/logback/core/subst/Node;>;)Z
MethodParameters:
Name Flags
node
cycleDetectionStack
private boolean equalNodes(ch.qos.logback.core.subst.Node, ch.qos.logback.core.subst.Node);
descriptor: (Lch/qos/logback/core/subst/Node;Lch/qos/logback/core/subst/Node;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield ch.qos.logback.core.subst.Node.type:Lch/qos/logback/core/subst/Node$Type;
ifnull 2
aload 1
getfield ch.qos.logback.core.subst.Node.type:Lch/qos/logback/core/subst/Node$Type;
aload 2
getfield ch.qos.logback.core.subst.Node.type:Lch/qos/logback/core/subst/Node$Type;
invokevirtual ch.qos.logback.core.subst.Node$Type.equals:(Ljava/lang/Object;)Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
getfield ch.qos.logback.core.subst.Node.payload:Ljava/lang/Object;
ifnull 4
aload 1
getfield ch.qos.logback.core.subst.Node.payload:Ljava/lang/Object;
aload 2
getfield ch.qos.logback.core.subst.Node.payload:Ljava/lang/Object;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
getfield ch.qos.logback.core.subst.Node.defaultPart:Ljava/lang/Object;
ifnull 6
aload 1
getfield ch.qos.logback.core.subst.Node.defaultPart:Ljava/lang/Object;
aload 2
getfield ch.qos.logback.core.subst.Node.defaultPart:Ljava/lang/Object;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 6
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lch/qos/logback/core/subst/NodeToStringTransformer;
0 7 1 node1 Lch/qos/logback/core/subst/Node;
0 7 2 node2 Lch/qos/logback/core/subst/Node;
MethodParameters:
Name Flags
node1
node2
static int[] $SWITCH_TABLE$ch$qos$logback$core$subst$Node$Type();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic ch.qos.logback.core.subst.NodeToStringTransformer.$SWITCH_TABLE$ch$qos$logback$core$subst$Node$Type:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic ch.qos.logback.core.subst.Node$Type.values:()[Lch/qos/logback/core/subst/Node$Type;
arraylength
newarray 10
astore 0
2: aload 0
getstatic ch.qos.logback.core.subst.Node$Type.LITERAL:Lch/qos/logback/core/subst/Node$Type;
invokevirtual ch.qos.logback.core.subst.Node$Type.ordinal:()I
iconst_1
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic ch.qos.logback.core.subst.Node$Type.VARIABLE:Lch/qos/logback/core/subst/Node$Type;
invokevirtual ch.qos.logback.core.subst.Node$Type.ordinal:()I
iconst_2
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
dup
putstatic ch.qos.logback.core.subst.NodeToStringTransformer.$SWITCH_TABLE$ch$qos$logback$core$subst$Node$Type:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
}
SourceFile: "NodeToStringTransformer.java"
InnerClasses:
final Type = ch.qos.logback.core.subst.Node$Type of ch.qos.logback.core.subst.Node