class android.widget.Editor$SuggestionHelper
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: android.widget.Editor$SuggestionHelper
super_class: java.lang.Object
{
private final java.util.Comparator<android.text.style.SuggestionSpan> mSuggestionSpanComparator;
descriptor: Ljava/util/Comparator;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Comparator<Landroid/text/style/SuggestionSpan;>;
private final java.util.HashMap<android.text.style.SuggestionSpan, java.lang.Integer> mSpansLengths;
descriptor: Ljava/util/HashMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/HashMap<Landroid/text/style/SuggestionSpan;Ljava/lang/Integer;>;
final android.widget.Editor this$0;
descriptor: Landroid/widget/Editor;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private void <init>(android.widget.Editor);
descriptor: (Landroid/widget/Editor;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield android.widget.Editor$SuggestionHelper.this$0:Landroid/widget/Editor;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
2: new android.widget.Editor$SuggestionHelper$SuggestionSpanComparator
dup
aload 0
invokespecial android.widget.Editor$SuggestionHelper$SuggestionSpanComparator.<init>:(Landroid/widget/Editor$SuggestionHelper;)V
putfield android.widget.Editor$SuggestionHelper.mSuggestionSpanComparator:Ljava/util/Comparator;
3: aload 0
4: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield android.widget.Editor$SuggestionHelper.mSpansLengths:Ljava/util/HashMap;
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/widget/Editor$SuggestionHelper;
MethodParameters:
Name Flags
this$0 final
private android.text.style.SuggestionSpan[] getSortedSuggestionSpans();
descriptor: ()[Landroid/text/style/SuggestionSpan;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=10, args_size=1
start local 0 0: aload 0
getfield android.widget.Editor$SuggestionHelper.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
invokevirtual android.widget.TextView.getSelectionStart:()I
istore 1
start local 1 1: aload 0
getfield android.widget.Editor$SuggestionHelper.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
invokevirtual android.widget.TextView.getText:()Ljava/lang/CharSequence;
checkcast android.text.Spannable
astore 2
start local 2 2: aload 2
iload 1
iload 1
ldc Landroid/text/style/SuggestionSpan;
invokeinterface android.text.Spannable.getSpans:(IILjava/lang/Class;)[Ljava/lang/Object;
checkcast android.text.style.SuggestionSpan[]
astore 3
start local 3 3: aload 0
getfield android.widget.Editor$SuggestionHelper.mSpansLengths:Ljava/util/HashMap;
invokevirtual java.util.HashMap.clear:()V
4: aload 3
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 10
StackMap locals: android.widget.Editor$SuggestionHelper int android.text.Spannable android.text.style.SuggestionSpan[] top int int android.text.style.SuggestionSpan[]
StackMap stack:
5: aload 7
iload 5
aaload
astore 4
start local 4 6: aload 2
aload 4
invokeinterface android.text.Spannable.getSpanStart:(Ljava/lang/Object;)I
istore 8
start local 8 7: aload 2
aload 4
invokeinterface android.text.Spannable.getSpanEnd:(Ljava/lang/Object;)I
istore 9
start local 9 8: aload 0
getfield android.widget.Editor$SuggestionHelper.mSpansLengths:Ljava/util/HashMap;
aload 4
iload 9
iload 8
isub
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 9 end local 8 end local 4 9: iinc 5 1
StackMap locals:
StackMap stack:
10: iload 5
iload 6
if_icmplt 5
11: aload 3
aload 0
getfield android.widget.Editor$SuggestionHelper.mSuggestionSpanComparator:Ljava/util/Comparator;
invokestatic java.util.Arrays.sort:([Ljava/lang/Object;Ljava/util/Comparator;)V
12: aload 0
getfield android.widget.Editor$SuggestionHelper.mSpansLengths:Ljava/util/HashMap;
invokevirtual java.util.HashMap.clear:()V
13: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Landroid/widget/Editor$SuggestionHelper;
1 14 1 pos I
2 14 2 spannable Landroid/text/Spannable;
3 14 3 suggestionSpans [Landroid/text/style/SuggestionSpan;
6 9 4 suggestionSpan Landroid/text/style/SuggestionSpan;
7 9 8 start I
8 9 9 end I
public int getSuggestionInfo(android.widget.Editor$SuggestionInfo[], android.widget.Editor$SuggestionSpanInfo);
descriptor: ([Landroid/widget/Editor$SuggestionInfo;Landroid/widget/Editor$SuggestionSpanInfo;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=21, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.widget.Editor$SuggestionHelper.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
invokevirtual android.widget.TextView.getText:()Ljava/lang/CharSequence;
checkcast android.text.Spannable
astore 3
start local 3 1: aload 0
invokevirtual android.widget.Editor$SuggestionHelper.getSortedSuggestionSpans:()[Landroid/text/style/SuggestionSpan;
astore 4
start local 4 2: aload 4
arraylength
istore 5
start local 5 3: iload 5
ifne 4
iconst_0
ireturn
4: StackMap locals: android.text.Spannable android.text.style.SuggestionSpan[] int
StackMap stack:
iconst_0
istore 6
start local 6 5: aload 4
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 43
StackMap locals: android.widget.Editor$SuggestionHelper android.widget.Editor$SuggestionInfo[] android.widget.Editor$SuggestionSpanInfo android.text.Spannable android.text.style.SuggestionSpan[] int int top int int android.text.style.SuggestionSpan[]
StackMap stack:
6: aload 10
iload 8
aaload
astore 7
start local 7 7: aload 3
aload 7
invokeinterface android.text.Spannable.getSpanStart:(Ljava/lang/Object;)I
istore 11
start local 11 8: aload 3
aload 7
invokeinterface android.text.Spannable.getSpanEnd:(Ljava/lang/Object;)I
istore 12
start local 12 9: aload 2
ifnull 14
10: aload 7
invokevirtual android.text.style.SuggestionSpan.getFlags:()I
iconst_2
iand
ifeq 14
11: aload 2
aload 7
putfield android.widget.Editor$SuggestionSpanInfo.mSuggestionSpan:Landroid/text/style/SuggestionSpan;
12: aload 2
iload 11
putfield android.widget.Editor$SuggestionSpanInfo.mSpanStart:I
13: aload 2
iload 12
putfield android.widget.Editor$SuggestionSpanInfo.mSpanEnd:I
14: StackMap locals: android.widget.Editor$SuggestionHelper android.widget.Editor$SuggestionInfo[] android.widget.Editor$SuggestionSpanInfo android.text.Spannable android.text.style.SuggestionSpan[] int int android.text.style.SuggestionSpan int int android.text.style.SuggestionSpan[] int int
StackMap stack:
aload 7
invokevirtual android.text.style.SuggestionSpan.getSuggestions:()[Ljava/lang/String;
astore 13
start local 13 15: aload 13
arraylength
istore 14
start local 14 16: iconst_0
istore 15
start local 15 17: goto 41
18: StackMap locals: java.lang.String[] int int
StackMap stack:
aload 13
iload 15
aaload
astore 16
start local 16 19: iconst_0
istore 17
start local 17 20: goto 30
21: StackMap locals: java.lang.String int
StackMap stack:
aload 1
iload 17
aaload
astore 18
start local 18 22: aload 18
getfield android.widget.Editor$SuggestionInfo.mText:Landroid/text/SpannableStringBuilder;
invokevirtual android.text.SpannableStringBuilder.toString:()Ljava/lang/String;
aload 16
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 29
23: aload 18
getfield android.widget.Editor$SuggestionInfo.mSuggestionSpanInfo:Landroid/widget/Editor$SuggestionSpanInfo;
getfield android.widget.Editor$SuggestionSpanInfo.mSpanStart:I
24: istore 19
start local 19 25: aload 18
getfield android.widget.Editor$SuggestionInfo.mSuggestionSpanInfo:Landroid/widget/Editor$SuggestionSpanInfo;
getfield android.widget.Editor$SuggestionSpanInfo.mSpanEnd:I
26: istore 20
start local 20 27: iload 11
iload 19
if_icmpne 29
iload 12
iload 20
if_icmpne 29
28: goto 40
end local 20 end local 19 end local 18 29: StackMap locals:
StackMap stack:
iinc 17 1
StackMap locals:
StackMap stack:
30: iload 17
iload 6
if_icmplt 21
end local 17 31: aload 1
iload 6
aaload
astore 17
start local 17 32: aload 17
aload 7
iload 11
iload 12
invokevirtual android.widget.Editor$SuggestionInfo.setSpanInfo:(Landroid/text/style/SuggestionSpan;II)V
33: aload 17
iload 15
putfield android.widget.Editor$SuggestionInfo.mSuggestionIndex:I
34: aload 17
iconst_0
putfield android.widget.Editor$SuggestionInfo.mSuggestionStart:I
35: aload 17
aload 16
invokevirtual java.lang.String.length:()I
putfield android.widget.Editor$SuggestionInfo.mSuggestionEnd:I
36: aload 17
getfield android.widget.Editor$SuggestionInfo.mText:Landroid/text/SpannableStringBuilder;
iconst_0
aload 17
getfield android.widget.Editor$SuggestionInfo.mText:Landroid/text/SpannableStringBuilder;
invokevirtual android.text.SpannableStringBuilder.length:()I
aload 16
invokevirtual android.text.SpannableStringBuilder.replace:(IILjava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;
pop
37: iinc 6 1
38: iload 6
aload 1
arraylength
if_icmplt 40
39: iload 6
ireturn
end local 17 end local 16 40: StackMap locals:
StackMap stack:
iinc 15 1
StackMap locals:
StackMap stack:
41: iload 15
iload 14
if_icmplt 18
end local 15 end local 14 end local 13 end local 12 end local 11 end local 7 42: iinc 8 1
StackMap locals: android.widget.Editor$SuggestionHelper android.widget.Editor$SuggestionInfo[] android.widget.Editor$SuggestionSpanInfo android.text.Spannable android.text.style.SuggestionSpan[] int int top int int android.text.style.SuggestionSpan[]
StackMap stack:
43: iload 8
iload 9
if_icmplt 6
44: iload 6
ireturn
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 45 0 this Landroid/widget/Editor$SuggestionHelper;
0 45 1 suggestionInfos [Landroid/widget/Editor$SuggestionInfo;
0 45 2 misspelledSpanInfo Landroid/widget/Editor$SuggestionSpanInfo;
1 45 3 spannable Landroid/text/Spannable;
2 45 4 suggestionSpans [Landroid/text/style/SuggestionSpan;
3 45 5 nbSpans I
5 45 6 numberOfSuggestions I
7 42 7 suggestionSpan Landroid/text/style/SuggestionSpan;
8 42 11 spanStart I
9 42 12 spanEnd I
15 42 13 suggestions [Ljava/lang/String;
16 42 14 nbSuggestions I
17 42 15 suggestionIndex I
19 40 16 suggestion Ljava/lang/String;
20 31 17 i I
22 29 18 otherSuggestionInfo Landroid/widget/Editor$SuggestionInfo;
25 29 19 otherSpanStart I
27 29 20 otherSpanEnd I
32 40 17 suggestionInfo Landroid/widget/Editor$SuggestionInfo;
MethodParameters:
Name Flags
suggestionInfos
misspelledSpanInfo
}
SourceFile: "Editor.java"
NestHost: android.widget.Editor
InnerClasses:
private SuggestionHelper = android.widget.Editor$SuggestionHelper of android.widget.Editor
private SuggestionSpanComparator = android.widget.Editor$SuggestionHelper$SuggestionSpanComparator of android.widget.Editor$SuggestionHelper
private final SuggestionInfo = android.widget.Editor$SuggestionInfo of android.widget.Editor
private final SuggestionSpanInfo = android.widget.Editor$SuggestionSpanInfo of android.widget.Editor