class com.sun.tools.javac.comp.Infer$InferenceStep$6 extends com.sun.tools.javac.comp.Infer$InferenceStep
minor version: 0
major version: 59
flags: flags: (0x4020) ACC_SUPER, ACC_ANNOTATION
this_class: com.sun.tools.javac.comp.Infer$InferenceStep$6
super_class: com.sun.tools.javac.comp.Infer$InferenceStep
{
void <init>(java.lang.String, int, com.sun.tools.javac.code.Type$UndetVar$InferenceBound);
descriptor: (Ljava/lang/String;ILcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=4
start local 0 start local 3 0: aload 0
aload 1
iload 2
aload 3
invokespecial com.sun.tools.javac.comp.Infer$InferenceStep.<init>:(Ljava/lang/String;ILcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;)V
return
end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/comp/Infer$InferenceStep$6;
0 1 3 $anonymous0 Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
MethodParameters:
Name Flags
$enum$name
$enum$ordinal
$anonymous0
public boolean accepts(com.sun.tools.javac.code.Type$UndetVar, com.sun.tools.javac.comp.InferenceContext);
descriptor: (Lcom/sun/tools/javac/code/Type$UndetVar;Lcom/sun/tools/javac/comp/InferenceContext;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual com.sun.tools.javac.code.Type$UndetVar.isCaptured:()Z
ifeq 3
1: aload 2
aload 1
iconst_2
anewarray com.sun.tools.javac.code.Type$UndetVar$InferenceBound
dup
iconst_0
getstatic com.sun.tools.javac.code.Type$UndetVar$InferenceBound.UPPER:Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
aastore
dup
iconst_1
getstatic com.sun.tools.javac.code.Type$UndetVar$InferenceBound.LOWER:Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
aastore
invokevirtual com.sun.tools.javac.code.Type$UndetVar.getBounds:([Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;)Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.comp.InferenceContext.free:(Lcom/sun/tools/javac/util/List;)Z
ifne 3
2: iconst_1
ireturn
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/javac/comp/Infer$InferenceStep$6;
0 4 1 t Lcom/sun/tools/javac/code/Type$UndetVar;
0 4 2 inferenceContext Lcom/sun/tools/javac/comp/InferenceContext;
MethodParameters:
Name Flags
t
inferenceContext
com.sun.tools.javac.code.Type solve(com.sun.tools.javac.code.Type$UndetVar, com.sun.tools.javac.comp.InferenceContext);
descriptor: (Lcom/sun/tools/javac/code/Type$UndetVar;Lcom/sun/tools/javac/comp/InferenceContext;)Lcom/sun/tools/javac/code/Type;
flags: (0x0000)
Code:
stack=7, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 2
getfield com.sun.tools.javac.comp.InferenceContext.infer:Lcom/sun/tools/javac/comp/Infer;
astore 3
start local 3 1: getstatic com.sun.tools.javac.comp.Infer$InferenceStep$6.UPPER:Lcom/sun/tools/javac/comp/Infer$InferenceStep;
aload 1
aload 2
invokevirtual com.sun.tools.javac.comp.Infer$InferenceStep.filterBounds:(Lcom/sun/tools/javac/code/Type$UndetVar;Lcom/sun/tools/javac/comp/InferenceContext;)Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
ifeq 3
2: getstatic com.sun.tools.javac.comp.Infer$InferenceStep$6.UPPER:Lcom/sun/tools/javac/comp/Infer$InferenceStep;
aload 1
aload 2
invokevirtual com.sun.tools.javac.comp.Infer$InferenceStep.solve:(Lcom/sun/tools/javac/code/Type$UndetVar;Lcom/sun/tools/javac/comp/InferenceContext;)Lcom/sun/tools/javac/code/Type;
goto 4
3: StackMap locals: com.sun.tools.javac.comp.Infer
StackMap stack:
aload 3
getfield com.sun.tools.javac.comp.Infer.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
4: StackMap locals:
StackMap stack: com.sun.tools.javac.code.Type
astore 4
start local 4 5: getstatic com.sun.tools.javac.comp.Infer$InferenceStep$6.LOWER:Lcom/sun/tools/javac/comp/Infer$InferenceStep;
aload 1
aload 2
invokevirtual com.sun.tools.javac.comp.Infer$InferenceStep.filterBounds:(Lcom/sun/tools/javac/code/Type$UndetVar;Lcom/sun/tools/javac/comp/InferenceContext;)Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
ifeq 7
6: getstatic com.sun.tools.javac.comp.Infer$InferenceStep$6.LOWER:Lcom/sun/tools/javac/comp/Infer$InferenceStep;
aload 1
aload 2
invokevirtual com.sun.tools.javac.comp.Infer$InferenceStep.solve:(Lcom/sun/tools/javac/code/Type$UndetVar;Lcom/sun/tools/javac/comp/InferenceContext;)Lcom/sun/tools/javac/code/Type;
goto 8
7: StackMap locals: com.sun.tools.javac.code.Type
StackMap stack:
aload 3
getfield com.sun.tools.javac.comp.Infer.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.botType:Lcom/sun/tools/javac/code/Type;
8: StackMap locals:
StackMap stack: com.sun.tools.javac.code.Type
astore 5
start local 5 9: aload 1
getfield com.sun.tools.javac.code.Type$UndetVar.qtype:Lcom/sun/tools/javac/code/Type;
checkcast com.sun.tools.javac.code.Type$CapturedType
astore 6
start local 6 10: new com.sun.tools.javac.code.Type$CapturedType
dup
aload 6
getfield com.sun.tools.javac.code.Type$CapturedType.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
getfield com.sun.tools.javac.code.Symbol$TypeSymbol.name:Lcom/sun/tools/javac/util/Name;
aload 6
getfield com.sun.tools.javac.code.Type$CapturedType.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
getfield com.sun.tools.javac.code.Symbol$TypeSymbol.owner:Lcom/sun/tools/javac/code/Symbol;
11: aload 4
aload 5
aload 6
getfield com.sun.tools.javac.code.Type$CapturedType.wildcard:Lcom/sun/tools/javac/code/Type$WildcardType;
12: invokespecial com.sun.tools.javac.code.Type$CapturedType.<init>:(Lcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type$WildcardType;)V
areturn
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 13 0 this Lcom/sun/tools/javac/comp/Infer$InferenceStep$6;
0 13 1 uv Lcom/sun/tools/javac/code/Type$UndetVar;
0 13 2 inferenceContext Lcom/sun/tools/javac/comp/InferenceContext;
1 13 3 infer Lcom/sun/tools/javac/comp/Infer;
5 13 4 upper Lcom/sun/tools/javac/code/Type;
9 13 5 lower Lcom/sun/tools/javac/code/Type;
10 13 6 prevCaptured Lcom/sun/tools/javac/code/Type$CapturedType;
MethodParameters:
Name Flags
uv
inferenceContext
}
SourceFile: "Infer.java"
EnclosingMethod: com.sun.tools.javac.comp.Infer$InferenceStep
NestHost: com.sun.tools.javac.comp.Infer
InnerClasses:
public abstract TypeSymbol = com.sun.tools.javac.code.Symbol$TypeSymbol of com.sun.tools.javac.code.Symbol
public CapturedType = com.sun.tools.javac.code.Type$CapturedType of com.sun.tools.javac.code.Type
public UndetVar = com.sun.tools.javac.code.Type$UndetVar of com.sun.tools.javac.code.Type
public abstract InferenceBound = com.sun.tools.javac.code.Type$UndetVar$InferenceBound of com.sun.tools.javac.code.Type$UndetVar
public WildcardType = com.sun.tools.javac.code.Type$WildcardType of com.sun.tools.javac.code.Type
abstract InferenceStep = com.sun.tools.javac.comp.Infer$InferenceStep of com.sun.tools.javac.comp.Infer
com.sun.tools.javac.comp.Infer$InferenceStep$6