public class javax.swing.undo.UndoManager extends javax.swing.undo.CompoundEdit implements javax.swing.event.UndoableEditListener
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: javax.swing.undo.UndoManager
super_class: javax.swing.undo.CompoundEdit
{
int indexOfNextAdd;
descriptor: I
flags: (0x0000)
int limit;
descriptor: I
flags: (0x0000)
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial javax.swing.undo.CompoundEdit.<init>:()V
1: aload 0
iconst_0
putfield javax.swing.undo.UndoManager.indexOfNextAdd:I
2: aload 0
bipush 100
putfield javax.swing.undo.UndoManager.limit:I
3: aload 0
getfield javax.swing.undo.UndoManager.edits:Ljava/util/Vector;
aload 0
getfield javax.swing.undo.UndoManager.limit:I
invokevirtual java.util.Vector.ensureCapacity:(I)V
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljavax/swing/undo/UndoManager;
public synchronized int getLimit();
descriptor: ()I
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield javax.swing.undo.UndoManager.limit:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavax/swing/undo/UndoManager;
public synchronized void discardAllEdits();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield javax.swing.undo.UndoManager.edits:Ljava/util/Vector;
invokevirtual java.util.Vector.iterator:()Ljava/util/Iterator;
astore 2
goto 3
StackMap locals: javax.swing.undo.UndoManager top java.util.Iterator
StackMap stack:
1: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.swing.undo.UndoableEdit
astore 1
start local 1 2: aload 1
invokeinterface javax.swing.undo.UndoableEdit.die:()V
end local 1 3: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: aload 0
new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
putfield javax.swing.undo.UndoManager.edits:Ljava/util/Vector;
5: aload 0
iconst_0
putfield javax.swing.undo.UndoManager.indexOfNextAdd:I
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljavax/swing/undo/UndoManager;
2 3 1 e Ljavax/swing/undo/UndoableEdit;
protected void trimForLimit();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=6, args_size=1
start local 0 0: aload 0
getfield javax.swing.undo.UndoManager.limit:I
iflt 17
1: aload 0
getfield javax.swing.undo.UndoManager.edits:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
istore 1
start local 1 2: iload 1
aload 0
getfield javax.swing.undo.UndoManager.limit:I
if_icmple 17
3: aload 0
getfield javax.swing.undo.UndoManager.limit:I
iconst_2
idiv
istore 2
start local 2 4: aload 0
getfield javax.swing.undo.UndoManager.indexOfNextAdd:I
iconst_1
isub
iload 2
isub
istore 3
start local 3 5: aload 0
getfield javax.swing.undo.UndoManager.indexOfNextAdd:I
iconst_1
isub
iload 2
iadd
istore 4
start local 4 6: iload 4
iload 3
isub
iconst_1
iadd
aload 0
getfield javax.swing.undo.UndoManager.limit:I
if_icmple 8
7: iinc 3 1
8: StackMap locals: javax.swing.undo.UndoManager int int int int
StackMap stack:
iload 3
ifge 11
9: iload 4
iload 3
isub
istore 4
10: iconst_0
istore 3
11: StackMap locals:
StackMap stack:
iload 4
iload 1
if_icmplt 15
12: iload 1
iload 4
isub
iconst_1
isub
istore 5
start local 5 13: iload 4
iload 5
iadd
istore 4
14: iload 3
iload 5
iadd
istore 3
end local 5 15: StackMap locals:
StackMap stack:
aload 0
iload 4
iconst_1
iadd
iload 1
iconst_1
isub
invokevirtual javax.swing.undo.UndoManager.trimEdits:(II)V
16: aload 0
iconst_0
iload 3
iconst_1
isub
invokevirtual javax.swing.undo.UndoManager.trimEdits:(II)V
end local 4 end local 3 end local 2 end local 1 17: StackMap locals: javax.swing.undo.UndoManager
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Ljavax/swing/undo/UndoManager;
2 17 1 size I
4 17 2 halfLimit I
5 17 3 keepFrom I
6 17 4 keepTo I
13 15 5 delta I
protected void trimEdits(int, int);
descriptor: (II)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iload 2
if_icmpgt 13
1: iload 2
istore 3
start local 3 2: goto 7
3: StackMap locals: int
StackMap stack:
aload 0
getfield javax.swing.undo.UndoManager.edits:Ljava/util/Vector;
iload 3
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast javax.swing.undo.UndoableEdit
astore 4
start local 4 4: aload 4
invokeinterface javax.swing.undo.UndoableEdit.die:()V
5: aload 0
getfield javax.swing.undo.UndoManager.edits:Ljava/util/Vector;
iload 3
invokevirtual java.util.Vector.removeElementAt:(I)V
end local 4 6: iinc 3 -1
StackMap locals:
StackMap stack:
7: iload 1
iload 3
if_icmple 3
end local 3 8: aload 0
getfield javax.swing.undo.UndoManager.indexOfNextAdd:I
iload 2
if_icmple 11
9: aload 0
dup
getfield javax.swing.undo.UndoManager.indexOfNextAdd:I
iload 2
iload 1
isub
iconst_1
iadd
isub
putfield javax.swing.undo.UndoManager.indexOfNextAdd:I
10: goto 13
StackMap locals:
StackMap stack:
11: aload 0
getfield javax.swing.undo.UndoManager.indexOfNextAdd:I
iload 1
if_icmplt 13
12: aload 0
iload 1
putfield javax.swing.undo.UndoManager.indexOfNextAdd:I
13: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljavax/swing/undo/UndoManager;
0 14 1 from I
0 14 2 to I
2 8 3 i I
4 6 4 e Ljavax/swing/undo/UndoableEdit;
MethodParameters:
Name Flags
from
to
public synchronized void setLimit(int);
descriptor: (I)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield javax.swing.undo.UndoManager.inProgress:Z
ifne 1
new java.lang.RuntimeException
dup
ldc "Attempt to call UndoManager.setLimit() after UndoManager.end() has been called"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield javax.swing.undo.UndoManager.limit:I
2: aload 0
invokevirtual javax.swing.undo.UndoManager.trimForLimit:()V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljavax/swing/undo/UndoManager;
0 4 1 l I
MethodParameters:
Name Flags
l
protected javax.swing.undo.UndoableEdit editToBeUndone();
descriptor: ()Ljavax/swing/undo/UndoableEdit;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield javax.swing.undo.UndoManager.indexOfNextAdd:I
istore 1
start local 1 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 0
getfield javax.swing.undo.UndoManager.edits:Ljava/util/Vector;
iinc 1 -1
iload 1
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast javax.swing.undo.UndoableEdit
astore 2
start local 2 3: aload 2
invokeinterface javax.swing.undo.UndoableEdit.isSignificant:()Z
ifeq 5
4: aload 2
areturn
end local 2 5: StackMap locals:
StackMap stack:
iload 1
ifgt 2
6: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljavax/swing/undo/UndoManager;
1 7 1 i I
3 5 2 edit Ljavax/swing/undo/UndoableEdit;
protected javax.swing.undo.UndoableEdit editToBeRedone();
descriptor: ()Ljavax/swing/undo/UndoableEdit;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
getfield javax.swing.undo.UndoManager.edits:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
istore 1
start local 1 1: aload 0
getfield javax.swing.undo.UndoManager.indexOfNextAdd:I
istore 2
start local 2 2: goto 6
3: StackMap locals: int int
StackMap stack:
aload 0
getfield javax.swing.undo.UndoManager.edits:Ljava/util/Vector;
iload 2
iinc 2 1
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast javax.swing.undo.UndoableEdit
astore 3
start local 3 4: aload 3
invokeinterface javax.swing.undo.UndoableEdit.isSignificant:()Z
ifeq 6
5: aload 3
areturn
end local 3 6: StackMap locals:
StackMap stack:
iload 2
iload 1
if_icmplt 3
7: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljavax/swing/undo/UndoManager;
1 8 1 count I
2 8 2 i I
4 6 3 edit Ljavax/swing/undo/UndoableEdit;
protected void undoTo(javax.swing.undo.UndoableEdit);
descriptor: (Ljavax/swing/undo/UndoableEdit;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 7
2: StackMap locals: int
StackMap stack:
aload 0
getfield javax.swing.undo.UndoManager.edits:Ljava/util/Vector;
aload 0
dup
getfield javax.swing.undo.UndoManager.indexOfNextAdd:I
iconst_1
isub
dup_x1
putfield javax.swing.undo.UndoManager.indexOfNextAdd:I
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast javax.swing.undo.UndoableEdit
astore 3
start local 3 3: aload 3
invokeinterface javax.swing.undo.UndoableEdit.undo:()V
4: aload 3
aload 1
if_acmpne 5
iconst_1
goto 6
StackMap locals: javax.swing.undo.UndoableEdit
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: istore 2
end local 3 7: StackMap locals:
StackMap stack:
iload 2
ifeq 2
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljavax/swing/undo/UndoManager;
0 9 1 edit Ljavax/swing/undo/UndoableEdit;
1 9 2 done Z
3 7 3 next Ljavax/swing/undo/UndoableEdit;
Exceptions:
throws javax.swing.undo.CannotUndoException
MethodParameters:
Name Flags
edit
protected void redoTo(javax.swing.undo.UndoableEdit);
descriptor: (Ljavax/swing/undo/UndoableEdit;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 7
2: StackMap locals: int
StackMap stack:
aload 0
getfield javax.swing.undo.UndoManager.edits:Ljava/util/Vector;
aload 0
dup
getfield javax.swing.undo.UndoManager.indexOfNextAdd:I
dup_x1
iconst_1
iadd
putfield javax.swing.undo.UndoManager.indexOfNextAdd:I
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast javax.swing.undo.UndoableEdit
astore 3
start local 3 3: aload 3
invokeinterface javax.swing.undo.UndoableEdit.redo:()V
4: aload 3
aload 1
if_acmpne 5
iconst_1
goto 6
StackMap locals: javax.swing.undo.UndoableEdit
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: istore 2
end local 3 7: StackMap locals:
StackMap stack:
iload 2
ifeq 2
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljavax/swing/undo/UndoManager;
0 9 1 edit Ljavax/swing/undo/UndoableEdit;
1 9 2 done Z
3 7 3 next Ljavax/swing/undo/UndoableEdit;
Exceptions:
throws javax.swing.undo.CannotRedoException
MethodParameters:
Name Flags
edit
public void undoOrRedo();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic javax.swing.undo.UndoManager$Action.ANY:Ljavax/swing/undo/UndoManager$Action;
invokevirtual javax.swing.undo.UndoManager.tryUndoOrRedo:(Ljavax/swing/undo/UndoManager$Action;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljavax/swing/undo/UndoManager;
Exceptions:
throws javax.swing.undo.CannotRedoException, javax.swing.undo.CannotUndoException
public synchronized boolean canUndoOrRedo();
descriptor: ()Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield javax.swing.undo.UndoManager.indexOfNextAdd:I
aload 0
getfield javax.swing.undo.UndoManager.edits:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
if_icmpne 2
1: aload 0
invokevirtual javax.swing.undo.UndoManager.canUndo:()Z
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual javax.swing.undo.UndoManager.canRedo:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavax/swing/undo/UndoManager;
public void undo();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic javax.swing.undo.UndoManager$Action.UNDO:Ljavax/swing/undo/UndoManager$Action;
invokevirtual javax.swing.undo.UndoManager.tryUndoOrRedo:(Ljavax/swing/undo/UndoManager$Action;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljavax/swing/undo/UndoManager;
Exceptions:
throws javax.swing.undo.CannotUndoException
public synchronized boolean canUndo();
descriptor: ()Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
getfield javax.swing.undo.UndoManager.inProgress:Z
ifeq 4
1: aload 0
invokevirtual javax.swing.undo.UndoManager.editToBeUndone:()Ljavax/swing/undo/UndoableEdit;
astore 1
start local 1 2: aload 1
ifnull 3
aload 1
invokeinterface javax.swing.undo.UndoableEdit.canUndo:()Z
ifeq 3
iconst_1
ireturn
StackMap locals: javax.swing.undo.UndoableEdit
StackMap stack:
3: iconst_0
ireturn
end local 1 4: StackMap locals:
StackMap stack:
aload 0
invokespecial javax.swing.undo.CompoundEdit.canUndo:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljavax/swing/undo/UndoManager;
2 4 1 edit Ljavax/swing/undo/UndoableEdit;
public void redo();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic javax.swing.undo.UndoManager$Action.REDO:Ljavax/swing/undo/UndoManager$Action;
invokevirtual javax.swing.undo.UndoManager.tryUndoOrRedo:(Ljavax/swing/undo/UndoManager$Action;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljavax/swing/undo/UndoManager;
Exceptions:
throws javax.swing.undo.CannotRedoException
private void tryUndoOrRedo(javax.swing.undo.UndoManager$Action);
descriptor: (Ljavax/swing/undo/UndoManager$Action;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=8, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 0
dup
astore 4
monitorenter
2: aload 1
getstatic javax.swing.undo.UndoManager$Action.ANY:Ljavax/swing/undo/UndoManager$Action;
if_acmpne 7
3: aload 0
getfield javax.swing.undo.UndoManager.indexOfNextAdd:I
aload 0
getfield javax.swing.undo.UndoManager.edits:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
if_icmpne 4
iconst_1
goto 5
StackMap locals: javax.swing.undo.UndoManager javax.swing.undo.UndoManager$Action sun.swing.text.UndoableEditLockSupport top javax.swing.undo.UndoManager
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: istore 3
start local 3 6: goto 10
end local 3 7: StackMap locals:
StackMap stack:
aload 1
getstatic javax.swing.undo.UndoManager$Action.UNDO:Ljavax/swing/undo/UndoManager$Action;
if_acmpne 8
iconst_1
goto 9
StackMap locals:
StackMap stack:
8: iconst_0
StackMap locals:
StackMap stack: int
9: istore 3
start local 3 10: StackMap locals: javax.swing.undo.UndoManager javax.swing.undo.UndoManager$Action sun.swing.text.UndoableEditLockSupport int javax.swing.undo.UndoManager
StackMap stack:
aload 0
getfield javax.swing.undo.UndoManager.inProgress:Z
ifeq 26
11: iload 3
ifeq 12
aload 0
invokevirtual javax.swing.undo.UndoManager.editToBeUndone:()Ljavax/swing/undo/UndoableEdit;
goto 13
StackMap locals:
StackMap stack:
12: aload 0
invokevirtual javax.swing.undo.UndoManager.editToBeRedone:()Ljavax/swing/undo/UndoableEdit;
StackMap locals:
StackMap stack: javax.swing.undo.UndoableEdit
13: astore 5
start local 5 14: aload 5
ifnonnull 18
15: iload 3
ifeq 16
new javax.swing.undo.CannotUndoException
dup
invokespecial javax.swing.undo.CannotUndoException.<init>:()V
goto 17
16: StackMap locals: javax.swing.undo.UndoableEdit
StackMap stack:
new javax.swing.undo.CannotRedoException
dup
invokespecial javax.swing.undo.CannotRedoException.<init>:()V
17: StackMap locals:
StackMap stack: java.lang.RuntimeException
athrow
18: StackMap locals:
StackMap stack:
aload 0
aload 5
invokevirtual javax.swing.undo.UndoManager.getEditLockSupport:(Ljavax/swing/undo/UndoableEdit;)Lsun/swing/text/UndoableEditLockSupport;
astore 2
19: aload 2
ifnonnull 32
20: iload 3
ifeq 23
21: aload 0
aload 5
invokevirtual javax.swing.undo.UndoManager.undoTo:(Ljavax/swing/undo/UndoableEdit;)V
22: goto 24
23: StackMap locals:
StackMap stack:
aload 0
aload 5
invokevirtual javax.swing.undo.UndoManager.redoTo:(Ljavax/swing/undo/UndoableEdit;)V
24: StackMap locals:
StackMap stack:
aload 4
monitorexit
25: return
end local 5 26: StackMap locals:
StackMap stack:
iload 3
ifeq 29
27: aload 0
invokespecial javax.swing.undo.CompoundEdit.undo:()V
28: goto 30
29: StackMap locals:
StackMap stack:
aload 0
invokespecial javax.swing.undo.CompoundEdit.redo:()V
30: StackMap locals:
StackMap stack:
aload 4
monitorexit
31: return
32: StackMap locals:
StackMap stack:
aload 4
monitorexit
33: goto 36
end local 3 StackMap locals: javax.swing.undo.UndoManager javax.swing.undo.UndoManager$Action sun.swing.text.UndoableEditLockSupport top javax.swing.undo.UndoManager
StackMap stack: java.lang.Throwable
34: aload 4
monitorexit
35: athrow
start local 3 36: StackMap locals: javax.swing.undo.UndoManager javax.swing.undo.UndoManager$Action sun.swing.text.UndoableEditLockSupport int
StackMap stack:
aload 2
invokeinterface sun.swing.text.UndoableEditLockSupport.lockEdit:()V
37: aconst_null
astore 4
start local 4 38: aload 0
dup
astore 5
monitorenter
39: aload 1
getstatic javax.swing.undo.UndoManager$Action.ANY:Ljavax/swing/undo/UndoManager$Action;
if_acmpne 43
40: aload 0
getfield javax.swing.undo.UndoManager.indexOfNextAdd:I
aload 0
getfield javax.swing.undo.UndoManager.edits:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
if_icmpne 41
iconst_1
goto 42
StackMap locals: sun.swing.text.UndoableEditLockSupport javax.swing.undo.UndoManager
StackMap stack:
41: iconst_0
StackMap locals:
StackMap stack: int
42: istore 3
43: StackMap locals:
StackMap stack:
aload 0
getfield javax.swing.undo.UndoManager.inProgress:Z
ifeq 62
44: iload 3
ifeq 45
aload 0
invokevirtual javax.swing.undo.UndoManager.editToBeUndone:()Ljavax/swing/undo/UndoableEdit;
goto 46
45: StackMap locals:
StackMap stack:
aload 0
invokevirtual javax.swing.undo.UndoManager.editToBeRedone:()Ljavax/swing/undo/UndoableEdit;
46: StackMap locals:
StackMap stack: javax.swing.undo.UndoableEdit
astore 6
start local 6 47: aload 6
ifnonnull 51
48: iload 3
ifeq 49
new javax.swing.undo.CannotUndoException
dup
invokespecial javax.swing.undo.CannotUndoException.<init>:()V
goto 50
49: StackMap locals: javax.swing.undo.UndoableEdit
StackMap stack:
new javax.swing.undo.CannotRedoException
dup
invokespecial javax.swing.undo.CannotRedoException.<init>:()V
50: StackMap locals:
StackMap stack: java.lang.RuntimeException
athrow
51: StackMap locals:
StackMap stack:
aload 0
aload 6
invokevirtual javax.swing.undo.UndoManager.getEditLockSupport:(Ljavax/swing/undo/UndoableEdit;)Lsun/swing/text/UndoableEditLockSupport;
astore 4
52: aload 4
ifnull 54
53: aload 4
aload 2
if_acmpne 70
54: StackMap locals:
StackMap stack:
iload 3
ifeq 57
55: aload 0
aload 6
invokevirtual javax.swing.undo.UndoManager.undoTo:(Ljavax/swing/undo/UndoableEdit;)V
56: goto 58
57: StackMap locals:
StackMap stack:
aload 0
aload 6
invokevirtual javax.swing.undo.UndoManager.redoTo:(Ljavax/swing/undo/UndoableEdit;)V
58: StackMap locals:
StackMap stack:
aload 5
monitorexit
59: aload 2
ifnull 61
60: aload 2
invokeinterface sun.swing.text.UndoableEditLockSupport.unlockEdit:()V
61: StackMap locals:
StackMap stack:
aload 4
astore 2
return
end local 6 62: StackMap locals:
StackMap stack:
iload 3
ifeq 65
63: aload 0
invokespecial javax.swing.undo.CompoundEdit.undo:()V
64: goto 66
65: StackMap locals:
StackMap stack:
aload 0
invokespecial javax.swing.undo.CompoundEdit.redo:()V
66: StackMap locals:
StackMap stack:
aload 5
monitorexit
67: aload 2
ifnull 69
68: aload 2
invokeinterface sun.swing.text.UndoableEditLockSupport.unlockEdit:()V
69: StackMap locals:
StackMap stack:
aload 4
astore 2
return
70: StackMap locals:
StackMap stack:
aload 5
monitorexit
71: goto 79
StackMap locals:
StackMap stack: java.lang.Throwable
72: aload 5
monitorexit
73: athrow
74: StackMap locals: javax.swing.undo.UndoManager javax.swing.undo.UndoManager$Action sun.swing.text.UndoableEditLockSupport int sun.swing.text.UndoableEditLockSupport
StackMap stack: java.lang.Throwable
astore 7
75: aload 2
ifnull 77
76: aload 2
invokeinterface sun.swing.text.UndoableEditLockSupport.unlockEdit:()V
77: StackMap locals: javax.swing.undo.UndoManager javax.swing.undo.UndoManager$Action sun.swing.text.UndoableEditLockSupport int sun.swing.text.UndoableEditLockSupport top top java.lang.Throwable
StackMap stack:
aload 4
astore 2
78: aload 7
athrow
79: StackMap locals: javax.swing.undo.UndoManager javax.swing.undo.UndoManager$Action sun.swing.text.UndoableEditLockSupport int sun.swing.text.UndoableEditLockSupport
StackMap stack:
aload 2
ifnull 81
80: aload 2
invokeinterface sun.swing.text.UndoableEditLockSupport.unlockEdit:()V
81: StackMap locals:
StackMap stack:
aload 4
astore 2
end local 4 82: goto 36
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 83 0 this Ljavax/swing/undo/UndoManager;
0 83 1 action Ljavax/swing/undo/UndoManager$Action;
1 83 2 lockSupport Lsun/swing/text/UndoableEditLockSupport;
6 7 3 undo Z
10 34 3 undo Z
36 83 3 undo Z
14 26 5 edit Ljavax/swing/undo/UndoableEdit;
38 82 4 editLockSupport Lsun/swing/text/UndoableEditLockSupport;
47 62 6 edit Ljavax/swing/undo/UndoableEdit;
Exception table:
from to target type
2 25 34 any
26 31 34 any
32 33 34 any
34 35 34 any
39 59 72 any
62 67 72 any
70 71 72 any
72 73 72 any
38 59 74 any
62 67 74 any
70 74 74 any
MethodParameters:
Name Flags
action
private sun.swing.text.UndoableEditLockSupport getEditLockSupport(javax.swing.undo.UndoableEdit);
descriptor: (Ljavax/swing/undo/UndoableEdit;)Lsun/swing/text/UndoableEditLockSupport;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof sun.swing.text.UndoableEditLockSupport
ifeq 2
1: aload 1
checkcast sun.swing.text.UndoableEditLockSupport
goto 3
StackMap locals:
StackMap stack:
2: aconst_null
3: StackMap locals:
StackMap stack: sun.swing.text.UndoableEditLockSupport
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljavax/swing/undo/UndoManager;
0 4 1 anEdit Ljavax/swing/undo/UndoableEdit;
MethodParameters:
Name Flags
anEdit
public synchronized boolean canRedo();
descriptor: ()Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
getfield javax.swing.undo.UndoManager.inProgress:Z
ifeq 4
1: aload 0
invokevirtual javax.swing.undo.UndoManager.editToBeRedone:()Ljavax/swing/undo/UndoableEdit;
astore 1
start local 1 2: aload 1
ifnull 3
aload 1
invokeinterface javax.swing.undo.UndoableEdit.canRedo:()Z
ifeq 3
iconst_1
ireturn
StackMap locals: javax.swing.undo.UndoableEdit
StackMap stack:
3: iconst_0
ireturn
end local 1 4: StackMap locals:
StackMap stack:
aload 0
invokespecial javax.swing.undo.CompoundEdit.canRedo:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljavax/swing/undo/UndoManager;
2 4 1 edit Ljavax/swing/undo/UndoableEdit;
public synchronized boolean addEdit(javax.swing.undo.UndoableEdit);
descriptor: (Ljavax/swing/undo/UndoableEdit;)Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield javax.swing.undo.UndoManager.indexOfNextAdd:I
aload 0
getfield javax.swing.undo.UndoManager.edits:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
iconst_1
isub
invokevirtual javax.swing.undo.UndoManager.trimEdits:(II)V
1: aload 0
aload 1
invokespecial javax.swing.undo.CompoundEdit.addEdit:(Ljavax/swing/undo/UndoableEdit;)Z
istore 2
start local 2 2: aload 0
getfield javax.swing.undo.UndoManager.inProgress:Z
ifeq 4
3: iconst_1
istore 2
4: StackMap locals: int
StackMap stack:
aload 0
aload 0
getfield javax.swing.undo.UndoManager.edits:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
putfield javax.swing.undo.UndoManager.indexOfNextAdd:I
5: aload 0
invokevirtual javax.swing.undo.UndoManager.trimForLimit:()V
6: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljavax/swing/undo/UndoManager;
0 7 1 anEdit Ljavax/swing/undo/UndoableEdit;
2 7 2 retVal Z
MethodParameters:
Name Flags
anEdit
public synchronized void end();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokespecial javax.swing.undo.CompoundEdit.end:()V
1: aload 0
aload 0
getfield javax.swing.undo.UndoManager.indexOfNextAdd:I
aload 0
getfield javax.swing.undo.UndoManager.edits:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
iconst_1
isub
invokevirtual javax.swing.undo.UndoManager.trimEdits:(II)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavax/swing/undo/UndoManager;
public synchronized java.lang.String getUndoOrRedoPresentationName();
descriptor: ()Ljava/lang/String;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield javax.swing.undo.UndoManager.indexOfNextAdd:I
aload 0
getfield javax.swing.undo.UndoManager.edits:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
if_icmpne 2
1: aload 0
invokevirtual javax.swing.undo.UndoManager.getUndoPresentationName:()Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual javax.swing.undo.UndoManager.getRedoPresentationName:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavax/swing/undo/UndoManager;
public synchronized java.lang.String getUndoPresentationName();
descriptor: ()Ljava/lang/String;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield javax.swing.undo.UndoManager.inProgress:Z
ifeq 4
1: aload 0
invokevirtual javax.swing.undo.UndoManager.canUndo:()Z
ifeq 3
2: aload 0
invokevirtual javax.swing.undo.UndoManager.editToBeUndone:()Ljavax/swing/undo/UndoableEdit;
invokeinterface javax.swing.undo.UndoableEdit.getUndoPresentationName:()Ljava/lang/String;
areturn
3: StackMap locals:
StackMap stack:
ldc "AbstractUndoableEdit.undoText"
invokestatic javax.swing.UIManager.getString:(Ljava/lang/Object;)Ljava/lang/String;
areturn
4: StackMap locals:
StackMap stack:
aload 0
invokespecial javax.swing.undo.CompoundEdit.getUndoPresentationName:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljavax/swing/undo/UndoManager;
public synchronized java.lang.String getRedoPresentationName();
descriptor: ()Ljava/lang/String;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield javax.swing.undo.UndoManager.inProgress:Z
ifeq 4
1: aload 0
invokevirtual javax.swing.undo.UndoManager.canRedo:()Z
ifeq 3
2: aload 0
invokevirtual javax.swing.undo.UndoManager.editToBeRedone:()Ljavax/swing/undo/UndoableEdit;
invokeinterface javax.swing.undo.UndoableEdit.getRedoPresentationName:()Ljava/lang/String;
areturn
3: StackMap locals:
StackMap stack:
ldc "AbstractUndoableEdit.redoText"
invokestatic javax.swing.UIManager.getString:(Ljava/lang/Object;)Ljava/lang/String;
areturn
4: StackMap locals:
StackMap stack:
aload 0
invokespecial javax.swing.undo.CompoundEdit.getRedoPresentationName:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljavax/swing/undo/UndoManager;
public void undoableEditHappened(javax.swing.event.UndoableEditEvent);
descriptor: (Ljavax/swing/event/UndoableEditEvent;)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 javax.swing.event.UndoableEditEvent.getEdit:()Ljavax/swing/undo/UndoableEdit;
invokevirtual javax.swing.undo.UndoManager.addEdit:(Ljavax/swing/undo/UndoableEdit;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljavax/swing/undo/UndoManager;
0 2 1 e Ljavax/swing/event/UndoableEditEvent;
MethodParameters:
Name Flags
e
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
invokespecial javax.swing.undo.CompoundEdit.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " limit: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield javax.swing.undo.UndoManager.limit:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
1: ldc " indexOfNextAdd: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield javax.swing.undo.UndoManager.indexOfNextAdd:I
invokevirtual java.lang.StringBuilder.append:(I)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 Ljavax/swing/undo/UndoManager;
}
SourceFile: "UndoManager.java"
NestMembers:
javax.swing.undo.UndoManager$Action
InnerClasses:
private final Action = javax.swing.undo.UndoManager$Action of javax.swing.undo.UndoManager