class freemarker.ext.dom.NodeOutputter
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: freemarker.ext.dom.NodeOutputter
super_class: java.lang.Object
{
private org.w3c.dom.Element contextNode;
descriptor: Lorg/w3c/dom/Element;
flags: (0x0002) ACC_PRIVATE
private freemarker.core.Environment env;
descriptor: Lfreemarker/core/Environment;
flags: (0x0002) ACC_PRIVATE
private java.lang.String defaultNS;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private boolean hasDefaultNS;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean explicitDefaultNSPrefix;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.util.LinkedHashMap<java.lang.String, java.lang.String> namespacesToPrefixLookup;
descriptor: Ljava/util/LinkedHashMap;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/LinkedHashMap<Ljava/lang/String;Ljava/lang/String;>;
private java.lang.String namespaceDecl;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
int nextGeneratedPrefixNumber;
descriptor: I
flags: (0x0000)
void <init>(org.w3c.dom.Node);
descriptor: (Lorg/w3c/dom/Node;)V
flags: (0x0000)
Code:
stack=3, 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.util.LinkedHashMap
dup
invokespecial java.util.LinkedHashMap.<init>:()V
putfield freemarker.ext.dom.NodeOutputter.namespacesToPrefixLookup:Ljava/util/LinkedHashMap;
2: aload 0
iconst_1
putfield freemarker.ext.dom.NodeOutputter.nextGeneratedPrefixNumber:I
3: aload 1
instanceof org.w3c.dom.Element
ifeq 6
4: aload 0
aload 1
checkcast org.w3c.dom.Element
invokevirtual freemarker.ext.dom.NodeOutputter.setContext:(Lorg/w3c/dom/Element;)V
5: goto 11
StackMap locals: freemarker.ext.dom.NodeOutputter org.w3c.dom.Node
StackMap stack:
6: aload 1
instanceof org.w3c.dom.Attr
ifeq 9
7: aload 0
aload 1
checkcast org.w3c.dom.Attr
invokeinterface org.w3c.dom.Attr.getOwnerElement:()Lorg/w3c/dom/Element;
invokevirtual freemarker.ext.dom.NodeOutputter.setContext:(Lorg/w3c/dom/Element;)V
8: goto 11
StackMap locals:
StackMap stack:
9: aload 1
instanceof org.w3c.dom.Document
ifeq 11
10: aload 0
aload 1
checkcast org.w3c.dom.Document
invokeinterface org.w3c.dom.Document.getDocumentElement:()Lorg/w3c/dom/Element;
invokevirtual freemarker.ext.dom.NodeOutputter.setContext:(Lorg/w3c/dom/Element;)V
11: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lfreemarker/ext/dom/NodeOutputter;
0 12 1 node Lorg/w3c/dom/Node;
MethodParameters:
Name Flags
node
private void setContext(org.w3c.dom.Element);
descriptor: (Lorg/w3c/dom/Element;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield freemarker.ext.dom.NodeOutputter.contextNode:Lorg/w3c/dom/Element;
1: aload 0
invokestatic freemarker.core.Environment.getCurrentEnvironment:()Lfreemarker/core/Environment;
putfield freemarker.ext.dom.NodeOutputter.env:Lfreemarker/core/Environment;
2: aload 0
aload 0
getfield freemarker.ext.dom.NodeOutputter.env:Lfreemarker/core/Environment;
invokevirtual freemarker.core.Environment.getDefaultNS:()Ljava/lang/String;
putfield freemarker.ext.dom.NodeOutputter.defaultNS:Ljava/lang/String;
3: aload 0
aload 0
getfield freemarker.ext.dom.NodeOutputter.defaultNS:Ljava/lang/String;
ifnull 4
aload 0
getfield freemarker.ext.dom.NodeOutputter.defaultNS:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
ifle 4
iconst_1
goto 5
StackMap locals:
StackMap stack: freemarker.ext.dom.NodeOutputter
4: iconst_0
StackMap locals: freemarker.ext.dom.NodeOutputter org.w3c.dom.Element
StackMap stack: freemarker.ext.dom.NodeOutputter int
5: putfield freemarker.ext.dom.NodeOutputter.hasDefaultNS:Z
6: aload 0
getfield freemarker.ext.dom.NodeOutputter.namespacesToPrefixLookup:Ljava/util/LinkedHashMap;
aconst_null
ldc ""
invokevirtual java.util.LinkedHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: aload 0
getfield freemarker.ext.dom.NodeOutputter.namespacesToPrefixLookup:Ljava/util/LinkedHashMap;
ldc ""
ldc ""
invokevirtual java.util.LinkedHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: aload 0
aload 1
invokevirtual freemarker.ext.dom.NodeOutputter.buildPrefixLookup:(Lorg/w3c/dom/Node;)V
9: aload 0
getfield freemarker.ext.dom.NodeOutputter.explicitDefaultNSPrefix:Z
ifne 11
aload 0
getfield freemarker.ext.dom.NodeOutputter.hasDefaultNS:Z
ifeq 11
10: aload 0
getfield freemarker.ext.dom.NodeOutputter.namespacesToPrefixLookup:Ljava/util/LinkedHashMap;
aload 0
getfield freemarker.ext.dom.NodeOutputter.defaultNS:Ljava/lang/String;
ldc ""
invokevirtual java.util.LinkedHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: StackMap locals:
StackMap stack:
aload 0
invokevirtual freemarker.ext.dom.NodeOutputter.constructNamespaceDecl:()V
12: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lfreemarker/ext/dom/NodeOutputter;
0 13 1 contextNode Lorg/w3c/dom/Element;
MethodParameters:
Name Flags
contextNode
private void buildPrefixLookup(org.w3c.dom.Node);
descriptor: (Lorg/w3c/dom/Node;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface org.w3c.dom.Node.getNamespaceURI:()Ljava/lang/String;
astore 2
start local 2 1: aload 2
ifnull 10
aload 2
invokevirtual java.lang.String.length:()I
ifle 10
2: aload 0
getfield freemarker.ext.dom.NodeOutputter.env:Lfreemarker/core/Environment;
aload 2
invokevirtual freemarker.core.Environment.getPrefixForNamespace:(Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 3: aload 3
ifnonnull 8
4: aload 0
getfield freemarker.ext.dom.NodeOutputter.namespacesToPrefixLookup:Ljava/util/LinkedHashMap;
aload 2
invokevirtual java.util.LinkedHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 3
5: aload 3
ifnonnull 8
6: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 0
dup
getfield freemarker.ext.dom.NodeOutputter.nextGeneratedPrefixNumber:I
dup_x1
iconst_1
iadd
putfield freemarker.ext.dom.NodeOutputter.nextGeneratedPrefixNumber:I
invokestatic freemarker.template.utility.StringUtil.toLowerABC:(I)Ljava/lang/String;
astore 3
7: aload 0
getfield freemarker.ext.dom.NodeOutputter.env:Lfreemarker/core/Environment;
aload 3
invokevirtual freemarker.core.Environment.getNamespaceForPrefix:(Ljava/lang/String;)Ljava/lang/String;
ifnonnull 6
8: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.ext.dom.NodeOutputter.namespacesToPrefixLookup:Ljava/util/LinkedHashMap;
aload 2
aload 3
invokevirtual java.util.LinkedHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 3 9: goto 17
StackMap locals:
StackMap stack:
10: aload 0
getfield freemarker.ext.dom.NodeOutputter.hasDefaultNS:Z
ifeq 14
aload 1
invokeinterface org.w3c.dom.Node.getNodeType:()S
iconst_1
if_icmpne 14
11: aload 0
getfield freemarker.ext.dom.NodeOutputter.namespacesToPrefixLookup:Ljava/util/LinkedHashMap;
aload 0
getfield freemarker.ext.dom.NodeOutputter.defaultNS:Ljava/lang/String;
ldc "D"
invokevirtual java.util.LinkedHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: aload 0
iconst_1
putfield freemarker.ext.dom.NodeOutputter.explicitDefaultNSPrefix:Z
13: goto 17
StackMap locals:
StackMap stack:
14: aload 1
invokeinterface org.w3c.dom.Node.getNodeType:()S
iconst_2
if_icmpne 17
aload 0
getfield freemarker.ext.dom.NodeOutputter.hasDefaultNS:Z
ifeq 17
aload 0
getfield freemarker.ext.dom.NodeOutputter.defaultNS:Ljava/lang/String;
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 17
15: aload 0
getfield freemarker.ext.dom.NodeOutputter.namespacesToPrefixLookup:Ljava/util/LinkedHashMap;
aload 0
getfield freemarker.ext.dom.NodeOutputter.defaultNS:Ljava/lang/String;
ldc "D"
invokevirtual java.util.LinkedHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
16: aload 0
iconst_1
putfield freemarker.ext.dom.NodeOutputter.explicitDefaultNSPrefix:Z
17: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.w3c.dom.Node.getChildNodes:()Lorg/w3c/dom/NodeList;
astore 3
start local 3 18: iconst_0
istore 4
start local 4 19: goto 22
20: StackMap locals: org.w3c.dom.NodeList int
StackMap stack:
aload 0
aload 3
iload 4
invokeinterface org.w3c.dom.NodeList.item:(I)Lorg/w3c/dom/Node;
invokevirtual freemarker.ext.dom.NodeOutputter.buildPrefixLookup:(Lorg/w3c/dom/Node;)V
21: iinc 4 1
StackMap locals:
StackMap stack:
22: iload 4
aload 3
invokeinterface org.w3c.dom.NodeList.getLength:()I
if_icmplt 20
end local 4 23: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lfreemarker/ext/dom/NodeOutputter;
0 24 1 n Lorg/w3c/dom/Node;
1 24 2 nsURI Ljava/lang/String;
3 9 3 prefix Ljava/lang/String;
18 24 3 childNodes Lorg/w3c/dom/NodeList;
19 23 4 i I
MethodParameters:
Name Flags
n
private void constructNamespaceDecl();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, 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
getfield freemarker.ext.dom.NodeOutputter.explicitDefaultNSPrefix:Z
ifeq 5
2: aload 1
ldc " xmlns=\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
3: aload 1
aload 0
getfield freemarker.ext.dom.NodeOutputter.defaultNS:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
4: aload 1
ldc "\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 0
getfield freemarker.ext.dom.NodeOutputter.namespacesToPrefixLookup:Ljava/util/LinkedHashMap;
invokevirtual java.util.LinkedHashMap.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 2
start local 2 6: goto 20
7: StackMap locals: java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 8: aload 3
ifnull 20
aload 3
invokevirtual java.lang.String.length:()I
ifne 10
9: goto 20
10: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield freemarker.ext.dom.NodeOutputter.namespacesToPrefixLookup:Ljava/util/LinkedHashMap;
aload 3
invokevirtual java.util.LinkedHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 11: aload 4
ifnonnull 13
12: new freemarker.core.BugException
dup
new java.lang.StringBuilder
dup
ldc "No xmlns prefix was associated to URI: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial freemarker.core.BugException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals: java.lang.String
StackMap stack:
aload 1
ldc " xmlns"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
14: aload 4
invokevirtual java.lang.String.length:()I
ifle 17
15: aload 1
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
16: aload 1
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
17: StackMap locals:
StackMap stack:
aload 1
ldc "=\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
18: aload 1
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
19: aload 1
ldc "\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 4 end local 3 20: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
end local 2 21: aload 0
aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putfield freemarker.ext.dom.NodeOutputter.namespaceDecl:Ljava/lang/String;
22: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lfreemarker/ext/dom/NodeOutputter;
1 23 1 buf Ljava/lang/StringBuilder;
6 21 2 it Ljava/util/Iterator<Ljava/lang/String;>;
8 20 3 nsURI Ljava/lang/String;
11 20 4 prefix Ljava/lang/String;
private void outputQualifiedName(org.w3c.dom.Node, java.lang.StringBuilder);
descriptor: (Lorg/w3c/dom/Node;Ljava/lang/StringBuilder;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface org.w3c.dom.Node.getNamespaceURI:()Ljava/lang/String;
astore 3
start local 3 1: aload 3
ifnull 2
aload 3
invokevirtual java.lang.String.length:()I
ifne 4
2: StackMap locals: java.lang.String
StackMap stack:
aload 2
aload 1
invokeinterface org.w3c.dom.Node.getNodeName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
3: goto 12
4: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.ext.dom.NodeOutputter.namespacesToPrefixLookup:Ljava/util/LinkedHashMap;
aload 3
invokevirtual java.util.LinkedHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 5: aload 4
ifnonnull 8
6: aload 2
aload 1
invokeinterface org.w3c.dom.Node.getNodeName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: goto 12
8: StackMap locals: java.lang.String
StackMap stack:
aload 4
invokevirtual java.lang.String.length:()I
ifle 11
9: aload 2
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
10: aload 2
bipush 58
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
11: StackMap locals:
StackMap stack:
aload 2
aload 1
invokeinterface org.w3c.dom.Node.getLocalName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 4 12: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lfreemarker/ext/dom/NodeOutputter;
0 13 1 n Lorg/w3c/dom/Node;
0 13 2 buf Ljava/lang/StringBuilder;
1 13 3 nsURI Ljava/lang/String;
5 12 4 prefix Ljava/lang/String;
MethodParameters:
Name Flags
n
buf
void outputContent(org.w3c.dom.Node, java.lang.StringBuilder);
descriptor: (Lorg/w3c/dom/Node;Ljava/lang/StringBuilder;)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface org.w3c.dom.Node.getNodeType:()S
tableswitch { // 1 - 10
1: 22
2: 1
3: 43
4: 43
5: 39
6: 37
7: 41
8: 8
9: 10
10: 12
default: 44
}
1: StackMap locals:
StackMap stack:
aload 1
checkcast org.w3c.dom.Attr
invokeinterface org.w3c.dom.Attr.getSpecified:()Z
ifeq 44
2: aload 2
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
3: aload 0
aload 1
aload 2
invokevirtual freemarker.ext.dom.NodeOutputter.outputQualifiedName:(Lorg/w3c/dom/Node;Ljava/lang/StringBuilder;)V
4: aload 2
ldc "=\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: aload 1
invokeinterface org.w3c.dom.Node.getNodeValue:()Ljava/lang/String;
invokestatic freemarker.template.utility.StringUtil.XMLEncQAttr:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: bipush 34
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
7: goto 44
8: StackMap locals:
StackMap stack:
aload 2
ldc "<!--"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokeinterface org.w3c.dom.Node.getNodeValue:()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
9: goto 44
10: StackMap locals:
StackMap stack:
aload 0
aload 1
invokeinterface org.w3c.dom.Node.getChildNodes:()Lorg/w3c/dom/NodeList;
aload 2
invokevirtual freemarker.ext.dom.NodeOutputter.outputContent:(Lorg/w3c/dom/NodeList;Ljava/lang/StringBuilder;)V
11: goto 44
12: StackMap locals:
StackMap stack:
aload 2
ldc "<!DOCTYPE "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokeinterface org.w3c.dom.Node.getNodeName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
13: aload 1
checkcast org.w3c.dom.DocumentType
astore 3
start local 3 14: aload 3
invokeinterface org.w3c.dom.DocumentType.getPublicId:()Ljava/lang/String;
ifnull 16
15: aload 2
ldc " PUBLIC \""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokeinterface org.w3c.dom.DocumentType.getPublicId:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 34
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
16: StackMap locals: org.w3c.dom.DocumentType
StackMap stack:
aload 3
invokeinterface org.w3c.dom.DocumentType.getSystemId:()Ljava/lang/String;
ifnull 18
17: aload 2
ldc " \""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokeinterface org.w3c.dom.DocumentType.getSystemId:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 34
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
18: StackMap locals:
StackMap stack:
aload 3
invokeinterface org.w3c.dom.DocumentType.getInternalSubset:()Ljava/lang/String;
ifnull 20
19: aload 2
ldc " ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokeinterface org.w3c.dom.DocumentType.getInternalSubset:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 93
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
20: StackMap locals:
StackMap stack:
aload 2
bipush 62
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
21: goto 44
end local 3 22: StackMap locals:
StackMap stack:
aload 2
bipush 60
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
23: aload 0
aload 1
aload 2
invokevirtual freemarker.ext.dom.NodeOutputter.outputQualifiedName:(Lorg/w3c/dom/Node;Ljava/lang/StringBuilder;)V
24: aload 1
aload 0
getfield freemarker.ext.dom.NodeOutputter.contextNode:Lorg/w3c/dom/Element;
if_acmpne 26
25: aload 2
aload 0
getfield freemarker.ext.dom.NodeOutputter.namespaceDecl:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
26: StackMap locals:
StackMap stack:
aload 0
aload 1
invokeinterface org.w3c.dom.Node.getAttributes:()Lorg/w3c/dom/NamedNodeMap;
aload 2
invokevirtual freemarker.ext.dom.NodeOutputter.outputContent:(Lorg/w3c/dom/NamedNodeMap;Ljava/lang/StringBuilder;)V
27: aload 1
invokeinterface org.w3c.dom.Node.getChildNodes:()Lorg/w3c/dom/NodeList;
astore 3
start local 3 28: aload 3
invokeinterface org.w3c.dom.NodeList.getLength:()I
ifne 31
29: aload 2
ldc " />"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
30: goto 44
31: StackMap locals: org.w3c.dom.NodeList
StackMap stack:
aload 2
bipush 62
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
32: aload 0
aload 1
invokeinterface org.w3c.dom.Node.getChildNodes:()Lorg/w3c/dom/NodeList;
aload 2
invokevirtual freemarker.ext.dom.NodeOutputter.outputContent:(Lorg/w3c/dom/NodeList;Ljava/lang/StringBuilder;)V
33: aload 2
ldc "</"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
34: aload 0
aload 1
aload 2
invokevirtual freemarker.ext.dom.NodeOutputter.outputQualifiedName:(Lorg/w3c/dom/Node;Ljava/lang/StringBuilder;)V
35: aload 2
bipush 62
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
36: goto 44
end local 3 37: StackMap locals:
StackMap stack:
aload 0
aload 1
invokeinterface org.w3c.dom.Node.getChildNodes:()Lorg/w3c/dom/NodeList;
aload 2
invokevirtual freemarker.ext.dom.NodeOutputter.outputContent:(Lorg/w3c/dom/NodeList;Ljava/lang/StringBuilder;)V
38: goto 44
39: StackMap locals:
StackMap stack:
aload 2
bipush 38
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 1
invokeinterface org.w3c.dom.Node.getNodeName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 59
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
40: goto 44
41: StackMap locals:
StackMap stack:
aload 2
ldc "<?"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokeinterface org.w3c.dom.Node.getNodeName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 1
invokeinterface org.w3c.dom.Node.getNodeValue:()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
42: goto 44
43: StackMap locals:
StackMap stack:
aload 2
aload 1
invokeinterface org.w3c.dom.Node.getNodeValue:()Ljava/lang/String;
invokestatic freemarker.template.utility.StringUtil.XMLEncNQG:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
44: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 45 0 this Lfreemarker/ext/dom/NodeOutputter;
0 45 1 n Lorg/w3c/dom/Node;
0 45 2 buf Ljava/lang/StringBuilder;
14 22 3 dt Lorg/w3c/dom/DocumentType;
28 37 3 children Lorg/w3c/dom/NodeList;
MethodParameters:
Name Flags
n
buf
void outputContent(org.w3c.dom.NodeList, java.lang.StringBuilder);
descriptor: (Lorg/w3c/dom/NodeList;Ljava/lang/StringBuilder;)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: goto 4
2: StackMap locals: int
StackMap stack:
aload 0
aload 1
iload 3
invokeinterface org.w3c.dom.NodeList.item:(I)Lorg/w3c/dom/Node;
aload 2
invokevirtual freemarker.ext.dom.NodeOutputter.outputContent:(Lorg/w3c/dom/Node;Ljava/lang/StringBuilder;)V
3: iinc 3 1
StackMap locals:
StackMap stack:
4: iload 3
aload 1
invokeinterface org.w3c.dom.NodeList.getLength:()I
if_icmplt 2
end local 3 5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lfreemarker/ext/dom/NodeOutputter;
0 6 1 nodes Lorg/w3c/dom/NodeList;
0 6 2 buf Ljava/lang/StringBuilder;
1 5 3 i I
MethodParameters:
Name Flags
nodes
buf
void outputContent(org.w3c.dom.NamedNodeMap, java.lang.StringBuilder);
descriptor: (Lorg/w3c/dom/NamedNodeMap;Ljava/lang/StringBuilder;)V
flags: (0x0000)
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: goto 7
2: StackMap locals: int
StackMap stack:
aload 1
iload 3
invokeinterface org.w3c.dom.NamedNodeMap.item:(I)Lorg/w3c/dom/Node;
astore 4
start local 4 3: aload 4
invokeinterface org.w3c.dom.Node.getNodeType:()S
iconst_2
if_icmpne 5
4: aload 4
invokeinterface org.w3c.dom.Node.getNodeName:()Ljava/lang/String;
ldc "xmlns:"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 6
aload 4
invokeinterface org.w3c.dom.Node.getNodeName:()Ljava/lang/String;
ldc "xmlns"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 6
5: StackMap locals: org.w3c.dom.Node
StackMap stack:
aload 0
aload 4
aload 2
invokevirtual freemarker.ext.dom.NodeOutputter.outputContent:(Lorg/w3c/dom/Node;Ljava/lang/StringBuilder;)V
end local 4 6: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
aload 1
invokeinterface org.w3c.dom.NamedNodeMap.getLength:()I
if_icmplt 2
end local 3 8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lfreemarker/ext/dom/NodeOutputter;
0 9 1 nodes Lorg/w3c/dom/NamedNodeMap;
0 9 2 buf Ljava/lang/StringBuilder;
1 8 3 i I
3 6 4 n Lorg/w3c/dom/Node;
MethodParameters:
Name Flags
nodes
buf
java.lang.String getOpeningTag(org.w3c.dom.Element);
descriptor: (Lorg/w3c/dom/Element;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2
start local 2 1: aload 2
bipush 60
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
2: aload 0
aload 1
aload 2
invokevirtual freemarker.ext.dom.NodeOutputter.outputQualifiedName:(Lorg/w3c/dom/Node;Ljava/lang/StringBuilder;)V
3: aload 2
aload 0
getfield freemarker.ext.dom.NodeOutputter.namespaceDecl:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
4: aload 0
aload 1
invokeinterface org.w3c.dom.Element.getAttributes:()Lorg/w3c/dom/NamedNodeMap;
aload 2
invokevirtual freemarker.ext.dom.NodeOutputter.outputContent:(Lorg/w3c/dom/NamedNodeMap;Ljava/lang/StringBuilder;)V
5: aload 2
bipush 62
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
6: 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 7 0 this Lfreemarker/ext/dom/NodeOutputter;
0 7 1 element Lorg/w3c/dom/Element;
1 7 2 buf Ljava/lang/StringBuilder;
MethodParameters:
Name Flags
element
java.lang.String getClosingTag(org.w3c.dom.Element);
descriptor: (Lorg/w3c/dom/Element;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2
start local 2 1: aload 2
ldc "</"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
2: aload 0
aload 1
aload 2
invokevirtual freemarker.ext.dom.NodeOutputter.outputQualifiedName:(Lorg/w3c/dom/Node;Ljava/lang/StringBuilder;)V
3: aload 2
bipush 62
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
4: 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 5 0 this Lfreemarker/ext/dom/NodeOutputter;
0 5 1 element Lorg/w3c/dom/Element;
1 5 2 buf Ljava/lang/StringBuilder;
MethodParameters:
Name Flags
element
}
SourceFile: "NodeOutputter.java"