public class nu.xom.Document extends nu.xom.ParentNode
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: nu.xom.Document
super_class: nu.xom.ParentNode
{
public void <init>(nu.xom.Element);
descriptor: (Lnu/xom/Element;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial nu.xom.ParentNode.<init>:()V
1: aload 0
aload 1
iconst_0
invokevirtual nu.xom.Document._insertChild:(Lnu/xom/Node;I)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lnu/xom/Document;
0 3 1 root Lnu/xom/Element;
MethodParameters:
Name Flags
root
public void <init>(nu.xom.Document);
descriptor: (Lnu/xom/Document;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokespecial nu.xom.ParentNode.<init>:()V
1: aload 0
aload 1
invokevirtual nu.xom.Document.getRootElement:()Lnu/xom/Element;
invokevirtual nu.xom.Element.copy:()Lnu/xom/Element;
iconst_0
invokevirtual nu.xom.Document.insertChild:(Lnu/xom/Node;I)V
2: aload 1
invokevirtual nu.xom.Document.getChildCount:()I
istore 2
start local 2 3: iconst_0
istore 3
start local 3 4: goto 9
5: StackMap locals: nu.xom.Document nu.xom.Document int int
StackMap stack:
aload 1
iload 3
invokevirtual nu.xom.Document.getChild:(I)Lnu/xom/Node;
astore 4
start local 4 6: aload 4
invokevirtual nu.xom.Node.isElement:()Z
ifne 8
7: aload 0
aload 4
invokevirtual nu.xom.Node.copy:()Lnu/xom/Node;
iload 3
invokevirtual nu.xom.Document.insertChild:(Lnu/xom/Node;I)V
end local 4 8: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
9: iload 3
iload 2
if_icmplt 5
end local 3 10: aload 0
aload 1
getfield nu.xom.Document.actualBaseURI:Ljava/lang/String;
putfield nu.xom.Document.actualBaseURI:Ljava/lang/String;
11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lnu/xom/Document;
0 12 1 doc Lnu/xom/Document;
3 12 2 count I
4 10 3 i I
6 8 4 child Lnu/xom/Node;
MethodParameters:
Name Flags
doc
final void insertionAllowed(nu.xom.Node, int);
descriptor: (Lnu/xom/Node;I)V
flags: (0x0010) ACC_FINAL
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 4
1: new java.lang.NullPointerException
dup
2: ldc "Tried to insert a null child in the document"
3: invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual nu.xom.Node.getParent:()Lnu/xom/ParentNode;
ifnull 6
5: new nu.xom.MultipleParentException
dup
ldc "Child already has a parent."
invokespecial nu.xom.MultipleParentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 1
invokevirtual nu.xom.Node.isComment:()Z
ifne 7
aload 1
invokevirtual nu.xom.Node.isProcessingInstruction:()Z
ifeq 8
7: StackMap locals:
StackMap stack:
return
8: StackMap locals:
StackMap stack:
aload 1
invokevirtual nu.xom.Node.isDocType:()Z
ifeq 19
9: iload 2
aload 0
invokevirtual nu.xom.Document.getRootPosition:()I
if_icmpgt 16
10: aload 0
invokevirtual nu.xom.Document.getDocType:()Lnu/xom/DocType;
astore 3
start local 3 11: aload 3
ifnull 15
12: new nu.xom.IllegalAddException
dup
13: ldc "Tried to insert a second DOCTYPE"
14: invokespecial nu.xom.IllegalAddException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals: nu.xom.DocType
StackMap stack:
return
end local 3 16: StackMap locals:
StackMap stack:
new nu.xom.IllegalAddException
dup
17: ldc "Cannot add a document type declaration after the root element"
18: invokespecial nu.xom.IllegalAddException.<init>:(Ljava/lang/String;)V
athrow
19: StackMap locals:
StackMap stack:
aload 1
invokevirtual nu.xom.Node.isElement:()Z
ifeq 24
20: aload 0
invokevirtual nu.xom.Document.getChildCount:()I
ifne 21
return
21: StackMap locals:
StackMap stack:
new nu.xom.IllegalAddException
dup
22: ldc "Cannot add a second root element to a Document."
23: invokespecial nu.xom.IllegalAddException.<init>:(Ljava/lang/String;)V
athrow
24: StackMap locals:
StackMap stack:
new nu.xom.IllegalAddException
dup
new java.lang.StringBuilder
dup
ldc "Cannot add a "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
25: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " to a Document."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
26: invokespecial nu.xom.IllegalAddException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lnu/xom/Document;
0 27 1 child Lnu/xom/Node;
0 27 2 position I
11 16 3 oldDocType Lnu/xom/DocType;
MethodParameters:
Name Flags
child
position
private int getRootPosition();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: StackMap locals: int
StackMap stack:
aload 0
iload 1
invokevirtual nu.xom.Document.getChild:(I)Lnu/xom/Node;
astore 2
start local 2 2: aload 2
invokevirtual nu.xom.Node.isElement:()Z
ifeq 4
3: iload 1
ireturn
end local 2 4: StackMap locals:
StackMap stack:
iinc 1 1
goto 1
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lnu/xom/Document;
1 5 1 i I
2 4 2 child Lnu/xom/Node;
public final nu.xom.DocType getDocType();
descriptor: ()Lnu/xom/DocType;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=3, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: goto 6
2: StackMap locals: int
StackMap stack:
aload 0
iload 1
invokevirtual nu.xom.Document.getChild:(I)Lnu/xom/Node;
astore 2
start local 2 3: aload 2
invokevirtual nu.xom.Node.isDocType:()Z
ifeq 5
4: aload 2
checkcast nu.xom.DocType
areturn
end local 2 5: StackMap locals:
StackMap stack:
iinc 1 1
StackMap locals:
StackMap stack:
6: iload 1
aload 0
invokevirtual nu.xom.Document.getChildCount:()I
if_icmplt 2
end local 1 7: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lnu/xom/Document;
1 7 1 i I
3 5 2 child Lnu/xom/Node;
public void setDocType(nu.xom.DocType);
descriptor: (Lnu/xom/DocType;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual nu.xom.Document.getDocType:()Lnu/xom/DocType;
astore 2
start local 2 1: aload 1
ifnonnull 3
2: new java.lang.NullPointerException
dup
ldc "Null DocType"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: nu.xom.DocType
StackMap stack:
aload 1
aload 2
if_acmpne 4
return
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual nu.xom.DocType.getParent:()Lnu/xom/ParentNode;
ifnull 6
5: new nu.xom.MultipleParentException
dup
ldc "DocType belongs to another document"
invokespecial nu.xom.MultipleParentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 2
ifnonnull 7
aload 0
aload 1
iconst_0
invokevirtual nu.xom.Document.insertChild:(Lnu/xom/Node;I)V
goto 12
7: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual nu.xom.Document.indexOf:(Lnu/xom/Node;)I
istore 3
start local 3 8: aload 0
iload 3
invokespecial nu.xom.ParentNode.removeChild:(I)Lnu/xom/Node;
pop
9: aload 0
aload 1
iload 3
invokevirtual nu.xom.Document.fastInsertChild:(Lnu/xom/Node;I)V
10: aload 2
aconst_null
invokevirtual nu.xom.DocType.setParent:(Lnu/xom/ParentNode;)V
11: aload 1
aload 0
invokevirtual nu.xom.DocType.setParent:(Lnu/xom/ParentNode;)V
end local 3 12: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lnu/xom/Document;
0 13 1 doctype Lnu/xom/DocType;
1 13 2 oldDocType Lnu/xom/DocType;
8 12 3 position I
MethodParameters:
Name Flags
doctype
public final nu.xom.Element getRootElement();
descriptor: ()Lnu/xom/Element;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=3, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: StackMap locals: int
StackMap stack:
aload 0
iload 1
invokevirtual nu.xom.Document.getChild:(I)Lnu/xom/Node;
astore 2
start local 2 2: aload 2
invokevirtual nu.xom.Node.isElement:()Z
ifeq 4
3: aload 2
checkcast nu.xom.Element
areturn
end local 2 4: StackMap locals:
StackMap stack:
iinc 1 1
goto 1
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lnu/xom/Document;
1 5 1 i I
2 4 2 child Lnu/xom/Node;
public void setRootElement(nu.xom.Element);
descriptor: (Lnu/xom/Element;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual nu.xom.Document.getRootElement:()Lnu/xom/Element;
astore 2
start local 2 1: aload 1
aload 2
if_acmpne 2
return
2: StackMap locals: nu.xom.Element
StackMap stack:
aload 1
ifnonnull 4
3: new java.lang.NullPointerException
dup
ldc "Root element cannot be null"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual nu.xom.Element.getParent:()Lnu/xom/ParentNode;
ifnull 8
5: new nu.xom.MultipleParentException
dup
new java.lang.StringBuilder
dup
aload 1
invokevirtual nu.xom.Element.getQualifiedName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
6: ldc " already has a parent"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokespecial nu.xom.MultipleParentException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual nu.xom.Document.fillInBaseURI:(Lnu/xom/Element;)V
9: aload 0
aload 2
invokevirtual nu.xom.Document.indexOf:(Lnu/xom/Node;)I
istore 3
start local 3 10: aload 2
aconst_null
invokevirtual nu.xom.Element.setParent:(Lnu/xom/ParentNode;)V
11: aload 0
getfield nu.xom.Document.children:[Lnu/xom/Node;
iload 3
aload 1
aastore
12: aload 1
aload 0
invokevirtual nu.xom.Element.setParent:(Lnu/xom/ParentNode;)V
13: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lnu/xom/Document;
0 14 1 root Lnu/xom/Element;
1 14 2 oldRoot Lnu/xom/Element;
10 14 3 index I
MethodParameters:
Name Flags
root
public void setBaseURI(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual nu.xom.Document.setActualBaseURI:(Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lnu/xom/Document;
0 2 1 URI Ljava/lang/String;
MethodParameters:
Name Flags
URI
public final java.lang.String getBaseURI();
descriptor: ()Ljava/lang/String;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual nu.xom.Document.getActualBaseURI:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lnu/xom/Document;
public nu.xom.Node removeChild(int);
descriptor: (I)Lnu/xom/Node;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
aload 0
invokevirtual nu.xom.Document.getRootPosition:()I
if_icmpne 4
1: new nu.xom.WellformednessException
dup
2: ldc "Cannot remove the root element"
3: invokespecial nu.xom.WellformednessException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
iload 1
invokespecial nu.xom.ParentNode.removeChild:(I)Lnu/xom/Node;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lnu/xom/Document;
0 5 1 position I
MethodParameters:
Name Flags
position
public nu.xom.Node removeChild(nu.xom.Node);
descriptor: (Lnu/xom/Node;)Lnu/xom/Node;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual nu.xom.Document.getRootElement:()Lnu/xom/Element;
if_acmpne 4
1: new nu.xom.WellformednessException
dup
2: ldc "Cannot remove the root element"
3: invokespecial nu.xom.WellformednessException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial nu.xom.ParentNode.removeChild:(Lnu/xom/Node;)Lnu/xom/Node;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lnu/xom/Document;
0 5 1 child Lnu/xom/Node;
MethodParameters:
Name Flags
child
public void replaceChild(nu.xom.Node, nu.xom.Node);
descriptor: (Lnu/xom/Node;Lnu/xom/Node;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
invokevirtual nu.xom.Document.getRootElement:()Lnu/xom/Element;
if_acmpne 4
1: aload 2
ifnull 4
aload 2
invokevirtual nu.xom.Node.isElement:()Z
ifeq 4
2: aload 0
aload 2
checkcast nu.xom.Element
invokevirtual nu.xom.Document.setRootElement:(Lnu/xom/Element;)V
3: goto 9
4: StackMap locals:
StackMap stack:
aload 1
aload 0
invokevirtual nu.xom.Document.getDocType:()Lnu/xom/DocType;
if_acmpne 8
5: aload 2
ifnull 8
aload 2
invokevirtual nu.xom.Node.isDocType:()Z
ifeq 8
6: aload 0
aload 2
checkcast nu.xom.DocType
invokevirtual nu.xom.Document.setDocType:(Lnu/xom/DocType;)V
7: goto 9
8: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokespecial nu.xom.ParentNode.replaceChild:(Lnu/xom/Node;Lnu/xom/Node;)V
9: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lnu/xom/Document;
0 10 1 oldChild Lnu/xom/Node;
0 10 2 newChild Lnu/xom/Node;
MethodParameters:
Name Flags
oldChild
newChild
public final java.lang.String getValue();
descriptor: ()Ljava/lang/String;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual nu.xom.Document.getRootElement:()Lnu/xom/Element;
invokevirtual nu.xom.Element.getValue:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lnu/xom/Document;
public final java.lang.String toXML();
descriptor: ()Ljava/lang/String;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=1
start local 0 0: new java.lang.StringBuffer
dup
bipush 64
invokespecial java.lang.StringBuffer.<init>:(I)V
astore 1
start local 1 1: aload 1
ldc "<?xml version=\"1.0\"?>\n"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
2: iconst_0
istore 2
start local 2 3: goto 7
4: StackMap locals: java.lang.StringBuffer int
StackMap stack:
aload 1
aload 0
iload 2
invokevirtual nu.xom.Document.getChild:(I)Lnu/xom/Node;
invokevirtual nu.xom.Node.toXML:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
5: aload 1
ldc "\n"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
6: iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
aload 0
invokevirtual nu.xom.Document.getChildCount:()I
if_icmplt 4
end local 2 8: aload 1
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lnu/xom/Document;
1 9 1 result Ljava/lang/StringBuffer;
3 8 2 i I
public nu.xom.Document copy();
descriptor: ()Lnu/xom/Document;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new nu.xom.Document
dup
aload 0
invokespecial nu.xom.Document.<init>:(Lnu/xom/Document;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lnu/xom/Document;
boolean isDocument();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lnu/xom/Document;
public final java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()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;
1: aload 0
invokevirtual nu.xom.Document.getRootElement:()Lnu/xom/Element;
invokevirtual nu.xom.Element.getQualifiedName:()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;
2: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lnu/xom/Document;
public nu.xom.Node copy();
descriptor: ()Lnu/xom/Node;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual nu.xom.Document.copy:()Lnu/xom/Document;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "Document.java"