public class android.text.style.DrawableMarginSpan 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.DrawableMarginSpan
  super_class: java.lang.Object
{
  private static final int STANDARD_PAD_WIDTH;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private final android.graphics.drawable.Drawable mDrawable;
    descriptor: Landroid/graphics/drawable/Drawable;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  public void <init>(android.graphics.drawable.Drawable, int);
    descriptor: (Landroid/graphics/drawable/Drawable;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // android.text.style.DrawableMarginSpan this
        start local 1 // android.graphics.drawable.Drawable drawable
        start local 2 // int pad
         0: .line 70
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 71
            aload 0 /* this */
            aload 1 /* drawable */
            putfield android.text.style.DrawableMarginSpan.mDrawable:Landroid/graphics/drawable/Drawable;
         2: .line 72
            aload 0 /* this */
            iload 2 /* pad */
            putfield android.text.style.DrawableMarginSpan.mPad:I
         3: .line 73
            return
        end local 2 // int pad
        end local 1 // android.graphics.drawable.Drawable drawable
        end local 0 // android.text.style.DrawableMarginSpan this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Landroid/text/style/DrawableMarginSpan;
            0    4     1  drawable  Landroid/graphics/drawable/Drawable;
            0    4     2       pad  I
    MethodParameters:
          Name  Flags
      drawable  
      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.DrawableMarginSpan this
        start local 1 // boolean first
         0: .line 77
            aload 0 /* this */
            getfield android.text.style.DrawableMarginSpan.mDrawable:Landroid/graphics/drawable/Drawable;
            invokevirtual android.graphics.drawable.Drawable.getIntrinsicWidth:()I
            aload 0 /* this */
            getfield android.text.style.DrawableMarginSpan.mPad:I
            iadd
            ireturn
        end local 1 // boolean first
        end local 0 // android.text.style.DrawableMarginSpan this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Landroid/text/style/DrawableMarginSpan;
            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=6, locals=18, args_size=13
        start local 0 // android.text.style.DrawableMarginSpan 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 85
            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 86
            iload 3 /* x */
            istore 14 /* ix */
        start local 14 // int ix
         2: .line 87
            aload 12 /* layout */
            aload 12 /* layout */
            iload 13 /* st */
            invokevirtual android.text.Layout.getLineForOffset:(I)I
            invokevirtual android.text.Layout.getLineTop:(I)I
            istore 15 /* itop */
        start local 15 // int itop
         3: .line 89
            aload 0 /* this */
            getfield android.text.style.DrawableMarginSpan.mDrawable:Landroid/graphics/drawable/Drawable;
            invokevirtual android.graphics.drawable.Drawable.getIntrinsicWidth:()I
            istore 16 /* dw */
        start local 16 // int dw
         4: .line 90
            aload 0 /* this */
            getfield android.text.style.DrawableMarginSpan.mDrawable:Landroid/graphics/drawable/Drawable;
            invokevirtual android.graphics.drawable.Drawable.getIntrinsicHeight:()I
            istore 17 /* dh */
        start local 17 // int dh
         5: .line 93
            aload 0 /* this */
            getfield android.text.style.DrawableMarginSpan.mDrawable:Landroid/graphics/drawable/Drawable;
            iload 14 /* ix */
            iload 15 /* itop */
            iload 14 /* ix */
            iload 16 /* dw */
            iadd
            iload 15 /* itop */
            iload 17 /* dh */
            iadd
            invokevirtual android.graphics.drawable.Drawable.setBounds:(IIII)V
         6: .line 94
            aload 0 /* this */
            getfield android.text.style.DrawableMarginSpan.mDrawable:Landroid/graphics/drawable/Drawable;
            aload 1 /* c */
            invokevirtual android.graphics.drawable.Drawable.draw:(Landroid/graphics/Canvas;)V
         7: .line 95
            return
        end local 17 // int dh
        end local 16 // int dw
        end local 15 // int itop
        end local 14 // int ix
        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.DrawableMarginSpan this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Landroid/text/style/DrawableMarginSpan;
            0    8     1         c  Landroid/graphics/Canvas;
            0    8     2         p  Landroid/graphics/Paint;
            0    8     3         x  I
            0    8     4       dir  I
            0    8     5       top  I
            0    8     6  baseline  I
            0    8     7    bottom  I
            0    8     8      text  Ljava/lang/CharSequence;
            0    8     9     start  I
            0    8    10       end  I
            0    8    11     first  Z
            0    8    12    layout  Landroid/text/Layout;
            1    8    13        st  I
            2    8    14        ix  I
            3    8    15      itop  I
            4    8    16        dw  I
            5    8    17        dh  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.DrawableMarginSpan 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 101
            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 102
            aload 0 /* this */
            getfield android.text.style.DrawableMarginSpan.mDrawable:Landroid/graphics/drawable/Drawable;
            invokevirtual android.graphics.drawable.Drawable.getIntrinsicHeight:()I
            istore 7 /* ht */
        start local 7 // int ht
         2: .line 104
            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 105
            iload 8 /* need */
            ifle 5
         4: .line 106
            aload 6 /* fm */
            dup
            getfield android.graphics.Paint$FontMetricsInt.descent:I
            iload 8 /* need */
            iadd
            putfield android.graphics.Paint$FontMetricsInt.descent:I
         5: .line 109
      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 110
            iload 8 /* need */
            ifle 8
         7: .line 111
            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 114
      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.DrawableMarginSpan this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Landroid/text/style/DrawableMarginSpan;
            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: "DrawableMarginSpan.java"
InnerClasses:
  public FontMetricsInt = android.graphics.Paint$FontMetricsInt of android.graphics.Paint