public class android.text.style.IconMarginSpan implements android.text.style.LeadingMarginSpan, android.text.style.LineHeightSpan
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.text.style.IconMarginSpan
  super_class: java.lang.Object
{
  private final android.graphics.Bitmap mBitmap;
    descriptor: Landroid/graphics/Bitmap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int mPad;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(android.graphics.Bitmap);
    descriptor: (Landroid/graphics/Bitmap;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.text.style.IconMarginSpan this
        start local 1 // android.graphics.Bitmap bitmap
         0: .line 60
            aload 0 /* this */
            aload 1 /* bitmap */
            iconst_0
            invokespecial android.text.style.IconMarginSpan.<init>:(Landroid/graphics/Bitmap;I)V
         1: .line 61
            return
        end local 1 // android.graphics.Bitmap bitmap
        end local 0 // android.text.style.IconMarginSpan this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Landroid/text/style/IconMarginSpan;
            0    2     1  bitmap  Landroid/graphics/Bitmap;
    MethodParameters:
        Name  Flags
      bitmap  

  public void <init>(android.graphics.Bitmap, int);
    descriptor: (Landroid/graphics/Bitmap;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // android.text.style.IconMarginSpan this
        start local 1 // android.graphics.Bitmap bitmap
        start local 2 // int pad
         0: .line 69
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 70
            aload 0 /* this */
            aload 1 /* bitmap */
            putfield android.text.style.IconMarginSpan.mBitmap:Landroid/graphics/Bitmap;
         2: .line 71
            aload 0 /* this */
            iload 2 /* pad */
            putfield android.text.style.IconMarginSpan.mPad:I
         3: .line 72
            return
        end local 2 // int pad
        end local 1 // android.graphics.Bitmap bitmap
        end local 0 // android.text.style.IconMarginSpan this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Landroid/text/style/IconMarginSpan;
            0    4     1  bitmap  Landroid/graphics/Bitmap;
            0    4     2     pad  I
    MethodParameters:
        Name  Flags
      bitmap  
      pad     

  public int getLeadingMargin(boolean);
    descriptor: (Z)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.text.style.IconMarginSpan this
        start local 1 // boolean first
         0: .line 76
            aload 0 /* this */
            getfield android.text.style.IconMarginSpan.mBitmap:Landroid/graphics/Bitmap;
            invokevirtual android.graphics.Bitmap.getWidth:()I
            aload 0 /* this */
            getfield android.text.style.IconMarginSpan.mPad:I
            iadd
            ireturn
        end local 1 // boolean first
        end local 0 // android.text.style.IconMarginSpan this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Landroid/text/style/IconMarginSpan;
            0    1     1  first  Z
    MethodParameters:
       Name  Flags
      first  

  public void drawLeadingMargin(android.graphics.Canvas, android.graphics.Paint, int, int, int, int, int, java.lang.CharSequence, int, int, boolean, android.text.Layout);
    descriptor: (Landroid/graphics/Canvas;Landroid/graphics/Paint;IIIIILjava/lang/CharSequence;IIZLandroid/text/Layout;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=15, args_size=13
        start local 0 // android.text.style.IconMarginSpan this
        start local 1 // android.graphics.Canvas c
        start local 2 // android.graphics.Paint p
        start local 3 // int x
        start local 4 // int dir
        start local 5 // int top
        start local 6 // int baseline
        start local 7 // int bottom
        start local 8 // java.lang.CharSequence text
        start local 9 // int start
        start local 10 // int end
        start local 11 // boolean first
        start local 12 // android.text.Layout layout
         0: .line 84
            aload 8 /* text */
            checkcast android.text.Spanned
            aload 0 /* this */
            invokeinterface android.text.Spanned.getSpanStart:(Ljava/lang/Object;)I
            istore 13 /* st */
        start local 13 // int st
         1: .line 85
            aload 12 /* layout */
            aload 12 /* layout */
            iload 13 /* st */
            invokevirtual android.text.Layout.getLineForOffset:(I)I
            invokevirtual android.text.Layout.getLineTop:(I)I
            istore 14 /* itop */
        start local 14 // int itop
         2: .line 87
            iload 4 /* dir */
            ifge 4
         3: .line 88
            iload 3 /* x */
            aload 0 /* this */
            getfield android.text.style.IconMarginSpan.mBitmap:Landroid/graphics/Bitmap;
            invokevirtual android.graphics.Bitmap.getWidth:()I
            isub
            istore 3 /* x */
         4: .line 91
      StackMap locals: int int
      StackMap stack:
            aload 1 /* c */
            aload 0 /* this */
            getfield android.text.style.IconMarginSpan.mBitmap:Landroid/graphics/Bitmap;
            iload 3 /* x */
            i2f
            iload 14 /* itop */
            i2f
            aload 2 /* p */
            invokevirtual android.graphics.Canvas.drawBitmap:(Landroid/graphics/Bitmap;FFLandroid/graphics/Paint;)V
         5: .line 92
            return
        end local 14 // int itop
        end local 13 // int st
        end local 12 // android.text.Layout layout
        end local 11 // boolean first
        end local 10 // int end
        end local 9 // int start
        end local 8 // java.lang.CharSequence text
        end local 7 // int bottom
        end local 6 // int baseline
        end local 5 // int top
        end local 4 // int dir
        end local 3 // int x
        end local 2 // android.graphics.Paint p
        end local 1 // android.graphics.Canvas c
        end local 0 // android.text.style.IconMarginSpan this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Landroid/text/style/IconMarginSpan;
            0    6     1         c  Landroid/graphics/Canvas;
            0    6     2         p  Landroid/graphics/Paint;
            0    6     3         x  I
            0    6     4       dir  I
            0    6     5       top  I
            0    6     6  baseline  I
            0    6     7    bottom  I
            0    6     8      text  Ljava/lang/CharSequence;
            0    6     9     start  I
            0    6    10       end  I
            0    6    11     first  Z
            0    6    12    layout  Landroid/text/Layout;
            1    6    13        st  I
            2    6    14      itop  I
    MethodParameters:
          Name  Flags
      c         
      p         
      x         
      dir       
      top       
      baseline  
      bottom    
      text      
      start     
      end       
      first     
      layout    

  public void chooseHeight(java.lang.CharSequence, int, int, int, int, android.graphics.Paint$FontMetricsInt);
    descriptor: (Ljava/lang/CharSequence;IIIILandroid/graphics/Paint$FontMetricsInt;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=9, args_size=7
        start local 0 // android.text.style.IconMarginSpan this
        start local 1 // java.lang.CharSequence text
        start local 2 // int start
        start local 3 // int end
        start local 4 // int istartv
        start local 5 // int v
        start local 6 // android.graphics.Paint$FontMetricsInt fm
         0: .line 98
            iload 3 /* end */
            aload 1 /* text */
            checkcast android.text.Spanned
            aload 0 /* this */
            invokeinterface android.text.Spanned.getSpanEnd:(Ljava/lang/Object;)I
            if_icmpne 8
         1: .line 99
            aload 0 /* this */
            getfield android.text.style.IconMarginSpan.mBitmap:Landroid/graphics/Bitmap;
            invokevirtual android.graphics.Bitmap.getHeight:()I
            istore 7 /* ht */
        start local 7 // int ht
         2: .line 101
            iload 7 /* ht */
            iload 5 /* v */
            aload 6 /* fm */
            getfield android.graphics.Paint$FontMetricsInt.descent:I
            iadd
            aload 6 /* fm */
            getfield android.graphics.Paint$FontMetricsInt.ascent:I
            isub
            iload 4 /* istartv */
            isub
            isub
            istore 8 /* need */
        start local 8 // int need
         3: .line 102
            iload 8 /* need */
            ifle 5
         4: .line 103
            aload 6 /* fm */
            dup
            getfield android.graphics.Paint$FontMetricsInt.descent:I
            iload 8 /* need */
            iadd
            putfield android.graphics.Paint$FontMetricsInt.descent:I
         5: .line 106
      StackMap locals: int int
      StackMap stack:
            iload 7 /* ht */
            iload 5 /* v */
            aload 6 /* fm */
            getfield android.graphics.Paint$FontMetricsInt.bottom:I
            iadd
            aload 6 /* fm */
            getfield android.graphics.Paint$FontMetricsInt.top:I
            isub
            iload 4 /* istartv */
            isub
            isub
            istore 8 /* need */
         6: .line 107
            iload 8 /* need */
            ifle 8
         7: .line 108
            aload 6 /* fm */
            dup
            getfield android.graphics.Paint$FontMetricsInt.bottom:I
            iload 8 /* need */
            iadd
            putfield android.graphics.Paint$FontMetricsInt.bottom:I
        end local 8 // int need
        end local 7 // int ht
         8: .line 111
      StackMap locals:
      StackMap stack:
            return
        end local 6 // android.graphics.Paint$FontMetricsInt fm
        end local 5 // int v
        end local 4 // int istartv
        end local 3 // int end
        end local 2 // int start
        end local 1 // java.lang.CharSequence text
        end local 0 // android.text.style.IconMarginSpan this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Landroid/text/style/IconMarginSpan;
            0    9     1     text  Ljava/lang/CharSequence;
            0    9     2    start  I
            0    9     3      end  I
            0    9     4  istartv  I
            0    9     5        v  I
            0    9     6       fm  Landroid/graphics/Paint$FontMetricsInt;
            2    8     7       ht  I
            3    8     8     need  I
    MethodParameters:
         Name  Flags
      text     
      start    
      end      
      istartv  
      v        
      fm       
}
SourceFile: "IconMarginSpan.java"
InnerClasses:
  public FontMetricsInt = android.graphics.Paint$FontMetricsInt of android.graphics.Paint