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