public class com.google.android.util.SmileyParser extends com.google.android.util.AbstractMessageParser
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.google.android.util.SmileyParser
  super_class: com.google.android.util.AbstractMessageParser
{
  private com.google.android.util.SmileyResources mRes;
    descriptor: Lcom/google/android/util/SmileyResources;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(java.lang.String, com.google.android.util.SmileyResources);
    descriptor: (Ljava/lang/String;Lcom/google/android/util/SmileyResources;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=3, args_size=3
        start local 0 // com.google.android.util.SmileyParser this
        start local 1 // java.lang.String text
        start local 2 // com.google.android.util.SmileyResources res
         0: .line 34
            aload 0 /* this */
            aload 1 /* text */
         1: .line 35
            iconst_1
         2: .line 36
            iconst_0
         3: .line 37
            iconst_0
         4: .line 38
            iconst_0
         5: .line 39
            iconst_0
         6: .line 40
            iconst_0
            invokespecial com.google.android.util.AbstractMessageParser.<init>:(Ljava/lang/String;ZZZZZZ)V
         7: .line 42
            aload 0 /* this */
            aload 2 /* res */
            putfield com.google.android.util.SmileyParser.mRes:Lcom/google/android/util/SmileyResources;
         8: .line 43
            return
        end local 2 // com.google.android.util.SmileyResources res
        end local 1 // java.lang.String text
        end local 0 // com.google.android.util.SmileyParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lcom/google/android/util/SmileyParser;
            0    9     1  text  Ljava/lang/String;
            0    9     2   res  Lcom/google/android/util/SmileyResources;
    MethodParameters:
      Name  Flags
      text  
      res   

  protected com.google.android.util.AbstractMessageParser$Resources getResources();
    descriptor: ()Lcom/google/android/util/AbstractMessageParser$Resources;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.android.util.SmileyParser this
         0: .line 47
            aload 0 /* this */
            getfield com.google.android.util.SmileyParser.mRes:Lcom/google/android/util/SmileyResources;
            areturn
        end local 0 // com.google.android.util.SmileyParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/android/util/SmileyParser;

  public java.lang.CharSequence getSpannableString(android.content.Context);
    descriptor: (Landroid/content/Context;)Ljava/lang/CharSequence;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=10, args_size=2
        start local 0 // com.google.android.util.SmileyParser this
        start local 1 // android.content.Context context
         0: .line 56
            new android.text.SpannableStringBuilder
            dup
            invokespecial android.text.SpannableStringBuilder.<init>:()V
            astore 2 /* builder */
        start local 2 // android.text.SpannableStringBuilder builder
         1: .line 58
            aload 0 /* this */
            invokevirtual com.google.android.util.SmileyParser.getPartCount:()I
            ifne 3
         2: .line 59
            ldc ""
            areturn
         3: .line 63
      StackMap locals: android.text.SpannableStringBuilder
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual com.google.android.util.SmileyParser.getPart:(I)Lcom/google/android/util/AbstractMessageParser$Part;
            astore 3 /* part */
        start local 3 // com.google.android.util.AbstractMessageParser$Part part
         4: .line 64
            aload 3 /* part */
            invokevirtual com.google.android.util.AbstractMessageParser$Part.getTokens:()Ljava/util/ArrayList;
            astore 4 /* tokens */
        start local 4 // java.util.ArrayList tokens
         5: .line 65
            aload 4 /* tokens */
            invokevirtual java.util.ArrayList.size:()I
            istore 5 /* len */
        start local 5 // int len
         6: .line 66
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         7: goto 20
         8: .line 67
      StackMap locals: com.google.android.util.SmileyParser android.content.Context android.text.SpannableStringBuilder com.google.android.util.AbstractMessageParser$Part java.util.ArrayList int int
      StackMap stack:
            aload 4 /* tokens */
            iload 6 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast com.google.android.util.AbstractMessageParser$Token
            astore 7 /* token */
        start local 7 // com.google.android.util.AbstractMessageParser$Token token
         9: .line 68
            aload 2 /* builder */
            invokevirtual android.text.SpannableStringBuilder.length:()I
            istore 8 /* start */
        start local 8 // int start
        10: .line 69
            aload 2 /* builder */
            aload 7 /* token */
            invokevirtual com.google.android.util.AbstractMessageParser$Token.getRawText:()Ljava/lang/String;
            invokevirtual android.text.SpannableStringBuilder.append:(Ljava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;
            pop
        11: .line 70
            aload 7 /* token */
            invokevirtual com.google.android.util.AbstractMessageParser$Token.getType:()Lcom/google/android/util/AbstractMessageParser$Token$Type;
            getstatic com.google.android.util.AbstractMessageParser$Token$Type.SMILEY:Lcom/google/android/util/AbstractMessageParser$Token$Type;
            if_acmpne 19
        12: .line 71
            aload 0 /* this */
            getfield com.google.android.util.SmileyParser.mRes:Lcom/google/android/util/SmileyResources;
            aload 7 /* token */
            invokevirtual com.google.android.util.AbstractMessageParser$Token.getRawText:()Ljava/lang/String;
            invokevirtual com.google.android.util.SmileyResources.getSmileyRes:(Ljava/lang/String;)I
            istore 9 /* resid */
        start local 9 // int resid
        13: .line 72
            iload 9 /* resid */
            iconst_m1
            if_icmpeq 19
        14: .line 73
            aload 2 /* builder */
            new android.text.style.ImageSpan
            dup
            aload 1 /* context */
            iload 9 /* resid */
            invokespecial android.text.style.ImageSpan.<init>:(Landroid/content/Context;I)V
        15: .line 74
            iload 8 /* start */
        16: .line 75
            aload 2 /* builder */
            invokevirtual android.text.SpannableStringBuilder.length:()I
        17: .line 76
            bipush 33
        18: .line 73
            invokevirtual android.text.SpannableStringBuilder.setSpan:(Ljava/lang/Object;III)V
        end local 9 // int resid
        end local 8 // int start
        end local 7 // com.google.android.util.AbstractMessageParser$Token token
        19: .line 66
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 6 /* i */
            iload 5 /* len */
            if_icmplt 8
        end local 6 // int i
        21: .line 80
            aload 2 /* builder */
            areturn
        end local 5 // int len
        end local 4 // java.util.ArrayList tokens
        end local 3 // com.google.android.util.AbstractMessageParser$Part part
        end local 2 // android.text.SpannableStringBuilder builder
        end local 1 // android.content.Context context
        end local 0 // com.google.android.util.SmileyParser this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   22     0     this  Lcom/google/android/util/SmileyParser;
            0   22     1  context  Landroid/content/Context;
            1   22     2  builder  Landroid/text/SpannableStringBuilder;
            4   22     3     part  Lcom/google/android/util/AbstractMessageParser$Part;
            5   22     4   tokens  Ljava/util/ArrayList<Lcom/google/android/util/AbstractMessageParser$Token;>;
            6   22     5      len  I
            7   21     6        i  I
            9   19     7    token  Lcom/google/android/util/AbstractMessageParser$Token;
           10   19     8    start  I
           13   19     9    resid  I
    MethodParameters:
         Name  Flags
      context  
}
SourceFile: "SmileyParser.java"
InnerClasses:
  public Part = com.google.android.util.AbstractMessageParser$Part of com.google.android.util.AbstractMessageParser
  public abstract Resources = com.google.android.util.AbstractMessageParser$Resources of com.google.android.util.AbstractMessageParser
  public abstract Token = com.google.android.util.AbstractMessageParser$Token of com.google.android.util.AbstractMessageParser
  public final Type = com.google.android.util.AbstractMessageParser$Token$Type of com.google.android.util.AbstractMessageParser$Token