class com.sun.tools.javac.comp.Resolve$4 extends com.sun.tools.javac.comp.Resolve$AbstractMethodCheck
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.tools.javac.comp.Resolve$4
super_class: com.sun.tools.javac.comp.Resolve$AbstractMethodCheck
{
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, com.sun.tools.javac.comp.Resolve);
descriptor: (Lcom/sun/tools/javac/comp/Resolve;Lcom/sun/tools/javac/comp/Resolve;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 0: aload 0
aload 2
putfield com.sun.tools.javac.comp.Resolve$4.this$0:Lcom/sun/tools/javac/comp/Resolve;
aload 0
aload 1
invokespecial com.sun.tools.javac.comp.Resolve$AbstractMethodCheck.<init>:(Lcom/sun/tools/javac/comp/Resolve;)V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/comp/Resolve$4;
MethodParameters:
Name Flags
this$0 final
this$1 final
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: (0x0000)
Code:
stack=5, locals=8, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
iload 2
aload 4
aload 5
aload 6
invokevirtual com.sun.tools.javac.comp.Resolve$4.methodCheckResult:(ZLcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;Lcom/sun/tools/javac/util/Warner;)Lcom/sun/tools/javac/comp/Attr$ResultInfo;
astore 7
start local 7 1: aload 7
aload 1
aload 3
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
2: return
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 3 0 this Lcom/sun/tools/javac/comp/Resolve$4;
0 3 1 pos Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
0 3 2 varargs Z
0 3 3 actual Lcom/sun/tools/javac/code/Type;
0 3 4 formal Lcom/sun/tools/javac/code/Type;
0 3 5 deferredAttrContext Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;
0 3 6 warn Lcom/sun/tools/javac/util/Warner;
1 3 7 mresult Lcom/sun/tools/javac/comp/Attr$ResultInfo;
MethodParameters:
Name Flags
pos
varargs
actual
formal
deferredAttrContext
warn
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=6, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
aload 2
aload 3
aload 4
aload 5
invokespecial com.sun.tools.javac.comp.Resolve$AbstractMethodCheck.argumentsAcceptable:(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
1: 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
ifeq 4
2: aload 2
getfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.mode:Lcom/sun/tools/javac/comp/DeferredAttr$AttrMode;
getstatic com.sun.tools.javac.comp.DeferredAttr$AttrMode.CHECK:Lcom/sun/tools/javac/comp/DeferredAttr$AttrMode;
if_acmpeq 3
aload 0
getfield com.sun.tools.javac.comp.Resolve$4.this$0:Lcom/sun/tools/javac/comp/Resolve;
getfield com.sun.tools.javac.comp.Resolve.checkVarargsAccessAfterResolution:Z
ifne 4
3: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 0
getfield com.sun.tools.javac.comp.Resolve$4.this$0:Lcom/sun/tools/javac/comp/Resolve;
getfield com.sun.tools.javac.comp.Resolve.types:Lcom/sun/tools/javac/code/Types;
aload 4
invokevirtual com.sun.tools.javac.util.List.last:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
invokevirtual com.sun.tools.javac.code.Types.elemtype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
aload 2
getfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.inferenceContext:Lcom/sun/tools/javac/comp/InferenceContext;
invokevirtual com.sun.tools.javac.comp.Resolve$4.varargsAccessible:(Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/comp/InferenceContext;)V
4: StackMap locals:
StackMap stack:
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 5 0 this Lcom/sun/tools/javac/comp/Resolve$4;
0 5 1 env Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;
0 5 2 deferredAttrContext Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;
0 5 3 argtypes Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
0 5 4 formals Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
0 5 5 warn Lcom/sun/tools/javac/util/Warner;
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 void varargsAccessible(com.sun.tools.javac.comp.Env<com.sun.tools.javac.comp.AttrContext>, com.sun.tools.javac.code.Type, com.sun.tools.javac.comp.InferenceContext);
descriptor: (Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/comp/InferenceContext;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
aload 2
invokevirtual com.sun.tools.javac.comp.InferenceContext.free:(Lcom/sun/tools/javac/code/Type;)Z
ifeq 5
1: aload 3
aload 2
invokestatic com.sun.tools.javac.util.List.of:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
2: aload 0
aload 1
aload 2
invokedynamic typesInferred(Lcom/sun/tools/javac/comp/Resolve$4;Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/comp/Infer$FreeTypeListener;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Lcom/sun/tools/javac/comp/InferenceContext;)V
com/sun/tools/javac/comp/Resolve$4.lambda$0(Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/comp/InferenceContext;)V (7)
(Lcom/sun/tools/javac/comp/InferenceContext;)V
3: invokevirtual com.sun.tools.javac.comp.InferenceContext.addFreeTypeListener:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/comp/Infer$FreeTypeListener;)V
4: goto 8
5: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.comp.Resolve$4.this$0:Lcom/sun/tools/javac/comp/Resolve;
aload 1
aload 0
getfield com.sun.tools.javac.comp.Resolve$4.this$0:Lcom/sun/tools/javac/comp/Resolve;
getfield com.sun.tools.javac.comp.Resolve.types:Lcom/sun/tools/javac/code/Types;
aload 2
invokevirtual com.sun.tools.javac.code.Types.erasure:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.comp.Resolve.isAccessible:(Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/code/Type;)Z
ifne 8
6: aload 1
getfield com.sun.tools.javac.comp.Env.enclClass:Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
getfield com.sun.tools.javac.tree.JCTree$JCClassDecl.sym:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
astore 4
start local 4 7: aload 0
aload 1
getfield com.sun.tools.javac.comp.Env.tree:Lcom/sun/tools/javac/tree/JCTree;
getstatic com.sun.tools.javac.comp.Resolve$MethodCheckDiag.INACCESSIBLE_VARARGS:Lcom/sun/tools/javac/comp/Resolve$MethodCheckDiag;
aload 3
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 4
invokestatic com.sun.tools.javac.code.Kinds.kindName:(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Kinds$KindName;
aastore
dup
iconst_2
aload 4
aastore
invokevirtual com.sun.tools.javac.comp.Resolve$4.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
end local 4 8: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/tools/javac/comp/Resolve$4;
0 9 1 env Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;
0 9 2 t Lcom/sun/tools/javac/code/Type;
0 9 3 inferenceContext Lcom/sun/tools/javac/comp/InferenceContext;
7 8 4 location Lcom/sun/tools/javac/code/Symbol;
Signature: (Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/comp/InferenceContext;)V
MethodParameters:
Name Flags
env final
t final
inferenceContext final
private com.sun.tools.javac.comp.Attr$ResultInfo methodCheckResult(boolean, com.sun.tools.javac.code.Type, com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext, com.sun.tools.javac.util.Warner);
descriptor: (ZLcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;Lcom/sun/tools/javac/util/Warner;)Lcom/sun/tools/javac/comp/Attr$ResultInfo;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=6, 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.Resolve$4$1
dup
aload 0
aload 0
getfield com.sun.tools.javac.comp.Resolve$4.this$0:Lcom/sun/tools/javac/comp/Resolve;
aload 3
getfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.phase:Lcom/sun/tools/javac/comp/Resolve$MethodResolutionPhase;
invokevirtual com.sun.tools.javac.comp.Resolve$MethodResolutionPhase.isBoxingRequired:()Z
ifeq 1
iconst_0
goto 2
StackMap locals: com.sun.tools.javac.comp.Resolve$4 int com.sun.tools.javac.code.Type com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext com.sun.tools.javac.util.Warner
StackMap stack: new 0 new 0 com.sun.tools.javac.comp.Resolve$4 com.sun.tools.javac.comp.Resolve
1: iconst_1
StackMap locals: com.sun.tools.javac.comp.Resolve$4 int com.sun.tools.javac.code.Type com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext com.sun.tools.javac.util.Warner
StackMap stack: new 0 new 0 com.sun.tools.javac.comp.Resolve$4 com.sun.tools.javac.comp.Resolve int
2: aload 3
aload 4
iload 1
invokespecial com.sun.tools.javac.comp.Resolve$4$1.<init>:(Lcom/sun/tools/javac/comp/Resolve$4;Lcom/sun/tools/javac/comp/Resolve;ZLcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;Lcom/sun/tools/javac/util/Warner;Z)V
astore 5
start local 5 3: new com.sun.tools.javac.comp.Resolve$MethodResultInfo
dup
aload 0
getfield com.sun.tools.javac.comp.Resolve$4.this$0:Lcom/sun/tools/javac/comp/Resolve;
aload 2
aload 5
invokespecial com.sun.tools.javac.comp.Resolve$MethodResultInfo.<init>:(Lcom/sun/tools/javac/comp/Resolve;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/comp/Check$CheckContext;)V
areturn
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 4 0 this Lcom/sun/tools/javac/comp/Resolve$4;
0 4 1 varargsCheck Z
0 4 2 to Lcom/sun/tools/javac/code/Type;
0 4 3 deferredAttrContext Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;
0 4 4 rsWarner Lcom/sun/tools/javac/util/Warner;
3 4 5 checkContext Lcom/sun/tools/javac/comp/Check$CheckContext;
MethodParameters:
Name Flags
varargsCheck final
to
deferredAttrContext final
rsWarner
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=4, locals=2, args_size=2
start local 0 start local 1 0: new com.sun.tools.javac.comp.Resolve$MostSpecificCheck
dup
aload 0
getfield com.sun.tools.javac.comp.Resolve$4.this$0:Lcom/sun/tools/javac/comp/Resolve;
aload 1
invokespecial com.sun.tools.javac.comp.Resolve$MostSpecificCheck.<init>:(Lcom/sun/tools/javac/comp/Resolve;Lcom/sun/tools/javac/util/List;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/comp/Resolve$4;
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
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "resolveMethodCheck"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/comp/Resolve$4;
private void lambda$0(com.sun.tools.javac.comp.Env, com.sun.tools.javac.code.Type, com.sun.tools.javac.comp.InferenceContext);
descriptor: (Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/comp/InferenceContext;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 3 0: aload 0
aload 1
aload 3
aload 2
invokevirtual com.sun.tools.javac.comp.InferenceContext.asInstType:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
aload 3
invokevirtual com.sun.tools.javac.comp.Resolve$4.varargsAccessible:(Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/comp/InferenceContext;)V
return
end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/comp/Resolve$4;
0 1 3 solvedContext Lcom/sun/tools/javac/comp/InferenceContext;
}
SourceFile: "Resolve.java"
EnclosingMethod: com.sun.tools.javac.comp.Resolve
NestHost: com.sun.tools.javac.comp.Resolve
InnerClasses:
public final KindName = com.sun.tools.javac.code.Kinds$KindName 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
public final AttrMode = com.sun.tools.javac.comp.DeferredAttr$AttrMode of com.sun.tools.javac.comp.DeferredAttr
DeferredAttrContext = com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext of com.sun.tools.javac.comp.DeferredAttr
abstract FreeTypeListener = com.sun.tools.javac.comp.Infer$FreeTypeListener of com.sun.tools.javac.comp.Infer
com.sun.tools.javac.comp.Resolve$4
com.sun.tools.javac.comp.Resolve$4$1
abstract AbstractMethodCheck = com.sun.tools.javac.comp.Resolve$AbstractMethodCheck 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
MethodResultInfo = com.sun.tools.javac.comp.Resolve$MethodResultInfo of com.sun.tools.javac.comp.Resolve
MostSpecificCheck = com.sun.tools.javac.comp.Resolve$MostSpecificCheck of com.sun.tools.javac.comp.Resolve
public JCClassDecl = com.sun.tools.javac.tree.JCTree$JCClassDecl 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 Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles