class org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker extends org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$BasicAnnotationWalker implements org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$IMethodAnnotationWalker
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker
  super_class: org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$BasicAnnotationWalker
{
  int prevParamStart;
    descriptor: I
    flags: (0x0000) 

  org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$TypeParametersAnnotationWalker typeParametersWalker;
    descriptor: Lorg/eclipse/jdt/internal/compiler/classfmt/ExternalAnnotationProvider$TypeParametersAnnotationWalker;
    flags: (0x0000) 

  final org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider this$0;
    descriptor: Lorg/eclipse/jdt/internal/compiler/classfmt/ExternalAnnotationProvider;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider, char[], int, org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/classfmt/ExternalAnnotationProvider;[CILorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker this
        start local 2 // char[] source
        start local 3 // int pos
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment environment
         0: .line 611
            aload 0 /* this */
            aload 1
            putfield org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker.this$0:Lorg/eclipse/jdt/internal/compiler/classfmt/ExternalAnnotationProvider;
         1: .line 612
            aload 0 /* this */
            aload 1
            aload 2 /* source */
            iload 3 /* pos */
            aload 4 /* environment */
            invokespecial org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$BasicAnnotationWalker.<init>:(Lorg/eclipse/jdt/internal/compiler/classfmt/ExternalAnnotationProvider;[CILorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)V
         2: .line 613
            return
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment environment
        end local 3 // int pos
        end local 2 // char[] source
        end local 0 // org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lorg/eclipse/jdt/internal/compiler/classfmt/ExternalAnnotationProvider$MethodAnnotationWalker;
            0    3     2       source  [C
            0    3     3          pos  I
            0    3     4  environment  Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
    MethodParameters:
             Name  Flags
      this$0       final
      source       
      pos          
      environment  

  int typeEnd(int);
    descriptor: (I)I
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker this
        start local 1 // int start
         0: .line 616
            goto 3
         1: .line 617
      StackMap locals:
      StackMap stack:
            iinc 1 /* start */ 1
         2: .line 618
            aload 0 /* this */
            iload 1 /* start */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker.skipNullAnnotation:(I)I
            istore 1 /* start */
         3: .line 616
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker.source:[C
            iload 1 /* start */
            caload
            bipush 91
            if_icmpeq 1
         4: .line 620
            aload 0 /* this */
            iload 1 /* start */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker.wrapperWithStart:(I)Lorg/eclipse/jdt/internal/compiler/lookup/SignatureWrapper;
            astore 2 /* wrapper1 */
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.SignatureWrapper wrapper1
         5: .line 621
            aload 2 /* wrapper1 */
            aload 2 /* wrapper1 */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.SignatureWrapper.computeEnd:()I
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.SignatureWrapper.skipAngleContents:(I)I
            istore 3 /* end */
        start local 3 // int end
         6: .line 622
            iload 3 /* end */
            ireturn
        end local 3 // int end
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.SignatureWrapper wrapper1
        end local 1 // int start
        end local 0 // org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/eclipse/jdt/internal/compiler/classfmt/ExternalAnnotationProvider$MethodAnnotationWalker;
            0    7     1     start  I
            5    7     2  wrapper1  Lorg/eclipse/jdt/internal/compiler/lookup/SignatureWrapper;
            6    7     3       end  I
    MethodParameters:
       Name  Flags
      start  

  public org.eclipse.jdt.internal.compiler.env.ITypeAnnotationWalker toTypeParameter(boolean, int);
    descriptor: (ZI)Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker this
        start local 1 // boolean isClassTypeParameter
        start local 2 // int rank
         0: .line 627
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker.source:[C
            iconst_0
            caload
            bipush 60
            if_icmpne 4
         1: .line 628
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker.typeParametersWalker:Lorg/eclipse/jdt/internal/compiler/classfmt/ExternalAnnotationProvider$TypeParametersAnnotationWalker;
            ifnonnull 3
         2: .line 629
            aload 0 /* this */
            new org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$TypeParametersAnnotationWalker
            dup
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker.this$0:Lorg/eclipse/jdt/internal/compiler/classfmt/ExternalAnnotationProvider;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker.source:[C
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker.pos:I
            iconst_1
            iadd
            iload 2 /* rank */
            aconst_null
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            invokespecial org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$TypeParametersAnnotationWalker.<init>:(Lorg/eclipse/jdt/internal/compiler/classfmt/ExternalAnnotationProvider;[CII[ILorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)V
            dup_x1
            putfield org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker.typeParametersWalker:Lorg/eclipse/jdt/internal/compiler/classfmt/ExternalAnnotationProvider$TypeParametersAnnotationWalker;
            areturn
         3: .line 630
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker.typeParametersWalker:Lorg/eclipse/jdt/internal/compiler/classfmt/ExternalAnnotationProvider$TypeParametersAnnotationWalker;
            iload 1 /* isClassTypeParameter */
            iload 2 /* rank */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$TypeParametersAnnotationWalker.toTypeParameter:(ZI)Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;
            areturn
         4: .line 632
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.compiler.env.ITypeAnnotationWalker.EMPTY_ANNOTATION_WALKER:Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;
            areturn
        end local 2 // int rank
        end local 1 // boolean isClassTypeParameter
        end local 0 // org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    5     0                  this  Lorg/eclipse/jdt/internal/compiler/classfmt/ExternalAnnotationProvider$MethodAnnotationWalker;
            0    5     1  isClassTypeParameter  Z
            0    5     2                  rank  I
    MethodParameters:
                      Name  Flags
      isClassTypeParameter  
      rank                  

  public org.eclipse.jdt.internal.compiler.env.ITypeAnnotationWalker toTypeParameterBounds(boolean, int);
    descriptor: (ZI)Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker this
        start local 1 // boolean isClassTypeParameter
        start local 2 // int parameterRank
         0: .line 637
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker.typeParametersWalker:Lorg/eclipse/jdt/internal/compiler/classfmt/ExternalAnnotationProvider$TypeParametersAnnotationWalker;
            ifnull 2
         1: .line 638
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker.typeParametersWalker:Lorg/eclipse/jdt/internal/compiler/classfmt/ExternalAnnotationProvider$TypeParametersAnnotationWalker;
            iload 1 /* isClassTypeParameter */
            iload 2 /* parameterRank */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$TypeParametersAnnotationWalker.toTypeParameterBounds:(ZI)Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;
            areturn
         2: .line 639
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.compiler.env.ITypeAnnotationWalker.EMPTY_ANNOTATION_WALKER:Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;
            areturn
        end local 2 // int parameterRank
        end local 1 // boolean isClassTypeParameter
        end local 0 // org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    3     0                  this  Lorg/eclipse/jdt/internal/compiler/classfmt/ExternalAnnotationProvider$MethodAnnotationWalker;
            0    3     1  isClassTypeParameter  Z
            0    3     2         parameterRank  I
    MethodParameters:
                      Name  Flags
      isClassTypeParameter  
      parameterRank         

  public org.eclipse.jdt.internal.compiler.env.ITypeAnnotationWalker toMethodReturn();
    descriptor: ()Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker this
         0: .line 644
            bipush 41
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker.source:[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.indexOf:(C[C)I
            istore 1 /* close */
        start local 1 // int close
         1: .line 645
            iload 1 /* close */
            iconst_m1
            if_icmpeq 4
         2: .line 647
            aload 0 /* this */
            iload 1 /* close */
            iconst_1
            iadd
            putfield org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker.pos:I
         3: .line 648
            aload 0 /* this */
            areturn
         4: .line 650
      StackMap locals: int
      StackMap stack:
            getstatic org.eclipse.jdt.internal.compiler.env.ITypeAnnotationWalker.EMPTY_ANNOTATION_WALKER:Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;
            areturn
        end local 1 // int close
        end local 0 // org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/eclipse/jdt/internal/compiler/classfmt/ExternalAnnotationProvider$MethodAnnotationWalker;
            1    5     1  close  I

  public org.eclipse.jdt.internal.compiler.env.ITypeAnnotationWalker toMethodParameter(short);
    descriptor: (S)Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker this
        start local 1 // short index
         0: .line 655
            iload 1 /* index */
            ifne 5
         1: .line 656
            bipush 40
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker.source:[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.indexOf:(C[C)I
            iconst_1
            iadd
            istore 2 /* start */
        start local 2 // int start
         2: .line 657
            aload 0 /* this */
            iload 2 /* start */
            putfield org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker.prevParamStart:I
         3: .line 660
            aload 0 /* this */
            iload 2 /* start */
            putfield org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker.pos:I
         4: .line 661
            aload 0 /* this */
            areturn
        end local 2 // int start
         5: .line 663
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker.prevParamStart:I
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker.typeEnd:(I)I
            istore 2 /* end */
        start local 2 // int end
         6: .line 664
            iinc 2 /* end */ 1
         7: .line 665
            aload 0 /* this */
            iload 2 /* end */
            putfield org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker.prevParamStart:I
         8: .line 667
            aload 0 /* this */
            iload 2 /* end */
            putfield org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker.pos:I
         9: .line 668
            aload 0 /* this */
            areturn
        end local 2 // int end
        end local 1 // short index
        end local 0 // org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lorg/eclipse/jdt/internal/compiler/classfmt/ExternalAnnotationProvider$MethodAnnotationWalker;
            0   10     1  index  S
            2    5     2  start  I
            6   10     2    end  I
    MethodParameters:
       Name  Flags
      index  

  public org.eclipse.jdt.internal.compiler.env.ITypeAnnotationWalker toThrows(int);
    descriptor: (I)Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker this
        start local 1 // int index
         0: .line 673
            aload 0 /* this */
            areturn
        end local 1 // int index
        end local 0 // org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/eclipse/jdt/internal/compiler/classfmt/ExternalAnnotationProvider$MethodAnnotationWalker;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  public org.eclipse.jdt.internal.compiler.env.ITypeAnnotationWalker toField();
    descriptor: ()Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker this
         0: .line 678
            new java.lang.UnsupportedOperationException
            dup
            ldc "Methods have no fields"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/classfmt/ExternalAnnotationProvider$MethodAnnotationWalker;

  public int getParameterCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker this
         0: .line 683
            iconst_0
            istore 1 /* count */
        start local 1 // int count
         1: .line 684
            bipush 40
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker.source:[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.indexOf:(C[C)I
            iconst_1
            iadd
            istore 2 /* start */
        start local 2 // int start
         2: .line 685
            goto 5
         3: .line 686
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* start */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker.typeEnd:(I)I
            iconst_1
            iadd
            istore 2 /* start */
         4: .line 687
            iinc 1 /* count */ 1
         5: .line 685
      StackMap locals:
      StackMap stack:
            iload 2 /* start */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker.source:[C
            arraylength
            if_icmpge 6
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker.source:[C
            iload 2 /* start */
            caload
            bipush 41
            if_icmpne 3
         6: .line 689
      StackMap locals:
      StackMap stack:
            iload 1 /* count */
            ireturn
        end local 2 // int start
        end local 1 // int count
        end local 0 // org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/eclipse/jdt/internal/compiler/classfmt/ExternalAnnotationProvider$MethodAnnotationWalker;
            1    7     1  count  I
            2    7     2  start  I
}
SourceFile: "ExternalAnnotationProvider.java"
NestHost: org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider
InnerClasses:
  abstract BasicAnnotationWalker = org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$BasicAnnotationWalker of org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider
  public abstract IMethodAnnotationWalker = org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$IMethodAnnotationWalker of org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider
  MethodAnnotationWalker = org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$MethodAnnotationWalker of org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider
  public TypeParametersAnnotationWalker = org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider$TypeParametersAnnotationWalker of org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider