abstract class com.sun.tools.javac.comp.Resolve$AbstractMethodCheck implements com.sun.tools.javac.comp.Resolve$MethodCheck
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: com.sun.tools.javac.comp.Resolve$AbstractMethodCheck
super_class: java.lang.Object
{
final com.sun.tools.javac.comp.Resolve this$0;
descriptor: Lcom/sun/tools/javac/comp/Resolve;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.sun.tools.javac.comp.Resolve);
descriptor: (Lcom/sun/tools/javac/comp/Resolve;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield com.sun.tools.javac.comp.Resolve$AbstractMethodCheck.this$0:Lcom/sun/tools/javac/comp/Resolve;
aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/comp/Resolve$AbstractMethodCheck;
MethodParameters:
Name Flags
this$0 final
public void argumentsAcceptable(com.sun.tools.javac.comp.Env<com.sun.tools.javac.comp.AttrContext>, com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, com.sun.tools.javac.util.Warner);
descriptor: (Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/Warner;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=13, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 2
getfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.phase:Lcom/sun/tools/javac/comp/Resolve$MethodResolutionPhase;
invokevirtual com.sun.tools.javac.comp.Resolve$MethodResolutionPhase.isVarargsRequired:()Z
istore 6
start local 6 1: aload 0
aload 1
invokevirtual com.sun.tools.javac.comp.Resolve$AbstractMethodCheck.treeForDiagnostics:(Lcom/sun/tools/javac/comp/Env;)Lcom/sun/tools/javac/tree/JCTree;
astore 7
start local 7 2: aload 7
invokestatic com.sun.tools.javac.tree.TreeInfo.args:(Lcom/sun/tools/javac/tree/JCTree;)Lcom/sun/tools/javac/util/List;
astore 8
start local 8 3: aload 2
getfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.inferenceContext:Lcom/sun/tools/javac/comp/InferenceContext;
astore 9
start local 9 4: iload 6
ifeq 5
aload 4
invokevirtual com.sun.tools.javac.util.List.last:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
goto 6
StackMap locals: com.sun.tools.javac.comp.Resolve$AbstractMethodCheck com.sun.tools.javac.comp.Env com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.Warner int com.sun.tools.javac.tree.JCTree com.sun.tools.javac.util.List com.sun.tools.javac.comp.InferenceContext
StackMap stack:
5: aconst_null
StackMap locals:
StackMap stack: com.sun.tools.javac.code.Type
6: astore 10
start local 10 7: aload 10
ifnonnull 20
8: aload 3
invokevirtual com.sun.tools.javac.util.List.size:()I
aload 4
invokevirtual com.sun.tools.javac.util.List.size:()I
if_icmpeq 20
9: aload 0
aload 7
getstatic com.sun.tools.javac.comp.Resolve$MethodCheckDiag.ARITY_MISMATCH:Lcom/sun/tools/javac/comp/Resolve$MethodCheckDiag;
aload 9
iconst_0
anewarray java.lang.Object
invokevirtual com.sun.tools.javac.comp.Resolve$AbstractMethodCheck.reportMC:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/comp/Resolve$MethodCheckDiag;Lcom/sun/tools/javac/comp/InferenceContext;[Ljava/lang/Object;)V
10: goto 20
11: StackMap locals: com.sun.tools.javac.code.Type
StackMap stack:
aload 8
ifnull 12
aload 8
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition
goto 13
StackMap locals:
StackMap stack:
12: aconst_null
StackMap locals:
StackMap stack: com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition
13: astore 11
start local 11 14: aload 0
aload 11
iconst_0
aload 3
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
aload 4
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
aload 2
aload 5
invokevirtual com.sun.tools.javac.comp.Resolve$AbstractMethodCheck.checkArg:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;ZLcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;Lcom/sun/tools/javac/util/Warner;)V
15: aload 3
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 3
16: aload 4
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 4
17: aload 8
ifnull 18
aload 8
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
goto 19
StackMap locals: com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition
StackMap stack:
18: aload 8
StackMap locals:
StackMap stack: com.sun.tools.javac.util.List
19: astore 8
end local 11 20: StackMap locals:
StackMap stack:
aload 3
invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
ifeq 21
aload 4
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
aload 10
if_acmpne 11
21: StackMap locals:
StackMap stack:
aload 4
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
aload 10
if_acmpeq 23
22: aload 0
aload 7
getstatic com.sun.tools.javac.comp.Resolve$MethodCheckDiag.ARITY_MISMATCH:Lcom/sun/tools/javac/comp/Resolve$MethodCheckDiag;
aload 9
iconst_0
anewarray java.lang.Object
invokevirtual com.sun.tools.javac.comp.Resolve$AbstractMethodCheck.reportMC:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/comp/Resolve$MethodCheckDiag;Lcom/sun/tools/javac/comp/InferenceContext;[Ljava/lang/Object;)V
23: StackMap locals:
StackMap stack:
iload 6
ifeq 35
24: aload 0
getfield com.sun.tools.javac.comp.Resolve$AbstractMethodCheck.this$0:Lcom/sun/tools/javac/comp/Resolve;
getfield com.sun.tools.javac.comp.Resolve.types:Lcom/sun/tools/javac/code/Types;
aload 10
invokevirtual com.sun.tools.javac.code.Types.elemtype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
astore 11
start local 11 25: goto 34
26: StackMap locals: com.sun.tools.javac.code.Type
StackMap stack:
aload 8
ifnull 27
aload 8
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition
goto 28
StackMap locals:
StackMap stack:
27: aconst_null
StackMap locals:
StackMap stack: com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition
28: astore 12
start local 12 29: aload 0
aload 12
iconst_1
aload 3
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
aload 11
aload 2
aload 5
invokevirtual com.sun.tools.javac.comp.Resolve$AbstractMethodCheck.checkArg:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;ZLcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;Lcom/sun/tools/javac/util/Warner;)V
30: aload 3
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 3
31: aload 8
ifnull 32
aload 8
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
goto 33
StackMap locals: com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition
StackMap stack:
32: aload 8
StackMap locals:
StackMap stack: com.sun.tools.javac.util.List
33: astore 8
end local 12 34: StackMap locals:
StackMap stack:
aload 3
invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
ifne 26
end local 11 35: StackMap locals:
StackMap stack:
return
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lcom/sun/tools/javac/comp/Resolve$AbstractMethodCheck;
0 36 1 env Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;
0 36 2 deferredAttrContext Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;
0 36 3 argtypes Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
0 36 4 formals Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
0 36 5 warn Lcom/sun/tools/javac/util/Warner;
1 36 6 useVarargs Z
2 36 7 callTree Lcom/sun/tools/javac/tree/JCTree;
3 36 8 trees Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCExpression;>;
4 36 9 inferenceContext Lcom/sun/tools/javac/comp/InferenceContext;
7 36 10 varargsFormal Lcom/sun/tools/javac/code/Type;
14 20 11 pos Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
25 35 11 elt Lcom/sun/tools/javac/code/Type;
29 34 12 pos Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
Signature: (Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;Lcom/sun/tools/javac/util/Warner;)V
MethodParameters:
Name Flags
env final
deferredAttrContext
argtypes
formals
warn
private com.sun.tools.javac.tree.JCTree treeForDiagnostics(com.sun.tools.javac.comp.Env<com.sun.tools.javac.comp.AttrContext>);
descriptor: (Lcom/sun/tools/javac/comp/Env;)Lcom/sun/tools/javac/tree/JCTree;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getfield com.sun.tools.javac.comp.Env.info:Ljava/lang/Object;
checkcast com.sun.tools.javac.comp.AttrContext
getfield com.sun.tools.javac.comp.AttrContext.preferredTreeForDiagnostics:Lcom/sun/tools/javac/tree/JCTree;
ifnull 1
aload 1
getfield com.sun.tools.javac.comp.Env.info:Ljava/lang/Object;
checkcast com.sun.tools.javac.comp.AttrContext
getfield com.sun.tools.javac.comp.AttrContext.preferredTreeForDiagnostics:Lcom/sun/tools/javac/tree/JCTree;
goto 2
StackMap locals:
StackMap stack:
1: aload 1
getfield com.sun.tools.javac.comp.Env.tree:Lcom/sun/tools/javac/tree/JCTree;
StackMap locals:
StackMap stack: com.sun.tools.javac.tree.JCTree
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/javac/comp/Resolve$AbstractMethodCheck;
0 3 1 env Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;
Signature: (Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;)Lcom/sun/tools/javac/tree/JCTree;
MethodParameters:
Name Flags
env
abstract void checkArg(com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition, boolean, com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type, com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext, com.sun.tools.javac.util.Warner);
descriptor: (Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;ZLcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;Lcom/sun/tools/javac/util/Warner;)V
flags: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
pos
varargs
actual
formal
deferredAttrContext
warn
protected void reportMC(com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition, com.sun.tools.javac.comp.Resolve$MethodCheckDiag, com.sun.tools.javac.comp.InferenceContext, java.lang.Object[]);
descriptor: (Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/comp/Resolve$MethodCheckDiag;Lcom/sun/tools/javac/comp/InferenceContext;[Ljava/lang/Object;)V
flags: (0x0084) ACC_PROTECTED, ACC_VARARGS
Code:
stack=7, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
aload 0
getfield com.sun.tools.javac.comp.Resolve$AbstractMethodCheck.this$0:Lcom/sun/tools/javac/comp/Resolve;
getfield com.sun.tools.javac.comp.Resolve.infer:Lcom/sun/tools/javac/comp/Infer;
getfield com.sun.tools.javac.comp.Infer.emptyContext:Lcom/sun/tools/javac/comp/InferenceContext;
if_acmpeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 5
start local 5 3: iload 5
ifeq 5
4: aload 0
getfield com.sun.tools.javac.comp.Resolve$AbstractMethodCheck.this$0:Lcom/sun/tools/javac/comp/Resolve;
getfield com.sun.tools.javac.comp.Resolve.infer:Lcom/sun/tools/javac/comp/Infer;
getfield com.sun.tools.javac.comp.Infer.inferenceException:Lcom/sun/tools/javac/comp/Infer$InferenceException;
goto 6
StackMap locals: int
StackMap stack:
5: aload 0
getfield com.sun.tools.javac.comp.Resolve$AbstractMethodCheck.this$0:Lcom/sun/tools/javac/comp/Resolve;
getfield com.sun.tools.javac.comp.Resolve.inapplicableMethodException:Lcom/sun/tools/javac/comp/Resolve$InapplicableMethodException;
6: StackMap locals:
StackMap stack: com.sun.tools.javac.comp.Resolve$InapplicableMethodException
astore 6
start local 6 7: iload 5
ifeq 12
aload 2
getfield com.sun.tools.javac.comp.Resolve$MethodCheckDiag.inferKey:Ljava/lang/String;
aload 2
getfield com.sun.tools.javac.comp.Resolve$MethodCheckDiag.basicKey:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 12
8: aload 4
arraylength
iconst_1
iadd
anewarray java.lang.Object
astore 7
start local 7 9: aload 4
iconst_0
aload 7
iconst_1
aload 4
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
10: aload 7
iconst_0
aload 3
invokevirtual com.sun.tools.javac.comp.InferenceContext.inferenceVars:()Lcom/sun/tools/javac/util/List;
aastore
11: aload 7
astore 4
end local 7 12: StackMap locals: com.sun.tools.javac.comp.Resolve$InapplicableMethodException
StackMap stack:
iload 5
ifeq 13
aload 2
getfield com.sun.tools.javac.comp.Resolve$MethodCheckDiag.inferKey:Ljava/lang/String;
goto 14
StackMap locals:
StackMap stack:
13: aload 2
getfield com.sun.tools.javac.comp.Resolve$MethodCheckDiag.basicKey:Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
14: astore 7
start local 7 15: aload 6
aload 0
getfield com.sun.tools.javac.comp.Resolve$AbstractMethodCheck.this$0:Lcom/sun/tools/javac/comp/Resolve;
getfield com.sun.tools.javac.comp.Resolve.diags:Lcom/sun/tools/javac/util/JCDiagnostic$Factory;
getstatic com.sun.tools.javac.util.JCDiagnostic$DiagnosticType.FRAGMENT:Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticType;
aload 0
getfield com.sun.tools.javac.comp.Resolve$AbstractMethodCheck.this$0:Lcom/sun/tools/javac/comp/Resolve;
getfield com.sun.tools.javac.comp.Resolve.log:Lcom/sun/tools/javac/util/Log;
invokevirtual com.sun.tools.javac.util.Log.currentSource:()Lcom/sun/tools/javac/util/DiagnosticSource;
aload 1
aload 7
aload 4
invokevirtual com.sun.tools.javac.util.JCDiagnostic$Factory.create:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticType;Lcom/sun/tools/javac/util/DiagnosticSource;Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Ljava/lang/String;[Ljava/lang/Object;)Lcom/sun/tools/javac/util/JCDiagnostic;
invokevirtual com.sun.tools.javac.comp.Resolve$InapplicableMethodException.setMessage:(Lcom/sun/tools/javac/util/JCDiagnostic;)Lcom/sun/tools/javac/comp/Resolve$InapplicableMethodException;
athrow
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/sun/tools/javac/comp/Resolve$AbstractMethodCheck;
0 16 1 pos Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
0 16 2 diag Lcom/sun/tools/javac/comp/Resolve$MethodCheckDiag;
0 16 3 inferenceContext Lcom/sun/tools/javac/comp/InferenceContext;
0 16 4 args [Ljava/lang/Object;
3 16 5 inferDiag Z
7 16 6 ex Lcom/sun/tools/javac/comp/Resolve$InapplicableMethodException;
9 12 7 args2 [Ljava/lang/Object;
15 16 7 key Ljava/lang/String;
MethodParameters:
Name Flags
pos
diag
inferenceContext
args
public com.sun.tools.javac.comp.Resolve$MethodCheck mostSpecificCheck(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
descriptor: (Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/comp/Resolve$MethodCheck;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.comp.Resolve$AbstractMethodCheck.this$0:Lcom/sun/tools/javac/comp/Resolve;
getfield com.sun.tools.javac.comp.Resolve.nilMethodCheck:Lcom/sun/tools/javac/comp/Resolve$MethodCheck;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/comp/Resolve$AbstractMethodCheck;
0 1 1 actuals Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
Signature: (Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;)Lcom/sun/tools/javac/comp/Resolve$MethodCheck;
MethodParameters:
Name Flags
actuals
}
SourceFile: "Resolve.java"
NestHost: com.sun.tools.javac.comp.Resolve
InnerClasses:
DeferredAttrContext = com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext of com.sun.tools.javac.comp.DeferredAttr
abstract AbstractMethodCheck = com.sun.tools.javac.comp.Resolve$AbstractMethodCheck of com.sun.tools.javac.comp.Resolve
public InapplicableMethodException = com.sun.tools.javac.comp.Resolve$InapplicableMethodException of com.sun.tools.javac.comp.Resolve
abstract MethodCheck = com.sun.tools.javac.comp.Resolve$MethodCheck of com.sun.tools.javac.comp.Resolve
final MethodCheckDiag = com.sun.tools.javac.comp.Resolve$MethodCheckDiag of com.sun.tools.javac.comp.Resolve
MethodResolutionPhase = com.sun.tools.javac.comp.Resolve$MethodResolutionPhase of com.sun.tools.javac.comp.Resolve
public abstract JCExpression = com.sun.tools.javac.tree.JCTree$JCExpression of com.sun.tools.javac.tree.JCTree
public abstract DiagnosticPosition = com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition of com.sun.tools.javac.util.JCDiagnostic
public final DiagnosticType = com.sun.tools.javac.util.JCDiagnostic$DiagnosticType of com.sun.tools.javac.util.JCDiagnostic
public Factory = com.sun.tools.javac.util.JCDiagnostic$Factory of com.sun.tools.javac.util.JCDiagnostic