class com.sun.tools.javac.comp.Resolve$MostSpecificCheck implements com.sun.tools.javac.comp.Resolve$MethodCheck
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.tools.javac.comp.Resolve$MostSpecificCheck
super_class: java.lang.Object
{
com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> actuals;
descriptor: Lcom/sun/tools/javac/util/List;
flags: (0x0000)
Signature: Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
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.util.List<com.sun.tools.javac.code.Type>);
descriptor: (Lcom/sun/tools/javac/comp/Resolve;Lcom/sun/tools/javac/util/List;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 2 0: aload 0
aload 1
putfield com.sun.tools.javac.comp.Resolve$MostSpecificCheck.this$0:Lcom/sun/tools/javac/comp/Resolve;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 2
putfield com.sun.tools.javac.comp.Resolve$MostSpecificCheck.actuals:Lcom/sun/tools/javac/util/List;
2: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/javac/comp/Resolve$MostSpecificCheck;
0 3 2 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;>;)V
MethodParameters:
Name Flags
this$0 final
actuals
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=5, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getfield com.sun.tools.javac.comp.Resolve$MostSpecificCheck.this$0:Lcom/sun/tools/javac/comp/Resolve;
aload 4
aload 2
getfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.msym:Lcom/sun/tools/javac/code/Symbol;
aload 3
invokevirtual com.sun.tools.javac.util.List.length:()I
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
invokevirtual com.sun.tools.javac.comp.Resolve.adjustArgs:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Symbol;IZ)Lcom/sun/tools/javac/util/List;
astore 4
1: goto 9
2: StackMap locals:
StackMap stack:
aload 0
aload 4
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
aload 2
aload 5
aload 0
getfield com.sun.tools.javac.comp.Resolve$MostSpecificCheck.actuals:Lcom/sun/tools/javac/util/List;
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
invokevirtual com.sun.tools.javac.comp.Resolve$MostSpecificCheck.methodCheckResult:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;Lcom/sun/tools/javac/util/Warner;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/comp/Attr$ResultInfo;
astore 6
start local 6 3: aload 6
aconst_null
aload 3
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
invokevirtual com.sun.tools.javac.comp.Attr$ResultInfo.check:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
pop
4: aload 3
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 3
5: aload 4
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 4
6: aload 0
aload 0
getfield com.sun.tools.javac.comp.Resolve$MostSpecificCheck.actuals:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
ifeq 7
aload 0
getfield com.sun.tools.javac.comp.Resolve$MostSpecificCheck.actuals:Lcom/sun/tools/javac/util/List;
goto 8
StackMap locals: com.sun.tools.javac.comp.Resolve$MostSpecificCheck 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 com.sun.tools.javac.comp.Attr$ResultInfo
StackMap stack: com.sun.tools.javac.comp.Resolve$MostSpecificCheck
7: aload 0
getfield com.sun.tools.javac.comp.Resolve$MostSpecificCheck.actuals:Lcom/sun/tools/javac/util/List;
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
StackMap locals: com.sun.tools.javac.comp.Resolve$MostSpecificCheck 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 com.sun.tools.javac.comp.Attr$ResultInfo
StackMap stack: com.sun.tools.javac.comp.Resolve$MostSpecificCheck com.sun.tools.javac.util.List
8: putfield com.sun.tools.javac.comp.Resolve$MostSpecificCheck.actuals:Lcom/sun/tools/javac/util/List;
end local 6 9: StackMap locals:
StackMap stack:
aload 4
invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
ifne 2
10: return
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 11 0 this Lcom/sun/tools/javac/comp/Resolve$MostSpecificCheck;
0 11 1 env Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;
0 11 2 deferredAttrContext Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;
0 11 3 formals1 Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
0 11 4 formals2 Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
0 11 5 warn Lcom/sun/tools/javac/util/Warner;
3 9 6 mresult Lcom/sun/tools/javac/comp/Attr$ResultInfo;
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
formals1
formals2
warn
com.sun.tools.javac.comp.Attr$ResultInfo methodCheckResult(com.sun.tools.javac.code.Type, com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext, com.sun.tools.javac.util.Warner, com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;Lcom/sun/tools/javac/util/Warner;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/comp/Attr$ResultInfo;
flags: (0x0000)
Code:
stack=11, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new com.sun.tools.javac.comp.Attr$ResultInfo
dup
aload 0
getfield com.sun.tools.javac.comp.Resolve$MostSpecificCheck.this$0:Lcom/sun/tools/javac/comp/Resolve;
getfield com.sun.tools.javac.comp.Resolve.attr:Lcom/sun/tools/javac/comp/Attr;
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
getstatic com.sun.tools.javac.code.Kinds$KindSelector.VAL:Lcom/sun/tools/javac/code/Kinds$KindSelector;
aload 1
1: new com.sun.tools.javac.comp.Resolve$MostSpecificCheck$MostSpecificCheckContext
dup
aload 0
aload 2
aload 3
aload 4
invokespecial com.sun.tools.javac.comp.Resolve$MostSpecificCheck$MostSpecificCheckContext.<init>:(Lcom/sun/tools/javac/comp/Resolve$MostSpecificCheck;Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;Lcom/sun/tools/javac/util/Warner;Lcom/sun/tools/javac/code/Type;)V
2: invokespecial com.sun.tools.javac.comp.Attr$ResultInfo.<init>:(Lcom/sun/tools/javac/comp/Attr;Lcom/sun/tools/javac/code/Kinds$KindSelector;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/comp/Check$CheckContext;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/javac/comp/Resolve$MostSpecificCheck;
0 3 1 to Lcom/sun/tools/javac/code/Type;
0 3 2 deferredAttrContext Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;
0 3 3 rsWarner Lcom/sun/tools/javac/util/Warner;
0 3 4 actual Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
to
deferredAttrContext
rsWarner
actual
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: ldc "Cannot get here!"
invokestatic com.sun.tools.javac.util.Assert.error:(Ljava/lang/String;)V
1: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/javac/comp/Resolve$MostSpecificCheck;
0 2 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
static com.sun.tools.javac.comp.Resolve access$0(com.sun.tools.javac.comp.Resolve$MostSpecificCheck);
descriptor: (Lcom/sun/tools/javac/comp/Resolve$MostSpecificCheck;)Lcom/sun/tools/javac/comp/Resolve;
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
getfield com.sun.tools.javac.comp.Resolve$MostSpecificCheck.this$0:Lcom/sun/tools/javac/comp/Resolve;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "Resolve.java"
NestHost: com.sun.tools.javac.comp.Resolve
InnerClasses:
public KindSelector = com.sun.tools.javac.code.Kinds$KindSelector of com.sun.tools.javac.code.Kinds
ResultInfo = com.sun.tools.javac.comp.Attr$ResultInfo of com.sun.tools.javac.comp.Attr
public abstract CheckContext = com.sun.tools.javac.comp.Check$CheckContext of com.sun.tools.javac.comp.Check
DeferredAttrContext = com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext of com.sun.tools.javac.comp.DeferredAttr
abstract MethodCheck = com.sun.tools.javac.comp.Resolve$MethodCheck of com.sun.tools.javac.comp.Resolve
MethodResolutionPhase = com.sun.tools.javac.comp.Resolve$MethodResolutionPhase of com.sun.tools.javac.comp.Resolve
MostSpecificCheck = com.sun.tools.javac.comp.Resolve$MostSpecificCheck of com.sun.tools.javac.comp.Resolve
MostSpecificCheckContext = com.sun.tools.javac.comp.Resolve$MostSpecificCheck$MostSpecificCheckContext of com.sun.tools.javac.comp.Resolve$MostSpecificCheck
public abstract DiagnosticPosition = com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition of com.sun.tools.javac.util.JCDiagnostic