public class org.apache.catalina.util.DOMWriter
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.catalina.util.DOMWriter
super_class: java.lang.Object
{
private final java.io.PrintWriter out;
descriptor: Ljava/io/PrintWriter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(java.io.Writer);
descriptor: (Ljava/io/Writer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.io.PrintWriter
dup
aload 1
invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
putfield org.apache.catalina.util.DOMWriter.out:Ljava/io/PrintWriter;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/catalina/util/DOMWriter;
0 3 1 writer Ljava/io/Writer;
MethodParameters:
Name Flags
writer
public void print(org.w3c.dom.Node);
descriptor: (Lorg/w3c/dom/Node;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.w3c.dom.Node.getNodeType:()S
istore 2
start local 2 3: iload 2
tableswitch { // 1 - 9
1: 7
2: 35
3: 26
4: 24
5: 22
6: 35
7: 28
8: 35
9: 4
default: 35
}
4: StackMap locals: int
StackMap stack:
aload 0
aload 1
checkcast org.w3c.dom.Document
invokeinterface org.w3c.dom.Document.getDocumentElement:()Lorg/w3c/dom/Element;
invokevirtual org.apache.catalina.util.DOMWriter.print:(Lorg/w3c/dom/Node;)V
5: aload 0
getfield org.apache.catalina.util.DOMWriter.out:Ljava/io/PrintWriter;
invokevirtual java.io.PrintWriter.flush:()V
6: goto 35
7: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.util.DOMWriter.out:Ljava/io/PrintWriter;
bipush 60
invokevirtual java.io.PrintWriter.print:(C)V
8: aload 0
getfield org.apache.catalina.util.DOMWriter.out:Ljava/io/PrintWriter;
aload 1
invokeinterface org.w3c.dom.Node.getLocalName:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
9: aload 0
aload 1
invokeinterface org.w3c.dom.Node.getAttributes:()Lorg/w3c/dom/NamedNodeMap;
invokevirtual org.apache.catalina.util.DOMWriter.sortAttributes:(Lorg/w3c/dom/NamedNodeMap;)[Lorg/w3c/dom/Attr;
astore 3
start local 3 10: aload 3
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 18
StackMap locals: org.apache.catalina.util.DOMWriter org.w3c.dom.Node int org.w3c.dom.Attr[] top int int org.w3c.dom.Attr[]
StackMap stack:
11: aload 7
iload 5
aaload
astore 4
start local 4 12: aload 0
getfield org.apache.catalina.util.DOMWriter.out:Ljava/io/PrintWriter;
bipush 32
invokevirtual java.io.PrintWriter.print:(C)V
13: aload 0
getfield org.apache.catalina.util.DOMWriter.out:Ljava/io/PrintWriter;
aload 4
invokeinterface org.w3c.dom.Attr.getLocalName:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
14: aload 0
getfield org.apache.catalina.util.DOMWriter.out:Ljava/io/PrintWriter;
ldc "=\""
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
15: aload 0
getfield org.apache.catalina.util.DOMWriter.out:Ljava/io/PrintWriter;
ldc ""
iconst_1
aload 4
invokeinterface org.w3c.dom.Attr.getNodeValue:()Ljava/lang/String;
invokestatic org.apache.tomcat.util.security.Escape.xml:(Ljava/lang/String;ZLjava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
16: aload 0
getfield org.apache.catalina.util.DOMWriter.out:Ljava/io/PrintWriter;
bipush 34
invokevirtual java.io.PrintWriter.print:(C)V
end local 4 17: iinc 5 1
StackMap locals:
StackMap stack:
18: iload 5
iload 6
if_icmplt 11
19: aload 0
getfield org.apache.catalina.util.DOMWriter.out:Ljava/io/PrintWriter;
bipush 62
invokevirtual java.io.PrintWriter.print:(C)V
20: aload 0
aload 1
invokevirtual org.apache.catalina.util.DOMWriter.printChildren:(Lorg/w3c/dom/Node;)V
21: goto 35
end local 3 22: StackMap locals: org.apache.catalina.util.DOMWriter org.w3c.dom.Node int
StackMap stack:
aload 0
aload 1
invokevirtual org.apache.catalina.util.DOMWriter.printChildren:(Lorg/w3c/dom/Node;)V
23: goto 35
24: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.util.DOMWriter.out:Ljava/io/PrintWriter;
ldc ""
iconst_1
aload 1
invokeinterface org.w3c.dom.Node.getNodeValue:()Ljava/lang/String;
invokestatic org.apache.tomcat.util.security.Escape.xml:(Ljava/lang/String;ZLjava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
25: goto 35
26: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.util.DOMWriter.out:Ljava/io/PrintWriter;
ldc ""
iconst_1
aload 1
invokeinterface org.w3c.dom.Node.getNodeValue:()Ljava/lang/String;
invokestatic org.apache.tomcat.util.security.Escape.xml:(Ljava/lang/String;ZLjava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
27: goto 35
28: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.util.DOMWriter.out:Ljava/io/PrintWriter;
ldc "<?"
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
29: aload 0
getfield org.apache.catalina.util.DOMWriter.out:Ljava/io/PrintWriter;
aload 1
invokeinterface org.w3c.dom.Node.getLocalName:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
30: aload 1
invokeinterface org.w3c.dom.Node.getNodeValue:()Ljava/lang/String;
astore 4
start local 4 31: aload 4
ifnull 34
aload 4
invokevirtual java.lang.String.length:()I
ifle 34
32: aload 0
getfield org.apache.catalina.util.DOMWriter.out:Ljava/io/PrintWriter;
bipush 32
invokevirtual java.io.PrintWriter.print:(C)V
33: aload 0
getfield org.apache.catalina.util.DOMWriter.out:Ljava/io/PrintWriter;
aload 4
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
34: StackMap locals: org.apache.catalina.util.DOMWriter org.w3c.dom.Node int top java.lang.String
StackMap stack:
aload 0
getfield org.apache.catalina.util.DOMWriter.out:Ljava/io/PrintWriter;
ldc "?>"
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
end local 4 35: StackMap locals: org.apache.catalina.util.DOMWriter org.w3c.dom.Node int
StackMap stack:
iload 2
iconst_1
if_icmpne 39
36: aload 0
getfield org.apache.catalina.util.DOMWriter.out:Ljava/io/PrintWriter;
ldc "</"
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
37: aload 0
getfield org.apache.catalina.util.DOMWriter.out:Ljava/io/PrintWriter;
aload 1
invokeinterface org.w3c.dom.Node.getLocalName:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
38: aload 0
getfield org.apache.catalina.util.DOMWriter.out:Ljava/io/PrintWriter;
bipush 62
invokevirtual java.io.PrintWriter.print:(C)V
39: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.util.DOMWriter.out:Ljava/io/PrintWriter;
invokevirtual java.io.PrintWriter.flush:()V
40: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 41 0 this Lorg/apache/catalina/util/DOMWriter;
0 41 1 node Lorg/w3c/dom/Node;
3 41 2 type I
10 22 3 attrs [Lorg/w3c/dom/Attr;
12 17 4 attr Lorg/w3c/dom/Attr;
31 35 4 data Ljava/lang/String;
MethodParameters:
Name Flags
node
private void printChildren(org.w3c.dom.Node);
descriptor: (Lorg/w3c/dom/Node;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface org.w3c.dom.Node.getChildNodes:()Lorg/w3c/dom/NodeList;
astore 2
start local 2 1: aload 2
ifnull 8
2: aload 2
invokeinterface org.w3c.dom.NodeList.getLength:()I
istore 3
start local 3 3: iconst_0
istore 4
start local 4 4: goto 7
5: StackMap locals: org.w3c.dom.NodeList int int
StackMap stack:
aload 0
aload 2
iload 4
invokeinterface org.w3c.dom.NodeList.item:(I)Lorg/w3c/dom/Node;
invokevirtual org.apache.catalina.util.DOMWriter.print:(Lorg/w3c/dom/Node;)V
6: iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
iload 3
if_icmplt 5
end local 4 end local 3 8: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/catalina/util/DOMWriter;
0 9 1 node Lorg/w3c/dom/Node;
1 9 2 children Lorg/w3c/dom/NodeList;
3 8 3 len I
4 8 4 i I
MethodParameters:
Name Flags
node
private org.w3c.dom.Attr[] sortAttributes(org.w3c.dom.NamedNodeMap);
descriptor: (Lorg/w3c/dom/NamedNodeMap;)[Lorg/w3c/dom/Attr;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: iconst_0
anewarray org.w3c.dom.Attr
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.w3c.dom.NamedNodeMap.getLength:()I
istore 2
start local 2 3: iload 2
anewarray org.w3c.dom.Attr
astore 3
start local 3 4: iconst_0
istore 4
start local 4 5: goto 8
6: StackMap locals: int org.w3c.dom.Attr[] int
StackMap stack:
aload 3
iload 4
aload 1
iload 4
invokeinterface org.w3c.dom.NamedNodeMap.item:(I)Lorg/w3c/dom/Node;
checkcast org.w3c.dom.Attr
aastore
7: iinc 4 1
StackMap locals:
StackMap stack:
8: iload 4
iload 2
if_icmplt 6
end local 4 9: iconst_0
istore 4
start local 4 10: goto 28
11: StackMap locals:
StackMap stack:
aconst_null
astore 5
start local 5 12: aload 3
iload 4
aaload
invokeinterface org.w3c.dom.Attr.getLocalName:()Ljava/lang/String;
astore 5
13: iload 4
istore 6
start local 6 14: iload 4
iconst_1
iadd
istore 7
start local 7 15: goto 22
16: StackMap locals: java.lang.String int int
StackMap stack:
aconst_null
astore 8
start local 8 17: aload 3
iload 7
aaload
invokeinterface org.w3c.dom.Attr.getLocalName:()Ljava/lang/String;
astore 8
18: aload 8
aload 5
invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
ifge 21
19: aload 8
astore 5
20: iload 7
istore 6
end local 8 21: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
22: iload 7
iload 2
if_icmplt 16
end local 7 23: iload 6
iload 4
if_icmpeq 27
24: aload 3
iload 4
aaload
astore 7
start local 7 25: aload 3
iload 4
aload 3
iload 6
aaload
aastore
26: aload 3
iload 6
aload 7
aastore
end local 7 end local 6 end local 5 27: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
28: iload 4
iload 2
iconst_1
isub
if_icmplt 11
end local 4 29: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lorg/apache/catalina/util/DOMWriter;
0 30 1 attrs Lorg/w3c/dom/NamedNodeMap;
3 30 2 len I
4 30 3 array [Lorg/w3c/dom/Attr;
5 9 4 i I
10 29 4 i I
12 27 5 name Ljava/lang/String;
14 27 6 index I
15 23 7 j I
17 21 8 curName Ljava/lang/String;
25 27 7 temp Lorg/w3c/dom/Attr;
MethodParameters:
Name Flags
attrs
}
SourceFile: "DOMWriter.java"