public class javax.swing.text.ElementIterator implements java.lang.Cloneable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: javax.swing.text.ElementIterator
super_class: java.lang.Object
{
private javax.swing.text.Element root;
descriptor: Ljavax/swing/text/Element;
flags: (0x0002) ACC_PRIVATE
private java.util.Stack<javax.swing.text.ElementIterator$StackItem> elementStack;
descriptor: Ljava/util/Stack;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Stack<Ljavax/swing/text/ElementIterator$StackItem;>;
public void <init>(javax.swing.text.Document);
descriptor: (Ljavax/swing/text/Document;)V
flags: (0x0001) ACC_PUBLIC
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
aconst_null
putfield javax.swing.text.ElementIterator.elementStack:Ljava/util/Stack;
2: aload 0
aload 1
invokeinterface javax.swing.text.Document.getDefaultRootElement:()Ljavax/swing/text/Element;
putfield javax.swing.text.ElementIterator.root:Ljavax/swing/text/Element;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljavax/swing/text/ElementIterator;
0 4 1 document Ljavax/swing/text/Document;
MethodParameters:
Name Flags
document
public void <init>(javax.swing.text.Element);
descriptor: (Ljavax/swing/text/Element;)V
flags: (0x0001) ACC_PUBLIC
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
aconst_null
putfield javax.swing.text.ElementIterator.elementStack:Ljava/util/Stack;
2: aload 0
aload 1
putfield javax.swing.text.ElementIterator.root:Ljavax/swing/text/Element;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljavax/swing/text/ElementIterator;
0 4 1 root Ljavax/swing/text/Element;
MethodParameters:
Name Flags
root
public synchronized java.lang.Object clone();
descriptor: ()Ljava/lang/Object;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=5, args_size=1
start local 0 0: new javax.swing.text.ElementIterator
dup
aload 0
getfield javax.swing.text.ElementIterator.root:Ljavax/swing/text/Element;
invokespecial javax.swing.text.ElementIterator.<init>:(Ljavax/swing/text/Element;)V
astore 1
start local 1 1: aload 0
getfield javax.swing.text.ElementIterator.elementStack:Ljava/util/Stack;
ifnull 10
2: aload 1
new java.util.Stack
dup
invokespecial java.util.Stack.<init>:()V
putfield javax.swing.text.ElementIterator.elementStack:Ljava/util/Stack;
3: iconst_0
istore 2
start local 2 4: goto 9
5: StackMap locals: javax.swing.text.ElementIterator int
StackMap stack:
aload 0
getfield javax.swing.text.ElementIterator.elementStack:Ljava/util/Stack;
iload 2
invokevirtual java.util.Stack.elementAt:(I)Ljava/lang/Object;
checkcast javax.swing.text.ElementIterator$StackItem
astore 3
start local 3 6: aload 3
invokevirtual javax.swing.text.ElementIterator$StackItem.clone:()Ljava/lang/Object;
checkcast javax.swing.text.ElementIterator$StackItem
astore 4
start local 4 7: aload 1
getfield javax.swing.text.ElementIterator.elementStack:Ljava/util/Stack;
aload 4
invokevirtual java.util.Stack.push:(Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 4 end local 3 8: iinc 2 1
StackMap locals:
StackMap stack:
9: iload 2
aload 0
getfield javax.swing.text.ElementIterator.elementStack:Ljava/util/Stack;
invokevirtual java.util.Stack.size:()I
if_icmplt 5
end local 2 10: StackMap locals:
StackMap stack:
aload 1
11: areturn
end local 1 12: StackMap locals: javax.swing.text.ElementIterator
StackMap stack: java.lang.CloneNotSupportedException
astore 1
start local 1 13: new java.lang.InternalError
dup
aload 1
invokespecial java.lang.InternalError.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljavax/swing/text/ElementIterator;
1 12 1 it Ljavax/swing/text/ElementIterator;
4 10 2 i I
6 8 3 item Ljavax/swing/text/ElementIterator$StackItem;
7 8 4 clonee Ljavax/swing/text/ElementIterator$StackItem;
13 14 1 e Ljava/lang/CloneNotSupportedException;
Exception table:
from to target type
0 11 12 Class java.lang.CloneNotSupportedException
public javax.swing.text.Element first();
descriptor: ()Ljavax/swing/text/Element;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield javax.swing.text.ElementIterator.root:Ljavax/swing/text/Element;
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
new java.util.Stack
dup
invokespecial java.util.Stack.<init>:()V
putfield javax.swing.text.ElementIterator.elementStack:Ljava/util/Stack;
3: aload 0
getfield javax.swing.text.ElementIterator.root:Ljavax/swing/text/Element;
invokeinterface javax.swing.text.Element.getElementCount:()I
ifeq 5
4: aload 0
getfield javax.swing.text.ElementIterator.elementStack:Ljava/util/Stack;
new javax.swing.text.ElementIterator$StackItem
dup
aload 0
aload 0
getfield javax.swing.text.ElementIterator.root:Ljavax/swing/text/Element;
invokespecial javax.swing.text.ElementIterator$StackItem.<init>:(Ljavax/swing/text/ElementIterator;Ljavax/swing/text/Element;)V
invokevirtual java.util.Stack.push:(Ljava/lang/Object;)Ljava/lang/Object;
pop
5: StackMap locals:
StackMap stack:
aload 0
getfield javax.swing.text.ElementIterator.root:Ljavax/swing/text/Element;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljavax/swing/text/ElementIterator;
public int depth();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield javax.swing.text.ElementIterator.elementStack:Ljava/util/Stack;
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield javax.swing.text.ElementIterator.elementStack:Ljava/util/Stack;
invokevirtual java.util.Stack.size:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavax/swing/text/ElementIterator;
public javax.swing.text.Element current();
descriptor: ()Ljavax/swing/text/Element;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
getfield javax.swing.text.ElementIterator.elementStack:Ljava/util/Stack;
ifnonnull 2
1: aload 0
invokevirtual javax.swing.text.ElementIterator.first:()Ljavax/swing/text/Element;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield javax.swing.text.ElementIterator.elementStack:Ljava/util/Stack;
invokevirtual java.util.Stack.empty:()Z
ifne 9
3: aload 0
getfield javax.swing.text.ElementIterator.elementStack:Ljava/util/Stack;
invokevirtual java.util.Stack.peek:()Ljava/lang/Object;
checkcast javax.swing.text.ElementIterator$StackItem
astore 1
start local 1 4: aload 1
invokevirtual javax.swing.text.ElementIterator$StackItem.getElement:()Ljavax/swing/text/Element;
astore 2
start local 2 5: aload 1
invokevirtual javax.swing.text.ElementIterator$StackItem.getIndex:()I
istore 3
start local 3 6: iload 3
iconst_m1
if_icmpne 8
7: aload 2
areturn
8: StackMap locals: javax.swing.text.ElementIterator$StackItem javax.swing.text.Element int
StackMap stack:
aload 2
iload 3
invokeinterface javax.swing.text.Element.getElement:(I)Ljavax/swing/text/Element;
areturn
end local 3 end local 2 end local 1 9: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljavax/swing/text/ElementIterator;
4 9 1 item Ljavax/swing/text/ElementIterator$StackItem;
5 9 2 elem Ljavax/swing/text/Element;
6 9 3 index I
public javax.swing.text.Element next();
descriptor: ()Ljavax/swing/text/Element;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=1
start local 0 0: aload 0
getfield javax.swing.text.ElementIterator.elementStack:Ljava/util/Stack;
ifnonnull 2
1: aload 0
invokevirtual javax.swing.text.ElementIterator.first:()Ljavax/swing/text/Element;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield javax.swing.text.ElementIterator.elementStack:Ljava/util/Stack;
invokevirtual java.util.Stack.isEmpty:()Z
ifeq 4
3: aconst_null
areturn
4: StackMap locals:
StackMap stack:
aload 0
getfield javax.swing.text.ElementIterator.elementStack:Ljava/util/Stack;
invokevirtual java.util.Stack.peek:()Ljava/lang/Object;
checkcast javax.swing.text.ElementIterator$StackItem
astore 1
start local 1 5: aload 1
invokevirtual javax.swing.text.ElementIterator$StackItem.getElement:()Ljavax/swing/text/Element;
astore 2
start local 2 6: aload 1
invokevirtual javax.swing.text.ElementIterator$StackItem.getIndex:()I
istore 3
start local 3 7: iload 3
iconst_1
iadd
aload 2
invokeinterface javax.swing.text.Element.getElementCount:()I
if_icmpge 14
8: aload 2
iload 3
iconst_1
iadd
invokeinterface javax.swing.text.Element.getElement:(I)Ljavax/swing/text/Element;
astore 4
start local 4 9: aload 4
invokeinterface javax.swing.text.Element.isLeaf:()Z
ifeq 12
10: aload 1
invokevirtual javax.swing.text.ElementIterator$StackItem.incrementIndex:()V
11: goto 13
12: StackMap locals: javax.swing.text.ElementIterator javax.swing.text.ElementIterator$StackItem javax.swing.text.Element int javax.swing.text.Element
StackMap stack:
aload 0
getfield javax.swing.text.ElementIterator.elementStack:Ljava/util/Stack;
new javax.swing.text.ElementIterator$StackItem
dup
aload 0
aload 4
invokespecial javax.swing.text.ElementIterator$StackItem.<init>:(Ljavax/swing/text/ElementIterator;Ljavax/swing/text/Element;)V
invokevirtual java.util.Stack.push:(Ljava/lang/Object;)Ljava/lang/Object;
pop
13: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 14: StackMap locals:
StackMap stack:
aload 0
getfield javax.swing.text.ElementIterator.elementStack:Ljava/util/Stack;
invokevirtual java.util.Stack.pop:()Ljava/lang/Object;
pop
15: aload 0
getfield javax.swing.text.ElementIterator.elementStack:Ljava/util/Stack;
invokevirtual java.util.Stack.isEmpty:()Z
ifne 19
16: aload 0
getfield javax.swing.text.ElementIterator.elementStack:Ljava/util/Stack;
invokevirtual java.util.Stack.peek:()Ljava/lang/Object;
checkcast javax.swing.text.ElementIterator$StackItem
astore 4
start local 4 17: aload 4
invokevirtual javax.swing.text.ElementIterator$StackItem.incrementIndex:()V
18: aload 0
invokevirtual javax.swing.text.ElementIterator.next:()Ljavax/swing/text/Element;
areturn
end local 4 19: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Ljavax/swing/text/ElementIterator;
5 20 1 item Ljavax/swing/text/ElementIterator$StackItem;
6 20 2 elem Ljavax/swing/text/Element;
7 20 3 index I
9 14 4 child Ljavax/swing/text/Element;
17 19 4 top Ljavax/swing/text/ElementIterator$StackItem;
public javax.swing.text.Element previous();
descriptor: ()Ljavax/swing/text/Element;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=1
start local 0 0: aload 0
getfield javax.swing.text.ElementIterator.elementStack:Ljava/util/Stack;
ifnull 2
aload 0
getfield javax.swing.text.ElementIterator.elementStack:Ljava/util/Stack;
invokevirtual java.util.Stack.size:()I
dup
istore 1
start local 1 1: ifne 3
end local 1 2: StackMap locals:
StackMap stack:
aconst_null
areturn
start local 1 3: StackMap locals: int
StackMap stack:
aload 0
getfield javax.swing.text.ElementIterator.elementStack:Ljava/util/Stack;
invokevirtual java.util.Stack.peek:()Ljava/lang/Object;
checkcast javax.swing.text.ElementIterator$StackItem
astore 2
start local 2 4: aload 2
invokevirtual javax.swing.text.ElementIterator$StackItem.getElement:()Ljavax/swing/text/Element;
astore 3
start local 3 5: aload 2
invokevirtual javax.swing.text.ElementIterator$StackItem.getIndex:()I
istore 4
start local 4 6: iload 4
ifle 8
7: aload 0
aload 3
iinc 4 -1
iload 4
invokeinterface javax.swing.text.Element.getElement:(I)Ljavax/swing/text/Element;
invokevirtual javax.swing.text.ElementIterator.getDeepestLeaf:(Ljavax/swing/text/Element;)Ljavax/swing/text/Element;
areturn
8: StackMap locals: javax.swing.text.ElementIterator$StackItem javax.swing.text.Element int
StackMap stack:
iload 4
ifne 10
9: aload 3
areturn
10: StackMap locals:
StackMap stack:
iload 4
iconst_m1
if_icmpne 23
11: iload 1
iconst_1
if_icmpne 13
12: aconst_null
areturn
13: StackMap locals:
StackMap stack:
aload 0
getfield javax.swing.text.ElementIterator.elementStack:Ljava/util/Stack;
invokevirtual java.util.Stack.pop:()Ljava/lang/Object;
checkcast javax.swing.text.ElementIterator$StackItem
astore 5
start local 5 14: aload 0
getfield javax.swing.text.ElementIterator.elementStack:Ljava/util/Stack;
invokevirtual java.util.Stack.peek:()Ljava/lang/Object;
checkcast javax.swing.text.ElementIterator$StackItem
astore 2
15: aload 0
getfield javax.swing.text.ElementIterator.elementStack:Ljava/util/Stack;
aload 5
invokevirtual java.util.Stack.push:(Ljava/lang/Object;)Ljava/lang/Object;
pop
16: aload 2
invokevirtual javax.swing.text.ElementIterator$StackItem.getElement:()Ljavax/swing/text/Element;
astore 3
17: aload 2
invokevirtual javax.swing.text.ElementIterator$StackItem.getIndex:()I
istore 4
18: iload 4
iconst_m1
if_icmpne 19
aload 3
goto 22
StackMap locals: javax.swing.text.ElementIterator$StackItem
StackMap stack:
19: aload 0
aload 3
20: iload 4
21: invokeinterface javax.swing.text.Element.getElement:(I)Ljavax/swing/text/Element;
invokevirtual javax.swing.text.ElementIterator.getDeepestLeaf:(Ljavax/swing/text/Element;)Ljavax/swing/text/Element;
StackMap locals:
StackMap stack: javax.swing.text.Element
22: areturn
end local 5 23: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Ljavax/swing/text/ElementIterator;
1 2 1 stackSize I
3 24 1 stackSize I
4 24 2 item Ljavax/swing/text/ElementIterator$StackItem;
5 24 3 elem Ljavax/swing/text/Element;
6 24 4 index I
14 23 5 top Ljavax/swing/text/ElementIterator$StackItem;
private javax.swing.text.Element getDeepestLeaf(javax.swing.text.Element);
descriptor: (Ljavax/swing/text/Element;)Ljavax/swing/text/Element;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface javax.swing.text.Element.isLeaf:()Z
ifeq 2
1: aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokeinterface javax.swing.text.Element.getElementCount:()I
istore 2
start local 2 3: iload 2
ifne 5
4: aload 1
areturn
5: StackMap locals: int
StackMap stack:
aload 0
aload 1
iload 2
iconst_1
isub
invokeinterface javax.swing.text.Element.getElement:(I)Ljavax/swing/text/Element;
invokevirtual javax.swing.text.ElementIterator.getDeepestLeaf:(Ljavax/swing/text/Element;)Ljavax/swing/text/Element;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljavax/swing/text/ElementIterator;
0 6 1 parent Ljavax/swing/text/Element;
3 6 2 childCount I
MethodParameters:
Name Flags
parent
private void dumpTree();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=1
start local 0 0: StackMap locals:
StackMap stack:
aload 0
invokevirtual javax.swing.text.ElementIterator.next:()Ljavax/swing/text/Element;
dup
astore 1
start local 1 1: ifnull 16
2: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "elem: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokeinterface javax.swing.text.Element.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
3: aload 1
invokeinterface javax.swing.text.Element.getAttributes:()Ljavax/swing/text/AttributeSet;
astore 2
start local 2 4: ldc ""
astore 3
start local 3 5: aload 2
invokeinterface javax.swing.text.AttributeSet.getAttributeNames:()Ljava/util/Enumeration;
astore 4
start local 4 6: goto 13
7: StackMap locals: javax.swing.text.ElementIterator javax.swing.text.Element javax.swing.text.AttributeSet java.lang.String java.util.Enumeration
StackMap stack:
aload 4
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
astore 5
start local 5 8: aload 2
aload 5
invokeinterface javax.swing.text.AttributeSet.getAttribute:(Ljava/lang/Object;)Ljava/lang/Object;
astore 6
start local 6 9: aload 6
instanceof javax.swing.text.AttributeSet
ifeq 12
10: new java.lang.StringBuilder
dup
aload 3
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "=**AttributeSet** "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
11: goto 13
12: StackMap locals: java.lang.Object java.lang.Object
StackMap stack:
new java.lang.StringBuilder
dup
aload 3
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
end local 6 end local 5 13: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 7
14: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "attributes: "
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;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 4 end local 3 end local 2 end local 1 15: goto 0
start local 1 16: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Ljavax/swing/text/ElementIterator;
1 15 1 elem Ljavax/swing/text/Element;
16 17 1 elem Ljavax/swing/text/Element;
4 15 2 attr Ljavax/swing/text/AttributeSet;
5 15 3 s Ljava/lang/String;
6 15 4 names Ljava/util/Enumeration<*>;
8 13 5 key Ljava/lang/Object;
9 13 6 value Ljava/lang/Object;
}
SourceFile: "ElementIterator.java"
NestMembers:
javax.swing.text.ElementIterator$StackItem
InnerClasses:
private StackItem = javax.swing.text.ElementIterator$StackItem of javax.swing.text.ElementIterator