abstract class com.sun.tools.javac.comp.Infer$InferenceStep extends java.lang.Enum<com.sun.tools.javac.comp.Infer$InferenceStep>
minor version: 0
major version: 59
flags: flags: (0x4420) ACC_SUPER, ACC_ABSTRACT, ACC_ANNOTATION
this_class: com.sun.tools.javac.comp.Infer$InferenceStep
super_class: java.lang.Enum
{
public static final com.sun.tools.javac.comp.Infer$InferenceStep EQ;
descriptor: Lcom/sun/tools/javac/comp/Infer$InferenceStep;
flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION
public static final com.sun.tools.javac.comp.Infer$InferenceStep LOWER;
descriptor: Lcom/sun/tools/javac/comp/Infer$InferenceStep;
flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION
public static final com.sun.tools.javac.comp.Infer$InferenceStep THROWS;
descriptor: Lcom/sun/tools/javac/comp/Infer$InferenceStep;
flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION
public static final com.sun.tools.javac.comp.Infer$InferenceStep UPPER;
descriptor: Lcom/sun/tools/javac/comp/Infer$InferenceStep;
flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION
public static final com.sun.tools.javac.comp.Infer$InferenceStep UPPER_LEGACY;
descriptor: Lcom/sun/tools/javac/comp/Infer$InferenceStep;
flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION
public static final com.sun.tools.javac.comp.Infer$InferenceStep CAPTURED;
descriptor: Lcom/sun/tools/javac/comp/Infer$InferenceStep;
flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION
final com.sun.tools.javac.code.Type$UndetVar$InferenceBound ib;
descriptor: Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
flags: (0x0010) ACC_FINAL
private static final com.sun.tools.javac.comp.Infer$InferenceStep[] ENUM$VALUES;
descriptor: [Lcom/sun/tools/javac/comp/Infer$InferenceStep;
flags: (0x101a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=0, args_size=0
0: new com.sun.tools.javac.comp.Infer$InferenceStep$1
dup
ldc "EQ"
iconst_0
1: getstatic com.sun.tools.javac.code.Type$UndetVar$InferenceBound.EQ:Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
invokespecial com.sun.tools.javac.comp.Infer$InferenceStep$1.<init>:(Ljava/lang/String;ILcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;)V
putstatic com.sun.tools.javac.comp.Infer$InferenceStep.EQ:Lcom/sun/tools/javac/comp/Infer$InferenceStep;
2: new com.sun.tools.javac.comp.Infer$InferenceStep$2
dup
ldc "LOWER"
iconst_1
3: getstatic com.sun.tools.javac.code.Type$UndetVar$InferenceBound.LOWER:Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
invokespecial com.sun.tools.javac.comp.Infer$InferenceStep$2.<init>:(Ljava/lang/String;ILcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;)V
putstatic com.sun.tools.javac.comp.Infer$InferenceStep.LOWER:Lcom/sun/tools/javac/comp/Infer$InferenceStep;
4: new com.sun.tools.javac.comp.Infer$InferenceStep$3
dup
ldc "THROWS"
iconst_2
5: getstatic com.sun.tools.javac.code.Type$UndetVar$InferenceBound.UPPER:Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
invokespecial com.sun.tools.javac.comp.Infer$InferenceStep$3.<init>:(Ljava/lang/String;ILcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;)V
putstatic com.sun.tools.javac.comp.Infer$InferenceStep.THROWS:Lcom/sun/tools/javac/comp/Infer$InferenceStep;
6: new com.sun.tools.javac.comp.Infer$InferenceStep$4
dup
ldc "UPPER"
iconst_3
7: getstatic com.sun.tools.javac.code.Type$UndetVar$InferenceBound.UPPER:Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
invokespecial com.sun.tools.javac.comp.Infer$InferenceStep$4.<init>:(Ljava/lang/String;ILcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;)V
putstatic com.sun.tools.javac.comp.Infer$InferenceStep.UPPER:Lcom/sun/tools/javac/comp/Infer$InferenceStep;
8: new com.sun.tools.javac.comp.Infer$InferenceStep$5
dup
ldc "UPPER_LEGACY"
iconst_4
9: getstatic com.sun.tools.javac.code.Type$UndetVar$InferenceBound.UPPER:Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
invokespecial com.sun.tools.javac.comp.Infer$InferenceStep$5.<init>:(Ljava/lang/String;ILcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;)V
putstatic com.sun.tools.javac.comp.Infer$InferenceStep.UPPER_LEGACY:Lcom/sun/tools/javac/comp/Infer$InferenceStep;
10: new com.sun.tools.javac.comp.Infer$InferenceStep$6
dup
ldc "CAPTURED"
iconst_5
11: getstatic com.sun.tools.javac.code.Type$UndetVar$InferenceBound.UPPER:Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
invokespecial com.sun.tools.javac.comp.Infer$InferenceStep$6.<init>:(Ljava/lang/String;ILcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;)V
putstatic com.sun.tools.javac.comp.Infer$InferenceStep.CAPTURED:Lcom/sun/tools/javac/comp/Infer$InferenceStep;
12: bipush 6
anewarray com.sun.tools.javac.comp.Infer$InferenceStep
dup
iconst_0
getstatic com.sun.tools.javac.comp.Infer$InferenceStep.EQ:Lcom/sun/tools/javac/comp/Infer$InferenceStep;
aastore
dup
iconst_1
getstatic com.sun.tools.javac.comp.Infer$InferenceStep.LOWER:Lcom/sun/tools/javac/comp/Infer$InferenceStep;
aastore
dup
iconst_2
getstatic com.sun.tools.javac.comp.Infer$InferenceStep.THROWS:Lcom/sun/tools/javac/comp/Infer$InferenceStep;
aastore
dup
iconst_3
getstatic com.sun.tools.javac.comp.Infer$InferenceStep.UPPER:Lcom/sun/tools/javac/comp/Infer$InferenceStep;
aastore
dup
iconst_4
getstatic com.sun.tools.javac.comp.Infer$InferenceStep.UPPER_LEGACY:Lcom/sun/tools/javac/comp/Infer$InferenceStep;
aastore
dup
iconst_5
getstatic com.sun.tools.javac.comp.Infer$InferenceStep.CAPTURED:Lcom/sun/tools/javac/comp/Infer$InferenceStep;
aastore
putstatic com.sun.tools.javac.comp.Infer$InferenceStep.ENUM$VALUES:[Lcom/sun/tools/javac/comp/Infer$InferenceStep;
return
LocalVariableTable:
Start End Slot Name Signature
private 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: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=4
start local 0 start local 3 0: aload 0
aload 1
iload 2
invokespecial java.lang.Enum.<init>:(Ljava/lang/String;I)V
1: aload 0
aload 3
putfield com.sun.tools.javac.comp.Infer$InferenceStep.ib:Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
2: return
end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/javac/comp/Infer$InferenceStep;
0 3 3 ib Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
MethodParameters:
Name Flags
$enum$name
$enum$ordinal
ib
abstract 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: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
uv
inferenceContext
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=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
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 1
aload 1
invokevirtual com.sun.tools.javac.code.Type$UndetVar.isCaptured:()Z
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/javac/comp/Infer$InferenceStep;
0 2 1 t Lcom/sun/tools/javac/code/Type$UndetVar;
0 2 2 inferenceContext Lcom/sun/tools/javac/comp/InferenceContext;
MethodParameters:
Name Flags
t
inferenceContext
com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> filterBounds(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/util/List;
flags: (0x0000)
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iconst_1
anewarray com.sun.tools.javac.code.Type$UndetVar$InferenceBound
dup
iconst_0
aload 0
getfield com.sun.tools.javac.comp.Infer$InferenceStep.ib: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;
new com.sun.tools.javac.comp.Infer$BoundFilter
dup
aload 2
invokespecial com.sun.tools.javac.comp.Infer$BoundFilter.<init>:(Lcom/sun/tools/javac/comp/InferenceContext;)V
invokestatic com.sun.tools.javac.code.Type.filter:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/Filter;)Lcom/sun/tools/javac/util/List;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/comp/Infer$InferenceStep;
0 1 1 uv Lcom/sun/tools/javac/code/Type$UndetVar;
0 1 2 inferenceContext Lcom/sun/tools/javac/comp/InferenceContext;
Signature: (Lcom/sun/tools/javac/code/Type$UndetVar;Lcom/sun/tools/javac/comp/InferenceContext;)Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
MethodParameters:
Name Flags
uv
inferenceContext
public static com.sun.tools.javac.comp.Infer$InferenceStep[] values();
descriptor: ()[Lcom/sun/tools/javac/comp/Infer$InferenceStep;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=0
0: getstatic com.sun.tools.javac.comp.Infer$InferenceStep.ENUM$VALUES:[Lcom/sun/tools/javac/comp/Infer$InferenceStep;
dup
astore 0
iconst_0
aload 0
arraylength
dup
istore 1
anewarray com.sun.tools.javac.comp.Infer$InferenceStep
dup
astore 2
iconst_0
iload 1
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
aload 2
areturn
LocalVariableTable:
Start End Slot Name Signature
public static com.sun.tools.javac.comp.Infer$InferenceStep valueOf(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/sun/tools/javac/comp/Infer$InferenceStep;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
0: ldc Lcom/sun/tools/javac/comp/Infer$InferenceStep;
aload 0
invokestatic java.lang.Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
checkcast com.sun.tools.javac.comp.Infer$InferenceStep
areturn
LocalVariableTable:
Start End Slot Name Signature
MethodParameters:
Name Flags
name
}
Signature: Ljava/lang/Enum<Lcom/sun/tools/javac/comp/Infer$InferenceStep;>;
SourceFile: "Infer.java"
NestHost: com.sun.tools.javac.comp.Infer
InnerClasses:
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
protected BoundFilter = com.sun.tools.javac.comp.Infer$BoundFilter of com.sun.tools.javac.comp.Infer
abstract InferenceStep = com.sun.tools.javac.comp.Infer$InferenceStep of com.sun.tools.javac.comp.Infer
com.sun.tools.javac.comp.Infer$InferenceStep$1
com.sun.tools.javac.comp.Infer$InferenceStep$2
com.sun.tools.javac.comp.Infer$InferenceStep$3
com.sun.tools.javac.comp.Infer$InferenceStep$4
com.sun.tools.javac.comp.Infer$InferenceStep$5
com.sun.tools.javac.comp.Infer$InferenceStep$6