public class org.bouncycastle.asn1.x500.style.X500NameTokenizer
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.bouncycastle.asn1.x500.style.X500NameTokenizer
  super_class: java.lang.Object
{
  private java.lang.String value;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private int index;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private char separator;
    descriptor: C
    flags: (0x0002) ACC_PRIVATE

  private java.lang.StringBuffer buf;
    descriptor: Ljava/lang/StringBuffer;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.bouncycastle.asn1.x500.style.X500NameTokenizer this
        start local 1 // java.lang.String oid
         0: .line 19
            aload 0 /* this */
            aload 1 /* oid */
            bipush 44
            invokespecial org.bouncycastle.asn1.x500.style.X500NameTokenizer.<init>:(Ljava/lang/String;C)V
         1: .line 20
            return
        end local 1 // java.lang.String oid
        end local 0 // org.bouncycastle.asn1.x500.style.X500NameTokenizer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bouncycastle/asn1/x500/style/X500NameTokenizer;
            0    2     1   oid  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      oid   

  public void <init>(java.lang.String, char);
    descriptor: (Ljava/lang/String;C)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.bouncycastle.asn1.x500.style.X500NameTokenizer this
        start local 1 // java.lang.String oid
        start local 2 // char separator
         0: .line 22
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 14
            aload 0 /* this */
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            putfield org.bouncycastle.asn1.x500.style.X500NameTokenizer.buf:Ljava/lang/StringBuffer;
         2: .line 26
            aload 0 /* this */
            aload 1 /* oid */
            putfield org.bouncycastle.asn1.x500.style.X500NameTokenizer.value:Ljava/lang/String;
         3: .line 27
            aload 0 /* this */
            iconst_m1
            putfield org.bouncycastle.asn1.x500.style.X500NameTokenizer.index:I
         4: .line 28
            aload 0 /* this */
            iload 2 /* separator */
            putfield org.bouncycastle.asn1.x500.style.X500NameTokenizer.separator:C
         5: .line 29
            return
        end local 2 // char separator
        end local 1 // java.lang.String oid
        end local 0 // org.bouncycastle.asn1.x500.style.X500NameTokenizer this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/bouncycastle/asn1/x500/style/X500NameTokenizer;
            0    6     1        oid  Ljava/lang/String;
            0    6     2  separator  C
    MethodParameters:
           Name  Flags
      oid        
      separator  

  public boolean hasMoreTokens();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.bouncycastle.asn1.x500.style.X500NameTokenizer this
         0: .line 33
            aload 0 /* this */
            getfield org.bouncycastle.asn1.x500.style.X500NameTokenizer.index:I
            aload 0 /* this */
            getfield org.bouncycastle.asn1.x500.style.X500NameTokenizer.value:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            if_icmpeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.bouncycastle.asn1.x500.style.X500NameTokenizer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bouncycastle/asn1/x500/style/X500NameTokenizer;

  public java.lang.String nextToken();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // org.bouncycastle.asn1.x500.style.X500NameTokenizer this
         0: .line 38
            aload 0 /* this */
            getfield org.bouncycastle.asn1.x500.style.X500NameTokenizer.index:I
            aload 0 /* this */
            getfield org.bouncycastle.asn1.x500.style.X500NameTokenizer.value:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            if_icmpne 2
         1: .line 40
            aconst_null
            areturn
         2: .line 43
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.asn1.x500.style.X500NameTokenizer.index:I
            iconst_1
            iadd
            istore 1 /* end */
        start local 1 // int end
         3: .line 44
            iconst_0
            istore 2 /* quoted */
        start local 2 // boolean quoted
         4: .line 45
            iconst_0
            istore 3 /* escaped */
        start local 3 // boolean escaped
         5: .line 47
            aload 0 /* this */
            getfield org.bouncycastle.asn1.x500.style.X500NameTokenizer.buf:Ljava/lang/StringBuffer;
            iconst_0
            invokevirtual java.lang.StringBuffer.setLength:(I)V
         6: .line 49
            goto 28
         7: .line 51
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.asn1.x500.style.X500NameTokenizer.value:Ljava/lang/String;
            iload 1 /* end */
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* c */
        start local 4 // char c
         8: .line 53
            iload 4 /* c */
            bipush 34
            if_icmpne 16
         9: .line 55
            iload 3 /* escaped */
            ifne 13
        10: .line 57
            iload 2 /* quoted */
            ifeq 11
            iconst_0
            goto 12
      StackMap locals: int
      StackMap stack:
        11: iconst_1
      StackMap locals:
      StackMap stack: int
        12: istore 2 /* quoted */
        13: .line 59
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.asn1.x500.style.X500NameTokenizer.buf:Ljava/lang/StringBuffer;
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        14: .line 60
            iconst_0
            istore 3 /* escaped */
        15: .line 61
            goto 27
        16: .line 64
      StackMap locals:
      StackMap stack:
            iload 3 /* escaped */
            ifne 17
            iload 2 /* quoted */
            ifeq 20
        17: .line 66
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.asn1.x500.style.X500NameTokenizer.buf:Ljava/lang/StringBuffer;
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        18: .line 67
            iconst_0
            istore 3 /* escaped */
        19: .line 68
            goto 27
        20: .line 69
      StackMap locals:
      StackMap stack:
            iload 4 /* c */
            bipush 92
            if_icmpne 24
        21: .line 71
            aload 0 /* this */
            getfield org.bouncycastle.asn1.x500.style.X500NameTokenizer.buf:Ljava/lang/StringBuffer;
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        22: .line 72
            iconst_1
            istore 3 /* escaped */
        23: .line 73
            goto 27
        24: .line 74
      StackMap locals:
      StackMap stack:
            iload 4 /* c */
            aload 0 /* this */
            getfield org.bouncycastle.asn1.x500.style.X500NameTokenizer.separator:C
            if_icmpne 26
        25: .line 76
            goto 29
        26: .line 80
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.asn1.x500.style.X500NameTokenizer.buf:Ljava/lang/StringBuffer;
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        27: .line 83
      StackMap locals:
      StackMap stack:
            iinc 1 /* end */ 1
        end local 4 // char c
        28: .line 49
      StackMap locals:
      StackMap stack:
            iload 1 /* end */
            aload 0 /* this */
            getfield org.bouncycastle.asn1.x500.style.X500NameTokenizer.value:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            if_icmpne 7
        29: .line 86
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* end */
            putfield org.bouncycastle.asn1.x500.style.X500NameTokenizer.index:I
        30: .line 88
            aload 0 /* this */
            getfield org.bouncycastle.asn1.x500.style.X500NameTokenizer.buf:Ljava/lang/StringBuffer;
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 3 // boolean escaped
        end local 2 // boolean quoted
        end local 1 // int end
        end local 0 // org.bouncycastle.asn1.x500.style.X500NameTokenizer this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   31     0     this  Lorg/bouncycastle/asn1/x500/style/X500NameTokenizer;
            3   31     1      end  I
            4   31     2   quoted  Z
            5   31     3  escaped  Z
            8   28     4        c  C
}
SourceFile: "X500NameTokenizer.java"