public class android.text.TextLine
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: android.text.TextLine
super_class: java.lang.Object
{
private static final boolean DEBUG;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private android.text.TextPaint mPaint;
descriptor: Landroid/text/TextPaint;
flags: (0x0002) ACC_PRIVATE
private java.lang.CharSequence mText;
descriptor: Ljava/lang/CharSequence;
flags: (0x0002) ACC_PRIVATE
private int mStart;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int mLen;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int mDir;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private android.text.Layout$Directions mDirections;
descriptor: Landroid/text/Layout$Directions;
flags: (0x0002) ACC_PRIVATE
private boolean mHasTabs;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private android.text.Layout$TabStops mTabs;
descriptor: Landroid/text/Layout$TabStops;
flags: (0x0002) ACC_PRIVATE
private char[] mChars;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private boolean mCharsValid;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private android.text.Spanned mSpanned;
descriptor: Landroid/text/Spanned;
flags: (0x0002) ACC_PRIVATE
private android.text.PrecomputedText mComputed;
descriptor: Landroid/text/PrecomputedText;
flags: (0x0002) ACC_PRIVATE
private float mAddedWidth;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private final android.text.TextPaint mWorkPaint;
descriptor: Landroid/text/TextPaint;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final android.text.TextPaint mActivePaint;
descriptor: Landroid/text/TextPaint;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final android.text.SpanSet<android.text.style.MetricAffectingSpan> mMetricAffectingSpanSpanSet;
descriptor: Landroid/text/SpanSet;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Landroid/text/SpanSet<Landroid/text/style/MetricAffectingSpan;>;
private final android.text.SpanSet<android.text.style.CharacterStyle> mCharacterStyleSpanSet;
descriptor: Landroid/text/SpanSet;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Landroid/text/SpanSet<Landroid/text/style/CharacterStyle;>;
private final android.text.SpanSet<android.text.style.ReplacementSpan> mReplacementSpanSpanSet;
descriptor: Landroid/text/SpanSet;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Landroid/text/SpanSet<Landroid/text/style/ReplacementSpan;>;
private final android.text.TextLine$DecorationInfo mDecorationInfo;
descriptor: Landroid/text/TextLine$DecorationInfo;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.ArrayList<android.text.TextLine$DecorationInfo> mDecorations;
descriptor: Ljava/util/ArrayList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/ArrayList<Landroid/text/TextLine$DecorationInfo;>;
private static final android.text.TextLine[] sCached;
descriptor: [Landroid/text/TextLine;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int TAB_INCREMENT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 20
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: iconst_3
anewarray android.text.TextLine
putstatic android.text.TextLine.sCached:[Landroid/text/TextLine;
1: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new android.text.TextPaint
dup
invokespecial android.text.TextPaint.<init>:()V
putfield android.text.TextLine.mWorkPaint:Landroid/text/TextPaint;
2: aload 0
new android.text.TextPaint
dup
invokespecial android.text.TextPaint.<init>:()V
putfield android.text.TextLine.mActivePaint:Landroid/text/TextPaint;
3: aload 0
4: new android.text.SpanSet
dup
ldc Landroid/text/style/MetricAffectingSpan;
invokespecial android.text.SpanSet.<init>:(Ljava/lang/Class;)V
putfield android.text.TextLine.mMetricAffectingSpanSpanSet:Landroid/text/SpanSet;
5: aload 0
6: new android.text.SpanSet
dup
ldc Landroid/text/style/CharacterStyle;
invokespecial android.text.SpanSet.<init>:(Ljava/lang/Class;)V
putfield android.text.TextLine.mCharacterStyleSpanSet:Landroid/text/SpanSet;
7: aload 0
8: new android.text.SpanSet
dup
ldc Landroid/text/style/ReplacementSpan;
invokespecial android.text.SpanSet.<init>:(Ljava/lang/Class;)V
putfield android.text.TextLine.mReplacementSpanSpanSet:Landroid/text/SpanSet;
9: aload 0
new android.text.TextLine$DecorationInfo
dup
invokespecial android.text.TextLine$DecorationInfo.<init>:()V
putfield android.text.TextLine.mDecorationInfo:Landroid/text/TextLine$DecorationInfo;
10: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield android.text.TextLine.mDecorations:Ljava/util/ArrayList;
11: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Landroid/text/TextLine;
public static android.text.TextLine obtain();
descriptor: ()Landroid/text/TextLine;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=0
0: getstatic android.text.TextLine.sCached:[Landroid/text/TextLine;
dup
astore 1
monitorenter
1: getstatic android.text.TextLine.sCached:[Landroid/text/TextLine;
arraylength
istore 2
start local 2 2: goto 8
3: StackMap locals: top android.text.TextLine[] int
StackMap stack:
getstatic android.text.TextLine.sCached:[Landroid/text/TextLine;
iload 2
aaload
ifnull 8
4: getstatic android.text.TextLine.sCached:[Landroid/text/TextLine;
iload 2
aaload
astore 0
start local 0 5: getstatic android.text.TextLine.sCached:[Landroid/text/TextLine;
iload 2
aconst_null
aastore
6: aload 0
aload 1
monitorexit
7: areturn
end local 0 8: StackMap locals:
StackMap stack:
iinc 2 -1
iload 2
ifge 3
end local 2 9: aload 1
monitorexit
10: goto 13
StackMap locals: top android.text.TextLine[]
StackMap stack: java.lang.Throwable
11: aload 1
monitorexit
12: athrow
13: StackMap locals:
StackMap stack:
new android.text.TextLine
dup
invokespecial android.text.TextLine.<init>:()V
astore 0
start local 0 14: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
5 8 0 tl Landroid/text/TextLine;
14 15 0 tl Landroid/text/TextLine;
2 9 2 i I
Exception table:
from to target type
1 7 11 any
8 10 11 any
11 12 11 any
RuntimeInvisibleAnnotations:
com.android.internal.annotations.VisibleForTesting(visibility = com.android.internal.annotations.VisibleForTesting$Visibility.PACKAGE:Lcom/android/internal/annotations/VisibleForTesting$Visibility;)
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
com.android.internal.annotations.VisibleForTesting(visibility = com.android.internal.annotations.VisibleForTesting$Visibility.PACKAGE:Lcom/android/internal/annotations/VisibleForTesting$Visibility;)
public static android.text.TextLine recycle(android.text.TextLine);
descriptor: (Landroid/text/TextLine;)Landroid/text/TextLine;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
aconst_null
putfield android.text.TextLine.mText:Ljava/lang/CharSequence;
1: aload 0
aconst_null
putfield android.text.TextLine.mPaint:Landroid/text/TextPaint;
2: aload 0
aconst_null
putfield android.text.TextLine.mDirections:Landroid/text/Layout$Directions;
3: aload 0
aconst_null
putfield android.text.TextLine.mSpanned:Landroid/text/Spanned;
4: aload 0
aconst_null
putfield android.text.TextLine.mTabs:Landroid/text/Layout$TabStops;
5: aload 0
aconst_null
putfield android.text.TextLine.mChars:[C
6: aload 0
aconst_null
putfield android.text.TextLine.mComputed:Landroid/text/PrecomputedText;
7: aload 0
getfield android.text.TextLine.mMetricAffectingSpanSpanSet:Landroid/text/SpanSet;
invokevirtual android.text.SpanSet.recycle:()V
8: aload 0
getfield android.text.TextLine.mCharacterStyleSpanSet:Landroid/text/SpanSet;
invokevirtual android.text.SpanSet.recycle:()V
9: aload 0
getfield android.text.TextLine.mReplacementSpanSpanSet:Landroid/text/SpanSet;
invokevirtual android.text.SpanSet.recycle:()V
10: getstatic android.text.TextLine.sCached:[Landroid/text/TextLine;
dup
astore 1
monitorenter
11: iconst_0
istore 2
start local 2 12: goto 17
13: StackMap locals: android.text.TextLine[] int
StackMap stack:
getstatic android.text.TextLine.sCached:[Landroid/text/TextLine;
iload 2
aaload
ifnonnull 16
14: getstatic android.text.TextLine.sCached:[Landroid/text/TextLine;
iload 2
aload 0
aastore
15: goto 18
16: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
17: iload 2
getstatic android.text.TextLine.sCached:[Landroid/text/TextLine;
arraylength
if_icmplt 13
end local 2 18: StackMap locals:
StackMap stack:
aload 1
monitorexit
19: goto 22
StackMap locals:
StackMap stack: java.lang.Throwable
20: aload 1
monitorexit
21: athrow
22: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 tl Landroid/text/TextLine;
12 18 2 i I
Exception table:
from to target type
11 19 20 any
20 21 20 any
RuntimeInvisibleAnnotations:
com.android.internal.annotations.VisibleForTesting(visibility = com.android.internal.annotations.VisibleForTesting$Visibility.PACKAGE:Lcom/android/internal/annotations/VisibleForTesting$Visibility;)
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
com.android.internal.annotations.VisibleForTesting(visibility = com.android.internal.annotations.VisibleForTesting$Visibility.PACKAGE:Lcom/android/internal/annotations/VisibleForTesting$Visibility;)
MethodParameters:
Name Flags
tl
public void set(android.text.TextPaint, java.lang.CharSequence, int, int, int, android.text.Layout$Directions, boolean, android.text.Layout$TabStops);
descriptor: (Landroid/text/TextPaint;Ljava/lang/CharSequence;IIILandroid/text/Layout$Directions;ZLandroid/text/Layout$TabStops;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=15, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 0
aload 1
putfield android.text.TextLine.mPaint:Landroid/text/TextPaint;
1: aload 0
aload 2
putfield android.text.TextLine.mText:Ljava/lang/CharSequence;
2: aload 0
iload 3
putfield android.text.TextLine.mStart:I
3: aload 0
iload 4
iload 3
isub
putfield android.text.TextLine.mLen:I
4: aload 0
iload 5
putfield android.text.TextLine.mDir:I
5: aload 0
aload 6
putfield android.text.TextLine.mDirections:Landroid/text/Layout$Directions;
6: aload 0
getfield android.text.TextLine.mDirections:Landroid/text/Layout$Directions;
ifnonnull 8
7: new java.lang.IllegalArgumentException
dup
ldc "Directions cannot be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
aload 0
iload 7
putfield android.text.TextLine.mHasTabs:Z
9: aload 0
aconst_null
putfield android.text.TextLine.mSpanned:Landroid/text/Spanned;
10: iconst_0
istore 9
start local 9 11: aload 2
instanceof android.text.Spanned
ifeq 17
12: aload 0
aload 2
checkcast android.text.Spanned
putfield android.text.TextLine.mSpanned:Landroid/text/Spanned;
13: aload 0
getfield android.text.TextLine.mReplacementSpanSpanSet:Landroid/text/SpanSet;
aload 0
getfield android.text.TextLine.mSpanned:Landroid/text/Spanned;
iload 3
iload 4
invokevirtual android.text.SpanSet.init:(Landroid/text/Spanned;II)V
14: aload 0
getfield android.text.TextLine.mReplacementSpanSpanSet:Landroid/text/SpanSet;
getfield android.text.SpanSet.numberOfSpans:I
ifle 15
iconst_1
goto 16
StackMap locals: int
StackMap stack:
15: iconst_0
StackMap locals:
StackMap stack: int
16: istore 9
17: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield android.text.TextLine.mComputed:Landroid/text/PrecomputedText;
18: aload 2
instanceof android.text.PrecomputedText
ifeq 22
19: aload 0
aload 2
checkcast android.text.PrecomputedText
putfield android.text.TextLine.mComputed:Landroid/text/PrecomputedText;
20: aload 0
getfield android.text.TextLine.mComputed:Landroid/text/PrecomputedText;
invokevirtual android.text.PrecomputedText.getParams:()Landroid/text/PrecomputedText$Params;
invokevirtual android.text.PrecomputedText$Params.getTextPaint:()Landroid/text/TextPaint;
aload 1
invokevirtual android.text.TextPaint.equalsForTextMeasurement:(Landroid/graphics/Paint;)Z
ifne 22
21: aload 0
aconst_null
putfield android.text.TextLine.mComputed:Landroid/text/PrecomputedText;
22: StackMap locals:
StackMap stack:
aload 0
iload 9
ifne 23
iload 7
ifne 23
aload 6
getstatic android.text.Layout.DIRS_ALL_LEFT_TO_RIGHT:Landroid/text/Layout$Directions;
if_acmpne 23
iconst_0
goto 24
StackMap locals:
StackMap stack: android.text.TextLine
23: iconst_1
StackMap locals: android.text.TextLine android.text.TextPaint java.lang.CharSequence int int int android.text.Layout$Directions int android.text.Layout$TabStops int
StackMap stack: android.text.TextLine int
24: putfield android.text.TextLine.mCharsValid:Z
25: aload 0
getfield android.text.TextLine.mCharsValid:Z
ifeq 44
26: aload 0
getfield android.text.TextLine.mChars:[C
ifnull 27
aload 0
getfield android.text.TextLine.mChars:[C
arraylength
aload 0
getfield android.text.TextLine.mLen:I
if_icmpge 28
27: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield android.text.TextLine.mLen:I
invokestatic com.android.internal.util.ArrayUtils.newUnpaddedCharArray:(I)[C
putfield android.text.TextLine.mChars:[C
28: StackMap locals:
StackMap stack:
aload 2
iload 3
iload 4
aload 0
getfield android.text.TextLine.mChars:[C
iconst_0
invokestatic android.text.TextUtils.getChars:(Ljava/lang/CharSequence;II[CI)V
29: iload 9
ifeq 44
30: aload 0
getfield android.text.TextLine.mChars:[C
astore 10
start local 10 31: iload 3
istore 11
start local 11 32: goto 43
33: StackMap locals: char[] int
StackMap stack:
aload 0
getfield android.text.TextLine.mReplacementSpanSpanSet:Landroid/text/SpanSet;
iload 11
iload 4
invokevirtual android.text.SpanSet.getNextTransition:(II)I
istore 12
start local 12 34: aload 0
getfield android.text.TextLine.mReplacementSpanSpanSet:Landroid/text/SpanSet;
iload 11
iload 12
invokevirtual android.text.SpanSet.hasSpansIntersecting:(II)Z
ifeq 42
35: aload 10
iload 11
iload 3
isub
ldc 65532
castore
36: iload 11
iload 3
isub
iconst_1
iadd
istore 13
start local 13 37: iload 12
iload 3
isub
istore 14
start local 14 38: goto 41
39: StackMap locals: int int int
StackMap stack:
aload 10
iload 13
ldc 65279
castore
40: iinc 13 1
StackMap locals:
StackMap stack:
41: iload 13
iload 14
if_icmplt 39
end local 14 end local 13 42: StackMap locals:
StackMap stack:
iload 12
istore 11
end local 12 StackMap locals:
StackMap stack:
43: iload 11
iload 4
if_icmplt 33
end local 11 end local 10 44: StackMap locals:
StackMap stack:
aload 0
aload 8
putfield android.text.TextLine.mTabs:Landroid/text/Layout$TabStops;
45: aload 0
fconst_0
putfield android.text.TextLine.mAddedWidth:F
46: 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 47 0 this Landroid/text/TextLine;
0 47 1 paint Landroid/text/TextPaint;
0 47 2 text Ljava/lang/CharSequence;
0 47 3 start I
0 47 4 limit I
0 47 5 dir I
0 47 6 directions Landroid/text/Layout$Directions;
0 47 7 hasTabs Z
0 47 8 tabStops Landroid/text/Layout$TabStops;
11 47 9 hasReplacement Z
31 44 10 chars [C
32 44 11 i I
34 43 12 inext I
37 42 13 j I
38 42 14 e I
RuntimeInvisibleAnnotations:
com.android.internal.annotations.VisibleForTesting(visibility = com.android.internal.annotations.VisibleForTesting$Visibility.PACKAGE:Lcom/android/internal/annotations/VisibleForTesting$Visibility;)
MethodParameters:
Name Flags
paint
text
start
limit
dir
directions
hasTabs
tabStops
public void justify(float);
descriptor: (F)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield android.text.TextLine.mLen:I
istore 2
start local 2 1: goto 3
2: StackMap locals: int
StackMap stack:
iinc 2 -1
3: StackMap locals:
StackMap stack:
iload 2
ifle 4
aload 0
getfield android.text.TextLine.mText:Ljava/lang/CharSequence;
aload 0
getfield android.text.TextLine.mStart:I
iload 2
iadd
iconst_1
isub
invokeinterface java.lang.CharSequence.charAt:(I)C
invokestatic android.text.TextLine.isLineEndSpace:(C)Z
ifne 2
4: StackMap locals:
StackMap stack:
aload 0
iconst_0
iload 2
invokevirtual android.text.TextLine.countStretchableSpaces:(II)I
istore 3
start local 3 5: iload 3
ifne 7
6: return
7: StackMap locals: int
StackMap stack:
aload 0
iload 2
iconst_0
aconst_null
invokevirtual android.text.TextLine.measure:(IZLandroid/graphics/Paint$FontMetricsInt;)F
invokestatic java.lang.Math.abs:(F)F
fstore 4
start local 4 8: aload 0
fload 1
fload 4
fsub
iload 3
i2f
fdiv
putfield android.text.TextLine.mAddedWidth:F
9: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Landroid/text/TextLine;
0 10 1 justifyWidth F
1 10 2 end I
5 10 3 spaces I
8 10 4 width F
RuntimeInvisibleAnnotations:
com.android.internal.annotations.VisibleForTesting(visibility = com.android.internal.annotations.VisibleForTesting$Visibility.PACKAGE:Lcom/android/internal/annotations/VisibleForTesting$Visibility;)
MethodParameters:
Name Flags
justifyWidth
void draw(android.graphics.Canvas, float, int, int, int);
descriptor: (Landroid/graphics/Canvas;FIII)V
flags: (0x0000)
Code:
stack=12, locals=16, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getfield android.text.TextLine.mHasTabs:Z
ifne 7
1: aload 0
getfield android.text.TextLine.mDirections:Landroid/text/Layout$Directions;
getstatic android.text.Layout.DIRS_ALL_LEFT_TO_RIGHT:Landroid/text/Layout$Directions;
if_acmpne 4
2: aload 0
aload 1
iconst_0
aload 0
getfield android.text.TextLine.mLen:I
iconst_0
fload 2
iload 3
iload 4
iload 5
iconst_0
invokevirtual android.text.TextLine.drawRun:(Landroid/graphics/Canvas;IIZFIIIZ)F
pop
3: return
4: StackMap locals:
StackMap stack:
aload 0
getfield android.text.TextLine.mDirections:Landroid/text/Layout$Directions;
getstatic android.text.Layout.DIRS_ALL_RIGHT_TO_LEFT:Landroid/text/Layout$Directions;
if_acmpne 7
5: aload 0
aload 1
iconst_0
aload 0
getfield android.text.TextLine.mLen:I
iconst_1
fload 2
iload 3
iload 4
iload 5
iconst_0
invokevirtual android.text.TextLine.drawRun:(Landroid/graphics/Canvas;IIZFIIIZ)F
pop
6: return
7: StackMap locals:
StackMap stack:
fconst_0
fstore 6
start local 6 8: aload 0
getfield android.text.TextLine.mDirections:Landroid/text/Layout$Directions;
getfield android.text.Layout$Directions.mDirections:[I
astore 7
start local 7 9: aload 7
arraylength
iconst_2
isub
istore 8
start local 8 10: iconst_0
istore 9
start local 9 11: goto 43
12: StackMap locals: android.text.TextLine android.graphics.Canvas float int int int float int[] int int
StackMap stack:
aload 7
iload 9
iaload
istore 10
start local 10 13: iload 10
aload 7
iload 9
iconst_1
iadd
iaload
ldc 67108863
iand
iadd
istore 11
start local 11 14: iload 11
aload 0
getfield android.text.TextLine.mLen:I
if_icmple 16
15: aload 0
getfield android.text.TextLine.mLen:I
istore 11
16: StackMap locals: int int
StackMap stack:
aload 7
iload 9
iconst_1
iadd
iaload
ldc 67108864
iand
ifeq 17
iconst_1
goto 18
StackMap locals:
StackMap stack:
17: iconst_0
StackMap locals:
StackMap stack: int
18: istore 12
start local 12 19: iload 10
istore 13
start local 13 20: aload 0
getfield android.text.TextLine.mHasTabs:Z
ifeq 21
iload 10
goto 22
StackMap locals: int int
StackMap stack:
21: iload 11
StackMap locals:
StackMap stack: int
22: istore 14
start local 14 23: goto 41
24: StackMap locals: int
StackMap stack:
iconst_0
istore 15
start local 15 25: aload 0
getfield android.text.TextLine.mHasTabs:Z
ifeq 32
iload 14
iload 11
if_icmpge 32
26: aload 0
getfield android.text.TextLine.mChars:[C
iload 14
caload
istore 15
27: iload 15
ldc 55296
if_icmplt 32
iload 15
ldc 56320
if_icmpge 32
iload 14
iconst_1
iadd
iload 11
if_icmpge 32
28: aload 0
getfield android.text.TextLine.mChars:[C
iload 14
invokestatic java.lang.Character.codePointAt:([CI)I
istore 15
29: iload 15
ldc 65535
if_icmple 32
30: iinc 14 1
31: goto 40
32: StackMap locals: int
StackMap stack:
iload 14
iload 11
if_icmpeq 33
iload 15
bipush 9
if_icmpne 40
33: StackMap locals:
StackMap stack:
fload 6
aload 0
aload 1
iload 13
iload 14
iload 12
fload 2
fload 6
fadd
iload 3
iload 4
iload 5
34: iload 9
iload 8
if_icmpne 35
iload 14
aload 0
getfield android.text.TextLine.mLen:I
if_icmpne 35
iconst_0
goto 36
StackMap locals: android.text.TextLine android.graphics.Canvas float int int int float int[] int int int int int int int int
StackMap stack: float android.text.TextLine android.graphics.Canvas int int int float int int int
35: iconst_1
36: StackMap locals: android.text.TextLine android.graphics.Canvas float int int int float int[] int int int int int int int int
StackMap stack: float android.text.TextLine android.graphics.Canvas int int int float int int int int
invokevirtual android.text.TextLine.drawRun:(Landroid/graphics/Canvas;IIZFIIIZ)F
fadd
fstore 6
37: iload 15
bipush 9
if_icmpne 39
38: aload 0
getfield android.text.TextLine.mDir:I
i2f
aload 0
fload 6
aload 0
getfield android.text.TextLine.mDir:I
i2f
fmul
invokevirtual android.text.TextLine.nextTab:(F)F
fmul
fstore 6
39: StackMap locals:
StackMap stack:
iload 14
iconst_1
iadd
istore 13
end local 15 40: StackMap locals:
StackMap stack:
iinc 14 1
StackMap locals:
StackMap stack:
41: iload 14
iload 11
if_icmple 24
end local 14 end local 13 end local 12 end local 11 end local 10 42: iinc 9 2
StackMap locals: android.text.TextLine android.graphics.Canvas float int int int float int[] int int
StackMap stack:
43: iload 9
aload 7
arraylength
if_icmplt 12
end local 9 44: return
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 45 0 this Landroid/text/TextLine;
0 45 1 c Landroid/graphics/Canvas;
0 45 2 x F
0 45 3 top I
0 45 4 y I
0 45 5 bottom I
8 45 6 h F
9 45 7 runs [I
10 45 8 lastRunIndex I
11 44 9 i I
13 42 10 runStart I
14 42 11 runLimit I
19 42 12 runIsRtl Z
20 42 13 segstart I
23 42 14 j I
25 40 15 codept I
MethodParameters:
Name Flags
c
x
top
y
bottom
public float metrics(android.graphics.Paint$FontMetricsInt);
descriptor: (Landroid/graphics/Paint$FontMetricsInt;)F
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield android.text.TextLine.mLen:I
iconst_0
aload 1
invokevirtual android.text.TextLine.measure:(IZLandroid/graphics/Paint$FontMetricsInt;)F
freturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/text/TextLine;
0 1 1 fmi Landroid/graphics/Paint$FontMetricsInt;
RuntimeInvisibleAnnotations:
com.android.internal.annotations.VisibleForTesting(visibility = com.android.internal.annotations.VisibleForTesting$Visibility.PACKAGE:Lcom/android/internal/annotations/VisibleForTesting$Visibility;)
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
com.android.internal.annotations.VisibleForTesting(visibility = com.android.internal.annotations.VisibleForTesting$Visibility.PACKAGE:Lcom/android/internal/annotations/VisibleForTesting$Visibility;)
MethodParameters:
Name Flags
fmi
float measure(int, boolean, android.graphics.Paint$FontMetricsInt);
descriptor: (IZLandroid/graphics/Paint$FontMetricsInt;)F
flags: (0x0000)
Code:
stack=7, locals=18, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
ifeq 1
iload 1
iconst_1
isub
goto 2
StackMap locals:
StackMap stack:
1: iload 1
StackMap locals:
StackMap stack: int
2: istore 4
start local 4 3: iload 4
ifge 5
4: fconst_0
freturn
5: StackMap locals: int
StackMap stack:
fconst_0
fstore 5
start local 5 6: aload 0
getfield android.text.TextLine.mHasTabs:Z
ifne 11
7: aload 0
getfield android.text.TextLine.mDirections:Landroid/text/Layout$Directions;
getstatic android.text.Layout.DIRS_ALL_LEFT_TO_RIGHT:Landroid/text/Layout$Directions;
if_acmpne 9
8: aload 0
iconst_0
iload 1
aload 0
getfield android.text.TextLine.mLen:I
iconst_0
aload 3
invokevirtual android.text.TextLine.measureRun:(IIIZLandroid/graphics/Paint$FontMetricsInt;)F
freturn
9: StackMap locals: float
StackMap stack:
aload 0
getfield android.text.TextLine.mDirections:Landroid/text/Layout$Directions;
getstatic android.text.Layout.DIRS_ALL_RIGHT_TO_LEFT:Landroid/text/Layout$Directions;
if_acmpne 11
10: aload 0
iconst_0
iload 1
aload 0
getfield android.text.TextLine.mLen:I
iconst_1
aload 3
invokevirtual android.text.TextLine.measureRun:(IIIZLandroid/graphics/Paint$FontMetricsInt;)F
freturn
11: StackMap locals:
StackMap stack:
aload 0
getfield android.text.TextLine.mChars:[C
astore 6
start local 6 12: aload 0
getfield android.text.TextLine.mDirections:Landroid/text/Layout$Directions;
getfield android.text.Layout$Directions.mDirections:[I
astore 7
start local 7 13: iconst_0
istore 8
start local 8 14: goto 62
15: StackMap locals: char[] int[] int
StackMap stack:
aload 7
iload 8
iaload
istore 9
start local 9 16: iload 9
aload 7
iload 8
iconst_1
iadd
iaload
ldc 67108863
iand
iadd
istore 10
start local 10 17: iload 10
aload 0
getfield android.text.TextLine.mLen:I
if_icmple 19
18: aload 0
getfield android.text.TextLine.mLen:I
istore 10
19: StackMap locals: int int
StackMap stack:
aload 7
iload 8
iconst_1
iadd
iaload
ldc 67108864
iand
ifeq 20
iconst_1
goto 21
StackMap locals:
StackMap stack:
20: iconst_0
StackMap locals:
StackMap stack: int
21: istore 11
start local 11 22: iload 9
istore 12
start local 12 23: aload 0
getfield android.text.TextLine.mHasTabs:Z
ifeq 24
iload 9
goto 25
StackMap locals: int int
StackMap stack:
24: iload 10
StackMap locals:
StackMap stack: int
25: istore 13
start local 13 26: goto 60
27: StackMap locals: int
StackMap stack:
iconst_0
istore 14
start local 14 28: aload 0
getfield android.text.TextLine.mHasTabs:Z
ifeq 35
iload 13
iload 10
if_icmpge 35
29: aload 6
iload 13
caload
istore 14
30: iload 14
ldc 55296
if_icmplt 35
iload 14
ldc 56320
if_icmpge 35
iload 13
iconst_1
iadd
iload 10
if_icmpge 35
31: aload 6
iload 13
invokestatic java.lang.Character.codePointAt:([CI)I
istore 14
32: iload 14
ldc 65535
if_icmple 35
33: iinc 13 1
34: goto 59
35: StackMap locals: int
StackMap stack:
iload 13
iload 10
if_icmpeq 36
iload 14
bipush 9
if_icmpne 59
36: StackMap locals:
StackMap stack:
iload 4
iload 12
if_icmplt 37
iload 4
iload 13
if_icmpge 37
iconst_1
goto 38
StackMap locals:
StackMap stack:
37: iconst_0
StackMap locals:
StackMap stack: int
38: istore 15
start local 15 39: aload 0
getfield android.text.TextLine.mDir:I
iconst_m1
if_icmpne 40
iconst_1
goto 41
StackMap locals: int
StackMap stack:
40: iconst_0
StackMap locals:
StackMap stack: int
41: iload 11
if_icmpne 42
iconst_1
goto 43
StackMap locals:
StackMap stack:
42: iconst_0
StackMap locals:
StackMap stack: int
43: istore 16
start local 16 44: iload 15
ifeq 46
iload 16
ifeq 46
45: fload 5
aload 0
iload 12
iload 1
iload 13
iload 11
aload 3
invokevirtual android.text.TextLine.measureRun:(IIIZLandroid/graphics/Paint$FontMetricsInt;)F
fadd
freturn
46: StackMap locals: int
StackMap stack:
aload 0
iload 12
iload 13
iload 13
iload 11
aload 3
invokevirtual android.text.TextLine.measureRun:(IIIZLandroid/graphics/Paint$FontMetricsInt;)F
fstore 17
start local 17 47: fload 5
iload 16
ifeq 48
fload 17
goto 49
StackMap locals: android.text.TextLine int int android.graphics.Paint$FontMetricsInt int float char[] int[] int int int int int int int int int float
StackMap stack: float
48: fload 17
fneg
StackMap locals: android.text.TextLine int int android.graphics.Paint$FontMetricsInt int float char[] int[] int int int int int int int int int float
StackMap stack: float float
49: fadd
fstore 5
50: iload 15
ifeq 52
51: fload 5
aload 0
iload 12
iload 1
iload 13
iload 11
aconst_null
invokevirtual android.text.TextLine.measureRun:(IIIZLandroid/graphics/Paint$FontMetricsInt;)F
fadd
freturn
52: StackMap locals:
StackMap stack:
iload 14
bipush 9
if_icmpne 58
53: iload 1
iload 13
if_icmpne 55
54: fload 5
freturn
55: StackMap locals:
StackMap stack:
aload 0
getfield android.text.TextLine.mDir:I
i2f
aload 0
fload 5
aload 0
getfield android.text.TextLine.mDir:I
i2f
fmul
invokevirtual android.text.TextLine.nextTab:(F)F
fmul
fstore 5
56: iload 4
iload 13
if_icmpne 58
57: fload 5
freturn
58: StackMap locals:
StackMap stack:
iload 13
iconst_1
iadd
istore 12
end local 17 end local 16 end local 15 end local 14 59: StackMap locals: android.text.TextLine int int android.graphics.Paint$FontMetricsInt int float char[] int[] int int int int int int
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
60: iload 13
iload 10
if_icmple 27
end local 13 end local 12 end local 11 end local 10 end local 9 61: iinc 8 2
StackMap locals: android.text.TextLine int int android.graphics.Paint$FontMetricsInt int float char[] int[] int
StackMap stack:
62: iload 8
aload 7
arraylength
if_icmplt 15
end local 8 63: fload 5
freturn
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 64 0 this Landroid/text/TextLine;
0 64 1 offset I
0 64 2 trailing Z
0 64 3 fmi Landroid/graphics/Paint$FontMetricsInt;
3 64 4 target I
6 64 5 h F
12 64 6 chars [C
13 64 7 runs [I
14 63 8 i I
16 61 9 runStart I
17 61 10 runLimit I
22 61 11 runIsRtl Z
23 61 12 segstart I
26 61 13 j I
28 59 14 codept I
39 59 15 inSegment Z
44 59 16 advance Z
47 59 17 w F
MethodParameters:
Name Flags
offset
trailing
fmi
float[] measureAllOffsets(boolean[], android.graphics.Paint$FontMetricsInt);
descriptor: ([ZLandroid/graphics/Paint$FontMetricsInt;)[F
flags: (0x0000)
Code:
stack=9, locals=21, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.text.TextLine.mLen:I
iconst_1
iadd
newarray 6
astore 3
start local 3 1: aload 0
getfield android.text.TextLine.mLen:I
iconst_1
iadd
newarray 10
astore 4
start local 4 2: iconst_0
istore 5
start local 5 3: goto 8
4: StackMap locals: float[] int[] int
StackMap stack:
aload 4
iload 5
aload 1
iload 5
baload
ifeq 5
iload 5
iconst_1
isub
goto 6
StackMap locals: android.text.TextLine boolean[] android.graphics.Paint$FontMetricsInt float[] int[] int
StackMap stack: int[] int
5: iload 5
StackMap locals: android.text.TextLine boolean[] android.graphics.Paint$FontMetricsInt float[] int[] int
StackMap stack: int[] int int
6: iastore
7: iinc 5 1
StackMap locals:
StackMap stack:
8: iload 5
aload 4
arraylength
if_icmplt 4
end local 5 9: aload 4
iconst_0
iaload
ifge 11
10: aload 3
iconst_0
fconst_0
fastore
11: StackMap locals:
StackMap stack:
fconst_0
fstore 5
start local 5 12: aload 0
getfield android.text.TextLine.mHasTabs:Z
ifne 27
13: aload 0
getfield android.text.TextLine.mDirections:Landroid/text/Layout$Directions;
getstatic android.text.Layout.DIRS_ALL_LEFT_TO_RIGHT:Landroid/text/Layout$Directions;
if_acmpne 20
14: iconst_0
istore 6
start local 6 15: goto 18
16: StackMap locals: float int
StackMap stack:
aload 3
iload 6
aload 0
iconst_0
iload 6
aload 0
getfield android.text.TextLine.mLen:I
iconst_0
aload 2
invokevirtual android.text.TextLine.measureRun:(IIIZLandroid/graphics/Paint$FontMetricsInt;)F
fastore
17: iinc 6 1
StackMap locals:
StackMap stack:
18: iload 6
aload 0
getfield android.text.TextLine.mLen:I
if_icmple 16
end local 6 19: aload 3
areturn
20: StackMap locals:
StackMap stack:
aload 0
getfield android.text.TextLine.mDirections:Landroid/text/Layout$Directions;
getstatic android.text.Layout.DIRS_ALL_RIGHT_TO_LEFT:Landroid/text/Layout$Directions;
if_acmpne 27
21: iconst_0
istore 6
start local 6 22: goto 25
23: StackMap locals: int
StackMap stack:
aload 3
iload 6
aload 0
iconst_0
iload 6
aload 0
getfield android.text.TextLine.mLen:I
iconst_1
aload 2
invokevirtual android.text.TextLine.measureRun:(IIIZLandroid/graphics/Paint$FontMetricsInt;)F
fastore
24: iinc 6 1
StackMap locals:
StackMap stack:
25: iload 6
aload 0
getfield android.text.TextLine.mLen:I
if_icmple 23
end local 6 26: aload 3
areturn
27: StackMap locals:
StackMap stack:
aload 0
getfield android.text.TextLine.mChars:[C
astore 6
start local 6 28: aload 0
getfield android.text.TextLine.mDirections:Landroid/text/Layout$Directions;
getfield android.text.Layout$Directions.mDirections:[I
astore 7
start local 7 29: iconst_0
istore 8
start local 8 30: goto 86
31: StackMap locals: char[] int[] int
StackMap stack:
aload 7
iload 8
iaload
istore 9
start local 9 32: iload 9
aload 7
iload 8
iconst_1
iadd
iaload
ldc 67108863
iand
iadd
istore 10
start local 10 33: iload 10
aload 0
getfield android.text.TextLine.mLen:I
if_icmple 35
34: aload 0
getfield android.text.TextLine.mLen:I
istore 10
35: StackMap locals: int int
StackMap stack:
aload 7
iload 8
iconst_1
iadd
iaload
ldc 67108864
iand
ifeq 36
iconst_1
goto 37
StackMap locals:
StackMap stack:
36: iconst_0
StackMap locals:
StackMap stack: int
37: istore 11
start local 11 38: iload 9
istore 12
start local 12 39: aload 0
getfield android.text.TextLine.mHasTabs:Z
ifeq 40
iload 9
goto 41
StackMap locals: int int
StackMap stack:
40: iload 10
StackMap locals:
StackMap stack: int
41: istore 13
start local 13 42: goto 84
43: StackMap locals: int
StackMap stack:
iconst_0
istore 14
start local 14 44: aload 0
getfield android.text.TextLine.mHasTabs:Z
ifeq 51
iload 13
iload 10
if_icmpge 51
45: aload 6
iload 13
caload
istore 14
46: iload 14
ldc 55296
if_icmplt 51
iload 14
ldc 56320
if_icmpge 51
iload 13
iconst_1
iadd
iload 10
if_icmpge 51
47: aload 6
iload 13
invokestatic java.lang.Character.codePointAt:([CI)I
istore 14
48: iload 14
ldc 65535
if_icmple 51
49: iinc 13 1
50: goto 83
51: StackMap locals: int
StackMap stack:
iload 13
iload 10
if_icmpeq 52
iload 14
bipush 9
if_icmpne 83
52: StackMap locals:
StackMap stack:
fload 5
fstore 15
start local 15 53: aload 0
getfield android.text.TextLine.mDir:I
iconst_m1
if_icmpne 54
iconst_1
goto 55
StackMap locals: float
StackMap stack:
54: iconst_0
StackMap locals:
StackMap stack: int
55: iload 11
if_icmpne 56
iconst_1
goto 57
StackMap locals:
StackMap stack:
56: iconst_0
StackMap locals:
StackMap stack: int
57: istore 16
start local 16 58: aload 0
iload 12
iload 13
iload 13
iload 11
aload 2
invokevirtual android.text.TextLine.measureRun:(IIIZLandroid/graphics/Paint$FontMetricsInt;)F
fstore 17
start local 17 59: fload 5
iload 16
ifeq 60
fload 17
goto 61
StackMap locals: android.text.TextLine boolean[] android.graphics.Paint$FontMetricsInt float[] int[] float char[] int[] int int int int int int int float int float
StackMap stack: float
60: fload 17
fneg
StackMap locals: android.text.TextLine boolean[] android.graphics.Paint$FontMetricsInt float[] int[] float char[] int[] int int int int int int int float int float
StackMap stack: float float
61: fadd
fstore 5
62: iload 16
ifeq 63
fload 15
goto 64
StackMap locals:
StackMap stack:
63: fload 5
StackMap locals:
StackMap stack: float
64: fstore 18
start local 18 65: iload 16
ifeq 66
aload 2
goto 67
StackMap locals: float
StackMap stack:
66: aconst_null
StackMap locals:
StackMap stack: android.graphics.Paint$FontMetricsInt
67: astore 19
start local 19 68: iload 12
istore 20
start local 20 69: goto 75
70: StackMap locals: android.graphics.Paint$FontMetricsInt int
StackMap stack:
aload 4
iload 20
iaload
iload 12
if_icmplt 74
aload 4
iload 20
iaload
iload 13
if_icmpge 74
71: aload 3
iload 20
72: fload 18
aload 0
iload 12
iload 20
iload 13
iload 11
aload 19
invokevirtual android.text.TextLine.measureRun:(IIIZLandroid/graphics/Paint$FontMetricsInt;)F
fadd
73: fastore
74: StackMap locals:
StackMap stack:
iinc 20 1
StackMap locals:
StackMap stack:
75: iload 20
iload 13
if_icmpgt 76
iload 20
aload 0
getfield android.text.TextLine.mLen:I
if_icmple 70
end local 20 76: StackMap locals:
StackMap stack:
iload 14
bipush 9
if_icmpne 82
77: aload 4
iload 13
iaload
iload 13
if_icmpne 79
78: aload 3
iload 13
fload 5
fastore
79: StackMap locals:
StackMap stack:
aload 0
getfield android.text.TextLine.mDir:I
i2f
aload 0
fload 5
aload 0
getfield android.text.TextLine.mDir:I
i2f
fmul
invokevirtual android.text.TextLine.nextTab:(F)F
fmul
fstore 5
80: aload 4
iload 13
iconst_1
iadd
iaload
iload 13
if_icmpne 82
81: aload 3
iload 13
iconst_1
iadd
fload 5
fastore
82: StackMap locals:
StackMap stack:
iload 13
iconst_1
iadd
istore 12
end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 83: StackMap locals: android.text.TextLine boolean[] android.graphics.Paint$FontMetricsInt float[] int[] float char[] int[] int int int int int int
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
84: iload 13
iload 10
if_icmple 43
end local 13 end local 12 end local 11 end local 10 end local 9 85: iinc 8 2
StackMap locals: android.text.TextLine boolean[] android.graphics.Paint$FontMetricsInt float[] int[] float char[] int[] int
StackMap stack:
86: iload 8
aload 7
arraylength
if_icmplt 31
end local 8 87: aload 4
aload 0
getfield android.text.TextLine.mLen:I
iaload
aload 0
getfield android.text.TextLine.mLen:I
if_icmpne 89
88: aload 3
aload 0
getfield android.text.TextLine.mLen:I
fload 5
fastore
89: StackMap locals:
StackMap stack:
aload 3
areturn
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 90 0 this Landroid/text/TextLine;
0 90 1 trailing [Z
0 90 2 fmi Landroid/graphics/Paint$FontMetricsInt;
1 90 3 measurement [F
2 90 4 target [I
3 9 5 offset I
12 90 5 h F
15 19 6 offset I
22 26 6 offset I
28 90 6 chars [C
29 90 7 runs [I
30 87 8 i I
32 85 9 runStart I
33 85 10 runLimit I
38 85 11 runIsRtl Z
39 85 12 segstart I
42 85 13 j I
44 83 14 codept I
53 83 15 oldh F
58 83 16 advance Z
59 83 17 w F
65 83 18 baseh F
68 83 19 crtfmi Landroid/graphics/Paint$FontMetricsInt;
69 76 20 offset I
MethodParameters:
Name Flags
trailing
fmi
private float drawRun(android.graphics.Canvas, int, int, boolean, float, int, int, int, boolean);
descriptor: (Landroid/graphics/Canvas;IIZFIIIZ)F
flags: (0x0002) ACC_PRIVATE
Code:
stack=12, locals=11, args_size=10
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 0: aload 0
getfield android.text.TextLine.mDir:I
iconst_1
if_icmpne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: iload 4
if_icmpne 8
3: aload 0
iload 2
iload 3
iload 3
iload 4
aconst_null
invokevirtual android.text.TextLine.measureRun:(IIIZLandroid/graphics/Paint$FontMetricsInt;)F
fneg
fstore 10
start local 10 4: aload 0
iload 2
iload 3
iload 3
iload 4
aload 1
fload 5
fload 10
fadd
iload 6
5: iload 7
iload 8
aconst_null
iconst_0
6: invokevirtual android.text.TextLine.handleRun:(IIIZLandroid/graphics/Canvas;FIIILandroid/graphics/Paint$FontMetricsInt;Z)F
pop
7: fload 10
freturn
end local 10 8: StackMap locals:
StackMap stack:
aload 0
iload 2
iload 3
iload 3
iload 4
aload 1
fload 5
iload 6
9: iload 7
iload 8
aconst_null
iload 9
10: invokevirtual android.text.TextLine.handleRun:(IIIZLandroid/graphics/Canvas;FIIILandroid/graphics/Paint$FontMetricsInt;Z)F
freturn
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 11 0 this Landroid/text/TextLine;
0 11 1 c Landroid/graphics/Canvas;
0 11 2 start I
0 11 3 limit I
0 11 4 runIsRtl Z
0 11 5 x F
0 11 6 top I
0 11 7 y I
0 11 8 bottom I
0 11 9 needWidth Z
4 8 10 w F
MethodParameters:
Name Flags
c
start
limit
runIsRtl
x
top
y
bottom
needWidth
private float measureRun(int, int, int, boolean, android.graphics.Paint$FontMetricsInt);
descriptor: (IIIZLandroid/graphics/Paint$FontMetricsInt;)F
flags: (0x0002) ACC_PRIVATE
Code:
stack=12, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
iload 1
iload 2
iload 3
iload 4
aconst_null
fconst_0
iconst_0
iconst_0
iconst_0
aload 5
iconst_1
invokevirtual android.text.TextLine.handleRun:(IIIZLandroid/graphics/Canvas;FIIILandroid/graphics/Paint$FontMetricsInt;Z)F
freturn
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 1 0 this Landroid/text/TextLine;
0 1 1 start I
0 1 2 offset I
0 1 3 limit I
0 1 4 runIsRtl Z
0 1 5 fmi Landroid/graphics/Paint$FontMetricsInt;
MethodParameters:
Name Flags
start
offset
limit
runIsRtl
fmi
int getOffsetToLeftRightOf(int, boolean);
descriptor: (IZ)I
flags: (0x0000)
Code:
stack=7, locals=19, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: aload 0
getfield android.text.TextLine.mLen:I
istore 4
start local 4 2: aload 0
getfield android.text.TextLine.mDir:I
iconst_m1
if_icmpne 3
iconst_1
goto 4
StackMap locals: int int
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: istore 5
start local 5 5: aload 0
getfield android.text.TextLine.mDirections:Landroid/text/Layout$Directions;
getfield android.text.Layout$Directions.mDirections:[I
astore 6
start local 6 6: iconst_0
istore 8
start local 8 7: iload 3
istore 9
start local 9 8: iload 4
istore 10
start local 10 9: iconst_m1
istore 11
start local 11 10: iconst_0
istore 12
start local 12 11: iload 1
iload 3
if_icmpne 14
12: bipush -2
istore 7
start local 7 13: goto 72
end local 7 StackMap locals: android.text.TextLine int int int int int int[] top int int int int int
StackMap stack:
14: iload 1
iload 4
if_icmpne 17
15: aload 6
arraylength
istore 7
start local 7 16: goto 72
end local 7 17: StackMap locals:
StackMap stack:
iconst_0
istore 7
start local 7 18: goto 54
19: StackMap locals: android.text.TextLine int int int int int int[] int int int int int int
StackMap stack:
iload 3
aload 6
iload 7
iaload
iadd
istore 9
20: iload 1
iload 9
if_icmplt 53
21: iload 9
aload 6
iload 7
iconst_1
iadd
iaload
ldc 67108863
iand
iadd
istore 10
22: iload 10
iload 4
if_icmple 24
23: iload 4
istore 10
24: StackMap locals:
StackMap stack:
iload 1
iload 10
if_icmpge 53
25: aload 6
iload 7
iconst_1
iadd
iaload
bipush 26
iushr
26: bipush 63
27: iand
istore 8
28: iload 1
iload 9
if_icmpne 55
29: iload 1
iconst_1
isub
istore 17
start local 17 30: iconst_0
istore 13
start local 13 31: goto 51
32: StackMap locals: android.text.TextLine int int int int int int[] int int int int int int int top top top int
StackMap stack:
iload 3
aload 6
iload 13
iaload
iadd
istore 15
start local 15 33: iload 17
iload 15
if_icmplt 50
34: iload 15
35: aload 6
iload 13
iconst_1
iadd
iaload
ldc 67108863
iand
36: iadd
istore 16
start local 16 37: iload 16
iload 4
if_icmple 39
38: iload 4
istore 16
39: StackMap locals: android.text.TextLine int int int int int int[] int int int int int int int top int int int
StackMap stack:
iload 17
iload 16
if_icmpge 50
40: aload 6
iload 13
iconst_1
iadd
iaload
bipush 26
iushr
41: bipush 63
42: iand
istore 14
start local 14 43: iload 14
iload 8
if_icmpge 50
44: iload 13
istore 7
45: iload 14
istore 8
46: iload 15
istore 9
47: iload 16
istore 10
48: iconst_1
istore 12
49: goto 55
end local 16 end local 14 50: StackMap locals: android.text.TextLine int int int int int int[] int int int int int int int top int top int
StackMap stack:
iinc 13 2
end local 15 StackMap locals: android.text.TextLine int int int int int int[] int int int int int int int top top top int
StackMap stack:
51: iload 13
aload 6
arraylength
if_icmplt 32
end local 17 end local 13 52: goto 55
53: StackMap locals: android.text.TextLine int int int int int int[] int int int int int int
StackMap stack:
iinc 7 2
StackMap locals:
StackMap stack:
54: iload 7
aload 6
arraylength
if_icmplt 19
55: StackMap locals:
StackMap stack:
iload 7
aload 6
arraylength
if_icmpeq 72
56: iload 8
iconst_1
iand
ifeq 57
iconst_1
goto 58
StackMap locals:
StackMap stack:
57: iconst_0
StackMap locals:
StackMap stack: int
58: istore 13
start local 13 59: iload 2
iload 13
if_icmpne 60
iconst_1
goto 61
StackMap locals: int
StackMap stack:
60: iconst_0
StackMap locals:
StackMap stack: int
61: istore 14
start local 14 62: iload 1
iload 14
ifeq 63
iload 10
goto 64
StackMap locals: android.text.TextLine int int int int int int[] int int int int int int int int
StackMap stack: int
63: iload 9
StackMap locals: android.text.TextLine int int int int int int[] int int int int int int int int
StackMap stack: int int
64: if_icmpne 65
iload 14
iload 12
if_icmpeq 72
65: StackMap locals:
StackMap stack:
aload 0
iload 7
iload 9
iload 10
66: iload 13
iload 1
iload 14
67: invokevirtual android.text.TextLine.getOffsetBeforeAfter:(IIIZIZ)I
istore 11
68: iload 11
iload 14
ifeq 69
iload 10
goto 70
StackMap locals:
StackMap stack: int
69: iload 9
StackMap locals: android.text.TextLine int int int int int int[] int int int int int int int int
StackMap stack: int int
70: if_icmpeq 72
71: iload 11
ireturn
end local 14 end local 13 72: StackMap locals:
StackMap stack:
iload 2
iload 5
if_icmpne 73
iconst_1
goto 74
StackMap locals:
StackMap stack:
73: iconst_0
StackMap locals:
StackMap stack: int
74: istore 13
start local 13 75: iload 7
iload 13
ifeq 76
iconst_2
goto 77
StackMap locals: android.text.TextLine int int int int int int[] int int int int int int int
StackMap stack: int
76: bipush -2
StackMap locals: android.text.TextLine int int int int int int[] int int int int int int int
StackMap stack: int int
77: iadd
istore 14
start local 14 78: iload 14
iflt 112
iload 14
aload 6
arraylength
if_icmpge 112
79: iload 3
aload 6
iload 14
iaload
iadd
istore 15
start local 15 80: iload 15
81: aload 6
iload 14
iconst_1
iadd
iaload
ldc 67108863
iand
82: iadd
istore 16
start local 16 83: iload 16
iload 4
if_icmple 85
84: iload 4
istore 16
85: StackMap locals: int int int
StackMap stack:
aload 6
iload 14
iconst_1
iadd
iaload
bipush 26
iushr
86: bipush 63
87: iand
istore 17
start local 17 88: iload 17
iconst_1
iand
ifeq 89
iconst_1
goto 90
StackMap locals: int
StackMap stack:
89: iconst_0
StackMap locals:
StackMap stack: int
90: istore 18
start local 18 91: iload 2
iload 18
if_icmpne 92
iconst_1
goto 93
StackMap locals: int
StackMap stack:
92: iconst_0
StackMap locals:
StackMap stack: int
93: istore 13
94: iload 11
iconst_m1
if_icmpne 107
95: aload 0
iload 14
iload 15
96: iload 16
iload 18
97: iload 13
ifeq 98
iload 15
goto 99
StackMap locals: android.text.TextLine int int int int int int[] int int int int int int int int int int int int
StackMap stack: android.text.TextLine int int int int
98: iload 16
StackMap locals: android.text.TextLine int int int int int int[] int int int int int int int int int int int int
StackMap stack: android.text.TextLine int int int int int
99: iload 13
100: invokevirtual android.text.TextLine.getOffsetBeforeAfter:(IIIZIZ)I
istore 11
101: iload 11
iload 13
ifeq 102
iload 16
goto 103
StackMap locals:
StackMap stack: int
102: iload 15
StackMap locals: android.text.TextLine int int int int int int[] int int int int int int int int int int int int
StackMap stack: int int
103: if_icmpne 121
104: iload 14
istore 7
105: iload 17
istore 8
106: goto 72
107: StackMap locals:
StackMap stack:
iload 17
iload 8
if_icmpge 121
108: iload 13
ifeq 109
iload 15
goto 110
StackMap locals:
StackMap stack:
109: iload 16
StackMap locals:
StackMap stack: int
110: istore 11
111: goto 121
end local 18 end local 17 end local 16 end local 15 112: StackMap locals: android.text.TextLine int int int int int int[] int int int int int int int int
StackMap stack:
iload 11
iconst_m1
if_icmpne 117
113: iload 13
ifeq 114
aload 0
getfield android.text.TextLine.mLen:I
iconst_1
iadd
goto 115
StackMap locals:
StackMap stack:
114: iconst_m1
StackMap locals:
StackMap stack: int
115: istore 11
116: goto 121
117: StackMap locals:
StackMap stack:
iload 11
iload 4
if_icmpgt 121
118: iload 13
ifeq 119
iload 4
goto 120
StackMap locals:
StackMap stack:
119: iload 3
StackMap locals:
StackMap stack: int
120: istore 11
end local 14 end local 13 121: StackMap locals:
StackMap stack:
iload 11
ireturn
end local 12 end local 11 end local 10 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 122 0 this Landroid/text/TextLine;
0 122 1 cursor I
0 122 2 toLeft Z
1 122 3 lineStart I
2 122 4 lineEnd I
5 122 5 paraIsRtl Z
6 122 6 runs [I
13 14 7 runIndex I
16 17 7 runIndex I
18 122 7 runIndex I
7 122 8 runLevel I
8 122 9 runStart I
9 122 10 runLimit I
10 122 11 newCaret I
11 122 12 trailing Z
31 52 13 prevRunIndex I
43 50 14 prevRunLevel I
33 51 15 prevRunStart I
37 50 16 prevRunLimit I
30 52 17 pos I
59 72 13 runIsRtl Z
62 72 14 advance Z
75 121 13 advance Z
78 121 14 otherRunIndex I
80 112 15 otherRunStart I
83 112 16 otherRunLimit I
88 112 17 otherRunLevel I
91 112 18 otherRunIsRtl Z
MethodParameters:
Name Flags
cursor
toLeft
private int getOffsetBeforeAfter(int, int, int, boolean, int, boolean);
descriptor: (IIIZIZ)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=16, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: iload 1
iflt 3
iload 5
iload 6
ifeq 1
aload 0
getfield android.text.TextLine.mLen:I
goto 2
StackMap locals:
StackMap stack: int
1: iconst_0
StackMap locals: android.text.TextLine int int int int int int
StackMap stack: int int
2: if_icmpne 6
3: StackMap locals:
StackMap stack:
iload 6
ifeq 5
4: aload 0
getfield android.text.TextLine.mText:Ljava/lang/CharSequence;
iload 5
aload 0
getfield android.text.TextLine.mStart:I
iadd
invokestatic android.text.TextUtils.getOffsetAfter:(Ljava/lang/CharSequence;I)I
aload 0
getfield android.text.TextLine.mStart:I
isub
ireturn
5: StackMap locals:
StackMap stack:
aload 0
getfield android.text.TextLine.mText:Ljava/lang/CharSequence;
iload 5
aload 0
getfield android.text.TextLine.mStart:I
iadd
invokestatic android.text.TextUtils.getOffsetBefore:(Ljava/lang/CharSequence;I)I
aload 0
getfield android.text.TextLine.mStart:I
isub
ireturn
6: StackMap locals:
StackMap stack:
aload 0
getfield android.text.TextLine.mWorkPaint:Landroid/text/TextPaint;
astore 7
start local 7 7: aload 7
aload 0
getfield android.text.TextLine.mPaint:Landroid/text/TextPaint;
invokevirtual android.text.TextPaint.set:(Landroid/text/TextPaint;)V
8: aload 7
aload 0
getfield android.text.TextLine.mAddedWidth:F
invokevirtual android.text.TextPaint.setWordSpacing:(F)V
9: iload 2
istore 8
start local 8 10: aload 0
getfield android.text.TextLine.mSpanned:Landroid/text/Spanned;
ifnonnull 13
11: iload 3
istore 9
start local 9 12: goto 45
end local 9 13: StackMap locals: android.text.TextPaint int
StackMap stack:
iload 6
ifeq 14
iload 5
iconst_1
iadd
goto 15
StackMap locals:
StackMap stack:
14: iload 5
StackMap locals:
StackMap stack: int
15: istore 10
start local 10 16: aload 0
getfield android.text.TextLine.mStart:I
iload 3
iadd
istore 11
start local 11 17: StackMap locals: android.text.TextLine int int int int int int android.text.TextPaint int top int int
StackMap stack:
aload 0
getfield android.text.TextLine.mSpanned:Landroid/text/Spanned;
aload 0
getfield android.text.TextLine.mStart:I
iload 8
iadd
iload 11
18: ldc Landroid/text/style/MetricAffectingSpan;
19: invokeinterface android.text.Spanned.nextSpanTransition:(IILjava/lang/Class;)I
20: aload 0
getfield android.text.TextLine.mStart:I
21: isub
istore 9
start local 9 22: iload 9
iload 10
if_icmplt 24
23: goto 26
24: StackMap locals: android.text.TextLine int int int int int int android.text.TextPaint int int int int
StackMap stack:
iload 9
istore 8
end local 9 25: goto 17
start local 9 26: StackMap locals:
StackMap stack:
aload 0
getfield android.text.TextLine.mSpanned:Landroid/text/Spanned;
aload 0
getfield android.text.TextLine.mStart:I
iload 8
iadd
27: aload 0
getfield android.text.TextLine.mStart:I
iload 9
iadd
ldc Landroid/text/style/MetricAffectingSpan;
28: invokeinterface android.text.Spanned.getSpans:(IILjava/lang/Class;)[Ljava/lang/Object;
checkcast android.text.style.MetricAffectingSpan[]
astore 12
start local 12 29: aload 12
aload 0
getfield android.text.TextLine.mSpanned:Landroid/text/Spanned;
ldc Landroid/text/style/MetricAffectingSpan;
invokestatic android.text.TextUtils.removeEmptySpans:([Ljava/lang/Object;Landroid/text/Spanned;Ljava/lang/Class;)[Ljava/lang/Object;
checkcast android.text.style.MetricAffectingSpan[]
astore 12
30: aload 12
arraylength
ifle 45
31: aconst_null
astore 13
start local 13 32: iconst_0
istore 14
start local 14 33: goto 40
34: StackMap locals: android.text.style.MetricAffectingSpan[] android.text.style.ReplacementSpan int
StackMap stack:
aload 12
iload 14
aaload
astore 15
start local 15 35: aload 15
instanceof android.text.style.ReplacementSpan
ifeq 38
36: aload 15
checkcast android.text.style.ReplacementSpan
astore 13
37: goto 39
38: StackMap locals: android.text.style.MetricAffectingSpan
StackMap stack:
aload 15
aload 7
invokevirtual android.text.style.MetricAffectingSpan.updateMeasureState:(Landroid/text/TextPaint;)V
end local 15 39: StackMap locals:
StackMap stack:
iinc 14 1
StackMap locals:
StackMap stack:
40: iload 14
aload 12
arraylength
if_icmplt 34
end local 14 41: aload 13
ifnull 45
42: iload 6
ifeq 43
iload 9
goto 44
StackMap locals:
StackMap stack:
43: iload 8
StackMap locals:
StackMap stack: int
44: ireturn
end local 13 end local 12 end local 11 end local 10 45: StackMap locals: android.text.TextLine int int int int int int android.text.TextPaint int int
StackMap stack:
iload 4
ifeq 46
iconst_1
goto 47
StackMap locals:
StackMap stack:
46: iconst_0
StackMap locals:
StackMap stack: int
47: istore 10
start local 10 48: iload 6
ifeq 49
iconst_0
goto 50
StackMap locals: int
StackMap stack:
49: iconst_2
StackMap locals:
StackMap stack: int
50: istore 11
start local 11 51: aload 0
getfield android.text.TextLine.mCharsValid:Z
ifeq 55
52: aload 7
aload 0
getfield android.text.TextLine.mChars:[C
iload 8
iload 9
iload 8
isub
53: iload 10
iload 5
iload 11
54: invokevirtual android.text.TextPaint.getTextRunCursor:([CIIIII)I
ireturn
55: StackMap locals: int
StackMap stack:
aload 7
aload 0
getfield android.text.TextLine.mText:Ljava/lang/CharSequence;
aload 0
getfield android.text.TextLine.mStart:I
iload 8
iadd
56: aload 0
getfield android.text.TextLine.mStart:I
iload 9
iadd
iload 10
aload 0
getfield android.text.TextLine.mStart:I
iload 5
iadd
iload 11
57: invokevirtual android.text.TextPaint.getTextRunCursor:(Ljava/lang/CharSequence;IIIII)I
58: aload 0
getfield android.text.TextLine.mStart:I
59: isub
ireturn
end local 11 end local 10 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 60 0 this Landroid/text/TextLine;
0 60 1 runIndex I
0 60 2 runStart I
0 60 3 runLimit I
0 60 4 runIsRtl Z
0 60 5 offset I
0 60 6 after Z
7 60 7 wp Landroid/text/TextPaint;
10 60 8 spanStart I
12 13 9 spanLimit I
22 25 9 spanLimit I
26 60 9 spanLimit I
16 45 10 target I
17 45 11 limit I
29 45 12 spans [Landroid/text/style/MetricAffectingSpan;
32 45 13 replacement Landroid/text/style/ReplacementSpan;
33 41 14 j I
35 39 15 span Landroid/text/style/MetricAffectingSpan;
48 60 10 dir I
51 60 11 cursorOpt I
MethodParameters:
Name Flags
runIndex
runStart
runLimit
runIsRtl
offset
after
private static void expandMetricsFromPaint(android.graphics.Paint$FontMetricsInt, android.text.TextPaint);
descriptor: (Landroid/graphics/Paint$FontMetricsInt;Landroid/text/TextPaint;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield android.graphics.Paint$FontMetricsInt.top:I
istore 2
start local 2 1: aload 0
getfield android.graphics.Paint$FontMetricsInt.ascent:I
istore 3
start local 3 2: aload 0
getfield android.graphics.Paint$FontMetricsInt.descent:I
istore 4
start local 4 3: aload 0
getfield android.graphics.Paint$FontMetricsInt.bottom:I
istore 5
start local 5 4: aload 0
getfield android.graphics.Paint$FontMetricsInt.leading:I
istore 6
start local 6 5: aload 1
aload 0
invokevirtual android.text.TextPaint.getFontMetricsInt:(Landroid/graphics/Paint$FontMetricsInt;)I
pop
6: aload 0
iload 2
iload 3
iload 4
iload 5
7: iload 6
8: invokestatic android.text.TextLine.updateMetrics:(Landroid/graphics/Paint$FontMetricsInt;IIIII)V
9: return
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 10 0 fmi Landroid/graphics/Paint$FontMetricsInt;
0 10 1 wp Landroid/text/TextPaint;
1 10 2 previousTop I
2 10 3 previousAscent I
3 10 4 previousDescent I
4 10 5 previousBottom I
5 10 6 previousLeading I
MethodParameters:
Name Flags
fmi
wp
static void updateMetrics(android.graphics.Paint$FontMetricsInt, int, int, int, int, int);
descriptor: (Landroid/graphics/Paint$FontMetricsInt;IIIII)V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 0
getfield android.graphics.Paint$FontMetricsInt.top:I
iload 1
invokestatic java.lang.Math.min:(II)I
putfield android.graphics.Paint$FontMetricsInt.top:I
1: aload 0
aload 0
getfield android.graphics.Paint$FontMetricsInt.ascent:I
iload 2
invokestatic java.lang.Math.min:(II)I
putfield android.graphics.Paint$FontMetricsInt.ascent:I
2: aload 0
aload 0
getfield android.graphics.Paint$FontMetricsInt.descent:I
iload 3
invokestatic java.lang.Math.max:(II)I
putfield android.graphics.Paint$FontMetricsInt.descent:I
3: aload 0
aload 0
getfield android.graphics.Paint$FontMetricsInt.bottom:I
iload 4
invokestatic java.lang.Math.max:(II)I
putfield android.graphics.Paint$FontMetricsInt.bottom:I
4: aload 0
aload 0
getfield android.graphics.Paint$FontMetricsInt.leading:I
iload 5
invokestatic java.lang.Math.max:(II)I
putfield android.graphics.Paint$FontMetricsInt.leading:I
5: return
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 6 0 fmi Landroid/graphics/Paint$FontMetricsInt;
0 6 1 previousTop I
0 6 2 previousAscent I
0 6 3 previousDescent I
0 6 4 previousBottom I
0 6 5 previousLeading I
MethodParameters:
Name Flags
fmi
previousTop
previousAscent
previousDescent
previousBottom
previousLeading
private static void drawStroke(android.text.TextPaint, android.graphics.Canvas, int, float, float, float, float, float);
descriptor: (Landroid/text/TextPaint;Landroid/graphics/Canvas;IFFFFF)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=12, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: fload 7
aload 0
getfield android.text.TextPaint.baselineShift:I
i2f
fadd
fload 3
fadd
fstore 8
start local 8 1: aload 0
invokevirtual android.text.TextPaint.getColor:()I
istore 9
start local 9 2: aload 0
invokevirtual android.text.TextPaint.getStyle:()Landroid/graphics/Paint$Style;
astore 10
start local 10 3: aload 0
invokevirtual android.text.TextPaint.isAntiAlias:()Z
istore 11
start local 11 4: aload 0
getstatic android.graphics.Paint$Style.FILL:Landroid/graphics/Paint$Style;
invokevirtual android.text.TextPaint.setStyle:(Landroid/graphics/Paint$Style;)V
5: aload 0
iconst_1
invokevirtual android.text.TextPaint.setAntiAlias:(Z)V
6: aload 0
iload 2
invokevirtual android.text.TextPaint.setColor:(I)V
7: aload 1
fload 5
fload 8
fload 6
fload 8
fload 4
fadd
aload 0
invokevirtual android.graphics.Canvas.drawRect:(FFFFLandroid/graphics/Paint;)V
8: aload 0
aload 10
invokevirtual android.text.TextPaint.setStyle:(Landroid/graphics/Paint$Style;)V
9: aload 0
iload 9
invokevirtual android.text.TextPaint.setColor:(I)V
10: aload 0
iload 11
invokevirtual android.text.TextPaint.setAntiAlias:(Z)V
11: return
end local 11 end local 10 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 12 0 wp Landroid/text/TextPaint;
0 12 1 c Landroid/graphics/Canvas;
0 12 2 color I
0 12 3 position F
0 12 4 thickness F
0 12 5 xleft F
0 12 6 xright F
0 12 7 baseline F
1 12 8 strokeTop F
2 12 9 previousColor I
3 12 10 previousStyle Landroid/graphics/Paint$Style;
4 12 11 previousAntiAlias Z
MethodParameters:
Name Flags
wp
c
color
position
thickness
xleft
xright
baseline
private float getRunAdvance(android.text.TextPaint, int, int, int, int, boolean, int);
descriptor: (Landroid/text/TextPaint;IIIIZI)F
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=9, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
getfield android.text.TextLine.mCharsValid:Z
ifeq 2
1: aload 1
aload 0
getfield android.text.TextLine.mChars:[C
iload 2
iload 3
iload 4
iload 5
iload 6
iload 7
invokevirtual android.text.TextPaint.getRunAdvance:([CIIIIZI)F
freturn
2: StackMap locals:
StackMap stack:
aload 0
getfield android.text.TextLine.mStart:I
istore 8
start local 8 3: aload 0
getfield android.text.TextLine.mComputed:Landroid/text/PrecomputedText;
ifnonnull 7
4: aload 1
aload 0
getfield android.text.TextLine.mText:Ljava/lang/CharSequence;
iload 8
iload 2
iadd
iload 8
iload 3
iadd
5: iload 8
iload 4
iadd
iload 8
iload 5
iadd
iload 6
iload 8
iload 7
iadd
6: invokevirtual android.text.TextPaint.getRunAdvance:(Ljava/lang/CharSequence;IIIIZI)F
freturn
7: StackMap locals: int
StackMap stack:
aload 0
getfield android.text.TextLine.mComputed:Landroid/text/PrecomputedText;
iload 2
iload 8
iadd
iload 3
iload 8
iadd
invokevirtual android.text.PrecomputedText.getWidth:(II)F
freturn
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 8 0 this Landroid/text/TextLine;
0 8 1 wp Landroid/text/TextPaint;
0 8 2 start I
0 8 3 end I
0 8 4 contextStart I
0 8 5 contextEnd I
0 8 6 runIsRtl Z
0 8 7 offset I
3 8 8 delta I
MethodParameters:
Name Flags
wp
start
end
contextStart
contextEnd
runIsRtl
offset
private float handleText(android.text.TextPaint, int, int, int, int, boolean, android.graphics.Canvas, float, int, int, int, android.graphics.Paint$FontMetricsInt, boolean, int, java.util.ArrayList<android.text.TextLine$DecorationInfo>);
descriptor: (Landroid/text/TextPaint;IIIIZLandroid/graphics/Canvas;FIIILandroid/graphics/Paint$FontMetricsInt;ZILjava/util/ArrayList;)F
flags: (0x0002) ACC_PRIVATE
Code:
stack=11, locals=29, args_size=16
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 start local 11 start local 12 start local 13 start local 14 start local 15 0: aload 1
aload 0
getfield android.text.TextLine.mAddedWidth:F
invokevirtual android.text.TextPaint.setWordSpacing:(F)V
1: aload 12
ifnull 3
2: aload 12
aload 1
invokestatic android.text.TextLine.expandMetricsFromPaint:(Landroid/graphics/Paint$FontMetricsInt;Landroid/text/TextPaint;)V
3: StackMap locals:
StackMap stack:
iload 3
iload 2
if_icmpne 5
4: fconst_0
freturn
5: StackMap locals:
StackMap stack:
fconst_0
fstore 16
start local 16 6: aload 15
ifnonnull 7
iconst_0
goto 8
StackMap locals: float
StackMap stack:
7: aload 15
invokevirtual java.util.ArrayList.size:()I
StackMap locals:
StackMap stack: int
8: istore 17
start local 17 9: iload 13
ifne 10
aload 7
ifnull 11
aload 1
getfield android.text.TextPaint.bgColor:I
ifne 10
iload 17
ifne 10
iload 6
ifeq 11
10: StackMap locals: int
StackMap stack:
aload 0
aload 1
iload 2
iload 3
iload 4
iload 5
iload 6
iload 14
invokevirtual android.text.TextLine.getRunAdvance:(Landroid/text/TextPaint;IIIIZI)F
fstore 16
11: StackMap locals:
StackMap stack:
aload 7
ifnull 65
12: iload 6
ifeq 16
13: fload 8
fload 16
fsub
fstore 18
start local 18 14: fload 8
fstore 19
start local 19 15: goto 18
end local 19 end local 18 16: StackMap locals:
StackMap stack:
fload 8
fstore 18
start local 18 17: fload 8
fload 16
fadd
fstore 19
start local 19 18: StackMap locals: float float
StackMap stack:
aload 1
getfield android.text.TextPaint.bgColor:I
ifeq 26
19: aload 1
invokevirtual android.text.TextPaint.getColor:()I
istore 20
start local 20 20: aload 1
invokevirtual android.text.TextPaint.getStyle:()Landroid/graphics/Paint$Style;
astore 21
start local 21 21: aload 1
aload 1
getfield android.text.TextPaint.bgColor:I
invokevirtual android.text.TextPaint.setColor:(I)V
22: aload 1
getstatic android.graphics.Paint$Style.FILL:Landroid/graphics/Paint$Style;
invokevirtual android.text.TextPaint.setStyle:(Landroid/graphics/Paint$Style;)V
23: aload 7
fload 18
iload 9
i2f
fload 19
iload 11
i2f
aload 1
invokevirtual android.graphics.Canvas.drawRect:(FFFFLandroid/graphics/Paint;)V
24: aload 1
aload 21
invokevirtual android.text.TextPaint.setStyle:(Landroid/graphics/Paint$Style;)V
25: aload 1
iload 20
invokevirtual android.text.TextPaint.setColor:(I)V
end local 21 end local 20 26: StackMap locals:
StackMap stack:
iload 17
ifeq 62
27: iconst_0
istore 20
start local 20 28: goto 61
29: StackMap locals: int
StackMap stack:
aload 15
iload 20
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast android.text.TextLine$DecorationInfo
astore 21
start local 21 30: aload 21
getfield android.text.TextLine$DecorationInfo.start:I
iload 2
invokestatic java.lang.Math.max:(II)I
istore 22
start local 22 31: aload 21
getfield android.text.TextLine$DecorationInfo.end:I
iload 14
invokestatic java.lang.Math.min:(II)I
istore 23
start local 23 32: aload 0
33: aload 1
iload 2
iload 3
iload 4
iload 5
iload 6
iload 22
34: invokevirtual android.text.TextLine.getRunAdvance:(Landroid/text/TextPaint;IIIIZI)F
fstore 24
start local 24 35: aload 0
36: aload 1
iload 2
iload 3
iload 4
iload 5
iload 6
iload 23
37: invokevirtual android.text.TextLine.getRunAdvance:(Landroid/text/TextPaint;IIIIZI)F
fstore 25
start local 25 38: iload 6
ifeq 42
39: fload 19
fload 25
fsub
fstore 26
start local 26 40: fload 19
fload 24
fsub
fstore 27
start local 27 41: goto 44
end local 27 end local 26 42: StackMap locals: android.text.TextLine android.text.TextPaint int int int int int android.graphics.Canvas float int int int android.graphics.Paint$FontMetricsInt int int java.util.ArrayList float int float float int android.text.TextLine$DecorationInfo int int float float
StackMap stack:
fload 18
fload 24
fadd
fstore 26
start local 26 43: fload 18
fload 25
fadd
fstore 27
start local 27 44: StackMap locals: float float
StackMap stack:
aload 21
getfield android.text.TextLine$DecorationInfo.underlineColor:I
ifeq 48
45: aload 1
aload 7
aload 21
getfield android.text.TextLine$DecorationInfo.underlineColor:I
aload 1
invokevirtual android.text.TextPaint.getUnderlinePosition:()F
46: aload 21
getfield android.text.TextLine$DecorationInfo.underlineThickness:F
fload 26
fload 27
iload 10
i2f
47: invokestatic android.text.TextLine.drawStroke:(Landroid/text/TextPaint;Landroid/graphics/Canvas;IFFFFF)V
48: StackMap locals:
StackMap stack:
aload 21
getfield android.text.TextLine$DecorationInfo.isUnderlineText:Z
ifeq 54
49: aload 1
invokevirtual android.text.TextPaint.getUnderlineThickness:()F
fconst_1
invokestatic java.lang.Math.max:(FF)F
50: fstore 28
start local 28 51: aload 1
aload 7
aload 1
invokevirtual android.text.TextPaint.getColor:()I
aload 1
invokevirtual android.text.TextPaint.getUnderlinePosition:()F
fload 28
52: fload 26
fload 27
iload 10
i2f
53: invokestatic android.text.TextLine.drawStroke:(Landroid/text/TextPaint;Landroid/graphics/Canvas;IFFFFF)V
end local 28 54: StackMap locals:
StackMap stack:
aload 21
getfield android.text.TextLine$DecorationInfo.isStrikeThruText:Z
ifeq 60
55: aload 1
invokevirtual android.text.TextPaint.getStrikeThruThickness:()F
fconst_1
invokestatic java.lang.Math.max:(FF)F
56: fstore 28
start local 28 57: aload 1
aload 7
aload 1
invokevirtual android.text.TextPaint.getColor:()I
aload 1
invokevirtual android.text.TextPaint.getStrikeThruPosition:()F
fload 28
58: fload 26
fload 27
iload 10
i2f
59: invokestatic android.text.TextLine.drawStroke:(Landroid/text/TextPaint;Landroid/graphics/Canvas;IFFFFF)V
end local 28 end local 27 end local 26 end local 25 end local 24 end local 23 end local 22 end local 21 60: StackMap locals: android.text.TextLine android.text.TextPaint int int int int int android.graphics.Canvas float int int int android.graphics.Paint$FontMetricsInt int int java.util.ArrayList float int float float int
StackMap stack:
iinc 20 1
StackMap locals:
StackMap stack:
61: iload 20
iload 17
if_icmplt 29
end local 20 62: StackMap locals:
StackMap stack:
aload 0
aload 7
aload 1
iload 2
iload 3
iload 4
iload 5
iload 6
63: fload 18
iload 10
aload 1
getfield android.text.TextPaint.baselineShift:I
iadd
64: invokevirtual android.text.TextLine.drawTextRun:(Landroid/graphics/Canvas;Landroid/text/TextPaint;IIIIZFI)V
end local 19 end local 18 65: StackMap locals:
StackMap stack:
iload 6
ifeq 66
fload 16
fneg
goto 67
StackMap locals:
StackMap stack:
66: fload 16
StackMap locals:
StackMap stack: float
67: freturn
end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 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 68 0 this Landroid/text/TextLine;
0 68 1 wp Landroid/text/TextPaint;
0 68 2 start I
0 68 3 end I
0 68 4 contextStart I
0 68 5 contextEnd I
0 68 6 runIsRtl Z
0 68 7 c Landroid/graphics/Canvas;
0 68 8 x F
0 68 9 top I
0 68 10 y I
0 68 11 bottom I
0 68 12 fmi Landroid/graphics/Paint$FontMetricsInt;
0 68 13 needWidth Z
0 68 14 offset I
0 68 15 decorations Ljava/util/ArrayList<Landroid/text/TextLine$DecorationInfo;>;
6 68 16 totalWidth F
9 68 17 numDecorations I
14 16 18 leftX F
17 65 18 leftX F
15 16 19 rightX F
18 65 19 rightX F
20 26 20 previousColor I
21 26 21 previousStyle Landroid/graphics/Paint$Style;
28 62 20 i I
30 60 21 info Landroid/text/TextLine$DecorationInfo;
31 60 22 decorationStart I
32 60 23 decorationEnd I
35 60 24 decorationStartAdvance F
38 60 25 decorationEndAdvance F
40 42 26 decorationXLeft F
43 60 26 decorationXLeft F
41 42 27 decorationXRight F
44 60 27 decorationXRight F
51 54 28 thickness F
57 60 28 thickness F
Signature: (Landroid/text/TextPaint;IIIIZLandroid/graphics/Canvas;FIIILandroid/graphics/Paint$FontMetricsInt;ZILjava/util/ArrayList<Landroid/text/TextLine$DecorationInfo;>;)F
MethodParameters:
Name Flags
wp
start
end
contextStart
contextEnd
runIsRtl
c
x
top
y
bottom
fmi
needWidth
offset
decorations
private float handleReplacement(android.text.style.ReplacementSpan, android.text.TextPaint, int, int, boolean, android.graphics.Canvas, float, int, int, int, android.graphics.Paint$FontMetricsInt, boolean);
descriptor: (Landroid/text/style/ReplacementSpan;Landroid/text/TextPaint;IIZLandroid/graphics/Canvas;FIIILandroid/graphics/Paint$FontMetricsInt;Z)F
flags: (0x0002) ACC_PRIVATE
Code:
stack=10, locals=22, args_size=13
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 start local 11 start local 12 0: fconst_0
fstore 13
start local 13 1: aload 0
getfield android.text.TextLine.mStart:I
iload 3
iadd
istore 14
start local 14 2: aload 0
getfield android.text.TextLine.mStart:I
iload 4
iadd
istore 15
start local 15 3: iload 12
ifne 4
aload 6
ifnull 23
iload 5
ifeq 23
4: StackMap locals: float int int
StackMap stack:
iconst_0
istore 16
start local 16 5: iconst_0
istore 17
start local 17 6: iconst_0
istore 18
start local 18 7: iconst_0
istore 19
start local 19 8: iconst_0
istore 20
start local 20 9: aload 11
ifnull 10
iconst_1
goto 11
StackMap locals: android.text.TextLine android.text.style.ReplacementSpan android.text.TextPaint int int int android.graphics.Canvas float int int int android.graphics.Paint$FontMetricsInt int float int int int int int int int
StackMap stack:
10: iconst_0
StackMap locals:
StackMap stack: int
11: istore 21
start local 21 12: iload 21
ifeq 18
13: aload 11
getfield android.graphics.Paint$FontMetricsInt.top:I
istore 16
14: aload 11
getfield android.graphics.Paint$FontMetricsInt.ascent:I
istore 17
15: aload 11
getfield android.graphics.Paint$FontMetricsInt.descent:I
istore 18
16: aload 11
getfield android.graphics.Paint$FontMetricsInt.bottom:I
istore 19
17: aload 11
getfield android.graphics.Paint$FontMetricsInt.leading:I
istore 20
18: StackMap locals: int
StackMap stack:
aload 1
aload 2
aload 0
getfield android.text.TextLine.mText:Ljava/lang/CharSequence;
iload 14
iload 15
aload 11
invokevirtual android.text.style.ReplacementSpan.getSize:(Landroid/graphics/Paint;Ljava/lang/CharSequence;IILandroid/graphics/Paint$FontMetricsInt;)I
i2f
fstore 13
19: iload 21
ifeq 23
20: aload 11
iload 16
iload 17
iload 18
iload 19
21: iload 20
22: invokestatic android.text.TextLine.updateMetrics:(Landroid/graphics/Paint$FontMetricsInt;IIIII)V
end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 23: StackMap locals: android.text.TextLine android.text.style.ReplacementSpan android.text.TextPaint int int int android.graphics.Canvas float int int int android.graphics.Paint$FontMetricsInt int float int int
StackMap stack:
aload 6
ifnull 29
24: iload 5
ifeq 26
25: fload 7
fload 13
fsub
fstore 7
26: StackMap locals:
StackMap stack:
aload 1
aload 6
aload 0
getfield android.text.TextLine.mText:Ljava/lang/CharSequence;
iload 14
iload 15
27: fload 7
iload 8
iload 9
iload 10
aload 2
28: invokevirtual android.text.style.ReplacementSpan.draw:(Landroid/graphics/Canvas;Ljava/lang/CharSequence;IIFIIILandroid/graphics/Paint;)V
29: StackMap locals:
StackMap stack:
iload 5
ifeq 30
fload 13
fneg
goto 31
StackMap locals:
StackMap stack:
30: fload 13
StackMap locals:
StackMap stack: float
31: freturn
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 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 32 0 this Landroid/text/TextLine;
0 32 1 replacement Landroid/text/style/ReplacementSpan;
0 32 2 wp Landroid/text/TextPaint;
0 32 3 start I
0 32 4 limit I
0 32 5 runIsRtl Z
0 32 6 c Landroid/graphics/Canvas;
0 32 7 x F
0 32 8 top I
0 32 9 y I
0 32 10 bottom I
0 32 11 fmi Landroid/graphics/Paint$FontMetricsInt;
0 32 12 needWidth Z
1 32 13 ret F
2 32 14 textStart I
3 32 15 textLimit I
5 23 16 previousTop I
6 23 17 previousAscent I
7 23 18 previousDescent I
8 23 19 previousBottom I
9 23 20 previousLeading I
12 23 21 needUpdateMetrics Z
MethodParameters:
Name Flags
replacement
wp
start
limit
runIsRtl
c
x
top
y
bottom
fmi
needWidth
private int adjustHyphenEdit(int, int, int);
descriptor: (III)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
istore 4
start local 4 1: iload 1
ifle 3
2: iload 4
bipush -25
iand
istore 4
3: StackMap locals: int
StackMap stack:
iload 2
aload 0
getfield android.text.TextLine.mLen:I
if_icmpge 5
4: iload 4
bipush -8
iand
istore 4
5: StackMap locals:
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/text/TextLine;
0 6 1 start I
0 6 2 limit I
0 6 3 hyphenEdit I
1 6 4 result I
MethodParameters:
Name Flags
start
limit
hyphenEdit
private void extractDecorationInfo(android.text.TextPaint, android.text.TextLine$DecorationInfo);
descriptor: (Landroid/text/TextPaint;Landroid/text/TextLine$DecorationInfo;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 1
invokevirtual android.text.TextPaint.isStrikeThruText:()Z
putfield android.text.TextLine$DecorationInfo.isStrikeThruText:Z
1: aload 2
getfield android.text.TextLine$DecorationInfo.isStrikeThruText:Z
ifeq 3
2: aload 1
iconst_0
invokevirtual android.text.TextPaint.setStrikeThruText:(Z)V
3: StackMap locals:
StackMap stack:
aload 2
aload 1
invokevirtual android.text.TextPaint.isUnderlineText:()Z
putfield android.text.TextLine$DecorationInfo.isUnderlineText:Z
4: aload 2
getfield android.text.TextLine$DecorationInfo.isUnderlineText:Z
ifeq 6
5: aload 1
iconst_0
invokevirtual android.text.TextPaint.setUnderlineText:(Z)V
6: StackMap locals:
StackMap stack:
aload 2
aload 1
getfield android.text.TextPaint.underlineColor:I
putfield android.text.TextLine$DecorationInfo.underlineColor:I
7: aload 2
aload 1
getfield android.text.TextPaint.underlineThickness:F
putfield android.text.TextLine$DecorationInfo.underlineThickness:F
8: aload 1
iconst_0
fconst_0
invokevirtual android.text.TextPaint.setUnderlineText:(IF)V
9: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Landroid/text/TextLine;
0 10 1 paint Landroid/text/TextPaint;
0 10 2 info Landroid/text/TextLine$DecorationInfo;
MethodParameters:
Name Flags
paint
info
private float handleRun(int, int, int, boolean, android.graphics.Canvas, float, int, int, int, android.graphics.Paint$FontMetricsInt, boolean);
descriptor: (IIIZLandroid/graphics/Canvas;FIIILandroid/graphics/Paint$FontMetricsInt;Z)F
flags: (0x0002) ACC_PRIVATE
Code:
stack=17, locals=28, args_size=12
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 start local 11 0: iload 2
iload 1
if_icmplt 1
iload 2
iload 3
if_icmple 4
1: StackMap locals:
StackMap stack:
new java.lang.IndexOutOfBoundsException
dup
new java.lang.StringBuilder
dup
ldc "measureLimit ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ") is out of "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: ldc "start ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ") and limit ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ") bounds"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
iload 1
iload 2
if_icmpne 10
5: aload 0
getfield android.text.TextLine.mWorkPaint:Landroid/text/TextPaint;
astore 12
start local 12 6: aload 12
aload 0
getfield android.text.TextLine.mPaint:Landroid/text/TextPaint;
invokevirtual android.text.TextPaint.set:(Landroid/text/TextPaint;)V
7: aload 10
ifnull 9
8: aload 10
aload 12
invokestatic android.text.TextLine.expandMetricsFromPaint:(Landroid/graphics/Paint$FontMetricsInt;Landroid/text/TextPaint;)V
9: StackMap locals: android.text.TextPaint
StackMap stack:
fconst_0
freturn
end local 12 10: StackMap locals:
StackMap stack:
aload 0
getfield android.text.TextLine.mSpanned:Landroid/text/Spanned;
ifnonnull 13
11: iconst_0
istore 12
start local 12 12: goto 20
end local 12 13: StackMap locals:
StackMap stack:
aload 0
getfield android.text.TextLine.mMetricAffectingSpanSpanSet:Landroid/text/SpanSet;
aload 0
getfield android.text.TextLine.mSpanned:Landroid/text/Spanned;
aload 0
getfield android.text.TextLine.mStart:I
iload 1
iadd
aload 0
getfield android.text.TextLine.mStart:I
iload 3
iadd
invokevirtual android.text.SpanSet.init:(Landroid/text/Spanned;II)V
14: aload 0
getfield android.text.TextLine.mCharacterStyleSpanSet:Landroid/text/SpanSet;
aload 0
getfield android.text.TextLine.mSpanned:Landroid/text/Spanned;
aload 0
getfield android.text.TextLine.mStart:I
iload 1
iadd
aload 0
getfield android.text.TextLine.mStart:I
iload 3
iadd
invokevirtual android.text.SpanSet.init:(Landroid/text/Spanned;II)V
15: aload 0
getfield android.text.TextLine.mMetricAffectingSpanSpanSet:Landroid/text/SpanSet;
getfield android.text.SpanSet.numberOfSpans:I
ifne 18
16: aload 0
getfield android.text.TextLine.mCharacterStyleSpanSet:Landroid/text/SpanSet;
getfield android.text.SpanSet.numberOfSpans:I
ifne 18
17: iconst_0
goto 19
StackMap locals:
StackMap stack:
18: iconst_1
StackMap locals:
StackMap stack: int
19: istore 12
start local 12 20: StackMap locals: int
StackMap stack:
iload 12
ifne 27
21: aload 0
getfield android.text.TextLine.mWorkPaint:Landroid/text/TextPaint;
astore 13
start local 13 22: aload 13
aload 0
getfield android.text.TextLine.mPaint:Landroid/text/TextPaint;
invokevirtual android.text.TextPaint.set:(Landroid/text/TextPaint;)V
23: aload 13
aload 0
iload 1
iload 3
aload 13
invokevirtual android.text.TextPaint.getHyphenEdit:()I
invokevirtual android.text.TextLine.adjustHyphenEdit:(III)I
invokevirtual android.text.TextPaint.setHyphenEdit:(I)V
24: aload 0
aload 13
iload 1
iload 3
iload 1
iload 3
iload 4
aload 5
fload 6
iload 7
25: iload 8
iload 9
aload 10
iload 11
iload 2
aconst_null
26: invokevirtual android.text.TextLine.handleText:(Landroid/text/TextPaint;IIIIZLandroid/graphics/Canvas;FIIILandroid/graphics/Paint$FontMetricsInt;ZILjava/util/ArrayList;)F
freturn
end local 13 27: StackMap locals:
StackMap stack:
fload 6
fstore 13
start local 13 28: iload 1
istore 14
start local 14 29: goto 108
30: StackMap locals: float int
StackMap stack:
aload 0
getfield android.text.TextLine.mWorkPaint:Landroid/text/TextPaint;
astore 16
start local 16 31: aload 16
aload 0
getfield android.text.TextLine.mPaint:Landroid/text/TextPaint;
invokevirtual android.text.TextPaint.set:(Landroid/text/TextPaint;)V
32: aload 0
getfield android.text.TextLine.mMetricAffectingSpanSpanSet:Landroid/text/SpanSet;
aload 0
getfield android.text.TextLine.mStart:I
iload 14
iadd
aload 0
getfield android.text.TextLine.mStart:I
iload 3
iadd
invokevirtual android.text.SpanSet.getNextTransition:(II)I
33: aload 0
getfield android.text.TextLine.mStart:I
34: isub
istore 15
start local 15 35: iload 15
iload 2
invokestatic java.lang.Math.min:(II)I
istore 17
start local 17 36: aconst_null
astore 18
start local 18 37: iconst_0
istore 19
start local 19 38: goto 47
39: StackMap locals: android.text.TextLine int int int int android.graphics.Canvas float int int int android.graphics.Paint$FontMetricsInt int int float int int android.text.TextPaint int android.text.style.ReplacementSpan int
StackMap stack:
aload 0
getfield android.text.TextLine.mMetricAffectingSpanSpanSet:Landroid/text/SpanSet;
getfield android.text.SpanSet.spanStarts:[I
iload 19
iaload
aload 0
getfield android.text.TextLine.mStart:I
iload 17
iadd
if_icmpge 46
40: aload 0
getfield android.text.TextLine.mMetricAffectingSpanSpanSet:Landroid/text/SpanSet;
getfield android.text.SpanSet.spanEnds:[I
iload 19
iaload
aload 0
getfield android.text.TextLine.mStart:I
iload 14
iadd
if_icmpgt 41
goto 46
41: StackMap locals:
StackMap stack:
aload 0
getfield android.text.TextLine.mMetricAffectingSpanSpanSet:Landroid/text/SpanSet;
getfield android.text.SpanSet.spans:[Ljava/lang/Object;
checkcast android.text.style.MetricAffectingSpan[]
iload 19
aaload
astore 20
start local 20 42: aload 20
instanceof android.text.style.ReplacementSpan
ifeq 45
43: aload 20
checkcast android.text.style.ReplacementSpan
astore 18
44: goto 46
45: StackMap locals: android.text.style.MetricAffectingSpan
StackMap stack:
aload 20
aload 16
invokevirtual android.text.style.MetricAffectingSpan.updateDrawState:(Landroid/text/TextPaint;)V
end local 20 46: StackMap locals:
StackMap stack:
iinc 19 1
StackMap locals:
StackMap stack:
47: iload 19
aload 0
getfield android.text.TextLine.mMetricAffectingSpanSpanSet:Landroid/text/SpanSet;
getfield android.text.SpanSet.numberOfSpans:I
if_icmplt 39
end local 19 48: aload 18
ifnull 54
49: fload 6
aload 0
aload 18
aload 16
iload 14
iload 17
iload 4
aload 5
fload 6
iload 7
iload 8
50: iload 9
aload 10
iload 11
ifne 51
iload 17
iload 2
if_icmplt 51
iconst_0
goto 52
StackMap locals: android.text.TextLine int int int int android.graphics.Canvas float int int int android.graphics.Paint$FontMetricsInt int int float int int android.text.TextPaint int android.text.style.ReplacementSpan
StackMap stack: float android.text.TextLine android.text.style.ReplacementSpan android.text.TextPaint int int int android.graphics.Canvas float int int int android.graphics.Paint$FontMetricsInt
51: iconst_1
52: StackMap locals: android.text.TextLine int int int int android.graphics.Canvas float int int int android.graphics.Paint$FontMetricsInt int int float int int android.text.TextPaint int android.text.style.ReplacementSpan
StackMap stack: float android.text.TextLine android.text.style.ReplacementSpan android.text.TextPaint int int int android.graphics.Canvas float int int int android.graphics.Paint$FontMetricsInt int
invokevirtual android.text.TextLine.handleReplacement:(Landroid/text/style/ReplacementSpan;Landroid/text/TextPaint;IIZLandroid/graphics/Canvas;FIIILandroid/graphics/Paint$FontMetricsInt;Z)F
fadd
fstore 6
53: goto 107
54: StackMap locals:
StackMap stack:
aload 0
getfield android.text.TextLine.mActivePaint:Landroid/text/TextPaint;
astore 19
start local 19 55: aload 19
aload 0
getfield android.text.TextLine.mPaint:Landroid/text/TextPaint;
invokevirtual android.text.TextPaint.set:(Landroid/text/TextPaint;)V
56: iload 14
istore 20
start local 20 57: iload 17
istore 21
start local 21 58: aload 0
getfield android.text.TextLine.mDecorationInfo:Landroid/text/TextLine$DecorationInfo;
astore 22
start local 22 59: aload 0
getfield android.text.TextLine.mDecorations:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.clear:()V
60: iload 14
istore 23
start local 23 61: goto 98
62: StackMap locals: android.text.TextLine int int int int android.graphics.Canvas float int int int android.graphics.Paint$FontMetricsInt int int float int int android.text.TextPaint int android.text.style.ReplacementSpan android.text.TextPaint int int android.text.TextLine$DecorationInfo int
StackMap stack:
aload 0
getfield android.text.TextLine.mCharacterStyleSpanSet:Landroid/text/SpanSet;
aload 0
getfield android.text.TextLine.mStart:I
iload 23
iadd
aload 0
getfield android.text.TextLine.mStart:I
iload 15
iadd
invokevirtual android.text.SpanSet.getNextTransition:(II)I
63: aload 0
getfield android.text.TextLine.mStart:I
64: isub
istore 24
start local 24 65: iload 24
iload 17
invokestatic java.lang.Math.min:(II)I
istore 25
start local 25 66: aload 16
aload 0
getfield android.text.TextLine.mPaint:Landroid/text/TextPaint;
invokevirtual android.text.TextPaint.set:(Landroid/text/TextPaint;)V
67: iconst_0
istore 26
start local 26 68: goto 74
69: StackMap locals: int int int
StackMap stack:
aload 0
getfield android.text.TextLine.mCharacterStyleSpanSet:Landroid/text/SpanSet;
getfield android.text.SpanSet.spanStarts:[I
iload 26
iaload
aload 0
getfield android.text.TextLine.mStart:I
iload 25
iadd
if_icmpge 73
70: aload 0
getfield android.text.TextLine.mCharacterStyleSpanSet:Landroid/text/SpanSet;
getfield android.text.SpanSet.spanEnds:[I
iload 26
iaload
aload 0
getfield android.text.TextLine.mStart:I
iload 23
iadd
if_icmpgt 71
goto 73
71: StackMap locals:
StackMap stack:
aload 0
getfield android.text.TextLine.mCharacterStyleSpanSet:Landroid/text/SpanSet;
getfield android.text.SpanSet.spans:[Ljava/lang/Object;
checkcast android.text.style.CharacterStyle[]
iload 26
aaload
astore 27
start local 27 72: aload 27
aload 16
invokevirtual android.text.style.CharacterStyle.updateDrawState:(Landroid/text/TextPaint;)V
end local 27 73: StackMap locals:
StackMap stack:
iinc 26 1
StackMap locals:
StackMap stack:
74: iload 26
aload 0
getfield android.text.TextLine.mCharacterStyleSpanSet:Landroid/text/SpanSet;
getfield android.text.SpanSet.numberOfSpans:I
if_icmplt 69
end local 26 75: aload 0
aload 16
aload 22
invokevirtual android.text.TextLine.extractDecorationInfo:(Landroid/text/TextPaint;Landroid/text/TextLine$DecorationInfo;)V
76: iload 23
iload 14
if_icmpne 79
77: aload 19
aload 16
invokevirtual android.text.TextPaint.set:(Landroid/text/TextPaint;)V
78: goto 91
StackMap locals:
StackMap stack:
79: aload 16
aload 19
invokevirtual android.text.TextPaint.hasEqualAttributes:(Landroid/text/TextPaint;)Z
ifne 91
80: aload 19
aload 0
81: iload 20
iload 21
aload 0
getfield android.text.TextLine.mPaint:Landroid/text/TextPaint;
invokevirtual android.text.TextPaint.getHyphenEdit:()I
82: invokevirtual android.text.TextLine.adjustHyphenEdit:(III)I
invokevirtual android.text.TextPaint.setHyphenEdit:(I)V
83: fload 6
aload 0
aload 19
iload 20
iload 21
iload 14
iload 15
iload 4
aload 5
fload 6
84: iload 7
iload 8
iload 9
aload 10
iload 11
ifne 85
iload 21
iload 2
if_icmplt 85
iconst_0
goto 86
StackMap locals: android.text.TextLine int int int int android.graphics.Canvas float int int int android.graphics.Paint$FontMetricsInt int int float int int android.text.TextPaint int android.text.style.ReplacementSpan android.text.TextPaint int int android.text.TextLine$DecorationInfo int int int
StackMap stack: float android.text.TextLine android.text.TextPaint int int int int int android.graphics.Canvas float int int int android.graphics.Paint$FontMetricsInt
85: iconst_1
86: StackMap locals: android.text.TextLine int int int int android.graphics.Canvas float int int int android.graphics.Paint$FontMetricsInt int int float int int android.text.TextPaint int android.text.style.ReplacementSpan android.text.TextPaint int int android.text.TextLine$DecorationInfo int int int
StackMap stack: float android.text.TextLine android.text.TextPaint int int int int int android.graphics.Canvas float int int int android.graphics.Paint$FontMetricsInt int
iload 21
iload 17
invokestatic java.lang.Math.min:(II)I
aload 0
getfield android.text.TextLine.mDecorations:Ljava/util/ArrayList;
87: invokevirtual android.text.TextLine.handleText:(Landroid/text/TextPaint;IIIIZLandroid/graphics/Canvas;FIIILandroid/graphics/Paint$FontMetricsInt;ZILjava/util/ArrayList;)F
fadd
fstore 6
88: iload 23
istore 20
89: aload 19
aload 16
invokevirtual android.text.TextPaint.set:(Landroid/text/TextPaint;)V
90: aload 0
getfield android.text.TextLine.mDecorations:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.clear:()V
91: StackMap locals:
StackMap stack:
iload 24
istore 21
92: aload 22
invokevirtual android.text.TextLine$DecorationInfo.hasDecoration:()Z
ifeq 97
93: aload 22
invokevirtual android.text.TextLine$DecorationInfo.copyInfo:()Landroid/text/TextLine$DecorationInfo;
astore 26
start local 26 94: aload 26
iload 23
putfield android.text.TextLine$DecorationInfo.start:I
95: aload 26
iload 24
putfield android.text.TextLine$DecorationInfo.end:I
96: aload 0
getfield android.text.TextLine.mDecorations:Ljava/util/ArrayList;
aload 26
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 26 end local 25 97: StackMap locals:
StackMap stack:
iload 24
istore 23
end local 24 StackMap locals:
StackMap stack:
98: iload 23
iload 17
if_icmplt 62
end local 23 99: aload 19
aload 0
100: iload 20
iload 21
aload 0
getfield android.text.TextLine.mPaint:Landroid/text/TextPaint;
invokevirtual android.text.TextPaint.getHyphenEdit:()I
101: invokevirtual android.text.TextLine.adjustHyphenEdit:(III)I
invokevirtual android.text.TextPaint.setHyphenEdit:(I)V
102: fload 6
aload 0
aload 19
iload 20
iload 21
iload 14
iload 15
iload 4
aload 5
fload 6
103: iload 7
iload 8
iload 9
aload 10
iload 11
ifne 104
iload 21
iload 2
if_icmplt 104
iconst_0
goto 105
StackMap locals: android.text.TextLine int int int int android.graphics.Canvas float int int int android.graphics.Paint$FontMetricsInt int int float int int android.text.TextPaint int android.text.style.ReplacementSpan android.text.TextPaint int int android.text.TextLine$DecorationInfo
StackMap stack: float android.text.TextLine android.text.TextPaint int int int int int android.graphics.Canvas float int int int android.graphics.Paint$FontMetricsInt
104: iconst_1
105: StackMap locals: android.text.TextLine int int int int android.graphics.Canvas float int int int android.graphics.Paint$FontMetricsInt int int float int int android.text.TextPaint int android.text.style.ReplacementSpan android.text.TextPaint int int android.text.TextLine$DecorationInfo
StackMap stack: float android.text.TextLine android.text.TextPaint int int int int int android.graphics.Canvas float int int int android.graphics.Paint$FontMetricsInt int
iload 21
iload 17
invokestatic java.lang.Math.min:(II)I
aload 0
getfield android.text.TextLine.mDecorations:Ljava/util/ArrayList;
106: invokevirtual android.text.TextLine.handleText:(Landroid/text/TextPaint;IIIIZLandroid/graphics/Canvas;FIIILandroid/graphics/Paint$FontMetricsInt;ZILjava/util/ArrayList;)F
fadd
fstore 6
end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 107: StackMap locals: android.text.TextLine int int int int android.graphics.Canvas float int int int android.graphics.Paint$FontMetricsInt int int float int int
StackMap stack:
iload 15
istore 14
end local 15 StackMap locals:
StackMap stack:
108: iload 14
iload 2
if_icmplt 30
end local 14 109: fload 6
fload 13
fsub
freturn
end local 13 end local 12 end local 11 end local 10 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 110 0 this Landroid/text/TextLine;
0 110 1 start I
0 110 2 measureLimit I
0 110 3 limit I
0 110 4 runIsRtl Z
0 110 5 c Landroid/graphics/Canvas;
0 110 6 x F
0 110 7 top I
0 110 8 y I
0 110 9 bottom I
0 110 10 fmi Landroid/graphics/Paint$FontMetricsInt;
0 110 11 needWidth Z
6 10 12 wp Landroid/text/TextPaint;
12 13 12 needsSpanMeasurement Z
20 110 12 needsSpanMeasurement Z
22 27 13 wp Landroid/text/TextPaint;
28 110 13 originalX F
29 109 14 i I
35 108 15 inext I
31 107 16 wp Landroid/text/TextPaint;
36 107 17 mlimit I
37 107 18 replacement Landroid/text/style/ReplacementSpan;
38 48 19 j I
42 46 20 span Landroid/text/style/MetricAffectingSpan;
55 107 19 activePaint Landroid/text/TextPaint;
57 107 20 activeStart I
58 107 21 activeEnd I
59 107 22 decorationInfo Landroid/text/TextLine$DecorationInfo;
61 99 23 j I
65 98 24 jnext I
66 97 25 offset I
68 75 26 k I
72 73 27 span Landroid/text/style/CharacterStyle;
94 97 26 copy Landroid/text/TextLine$DecorationInfo;
MethodParameters:
Name Flags
start
measureLimit
limit
runIsRtl
c
x
top
y
bottom
fmi
needWidth
private void drawTextRun(android.graphics.Canvas, android.text.TextPaint, int, int, int, int, boolean, float, int);
descriptor: (Landroid/graphics/Canvas;Landroid/text/TextPaint;IIIIZFI)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=10, locals=12, args_size=10
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 0: aload 0
getfield android.text.TextLine.mCharsValid:Z
ifeq 7
1: iload 4
iload 3
isub
istore 10
start local 10 2: iload 6
iload 5
isub
istore 11
start local 11 3: aload 1
aload 0
getfield android.text.TextLine.mChars:[C
iload 3
iload 10
iload 5
iload 11
4: fload 8
iload 9
i2f
iload 7
aload 2
5: invokevirtual android.graphics.Canvas.drawTextRun:([CIIIIFFZLandroid/graphics/Paint;)V
end local 11 end local 10 6: goto 11
7: StackMap locals:
StackMap stack:
aload 0
getfield android.text.TextLine.mStart:I
istore 10
start local 10 8: aload 1
aload 0
getfield android.text.TextLine.mText:Ljava/lang/CharSequence;
iload 10
iload 3
iadd
iload 10
iload 4
iadd
9: iload 10
iload 5
iadd
iload 10
iload 6
iadd
fload 8
iload 9
i2f
iload 7
aload 2
10: invokevirtual android.graphics.Canvas.drawTextRun:(Ljava/lang/CharSequence;IIIIFFZLandroid/graphics/Paint;)V
end local 10 11: StackMap locals:
StackMap stack:
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 12 0 this Landroid/text/TextLine;
0 12 1 c Landroid/graphics/Canvas;
0 12 2 wp Landroid/text/TextPaint;
0 12 3 start I
0 12 4 end I
0 12 5 contextStart I
0 12 6 contextEnd I
0 12 7 runIsRtl Z
0 12 8 x F
0 12 9 y I
2 6 10 count I
3 6 11 contextCount I
8 11 10 delta I
MethodParameters:
Name Flags
c
wp
start
end
contextStart
contextEnd
runIsRtl
x
y
float nextTab(float);
descriptor: (F)F
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.text.TextLine.mTabs:Landroid/text/Layout$TabStops;
ifnull 2
1: aload 0
getfield android.text.TextLine.mTabs:Landroid/text/Layout$TabStops;
fload 1
invokevirtual android.text.Layout$TabStops.nextTab:(F)F
freturn
2: StackMap locals:
StackMap stack:
fload 1
bipush 20
invokestatic android.text.Layout$TabStops.nextDefaultStop:(FI)F
freturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/text/TextLine;
0 3 1 h F
MethodParameters:
Name Flags
h
private boolean isStretchableWhitespace(int);
descriptor: (I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
bipush 32
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/text/TextLine;
0 2 1 ch I
MethodParameters:
Name Flags
ch
private int countStretchableSpaces(int, int);
descriptor: (II)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: iload 1
istore 4
start local 4 2: goto 9
3: StackMap locals: int int
StackMap stack:
aload 0
getfield android.text.TextLine.mCharsValid:Z
ifeq 4
aload 0
getfield android.text.TextLine.mChars:[C
iload 4
caload
goto 5
StackMap locals:
StackMap stack:
4: aload 0
getfield android.text.TextLine.mText:Ljava/lang/CharSequence;
iload 4
aload 0
getfield android.text.TextLine.mStart:I
iadd
invokeinterface java.lang.CharSequence.charAt:(I)C
StackMap locals:
StackMap stack: int
5: istore 5
start local 5 6: aload 0
iload 5
invokevirtual android.text.TextLine.isStretchableWhitespace:(I)Z
ifeq 8
7: iinc 3 1
end local 5 8: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
9: iload 4
iload 2
if_icmplt 3
end local 4 10: iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Landroid/text/TextLine;
0 11 1 start I
0 11 2 end I
1 11 3 count I
2 10 4 i I
6 8 5 c C
MethodParameters:
Name Flags
start
end
public static boolean isLineEndSpace(char);
descriptor: (C)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
bipush 32
if_icmpeq 4
iload 0
bipush 9
if_icmpeq 4
iload 0
sipush 5760
if_icmpeq 4
1: sipush 8192
iload 0
if_icmpgt 2
iload 0
sipush 8202
if_icmpgt 2
iload 0
sipush 8199
if_icmpne 4
2: StackMap locals:
StackMap stack:
iload 0
sipush 8287
if_icmpeq 4
iload 0
sipush 12288
if_icmpeq 4
3: iconst_0
ireturn
StackMap locals:
StackMap stack:
4: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 ch C
MethodParameters:
Name Flags
ch
}
SourceFile: "TextLine.java"
NestMembers:
android.text.TextLine$DecorationInfo
InnerClasses:
public FontMetricsInt = android.graphics.Paint$FontMetricsInt of android.graphics.Paint
public final Style = android.graphics.Paint$Style of android.graphics.Paint
public Directions = android.text.Layout$Directions of android.text.Layout
TabStops = android.text.Layout$TabStops of android.text.Layout
public final Params = android.text.PrecomputedText$Params of android.text.PrecomputedText
private final DecorationInfo = android.text.TextLine$DecorationInfo of android.text.TextLine
public final Visibility = com.android.internal.annotations.VisibleForTesting$Visibility of com.android.internal.annotations.VisibleForTesting
RuntimeInvisibleAnnotations:
com.android.internal.annotations.VisibleForTesting(visibility = com.android.internal.annotations.VisibleForTesting$Visibility.PACKAGE:Lcom/android/internal/annotations/VisibleForTesting$Visibility;)