class org.eclipse.jdt.internal.corext.dom.ASTNodes$AmbiguousTargetMethodAnalyzer implements org.eclipse.jdt.internal.corext.dom.TypeBindingVisitor
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.eclipse.jdt.internal.corext.dom.ASTNodes$AmbiguousTargetMethodAnalyzer
  super_class: java.lang.Object
{
  private org.eclipse.jdt.core.dom.ITypeBinding fDeclaringType;
    descriptor: Lorg/eclipse/jdt/core/dom/ITypeBinding;
    flags: (0x0002) ACC_PRIVATE

  private org.eclipse.jdt.core.dom.IMethodBinding fOriginalMethod;
    descriptor: Lorg/eclipse/jdt/core/dom/IMethodBinding;
    flags: (0x0002) ACC_PRIVATE

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

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

  private boolean fExpressionIsExplicitlyTyped;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  public void <init>(org.eclipse.jdt.core.dom.ITypeBinding, org.eclipse.jdt.core.dom.IMethodBinding, int, int, boolean);
    descriptor: (Lorg/eclipse/jdt/core/dom/ITypeBinding;Lorg/eclipse/jdt/core/dom/IMethodBinding;IIZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=6
        start local 0 // org.eclipse.jdt.internal.corext.dom.ASTNodes$AmbiguousTargetMethodAnalyzer this
        start local 1 // org.eclipse.jdt.core.dom.ITypeBinding declaringType
        start local 2 // org.eclipse.jdt.core.dom.IMethodBinding originalMethod
        start local 3 // int argumentIndex
        start local 4 // int argumentCount
        start local 5 // boolean expressionIsExplicitlyTyped
         0: .line 977
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 978
            aload 0 /* this */
            aload 1 /* declaringType */
            putfield org.eclipse.jdt.internal.corext.dom.ASTNodes$AmbiguousTargetMethodAnalyzer.fDeclaringType:Lorg/eclipse/jdt/core/dom/ITypeBinding;
         2: .line 979
            aload 0 /* this */
            aload 2 /* originalMethod */
            putfield org.eclipse.jdt.internal.corext.dom.ASTNodes$AmbiguousTargetMethodAnalyzer.fOriginalMethod:Lorg/eclipse/jdt/core/dom/IMethodBinding;
         3: .line 980
            aload 0 /* this */
            iload 3 /* argumentIndex */
            putfield org.eclipse.jdt.internal.corext.dom.ASTNodes$AmbiguousTargetMethodAnalyzer.fArgIndex:I
         4: .line 981
            aload 0 /* this */
            iload 4 /* argumentCount */
            putfield org.eclipse.jdt.internal.corext.dom.ASTNodes$AmbiguousTargetMethodAnalyzer.fArgumentCount:I
         5: .line 982
            aload 0 /* this */
            iload 5 /* expressionIsExplicitlyTyped */
            putfield org.eclipse.jdt.internal.corext.dom.ASTNodes$AmbiguousTargetMethodAnalyzer.fExpressionIsExplicitlyTyped:Z
         6: .line 983
            return
        end local 5 // boolean expressionIsExplicitlyTyped
        end local 4 // int argumentCount
        end local 3 // int argumentIndex
        end local 2 // org.eclipse.jdt.core.dom.IMethodBinding originalMethod
        end local 1 // org.eclipse.jdt.core.dom.ITypeBinding declaringType
        end local 0 // org.eclipse.jdt.internal.corext.dom.ASTNodes$AmbiguousTargetMethodAnalyzer this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0    7     0                         this  Lorg/eclipse/jdt/internal/corext/dom/ASTNodes$AmbiguousTargetMethodAnalyzer;
            0    7     1                declaringType  Lorg/eclipse/jdt/core/dom/ITypeBinding;
            0    7     2               originalMethod  Lorg/eclipse/jdt/core/dom/IMethodBinding;
            0    7     3                argumentIndex  I
            0    7     4                argumentCount  I
            0    7     5  expressionIsExplicitlyTyped  Z
    MethodParameters:
                             Name  Flags
      declaringType                
      originalMethod               
      argumentIndex                
      argumentCount                
      expressionIsExplicitlyTyped  

  public boolean visit(org.eclipse.jdt.core.dom.ITypeBinding);
    descriptor: (Lorg/eclipse/jdt/core/dom/ITypeBinding;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=13, args_size=2
        start local 0 // org.eclipse.jdt.internal.corext.dom.ASTNodes$AmbiguousTargetMethodAnalyzer this
        start local 1 // org.eclipse.jdt.core.dom.ITypeBinding type
         0: .line 987
            aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.getDeclaredMethods:()[Lorg/eclipse/jdt/core/dom/IMethodBinding;
            astore 2 /* methods */
        start local 2 // org.eclipse.jdt.core.dom.IMethodBinding[] methods
         1: .line 988
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 39
         3: .line 989
      StackMap locals: org.eclipse.jdt.core.dom.IMethodBinding[] int
      StackMap stack:
            aload 2 /* methods */
            iload 3 /* i */
            aaload
            astore 4 /* candidate */
        start local 4 // org.eclipse.jdt.core.dom.IMethodBinding candidate
         4: .line 990
            aload 4 /* candidate */
            invokeinterface org.eclipse.jdt.core.dom.IMethodBinding.getMethodDeclaration:()Lorg/eclipse/jdt/core/dom/IMethodBinding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.dom.ASTNodes$AmbiguousTargetMethodAnalyzer.fOriginalMethod:Lorg/eclipse/jdt/core/dom/IMethodBinding;
            invokeinterface org.eclipse.jdt.core.dom.IMethodBinding.getMethodDeclaration:()Lorg/eclipse/jdt/core/dom/IMethodBinding;
            if_acmpne 6
         5: .line 991
            goto 38
         6: .line 993
      StackMap locals: org.eclipse.jdt.core.dom.IMethodBinding
      StackMap stack:
            aload 4 /* candidate */
            invokeinterface org.eclipse.jdt.core.dom.IMethodBinding.getDeclaringClass:()Lorg/eclipse/jdt/core/dom/ITypeBinding;
            astore 5 /* candidateDeclaringType */
        start local 5 // org.eclipse.jdt.core.dom.ITypeBinding candidateDeclaringType
         7: .line 994
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.dom.ASTNodes$AmbiguousTargetMethodAnalyzer.fDeclaringType:Lorg/eclipse/jdt/core/dom/ITypeBinding;
            aload 5 /* candidateDeclaringType */
            if_acmpeq 13
         8: .line 995
            aload 4 /* candidate */
            invokeinterface org.eclipse.jdt.core.dom.IMethodBinding.getModifiers:()I
            istore 6 /* modifiers */
        start local 6 // int modifiers
         9: .line 996
            aload 5 /* candidateDeclaringType */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.isInterface:()Z
            ifeq 11
            iload 6 /* modifiers */
            invokestatic org.eclipse.jdt.core.dom.Modifier.isStatic:(I)Z
            ifeq 11
        10: .line 997
            goto 38
        11: .line 999
      StackMap locals: org.eclipse.jdt.core.dom.ITypeBinding int
      StackMap stack:
            iload 6 /* modifiers */
            invokestatic org.eclipse.jdt.core.dom.Modifier.isPrivate:(I)Z
            ifeq 13
        12: .line 1000
            goto 38
        end local 6 // int modifiers
        13: .line 1003
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.dom.ASTNodes$AmbiguousTargetMethodAnalyzer.fOriginalMethod:Lorg/eclipse/jdt/core/dom/IMethodBinding;
            invokeinterface org.eclipse.jdt.core.dom.IMethodBinding.getName:()Ljava/lang/String;
            aload 4 /* candidate */
            invokeinterface org.eclipse.jdt.core.dom.IMethodBinding.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 38
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.dom.ASTNodes$AmbiguousTargetMethodAnalyzer.fOriginalMethod:Lorg/eclipse/jdt/core/dom/IMethodBinding;
            aload 4 /* candidate */
            invokeinterface org.eclipse.jdt.core.dom.IMethodBinding.overrides:(Lorg/eclipse/jdt/core/dom/IMethodBinding;)Z
            ifne 38
        14: .line 1004
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.dom.ASTNodes$AmbiguousTargetMethodAnalyzer.fOriginalMethod:Lorg/eclipse/jdt/core/dom/IMethodBinding;
            invokeinterface org.eclipse.jdt.core.dom.IMethodBinding.getParameterTypes:()[Lorg/eclipse/jdt/core/dom/ITypeBinding;
            astore 6 /* originalParameterTypes */
        start local 6 // org.eclipse.jdt.core.dom.ITypeBinding[] originalParameterTypes
        15: .line 1005
            aload 4 /* candidate */
            invokeinterface org.eclipse.jdt.core.dom.IMethodBinding.getParameterTypes:()[Lorg/eclipse/jdt/core/dom/ITypeBinding;
            astore 7 /* candidateParameterTypes */
        start local 7 // org.eclipse.jdt.core.dom.ITypeBinding[] candidateParameterTypes
        16: .line 1008
            aload 6 /* originalParameterTypes */
            arraylength
            aload 7 /* candidateParameterTypes */
            arraylength
            if_icmpne 19
        17: .line 1009
            iconst_1
            istore 8 /* couldBeAmbiguous */
        start local 8 // boolean couldBeAmbiguous
        18: .line 1010
            goto 28
        end local 8 // boolean couldBeAmbiguous
      StackMap locals: org.eclipse.jdt.core.dom.ITypeBinding[] org.eclipse.jdt.core.dom.ITypeBinding[]
      StackMap stack:
        19: aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.dom.ASTNodes$AmbiguousTargetMethodAnalyzer.fOriginalMethod:Lorg/eclipse/jdt/core/dom/IMethodBinding;
            invokeinterface org.eclipse.jdt.core.dom.IMethodBinding.isVarargs:()Z
            ifne 20
            aload 4 /* candidate */
            invokeinterface org.eclipse.jdt.core.dom.IMethodBinding.isVarargs:()Z
            ifeq 27
        20: .line 1011
      StackMap locals:
      StackMap stack:
            aload 7 /* candidateParameterTypes */
            arraylength
            istore 9 /* candidateMinArgumentCount */
        start local 9 // int candidateMinArgumentCount
        21: .line 1012
            aload 4 /* candidate */
            invokeinterface org.eclipse.jdt.core.dom.IMethodBinding.isVarargs:()Z
            ifeq 23
        22: .line 1013
            iinc 9 /* candidateMinArgumentCount */ -1
        23: .line 1014
      StackMap locals: org.eclipse.jdt.internal.corext.dom.ASTNodes$AmbiguousTargetMethodAnalyzer org.eclipse.jdt.core.dom.ITypeBinding org.eclipse.jdt.core.dom.IMethodBinding[] int org.eclipse.jdt.core.dom.IMethodBinding org.eclipse.jdt.core.dom.ITypeBinding org.eclipse.jdt.core.dom.ITypeBinding[] org.eclipse.jdt.core.dom.ITypeBinding[] top int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.dom.ASTNodes$AmbiguousTargetMethodAnalyzer.fArgumentCount:I
            iload 9 /* candidateMinArgumentCount */
            if_icmplt 24
            iconst_1
            goto 25
      StackMap locals:
      StackMap stack:
        24: iconst_0
      StackMap locals:
      StackMap stack: int
        25: istore 8 /* couldBeAmbiguous */
        end local 9 // int candidateMinArgumentCount
        start local 8 // boolean couldBeAmbiguous
        26: .line 1015
            goto 28
        end local 8 // boolean couldBeAmbiguous
        27: .line 1016
      StackMap locals: org.eclipse.jdt.internal.corext.dom.ASTNodes$AmbiguousTargetMethodAnalyzer org.eclipse.jdt.core.dom.ITypeBinding org.eclipse.jdt.core.dom.IMethodBinding[] int org.eclipse.jdt.core.dom.IMethodBinding org.eclipse.jdt.core.dom.ITypeBinding org.eclipse.jdt.core.dom.ITypeBinding[] org.eclipse.jdt.core.dom.ITypeBinding[]
      StackMap stack:
            iconst_0
            istore 8 /* couldBeAmbiguous */
        start local 8 // boolean couldBeAmbiguous
        28: .line 1018
      StackMap locals: int
      StackMap stack:
            iload 8 /* couldBeAmbiguous */
            ifeq 38
        29: .line 1019
            aload 4 /* candidate */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.dom.ASTNodes$AmbiguousTargetMethodAnalyzer.fArgIndex:I
            invokestatic org.eclipse.jdt.internal.core.manipulation.dom.ASTResolving.getParameterTypeBinding:(Lorg/eclipse/jdt/core/dom/IMethodBinding;I)Lorg/eclipse/jdt/core/dom/ITypeBinding;
            astore 9 /* parameterType */
        start local 9 // org.eclipse.jdt.core.dom.ITypeBinding parameterType
        30: .line 1020
            aload 9 /* parameterType */
            ifnull 38
            aload 9 /* parameterType */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.getFunctionalInterfaceMethod:()Lorg/eclipse/jdt/core/dom/IMethodBinding;
            ifnull 38
        31: .line 1021
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.dom.ASTNodes$AmbiguousTargetMethodAnalyzer.fExpressionIsExplicitlyTyped:Z
            ifne 33
        32: .line 1027
            iconst_0
            ireturn
        33: .line 1035
      StackMap locals: org.eclipse.jdt.core.dom.ITypeBinding
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.dom.ASTNodes$AmbiguousTargetMethodAnalyzer.fOriginalMethod:Lorg/eclipse/jdt/core/dom/IMethodBinding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.dom.ASTNodes$AmbiguousTargetMethodAnalyzer.fArgIndex:I
            invokestatic org.eclipse.jdt.internal.core.manipulation.dom.ASTResolving.getParameterTypeBinding:(Lorg/eclipse/jdt/core/dom/IMethodBinding;I)Lorg/eclipse/jdt/core/dom/ITypeBinding;
            astore 10 /* origParamType */
        start local 10 // org.eclipse.jdt.core.dom.ITypeBinding origParamType
        34: .line 1036
            aload 10 /* origParamType */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.getFunctionalInterfaceMethod:()Lorg/eclipse/jdt/core/dom/IMethodBinding;
            invokeinterface org.eclipse.jdt.core.dom.IMethodBinding.getReturnType:()Lorg/eclipse/jdt/core/dom/ITypeBinding;
            invokestatic org.eclipse.jdt.internal.corext.dom.Bindings.isVoidType:(Lorg/eclipse/jdt/core/dom/ITypeBinding;)Z
            istore 11 /* originalIsVoidCompatible */
        start local 11 // boolean originalIsVoidCompatible
        35: .line 1037
            aload 9 /* parameterType */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.getFunctionalInterfaceMethod:()Lorg/eclipse/jdt/core/dom/IMethodBinding;
            invokeinterface org.eclipse.jdt.core.dom.IMethodBinding.getReturnType:()Lorg/eclipse/jdt/core/dom/ITypeBinding;
            invokestatic org.eclipse.jdt.internal.corext.dom.Bindings.isVoidType:(Lorg/eclipse/jdt/core/dom/ITypeBinding;)Z
            istore 12 /* candidateIsVoidCompatible */
        start local 12 // boolean candidateIsVoidCompatible
        36: .line 1038
            iload 11 /* originalIsVoidCompatible */
            iload 12 /* candidateIsVoidCompatible */
            if_icmpne 38
        37: .line 1039
            iconst_0
            ireturn
        end local 12 // boolean candidateIsVoidCompatible
        end local 11 // boolean originalIsVoidCompatible
        end local 10 // org.eclipse.jdt.core.dom.ITypeBinding origParamType
        end local 9 // org.eclipse.jdt.core.dom.ITypeBinding parameterType
        end local 8 // boolean couldBeAmbiguous
        end local 7 // org.eclipse.jdt.core.dom.ITypeBinding[] candidateParameterTypes
        end local 6 // org.eclipse.jdt.core.dom.ITypeBinding[] originalParameterTypes
        end local 5 // org.eclipse.jdt.core.dom.ITypeBinding candidateDeclaringType
        end local 4 // org.eclipse.jdt.core.dom.IMethodBinding candidate
        38: .line 988
      StackMap locals: org.eclipse.jdt.internal.corext.dom.ASTNodes$AmbiguousTargetMethodAnalyzer org.eclipse.jdt.core.dom.ITypeBinding org.eclipse.jdt.core.dom.IMethodBinding[] int
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        39: iload 3 /* i */
            aload 2 /* methods */
            arraylength
            if_icmplt 3
        end local 3 // int i
        40: .line 1045
            iconst_1
            ireturn
        end local 2 // org.eclipse.jdt.core.dom.IMethodBinding[] methods
        end local 1 // org.eclipse.jdt.core.dom.ITypeBinding type
        end local 0 // org.eclipse.jdt.internal.corext.dom.ASTNodes$AmbiguousTargetMethodAnalyzer this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   41     0                       this  Lorg/eclipse/jdt/internal/corext/dom/ASTNodes$AmbiguousTargetMethodAnalyzer;
            0   41     1                       type  Lorg/eclipse/jdt/core/dom/ITypeBinding;
            1   41     2                    methods  [Lorg/eclipse/jdt/core/dom/IMethodBinding;
            2   40     3                          i  I
            4   38     4                  candidate  Lorg/eclipse/jdt/core/dom/IMethodBinding;
            7   38     5     candidateDeclaringType  Lorg/eclipse/jdt/core/dom/ITypeBinding;
            9   13     6                  modifiers  I
           15   38     6     originalParameterTypes  [Lorg/eclipse/jdt/core/dom/ITypeBinding;
           16   38     7    candidateParameterTypes  [Lorg/eclipse/jdt/core/dom/ITypeBinding;
           18   19     8           couldBeAmbiguous  Z
           26   27     8           couldBeAmbiguous  Z
           28   38     8           couldBeAmbiguous  Z
           21   26     9  candidateMinArgumentCount  I
           30   38     9              parameterType  Lorg/eclipse/jdt/core/dom/ITypeBinding;
           34   38    10              origParamType  Lorg/eclipse/jdt/core/dom/ITypeBinding;
           35   38    11   originalIsVoidCompatible  Z
           36   38    12  candidateIsVoidCompatible  Z
    MethodParameters:
      Name  Flags
      type  
}
SourceFile: "ASTNodes.java"
NestHost: org.eclipse.jdt.internal.corext.dom.ASTNodes
InnerClasses:
  private AmbiguousTargetMethodAnalyzer = org.eclipse.jdt.internal.corext.dom.ASTNodes$AmbiguousTargetMethodAnalyzer of org.eclipse.jdt.internal.corext.dom.ASTNodes