public class org.joda.time.format.PeriodFormatter
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.joda.time.format.PeriodFormatter
  super_class: java.lang.Object
{
  private final org.joda.time.format.PeriodPrinter iPrinter;
    descriptor: Lorg/joda/time/format/PeriodPrinter;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.joda.time.format.PeriodParser iParser;
    descriptor: Lorg/joda/time/format/PeriodParser;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Locale iLocale;
    descriptor: Ljava/util/Locale;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.joda.time.PeriodType iParseType;
    descriptor: Lorg/joda/time/PeriodType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(org.joda.time.format.PeriodPrinter, org.joda.time.format.PeriodParser);
    descriptor: (Lorg/joda/time/format/PeriodPrinter;Lorg/joda/time/format/PeriodParser;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.joda.time.format.PeriodFormatter this
        start local 1 // org.joda.time.format.PeriodPrinter printer
        start local 2 // org.joda.time.format.PeriodParser parser
         0: .line 87
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 88
            aload 0 /* this */
            aload 1 /* printer */
            putfield org.joda.time.format.PeriodFormatter.iPrinter:Lorg/joda/time/format/PeriodPrinter;
         2: .line 89
            aload 0 /* this */
            aload 2 /* parser */
            putfield org.joda.time.format.PeriodFormatter.iParser:Lorg/joda/time/format/PeriodParser;
         3: .line 90
            aload 0 /* this */
            aconst_null
            putfield org.joda.time.format.PeriodFormatter.iLocale:Ljava/util/Locale;
         4: .line 91
            aload 0 /* this */
            aconst_null
            putfield org.joda.time.format.PeriodFormatter.iParseType:Lorg/joda/time/PeriodType;
         5: .line 92
            return
        end local 2 // org.joda.time.format.PeriodParser parser
        end local 1 // org.joda.time.format.PeriodPrinter printer
        end local 0 // org.joda.time.format.PeriodFormatter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/joda/time/format/PeriodFormatter;
            0    6     1  printer  Lorg/joda/time/format/PeriodPrinter;
            0    6     2   parser  Lorg/joda/time/format/PeriodParser;
    MethodParameters:
         Name  Flags
      printer  
      parser   

  void <init>(org.joda.time.format.PeriodPrinter, org.joda.time.format.PeriodParser, java.util.Locale, org.joda.time.PeriodType);
    descriptor: (Lorg/joda/time/format/PeriodPrinter;Lorg/joda/time/format/PeriodParser;Ljava/util/Locale;Lorg/joda/time/PeriodType;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // org.joda.time.format.PeriodFormatter this
        start local 1 // org.joda.time.format.PeriodPrinter printer
        start local 2 // org.joda.time.format.PeriodParser parser
        start local 3 // java.util.Locale locale
        start local 4 // org.joda.time.PeriodType type
         0: .line 105
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 106
            aload 0 /* this */
            aload 1 /* printer */
            putfield org.joda.time.format.PeriodFormatter.iPrinter:Lorg/joda/time/format/PeriodPrinter;
         2: .line 107
            aload 0 /* this */
            aload 2 /* parser */
            putfield org.joda.time.format.PeriodFormatter.iParser:Lorg/joda/time/format/PeriodParser;
         3: .line 108
            aload 0 /* this */
            aload 3 /* locale */
            putfield org.joda.time.format.PeriodFormatter.iLocale:Ljava/util/Locale;
         4: .line 109
            aload 0 /* this */
            aload 4 /* type */
            putfield org.joda.time.format.PeriodFormatter.iParseType:Lorg/joda/time/PeriodType;
         5: .line 110
            return
        end local 4 // org.joda.time.PeriodType type
        end local 3 // java.util.Locale locale
        end local 2 // org.joda.time.format.PeriodParser parser
        end local 1 // org.joda.time.format.PeriodPrinter printer
        end local 0 // org.joda.time.format.PeriodFormatter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/joda/time/format/PeriodFormatter;
            0    6     1  printer  Lorg/joda/time/format/PeriodPrinter;
            0    6     2   parser  Lorg/joda/time/format/PeriodParser;
            0    6     3   locale  Ljava/util/Locale;
            0    6     4     type  Lorg/joda/time/PeriodType;
    MethodParameters:
         Name  Flags
      printer  
      parser   
      locale   
      type     

  public boolean isPrinter();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.joda.time.format.PeriodFormatter this
         0: .line 119
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatter.iPrinter:Lorg/joda/time/format/PeriodPrinter;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.joda.time.format.PeriodFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/joda/time/format/PeriodFormatter;

  public org.joda.time.format.PeriodPrinter getPrinter();
    descriptor: ()Lorg/joda/time/format/PeriodPrinter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.joda.time.format.PeriodFormatter this
         0: .line 128
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatter.iPrinter:Lorg/joda/time/format/PeriodPrinter;
            areturn
        end local 0 // org.joda.time.format.PeriodFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/joda/time/format/PeriodFormatter;

  public boolean isParser();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.joda.time.format.PeriodFormatter this
         0: .line 137
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatter.iParser:Lorg/joda/time/format/PeriodParser;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.joda.time.format.PeriodFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/joda/time/format/PeriodFormatter;

  public org.joda.time.format.PeriodParser getParser();
    descriptor: ()Lorg/joda/time/format/PeriodParser;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.joda.time.format.PeriodFormatter this
         0: .line 146
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatter.iParser:Lorg/joda/time/format/PeriodParser;
            areturn
        end local 0 // org.joda.time.format.PeriodFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/joda/time/format/PeriodFormatter;

  public org.joda.time.format.PeriodFormatter withLocale(java.util.Locale);
    descriptor: (Ljava/util/Locale;)Lorg/joda/time/format/PeriodFormatter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.joda.time.format.PeriodFormatter this
        start local 1 // java.util.Locale locale
         0: .line 163
            aload 1 /* locale */
            aload 0 /* this */
            invokevirtual org.joda.time.format.PeriodFormatter.getLocale:()Ljava/util/Locale;
            if_acmpeq 1
            aload 1 /* locale */
            ifnull 2
            aload 1 /* locale */
            aload 0 /* this */
            invokevirtual org.joda.time.format.PeriodFormatter.getLocale:()Ljava/util/Locale;
            invokevirtual java.util.Locale.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 164
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
         2: .line 166
      StackMap locals:
      StackMap stack:
            new org.joda.time.format.PeriodFormatter
            dup
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatter.iPrinter:Lorg/joda/time/format/PeriodPrinter;
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatter.iParser:Lorg/joda/time/format/PeriodParser;
            aload 1 /* locale */
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatter.iParseType:Lorg/joda/time/PeriodType;
            invokespecial org.joda.time.format.PeriodFormatter.<init>:(Lorg/joda/time/format/PeriodPrinter;Lorg/joda/time/format/PeriodParser;Ljava/util/Locale;Lorg/joda/time/PeriodType;)V
            areturn
        end local 1 // java.util.Locale locale
        end local 0 // org.joda.time.format.PeriodFormatter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/joda/time/format/PeriodFormatter;
            0    3     1  locale  Ljava/util/Locale;
    MethodParameters:
        Name  Flags
      locale  

  public java.util.Locale getLocale();
    descriptor: ()Ljava/util/Locale;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.joda.time.format.PeriodFormatter this
         0: .line 177
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatter.iLocale:Ljava/util/Locale;
            areturn
        end local 0 // org.joda.time.format.PeriodFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/joda/time/format/PeriodFormatter;

  public org.joda.time.format.PeriodFormatter withParseType(org.joda.time.PeriodType);
    descriptor: (Lorg/joda/time/PeriodType;)Lorg/joda/time/format/PeriodFormatter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.joda.time.format.PeriodFormatter this
        start local 1 // org.joda.time.PeriodType type
         0: .line 191
            aload 1 /* type */
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatter.iParseType:Lorg/joda/time/PeriodType;
            if_acmpne 2
         1: .line 192
            aload 0 /* this */
            areturn
         2: .line 194
      StackMap locals:
      StackMap stack:
            new org.joda.time.format.PeriodFormatter
            dup
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatter.iPrinter:Lorg/joda/time/format/PeriodPrinter;
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatter.iParser:Lorg/joda/time/format/PeriodParser;
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatter.iLocale:Ljava/util/Locale;
            aload 1 /* type */
            invokespecial org.joda.time.format.PeriodFormatter.<init>:(Lorg/joda/time/format/PeriodPrinter;Lorg/joda/time/format/PeriodParser;Ljava/util/Locale;Lorg/joda/time/PeriodType;)V
            areturn
        end local 1 // org.joda.time.PeriodType type
        end local 0 // org.joda.time.format.PeriodFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/joda/time/format/PeriodFormatter;
            0    3     1  type  Lorg/joda/time/PeriodType;
    MethodParameters:
      Name  Flags
      type  

  public org.joda.time.PeriodType getParseType();
    descriptor: ()Lorg/joda/time/PeriodType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.joda.time.format.PeriodFormatter this
         0: .line 203
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatter.iParseType:Lorg/joda/time/PeriodType;
            areturn
        end local 0 // org.joda.time.format.PeriodFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/joda/time/format/PeriodFormatter;

  public void printTo(java.lang.StringBuffer, org.joda.time.ReadablePeriod);
    descriptor: (Ljava/lang/StringBuffer;Lorg/joda/time/ReadablePeriod;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.joda.time.format.PeriodFormatter this
        start local 1 // java.lang.StringBuffer buf
        start local 2 // org.joda.time.ReadablePeriod period
         0: .line 214
            aload 0 /* this */
            invokevirtual org.joda.time.format.PeriodFormatter.checkPrinter:()V
         1: .line 215
            aload 0 /* this */
            aload 2 /* period */
            invokevirtual org.joda.time.format.PeriodFormatter.checkPeriod:(Lorg/joda/time/ReadablePeriod;)V
         2: .line 217
            aload 0 /* this */
            invokevirtual org.joda.time.format.PeriodFormatter.getPrinter:()Lorg/joda/time/format/PeriodPrinter;
            aload 1 /* buf */
            aload 2 /* period */
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatter.iLocale:Ljava/util/Locale;
            invokeinterface org.joda.time.format.PeriodPrinter.printTo:(Ljava/lang/StringBuffer;Lorg/joda/time/ReadablePeriod;Ljava/util/Locale;)V
         3: .line 218
            return
        end local 2 // org.joda.time.ReadablePeriod period
        end local 1 // java.lang.StringBuffer buf
        end local 0 // org.joda.time.format.PeriodFormatter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/joda/time/format/PeriodFormatter;
            0    4     1     buf  Ljava/lang/StringBuffer;
            0    4     2  period  Lorg/joda/time/ReadablePeriod;
    MethodParameters:
        Name  Flags
      buf     
      period  

  public void printTo(java.io.Writer, org.joda.time.ReadablePeriod);
    descriptor: (Ljava/io/Writer;Lorg/joda/time/ReadablePeriod;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.joda.time.format.PeriodFormatter this
        start local 1 // java.io.Writer out
        start local 2 // org.joda.time.ReadablePeriod period
         0: .line 227
            aload 0 /* this */
            invokevirtual org.joda.time.format.PeriodFormatter.checkPrinter:()V
         1: .line 228
            aload 0 /* this */
            aload 2 /* period */
            invokevirtual org.joda.time.format.PeriodFormatter.checkPeriod:(Lorg/joda/time/ReadablePeriod;)V
         2: .line 230
            aload 0 /* this */
            invokevirtual org.joda.time.format.PeriodFormatter.getPrinter:()Lorg/joda/time/format/PeriodPrinter;
            aload 1 /* out */
            aload 2 /* period */
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatter.iLocale:Ljava/util/Locale;
            invokeinterface org.joda.time.format.PeriodPrinter.printTo:(Ljava/io/Writer;Lorg/joda/time/ReadablePeriod;Ljava/util/Locale;)V
         3: .line 231
            return
        end local 2 // org.joda.time.ReadablePeriod period
        end local 1 // java.io.Writer out
        end local 0 // org.joda.time.format.PeriodFormatter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/joda/time/format/PeriodFormatter;
            0    4     1     out  Ljava/io/Writer;
            0    4     2  period  Lorg/joda/time/ReadablePeriod;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      out     
      period  

  public java.lang.String print(org.joda.time.ReadablePeriod);
    descriptor: (Lorg/joda/time/ReadablePeriod;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.joda.time.format.PeriodFormatter this
        start local 1 // org.joda.time.ReadablePeriod period
         0: .line 240
            aload 0 /* this */
            invokevirtual org.joda.time.format.PeriodFormatter.checkPrinter:()V
         1: .line 241
            aload 0 /* this */
            aload 1 /* period */
            invokevirtual org.joda.time.format.PeriodFormatter.checkPeriod:(Lorg/joda/time/ReadablePeriod;)V
         2: .line 243
            aload 0 /* this */
            invokevirtual org.joda.time.format.PeriodFormatter.getPrinter:()Lorg/joda/time/format/PeriodPrinter;
            astore 2 /* printer */
        start local 2 // org.joda.time.format.PeriodPrinter printer
         3: .line 244
            new java.lang.StringBuffer
            dup
            aload 2 /* printer */
            aload 1 /* period */
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatter.iLocale:Ljava/util/Locale;
            invokeinterface org.joda.time.format.PeriodPrinter.calculatePrintedLength:(Lorg/joda/time/ReadablePeriod;Ljava/util/Locale;)I
            invokespecial java.lang.StringBuffer.<init>:(I)V
            astore 3 /* buf */
        start local 3 // java.lang.StringBuffer buf
         4: .line 245
            aload 2 /* printer */
            aload 3 /* buf */
            aload 1 /* period */
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatter.iLocale:Ljava/util/Locale;
            invokeinterface org.joda.time.format.PeriodPrinter.printTo:(Ljava/lang/StringBuffer;Lorg/joda/time/ReadablePeriod;Ljava/util/Locale;)V
         5: .line 246
            aload 3 /* buf */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.StringBuffer buf
        end local 2 // org.joda.time.format.PeriodPrinter printer
        end local 1 // org.joda.time.ReadablePeriod period
        end local 0 // org.joda.time.format.PeriodFormatter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/joda/time/format/PeriodFormatter;
            0    6     1   period  Lorg/joda/time/ReadablePeriod;
            3    6     2  printer  Lorg/joda/time/format/PeriodPrinter;
            4    6     3      buf  Ljava/lang/StringBuffer;
    MethodParameters:
        Name  Flags
      period  

  private void checkPrinter();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.joda.time.format.PeriodFormatter this
         0: .line 255
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatter.iPrinter:Lorg/joda/time/format/PeriodPrinter;
            ifnonnull 2
         1: .line 256
            new java.lang.UnsupportedOperationException
            dup
            ldc "Printing not supported"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 258
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.joda.time.format.PeriodFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/joda/time/format/PeriodFormatter;

  private void checkPeriod(org.joda.time.ReadablePeriod);
    descriptor: (Lorg/joda/time/ReadablePeriod;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.joda.time.format.PeriodFormatter this
        start local 1 // org.joda.time.ReadablePeriod period
         0: .line 266
            aload 1 /* period */
            ifnonnull 2
         1: .line 267
            new java.lang.IllegalArgumentException
            dup
            ldc "Period must not be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 269
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.joda.time.ReadablePeriod period
        end local 0 // org.joda.time.format.PeriodFormatter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/joda/time/format/PeriodFormatter;
            0    3     1  period  Lorg/joda/time/ReadablePeriod;
    MethodParameters:
        Name  Flags
      period  

  public int parseInto(org.joda.time.ReadWritablePeriod, java.lang.String, int);
    descriptor: (Lorg/joda/time/ReadWritablePeriod;Ljava/lang/String;I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.joda.time.format.PeriodFormatter this
        start local 1 // org.joda.time.ReadWritablePeriod period
        start local 2 // java.lang.String text
        start local 3 // int position
         0: .line 292
            aload 0 /* this */
            invokevirtual org.joda.time.format.PeriodFormatter.checkParser:()V
         1: .line 293
            aload 0 /* this */
            aload 1 /* period */
            invokevirtual org.joda.time.format.PeriodFormatter.checkPeriod:(Lorg/joda/time/ReadablePeriod;)V
         2: .line 295
            aload 0 /* this */
            invokevirtual org.joda.time.format.PeriodFormatter.getParser:()Lorg/joda/time/format/PeriodParser;
            aload 1 /* period */
            aload 2 /* text */
            iload 3 /* position */
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatter.iLocale:Ljava/util/Locale;
            invokeinterface org.joda.time.format.PeriodParser.parseInto:(Lorg/joda/time/ReadWritablePeriod;Ljava/lang/String;ILjava/util/Locale;)I
            ireturn
        end local 3 // int position
        end local 2 // java.lang.String text
        end local 1 // org.joda.time.ReadWritablePeriod period
        end local 0 // org.joda.time.format.PeriodFormatter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/joda/time/format/PeriodFormatter;
            0    3     1    period  Lorg/joda/time/ReadWritablePeriod;
            0    3     2      text  Ljava/lang/String;
            0    3     3  position  I
    MethodParameters:
          Name  Flags
      period    
      text      
      position  

  public org.joda.time.Period parsePeriod(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/joda/time/Period;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.joda.time.format.PeriodFormatter this
        start local 1 // java.lang.String text
         0: .line 306
            aload 0 /* this */
            invokevirtual org.joda.time.format.PeriodFormatter.checkParser:()V
         1: .line 308
            aload 0 /* this */
            aload 1 /* text */
            invokevirtual org.joda.time.format.PeriodFormatter.parseMutablePeriod:(Ljava/lang/String;)Lorg/joda/time/MutablePeriod;
            invokevirtual org.joda.time.MutablePeriod.toPeriod:()Lorg/joda/time/Period;
            areturn
        end local 1 // java.lang.String text
        end local 0 // org.joda.time.format.PeriodFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/joda/time/format/PeriodFormatter;
            0    2     1  text  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      text  

  public org.joda.time.MutablePeriod parseMutablePeriod(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/joda/time/MutablePeriod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.joda.time.format.PeriodFormatter this
        start local 1 // java.lang.String text
         0: .line 319
            aload 0 /* this */
            invokevirtual org.joda.time.format.PeriodFormatter.checkParser:()V
         1: .line 321
            new org.joda.time.MutablePeriod
            dup
            lconst_0
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatter.iParseType:Lorg/joda/time/PeriodType;
            invokespecial org.joda.time.MutablePeriod.<init>:(JLorg/joda/time/PeriodType;)V
            astore 2 /* period */
        start local 2 // org.joda.time.MutablePeriod period
         2: .line 322
            aload 0 /* this */
            invokevirtual org.joda.time.format.PeriodFormatter.getParser:()Lorg/joda/time/format/PeriodParser;
            aload 2 /* period */
            aload 1 /* text */
            iconst_0
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatter.iLocale:Ljava/util/Locale;
            invokeinterface org.joda.time.format.PeriodParser.parseInto:(Lorg/joda/time/ReadWritablePeriod;Ljava/lang/String;ILjava/util/Locale;)I
            istore 3 /* newPos */
        start local 3 // int newPos
         3: .line 323
            iload 3 /* newPos */
            iflt 6
         4: .line 324
            iload 3 /* newPos */
            aload 1 /* text */
            invokevirtual java.lang.String.length:()I
            if_icmplt 7
         5: .line 325
            aload 2 /* period */
            areturn
         6: .line 328
      StackMap locals: org.joda.time.MutablePeriod int
      StackMap stack:
            iload 3 /* newPos */
            iconst_m1
            ixor
            istore 3 /* newPos */
         7: .line 330
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            aload 1 /* text */
            iload 3 /* newPos */
            invokestatic org.joda.time.format.FormatUtils.createErrorMessage:(Ljava/lang/String;I)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // int newPos
        end local 2 // org.joda.time.MutablePeriod period
        end local 1 // java.lang.String text
        end local 0 // org.joda.time.format.PeriodFormatter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/joda/time/format/PeriodFormatter;
            0    8     1    text  Ljava/lang/String;
            2    8     2  period  Lorg/joda/time/MutablePeriod;
            3    8     3  newPos  I
    MethodParameters:
      Name  Flags
      text  

  private void checkParser();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.joda.time.format.PeriodFormatter this
         0: .line 339
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatter.iParser:Lorg/joda/time/format/PeriodParser;
            ifnonnull 2
         1: .line 340
            new java.lang.UnsupportedOperationException
            dup
            ldc "Parsing not supported"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 342
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.joda.time.format.PeriodFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/joda/time/format/PeriodFormatter;
}
SourceFile: "PeriodFormatter.java"