public final class javax.swing.text.StringContent implements javax.swing.text.AbstractDocument$Content, java.io.Serializable
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: javax.swing.text.StringContent
super_class: java.lang.Object
{
private static final char[] empty;
descriptor: [C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private char[] data;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private int count;
descriptor: I
flags: (0x0002) ACC_PRIVATE
transient java.util.Vector marks;
descriptor: Ljava/util/Vector;
flags: (0x0080) ACC_TRANSIENT
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: iconst_0
newarray 5
putstatic javax.swing.text.StringContent.empty:[C
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
bipush 10
invokespecial javax.swing.text.StringContent.<init>:(I)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljavax/swing/text/StringContent;
public void <init>(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: iload 1
iconst_1
if_icmpge 3
2: iconst_1
istore 1
3: StackMap locals: javax.swing.text.StringContent int
StackMap stack:
aload 0
iload 1
newarray 5
putfield javax.swing.text.StringContent.data:[C
4: aload 0
getfield javax.swing.text.StringContent.data:[C
iconst_0
bipush 10
castore
5: aload 0
iconst_1
putfield javax.swing.text.StringContent.count:I
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljavax/swing/text/StringContent;
0 7 1 initialLength I
MethodParameters:
Name Flags
initialLength
public int length();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield javax.swing.text.StringContent.count:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavax/swing/text/StringContent;
public javax.swing.undo.UndoableEdit insertString(int, java.lang.String);
descriptor: (ILjava/lang/String;)Ljavax/swing/undo/UndoableEdit;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 1
aload 0
getfield javax.swing.text.StringContent.count:I
if_icmpge 1
iload 1
ifge 2
1: StackMap locals:
StackMap stack:
new javax.swing.text.BadLocationException
dup
ldc "Invalid location"
aload 0
getfield javax.swing.text.StringContent.count:I
invokespecial javax.swing.text.BadLocationException.<init>:(Ljava/lang/String;I)V
athrow
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.String.toCharArray:()[C
astore 3
start local 3 3: aload 0
iload 1
iconst_0
aload 3
iconst_0
aload 3
arraylength
invokevirtual javax.swing.text.StringContent.replace:(II[CII)V
4: aload 0
getfield javax.swing.text.StringContent.marks:Ljava/util/Vector;
ifnull 6
5: aload 0
iload 1
aload 2
invokevirtual java.lang.String.length:()I
invokevirtual javax.swing.text.StringContent.updateMarksForInsert:(II)V
6: StackMap locals: char[]
StackMap stack:
new javax.swing.text.StringContent$InsertUndo
dup
aload 0
iload 1
aload 2
invokevirtual java.lang.String.length:()I
invokespecial javax.swing.text.StringContent$InsertUndo.<init>:(Ljavax/swing/text/StringContent;II)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljavax/swing/text/StringContent;
0 7 1 where I
0 7 2 str Ljava/lang/String;
3 7 3 chars [C
Exceptions:
throws javax.swing.text.BadLocationException
MethodParameters:
Name Flags
where
str
public javax.swing.undo.UndoableEdit remove(int, int);
descriptor: (II)Ljavax/swing/undo/UndoableEdit;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iload 2
iadd
aload 0
getfield javax.swing.text.StringContent.count:I
if_icmplt 2
1: new javax.swing.text.BadLocationException
dup
ldc "Invalid range"
aload 0
getfield javax.swing.text.StringContent.count:I
invokespecial javax.swing.text.BadLocationException.<init>:(Ljava/lang/String;I)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
iload 1
iload 2
invokevirtual javax.swing.text.StringContent.getString:(II)Ljava/lang/String;
astore 3
start local 3 3: new javax.swing.text.StringContent$RemoveUndo
dup
aload 0
iload 1
aload 3
invokespecial javax.swing.text.StringContent$RemoveUndo.<init>:(Ljavax/swing/text/StringContent;ILjava/lang/String;)V
astore 4
start local 4 4: aload 0
iload 1
iload 2
getstatic javax.swing.text.StringContent.empty:[C
iconst_0
iconst_0
invokevirtual javax.swing.text.StringContent.replace:(II[CII)V
5: aload 0
getfield javax.swing.text.StringContent.marks:Ljava/util/Vector;
ifnull 7
6: aload 0
iload 1
iload 2
invokevirtual javax.swing.text.StringContent.updateMarksForRemove:(II)V
7: StackMap locals: java.lang.String javax.swing.undo.UndoableEdit
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljavax/swing/text/StringContent;
0 8 1 where I
0 8 2 nitems I
3 8 3 removedString Ljava/lang/String;
4 8 4 edit Ljavax/swing/undo/UndoableEdit;
Exceptions:
throws javax.swing.text.BadLocationException
MethodParameters:
Name Flags
where
nitems
public java.lang.String getString(int, int);
descriptor: (II)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iload 2
iadd
aload 0
getfield javax.swing.text.StringContent.count:I
if_icmple 2
1: new javax.swing.text.BadLocationException
dup
ldc "Invalid range"
aload 0
getfield javax.swing.text.StringContent.count:I
invokespecial javax.swing.text.BadLocationException.<init>:(Ljava/lang/String;I)V
athrow
2: StackMap locals:
StackMap stack:
new java.lang.String
dup
aload 0
getfield javax.swing.text.StringContent.data:[C
iload 1
iload 2
invokespecial java.lang.String.<init>:([CII)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavax/swing/text/StringContent;
0 3 1 where I
0 3 2 len I
Exceptions:
throws javax.swing.text.BadLocationException
MethodParameters:
Name Flags
where
len
public void getChars(int, int, javax.swing.text.Segment);
descriptor: (IILjavax/swing/text/Segment;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 1
iload 2
iadd
aload 0
getfield javax.swing.text.StringContent.count:I
if_icmple 2
1: new javax.swing.text.BadLocationException
dup
ldc "Invalid location"
aload 0
getfield javax.swing.text.StringContent.count:I
invokespecial javax.swing.text.BadLocationException.<init>:(Ljava/lang/String;I)V
athrow
2: StackMap locals:
StackMap stack:
aload 3
aload 0
getfield javax.swing.text.StringContent.data:[C
putfield javax.swing.text.Segment.array:[C
3: aload 3
iload 1
putfield javax.swing.text.Segment.offset:I
4: aload 3
iload 2
putfield javax.swing.text.Segment.count:I
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljavax/swing/text/StringContent;
0 6 1 where I
0 6 2 len I
0 6 3 chars Ljavax/swing/text/Segment;
Exceptions:
throws javax.swing.text.BadLocationException
MethodParameters:
Name Flags
where
len
chars
public javax.swing.text.Position createPosition(int);
descriptor: (I)Ljavax/swing/text/Position;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield javax.swing.text.StringContent.marks:Ljava/util/Vector;
ifnonnull 2
1: aload 0
new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
putfield javax.swing.text.StringContent.marks:Ljava/util/Vector;
2: StackMap locals:
StackMap stack:
new javax.swing.text.StringContent$StickyPosition
dup
aload 0
iload 1
invokespecial javax.swing.text.StringContent$StickyPosition.<init>:(Ljavax/swing/text/StringContent;I)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavax/swing/text/StringContent;
0 3 1 offset I
Exceptions:
throws javax.swing.text.BadLocationException
MethodParameters:
Name Flags
offset
void replace(int, int, char[], int, int);
descriptor: (II[CII)V
flags: (0x0000)
Code:
stack=5, locals=12, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iload 5
iload 2
isub
istore 6
start local 6 1: iload 1
iload 2
iadd
istore 7
start local 7 2: aload 0
getfield javax.swing.text.StringContent.count:I
iload 7
isub
istore 8
start local 8 3: iload 7
iload 6
iadd
istore 9
start local 9 4: aload 0
getfield javax.swing.text.StringContent.count:I
iload 6
iadd
aload 0
getfield javax.swing.text.StringContent.data:[C
arraylength
if_icmplt 12
5: iconst_2
aload 0
getfield javax.swing.text.StringContent.data:[C
arraylength
imul
aload 0
getfield javax.swing.text.StringContent.count:I
iload 6
iadd
invokestatic java.lang.Math.max:(II)I
istore 10
start local 10 6: iload 10
newarray 5
astore 11
start local 11 7: aload 0
getfield javax.swing.text.StringContent.data:[C
iconst_0
aload 11
iconst_0
iload 1
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
8: aload 3
iload 4
aload 11
iload 1
iload 5
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
9: aload 0
getfield javax.swing.text.StringContent.data:[C
iload 7
aload 11
iload 9
iload 8
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
10: aload 0
aload 11
putfield javax.swing.text.StringContent.data:[C
end local 11 end local 10 11: goto 14
12: StackMap locals: javax.swing.text.StringContent int int char[] int int int int int int
StackMap stack:
aload 0
getfield javax.swing.text.StringContent.data:[C
iload 7
aload 0
getfield javax.swing.text.StringContent.data:[C
iload 9
iload 8
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
13: aload 3
iload 4
aload 0
getfield javax.swing.text.StringContent.data:[C
iload 1
iload 5
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
14: StackMap locals:
StackMap stack:
aload 0
dup
getfield javax.swing.text.StringContent.count:I
iload 6
iadd
putfield javax.swing.text.StringContent.count:I
15: return
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljavax/swing/text/StringContent;
0 16 1 offset I
0 16 2 length I
0 16 3 replArray [C
0 16 4 replOffset I
0 16 5 replLength I
1 16 6 delta I
2 16 7 src I
3 16 8 nmove I
4 16 9 dest I
6 11 10 newLength I
7 11 11 newData [C
MethodParameters:
Name Flags
offset
length
replArray
replOffset
replLength
void resize(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: iload 1
newarray 5
astore 2
start local 2 1: aload 0
getfield javax.swing.text.StringContent.data:[C
iconst_0
aload 2
iconst_0
iload 1
aload 0
getfield javax.swing.text.StringContent.count:I
invokestatic java.lang.Math.min:(II)I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
2: aload 0
aload 2
putfield javax.swing.text.StringContent.data:[C
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljavax/swing/text/StringContent;
0 4 1 ncount I
1 4 2 ndata [C
MethodParameters:
Name Flags
ncount
synchronized void updateMarksForInsert(int, int);
descriptor: (II)V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: iload 1
ifne 2
1: iconst_1
istore 1
2: StackMap locals:
StackMap stack:
aload 0
getfield javax.swing.text.StringContent.marks:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
istore 3
start local 3 3: iconst_0
istore 4
start local 4 4: goto 14
5: StackMap locals: int int
StackMap stack:
aload 0
getfield javax.swing.text.StringContent.marks:Ljava/util/Vector;
iload 4
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast javax.swing.text.StringContent$PosRec
astore 5
start local 5 6: aload 5
getfield javax.swing.text.StringContent$PosRec.unused:Z
ifeq 11
7: aload 0
getfield javax.swing.text.StringContent.marks:Ljava/util/Vector;
iload 4
invokevirtual java.util.Vector.removeElementAt:(I)V
8: iinc 4 -1
9: iinc 3 -1
10: goto 13
StackMap locals: javax.swing.text.StringContent$PosRec
StackMap stack:
11: aload 5
getfield javax.swing.text.StringContent$PosRec.offset:I
iload 1
if_icmplt 13
12: aload 5
dup
getfield javax.swing.text.StringContent$PosRec.offset:I
iload 2
iadd
putfield javax.swing.text.StringContent$PosRec.offset:I
end local 5 13: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
14: iload 4
iload 3
if_icmplt 5
end local 4 15: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljavax/swing/text/StringContent;
0 16 1 offset I
0 16 2 length I
3 16 3 n I
4 15 4 i I
6 13 5 mark Ljavax/swing/text/StringContent$PosRec;
MethodParameters:
Name Flags
offset
length
synchronized void updateMarksForRemove(int, int);
descriptor: (II)V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield javax.swing.text.StringContent.marks:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
istore 3
start local 3 1: iconst_0
istore 4
start local 4 2: goto 15
3: StackMap locals: int int
StackMap stack:
aload 0
getfield javax.swing.text.StringContent.marks:Ljava/util/Vector;
iload 4
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast javax.swing.text.StringContent$PosRec
astore 5
start local 5 4: aload 5
getfield javax.swing.text.StringContent$PosRec.unused:Z
ifeq 9
5: aload 0
getfield javax.swing.text.StringContent.marks:Ljava/util/Vector;
iload 4
invokevirtual java.util.Vector.removeElementAt:(I)V
6: iinc 4 -1
7: iinc 3 -1
8: goto 14
StackMap locals: javax.swing.text.StringContent$PosRec
StackMap stack:
9: aload 5
getfield javax.swing.text.StringContent$PosRec.offset:I
iload 1
iload 2
iadd
if_icmplt 12
10: aload 5
dup
getfield javax.swing.text.StringContent$PosRec.offset:I
iload 2
isub
putfield javax.swing.text.StringContent$PosRec.offset:I
11: goto 14
StackMap locals:
StackMap stack:
12: aload 5
getfield javax.swing.text.StringContent$PosRec.offset:I
iload 1
if_icmplt 14
13: aload 5
iload 1
putfield javax.swing.text.StringContent$PosRec.offset:I
end local 5 14: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
15: iload 4
iload 3
if_icmplt 3
end local 4 16: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Ljavax/swing/text/StringContent;
0 17 1 offset I
0 17 2 length I
1 17 3 n I
2 16 4 i I
4 14 5 mark Ljavax/swing/text/StringContent$PosRec;
MethodParameters:
Name Flags
offset
length
protected java.util.Vector getPositionsInRange(java.util.Vector, int, int);
descriptor: (Ljava/util/Vector;II)Ljava/util/Vector;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield javax.swing.text.StringContent.marks:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
istore 4
start local 4 1: iload 2
iload 3
iadd
istore 5
start local 5 2: aload 1
ifnonnull 3
new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
goto 4
StackMap locals: int int
StackMap stack:
3: aload 1
StackMap locals:
StackMap stack: java.util.Vector
4: astore 6
start local 6 5: iconst_0
istore 7
start local 7 6: goto 16
7: StackMap locals: java.util.Vector int
StackMap stack:
aload 0
getfield javax.swing.text.StringContent.marks:Ljava/util/Vector;
iload 7
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast javax.swing.text.StringContent$PosRec
astore 8
start local 8 8: aload 8
getfield javax.swing.text.StringContent$PosRec.unused:Z
ifeq 13
9: aload 0
getfield javax.swing.text.StringContent.marks:Ljava/util/Vector;
iload 7
invokevirtual java.util.Vector.removeElementAt:(I)V
10: iinc 7 -1
11: iinc 4 -1
12: goto 15
StackMap locals: javax.swing.text.StringContent$PosRec
StackMap stack:
13: aload 8
getfield javax.swing.text.StringContent$PosRec.offset:I
iload 2
if_icmplt 15
aload 8
getfield javax.swing.text.StringContent$PosRec.offset:I
iload 5
if_icmpgt 15
14: aload 6
new javax.swing.text.StringContent$UndoPosRef
dup
aload 0
aload 8
invokespecial javax.swing.text.StringContent$UndoPosRef.<init>:(Ljavax/swing/text/StringContent;Ljavax/swing/text/StringContent$PosRec;)V
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
end local 8 15: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
16: iload 7
iload 4
if_icmplt 7
end local 7 17: aload 6
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Ljavax/swing/text/StringContent;
0 18 1 v Ljava/util/Vector;
0 18 2 offset I
0 18 3 length I
1 18 4 n I
2 18 5 end I
5 18 6 placeIn Ljava/util/Vector;
6 17 7 i I
8 15 8 mark Ljavax/swing/text/StringContent$PosRec;
MethodParameters:
Name Flags
v
offset
length
protected void updateUndoPositions(java.util.Vector);
descriptor: (Ljava/util/Vector;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.Vector.size:()I
iconst_1
isub
istore 2
start local 2 1: goto 8
2: StackMap locals: int
StackMap stack:
aload 1
iload 2
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast javax.swing.text.StringContent$UndoPosRef
astore 3
start local 3 3: aload 3
getfield javax.swing.text.StringContent$UndoPosRef.rec:Ljavax/swing/text/StringContent$PosRec;
getfield javax.swing.text.StringContent$PosRec.unused:Z
ifeq 6
4: aload 1
iload 2
invokevirtual java.util.Vector.removeElementAt:(I)V
5: goto 7
6: StackMap locals: javax.swing.text.StringContent$UndoPosRef
StackMap stack:
aload 3
invokevirtual javax.swing.text.StringContent$UndoPosRef.resetLocation:()V
end local 3 7: StackMap locals:
StackMap stack:
iinc 2 -1
StackMap locals:
StackMap stack:
8: iload 2
ifge 2
end local 2 9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljavax/swing/text/StringContent;
0 10 1 positions Ljava/util/Vector;
1 9 2 counter I
3 7 3 ref Ljavax/swing/text/StringContent$UndoPosRef;
MethodParameters:
Name Flags
positions
}
SourceFile: "StringContent.java"
NestMembers:
javax.swing.text.StringContent$InsertUndo javax.swing.text.StringContent$PosRec javax.swing.text.StringContent$RemoveUndo javax.swing.text.StringContent$StickyPosition javax.swing.text.StringContent$UndoPosRef
InnerClasses:
public abstract Content = javax.swing.text.AbstractDocument$Content of javax.swing.text.AbstractDocument
InsertUndo = javax.swing.text.StringContent$InsertUndo of javax.swing.text.StringContent
final PosRec = javax.swing.text.StringContent$PosRec of javax.swing.text.StringContent
RemoveUndo = javax.swing.text.StringContent$RemoveUndo of javax.swing.text.StringContent
final StickyPosition = javax.swing.text.StringContent$StickyPosition of javax.swing.text.StringContent
final UndoPosRef = javax.swing.text.StringContent$UndoPosRef of javax.swing.text.StringContent