public class com.sun.tools.javac.code.Types
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.tools.javac.code.Types
super_class: java.lang.Object
{
protected static final com.sun.tools.javac.util.Context$Key<com.sun.tools.javac.code.Types> typesKey;
descriptor: Lcom/sun/tools/javac/util/Context$Key;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
Signature: Lcom/sun/tools/javac/util/Context$Key<Lcom/sun/tools/javac/code/Types;>;
final com.sun.tools.javac.code.Symtab syms;
descriptor: Lcom/sun/tools/javac/code/Symtab;
flags: (0x0010) ACC_FINAL
final com.sun.tools.javac.util.JavacMessages messages;
descriptor: Lcom/sun/tools/javac/util/JavacMessages;
flags: (0x0010) ACC_FINAL
final com.sun.tools.javac.util.Names names;
descriptor: Lcom/sun/tools/javac/util/Names;
flags: (0x0010) ACC_FINAL
final boolean allowDefaultMethods;
descriptor: Z
flags: (0x0010) ACC_FINAL
final boolean mapCapturesToBounds;
descriptor: Z
flags: (0x0010) ACC_FINAL
final com.sun.tools.javac.comp.Check chk;
descriptor: Lcom/sun/tools/javac/comp/Check;
flags: (0x0010) ACC_FINAL
final com.sun.tools.javac.comp.Enter enter;
descriptor: Lcom/sun/tools/javac/comp/Enter;
flags: (0x0010) ACC_FINAL
com.sun.tools.javac.util.JCDiagnostic$Factory diags;
descriptor: Lcom/sun/tools/javac/util/JCDiagnostic$Factory;
flags: (0x0000)
com.sun.tools.javac.util.List<com.sun.tools.javac.util.Warner> warnStack;
descriptor: Lcom/sun/tools/javac/util/List;
flags: (0x0000)
Signature: Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/util/Warner;>;
final com.sun.tools.javac.util.Name capturedName;
descriptor: Lcom/sun/tools/javac/util/Name;
flags: (0x0010) ACC_FINAL
public final com.sun.tools.javac.util.Warner noWarnings;
descriptor: Lcom/sun/tools/javac/util/Warner;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
private final com.sun.tools.javac.code.Types$UnaryVisitor<java.lang.Boolean> isUnbounded;
descriptor: Lcom/sun/tools/javac/code/Types$UnaryVisitor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lcom/sun/tools/javac/code/Types$UnaryVisitor<Ljava/lang/Boolean;>;
private final com.sun.tools.javac.code.Types$SimpleVisitor<com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Symbol> asSub;
descriptor: Lcom/sun/tools/javac/code/Types$SimpleVisitor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lcom/sun/tools/javac/code/Types$SimpleVisitor<Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;>;
private com.sun.tools.javac.code.Types$DescriptorCache descCache;
descriptor: Lcom/sun/tools/javac/code/Types$DescriptorCache;
flags: (0x0002) ACC_PRIVATE
private com.sun.tools.javac.util.Filter<com.sun.tools.javac.code.Symbol> bridgeFilter;
descriptor: Lcom/sun/tools/javac/util/Filter;
flags: (0x0002) ACC_PRIVATE
Signature: Lcom/sun/tools/javac/util/Filter<Lcom/sun/tools/javac/code/Symbol;>;
private com.sun.tools.javac.code.Types$TypeRelation isSubtype;
descriptor: Lcom/sun/tools/javac/code/Types$TypeRelation;
flags: (0x0002) ACC_PRIVATE
com.sun.tools.javac.code.Types$TypeRelation isSameTypeVisitor;
descriptor: Lcom/sun/tools/javac/code/Types$TypeRelation;
flags: (0x0000)
private com.sun.tools.javac.code.Types$TypeRelation containsType;
descriptor: Lcom/sun/tools/javac/code/Types$TypeRelation;
flags: (0x0002) ACC_PRIVATE
private com.sun.tools.javac.code.Types$TypeRelation isCastable;
descriptor: Lcom/sun/tools/javac/code/Types$TypeRelation;
flags: (0x0002) ACC_PRIVATE
private com.sun.tools.javac.code.Types$TypeRelation disjointType;
descriptor: Lcom/sun/tools/javac/code/Types$TypeRelation;
flags: (0x0002) ACC_PRIVATE
private final com.sun.tools.javac.code.Types$TypeMapping<java.lang.Void> cvarLowerBoundMapping;
descriptor: Lcom/sun/tools/javac/code/Types$TypeMapping;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lcom/sun/tools/javac/code/Types$TypeMapping<Ljava/lang/Void;>;
private com.sun.tools.javac.code.Types$UnaryVisitor<java.lang.Boolean> isReifiable;
descriptor: Lcom/sun/tools/javac/code/Types$UnaryVisitor;
flags: (0x0002) ACC_PRIVATE
Signature: Lcom/sun/tools/javac/code/Types$UnaryVisitor<Ljava/lang/Boolean;>;
private com.sun.tools.javac.code.Types$TypeMapping<java.lang.Void> elemTypeFun;
descriptor: Lcom/sun/tools/javac/code/Types$TypeMapping;
flags: (0x0002) ACC_PRIVATE
Signature: Lcom/sun/tools/javac/code/Types$TypeMapping<Ljava/lang/Void;>;
private com.sun.tools.javac.code.Types$SimpleVisitor<com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Symbol> asSuper;
descriptor: Lcom/sun/tools/javac/code/Types$SimpleVisitor;
flags: (0x0002) ACC_PRIVATE
Signature: Lcom/sun/tools/javac/code/Types$SimpleVisitor<Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;>;
private com.sun.tools.javac.code.Types$SimpleVisitor<com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Symbol> memberType;
descriptor: Lcom/sun/tools/javac/code/Types$SimpleVisitor;
flags: (0x0002) ACC_PRIVATE
Signature: Lcom/sun/tools/javac/code/Types$SimpleVisitor<Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;>;
private com.sun.tools.javac.code.Types$TypeMapping<java.lang.Boolean> erasure;
descriptor: Lcom/sun/tools/javac/code/Types$TypeMapping;
flags: (0x0002) ACC_PRIVATE
Signature: Lcom/sun/tools/javac/code/Types$TypeMapping<Ljava/lang/Boolean;>;
private com.sun.tools.javac.code.Types$UnaryVisitor<com.sun.tools.javac.code.Type> supertype;
descriptor: Lcom/sun/tools/javac/code/Types$UnaryVisitor;
flags: (0x0002) ACC_PRIVATE
Signature: Lcom/sun/tools/javac/code/Types$UnaryVisitor<Lcom/sun/tools/javac/code/Type;>;
private com.sun.tools.javac.code.Types$UnaryVisitor<com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>> interfaces;
descriptor: Lcom/sun/tools/javac/code/Types$UnaryVisitor;
flags: (0x0002) ACC_PRIVATE
Signature: Lcom/sun/tools/javac/code/Types$UnaryVisitor<Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;>;
private final com.sun.tools.javac.code.Types$UnaryVisitor<com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>> directSupertypes;
descriptor: Lcom/sun/tools/javac/code/Types$UnaryVisitor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lcom/sun/tools/javac/code/Types$UnaryVisitor<Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;>;
java.util.Map<com.sun.tools.javac.code.Type, java.lang.Boolean> isDerivedRawCache;
descriptor: Ljava/util/Map;
flags: (0x0000)
Signature: Ljava/util/Map<Lcom/sun/tools/javac/code/Type;Ljava/lang/Boolean;>;
private com.sun.tools.javac.code.Types$UnaryVisitor<com.sun.tools.javac.code.Type> classBound;
descriptor: Lcom/sun/tools/javac/code/Types$UnaryVisitor;
flags: (0x0002) ACC_PRIVATE
Signature: Lcom/sun/tools/javac/code/Types$UnaryVisitor<Lcom/sun/tools/javac/code/Type;>;
private com.sun.tools.javac.code.Types$ImplementationCache implCache;
descriptor: Lcom/sun/tools/javac/code/Types$ImplementationCache;
flags: (0x0002) ACC_PRIVATE
private com.sun.tools.javac.code.Types$MembersClosureCache membersCache;
descriptor: Lcom/sun/tools/javac/code/Types$MembersClosureCache;
flags: (0x0002) ACC_PRIVATE
public com.sun.tools.javac.code.Types$CandidatesCache candidatesCache;
descriptor: Lcom/sun/tools/javac/code/Types$CandidatesCache;
flags: (0x0001) ACC_PUBLIC
com.sun.tools.javac.code.Types$TypeRelation hasSameArgs_strict;
descriptor: Lcom/sun/tools/javac/code/Types$TypeRelation;
flags: (0x0000)
com.sun.tools.javac.code.Types$TypeRelation hasSameArgs_nonstrict;
descriptor: Lcom/sun/tools/javac/code/Types$TypeRelation;
flags: (0x0000)
private static final com.sun.tools.javac.code.Types$TypeMapping<java.lang.Void> newInstanceFun;
descriptor: Lcom/sun/tools/javac/code/Types$TypeMapping;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Lcom/sun/tools/javac/code/Types$TypeMapping<Ljava/lang/Void;>;
private final com.sun.tools.javac.code.Types$MapVisitor<com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>> methodWithParameters;
descriptor: Lcom/sun/tools/javac/code/Types$MapVisitor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lcom/sun/tools/javac/code/Types$MapVisitor<Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;>;
private final com.sun.tools.javac.code.Types$MapVisitor<com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>> methodWithThrown;
descriptor: Lcom/sun/tools/javac/code/Types$MapVisitor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lcom/sun/tools/javac/code/Types$MapVisitor<Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;>;
private final com.sun.tools.javac.code.Types$MapVisitor<com.sun.tools.javac.code.Type> methodWithReturn;
descriptor: Lcom/sun/tools/javac/code/Types$MapVisitor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lcom/sun/tools/javac/code/Types$MapVisitor<Lcom/sun/tools/javac/code/Type;>;
private java.util.Map<com.sun.tools.javac.code.Type, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>> closureCache;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;>;
java.util.function.BiPredicate<com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type> basicClosureSkip;
descriptor: Ljava/util/function/BiPredicate;
flags: (0x0000)
Signature: Ljava/util/function/BiPredicate<Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;>;
java.util.Set<com.sun.tools.javac.code.Types$TypePair> mergeCache;
descriptor: Ljava/util/Set;
flags: (0x0000)
Signature: Ljava/util/Set<Lcom/sun/tools/javac/code/Types$TypePair;>;
private com.sun.tools.javac.code.Type arraySuperType;
descriptor: Lcom/sun/tools/javac/code/Type;
flags: (0x0002) ACC_PRIVATE
private static final com.sun.tools.javac.code.Types$HashCodeVisitor hashCodeVisitor;
descriptor: Lcom/sun/tools/javac/code/Types$HashCodeVisitor;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final com.sun.tools.javac.code.Types$HashCodeVisitor hashCodeStrictVisitor;
descriptor: Lcom/sun/tools/javac/code/Types$HashCodeVisitor;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static volatile int[] $SWITCH_TABLE$com$sun$tools$javac$code$BoundKind;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$com$sun$tools$javac$code$TypeTag;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new com.sun.tools.javac.util.Context$Key
dup
invokespecial com.sun.tools.javac.util.Context$Key.<init>:()V
putstatic com.sun.tools.javac.code.Types.typesKey:Lcom/sun/tools/javac/util/Context$Key;
1: new com.sun.tools.javac.code.Types$19
dup
invokespecial com.sun.tools.javac.code.Types$19.<init>:()V
putstatic com.sun.tools.javac.code.Types.newInstanceFun:Lcom/sun/tools/javac/code/Types$TypeMapping;
2: new com.sun.tools.javac.code.Types$HashCodeVisitor
dup
invokespecial com.sun.tools.javac.code.Types$HashCodeVisitor.<init>:()V
putstatic com.sun.tools.javac.code.Types.hashCodeVisitor:Lcom/sun/tools/javac/code/Types$HashCodeVisitor;
3: new com.sun.tools.javac.code.Types$23
dup
invokespecial com.sun.tools.javac.code.Types$23.<init>:()V
putstatic com.sun.tools.javac.code.Types.hashCodeStrictVisitor:Lcom/sun/tools/javac/code/Types$HashCodeVisitor;
4: return
LocalVariableTable:
Start End Slot Name Signature
public static com.sun.tools.javac.code.Types instance(com.sun.tools.javac.util.Context);
descriptor: (Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/code/Types;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getstatic com.sun.tools.javac.code.Types.typesKey:Lcom/sun/tools/javac/util/Context$Key;
invokevirtual com.sun.tools.javac.util.Context.get:(Lcom/sun/tools/javac/util/Context$Key;)Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Types
astore 1
start local 1 1: aload 1
ifnonnull 3
2: new com.sun.tools.javac.code.Types
dup
aload 0
invokespecial com.sun.tools.javac.code.Types.<init>:(Lcom/sun/tools/javac/util/Context;)V
astore 1
3: StackMap locals: com.sun.tools.javac.code.Types
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 context Lcom/sun/tools/javac/util/Context;
1 4 1 instance Lcom/sun/tools/javac/code/Types;
MethodParameters:
Name Flags
context
protected void <init>(com.sun.tools.javac.util.Context);
descriptor: (Lcom/sun/tools/javac/util/Context;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
putfield com.sun.tools.javac.code.Types.warnStack:Lcom/sun/tools/javac/util/List;
2: aload 0
new com.sun.tools.javac.code.Types$1
dup
aload 0
invokespecial com.sun.tools.javac.code.Types$1.<init>:(Lcom/sun/tools/javac/code/Types;)V
putfield com.sun.tools.javac.code.Types.isUnbounded:Lcom/sun/tools/javac/code/Types$UnaryVisitor;
3: aload 0
new com.sun.tools.javac.code.Types$2
dup
aload 0
invokespecial com.sun.tools.javac.code.Types$2.<init>:(Lcom/sun/tools/javac/code/Types;)V
putfield com.sun.tools.javac.code.Types.asSub:Lcom/sun/tools/javac/code/Types$SimpleVisitor;
4: aload 0
new com.sun.tools.javac.code.Types$DescriptorCache
dup
aload 0
invokespecial com.sun.tools.javac.code.Types$DescriptorCache.<init>:(Lcom/sun/tools/javac/code/Types;)V
putfield com.sun.tools.javac.code.Types.descCache:Lcom/sun/tools/javac/code/Types$DescriptorCache;
5: aload 0
new com.sun.tools.javac.code.Types$3
dup
aload 0
invokespecial com.sun.tools.javac.code.Types$3.<init>:(Lcom/sun/tools/javac/code/Types;)V
putfield com.sun.tools.javac.code.Types.bridgeFilter:Lcom/sun/tools/javac/util/Filter;
6: aload 0
new com.sun.tools.javac.code.Types$4
dup
aload 0
invokespecial com.sun.tools.javac.code.Types$4.<init>:(Lcom/sun/tools/javac/code/Types;)V
putfield com.sun.tools.javac.code.Types.isSubtype:Lcom/sun/tools/javac/code/Types$TypeRelation;
7: aload 0
new com.sun.tools.javac.code.Types$5
dup
aload 0
invokespecial com.sun.tools.javac.code.Types$5.<init>:(Lcom/sun/tools/javac/code/Types;)V
putfield com.sun.tools.javac.code.Types.isSameTypeVisitor:Lcom/sun/tools/javac/code/Types$TypeRelation;
8: aload 0
new com.sun.tools.javac.code.Types$6
dup
aload 0
invokespecial com.sun.tools.javac.code.Types$6.<init>:(Lcom/sun/tools/javac/code/Types;)V
putfield com.sun.tools.javac.code.Types.containsType:Lcom/sun/tools/javac/code/Types$TypeRelation;
9: aload 0
new com.sun.tools.javac.code.Types$7
dup
aload 0
invokespecial com.sun.tools.javac.code.Types$7.<init>:(Lcom/sun/tools/javac/code/Types;)V
putfield com.sun.tools.javac.code.Types.isCastable:Lcom/sun/tools/javac/code/Types$TypeRelation;
10: aload 0
new com.sun.tools.javac.code.Types$8
dup
aload 0
invokespecial com.sun.tools.javac.code.Types$8.<init>:(Lcom/sun/tools/javac/code/Types;)V
putfield com.sun.tools.javac.code.Types.disjointType:Lcom/sun/tools/javac/code/Types$TypeRelation;
11: aload 0
new com.sun.tools.javac.code.Types$9
dup
aload 0
invokespecial com.sun.tools.javac.code.Types$9.<init>:(Lcom/sun/tools/javac/code/Types;)V
putfield com.sun.tools.javac.code.Types.cvarLowerBoundMapping:Lcom/sun/tools/javac/code/Types$TypeMapping;
12: aload 0
new com.sun.tools.javac.code.Types$10
dup
aload 0
invokespecial com.sun.tools.javac.code.Types$10.<init>:(Lcom/sun/tools/javac/code/Types;)V
putfield com.sun.tools.javac.code.Types.isReifiable:Lcom/sun/tools/javac/code/Types$UnaryVisitor;
13: aload 0
new com.sun.tools.javac.code.Types$11
dup
aload 0
invokespecial com.sun.tools.javac.code.Types$11.<init>:(Lcom/sun/tools/javac/code/Types;)V
putfield com.sun.tools.javac.code.Types.elemTypeFun:Lcom/sun/tools/javac/code/Types$TypeMapping;
14: aload 0
new com.sun.tools.javac.code.Types$12
dup
aload 0
invokespecial com.sun.tools.javac.code.Types$12.<init>:(Lcom/sun/tools/javac/code/Types;)V
putfield com.sun.tools.javac.code.Types.asSuper:Lcom/sun/tools/javac/code/Types$SimpleVisitor;
15: aload 0
new com.sun.tools.javac.code.Types$13
dup
aload 0
invokespecial com.sun.tools.javac.code.Types$13.<init>:(Lcom/sun/tools/javac/code/Types;)V
putfield com.sun.tools.javac.code.Types.memberType:Lcom/sun/tools/javac/code/Types$SimpleVisitor;
16: aload 0
new com.sun.tools.javac.code.Types$14
dup
aload 0
invokespecial com.sun.tools.javac.code.Types$14.<init>:(Lcom/sun/tools/javac/code/Types;)V
putfield com.sun.tools.javac.code.Types.erasure:Lcom/sun/tools/javac/code/Types$TypeMapping;
17: aload 0
new com.sun.tools.javac.code.Types$15
dup
aload 0
invokespecial com.sun.tools.javac.code.Types$15.<init>:(Lcom/sun/tools/javac/code/Types;)V
putfield com.sun.tools.javac.code.Types.supertype:Lcom/sun/tools/javac/code/Types$UnaryVisitor;
18: aload 0
new com.sun.tools.javac.code.Types$16
dup
aload 0
invokespecial com.sun.tools.javac.code.Types$16.<init>:(Lcom/sun/tools/javac/code/Types;)V
putfield com.sun.tools.javac.code.Types.interfaces:Lcom/sun/tools/javac/code/Types$UnaryVisitor;
19: aload 0
new com.sun.tools.javac.code.Types$17
dup
aload 0
invokespecial com.sun.tools.javac.code.Types$17.<init>:(Lcom/sun/tools/javac/code/Types;)V
putfield com.sun.tools.javac.code.Types.directSupertypes:Lcom/sun/tools/javac/code/Types$UnaryVisitor;
20: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.sun.tools.javac.code.Types.isDerivedRawCache:Ljava/util/Map;
21: aload 0
new com.sun.tools.javac.code.Types$18
dup
aload 0
invokespecial com.sun.tools.javac.code.Types$18.<init>:(Lcom/sun/tools/javac/code/Types;)V
putfield com.sun.tools.javac.code.Types.classBound:Lcom/sun/tools/javac/code/Types$UnaryVisitor;
22: aload 0
new com.sun.tools.javac.code.Types$ImplementationCache
dup
aload 0
invokespecial com.sun.tools.javac.code.Types$ImplementationCache.<init>:(Lcom/sun/tools/javac/code/Types;)V
putfield com.sun.tools.javac.code.Types.implCache:Lcom/sun/tools/javac/code/Types$ImplementationCache;
23: aload 0
new com.sun.tools.javac.code.Types$MembersClosureCache
dup
aload 0
invokespecial com.sun.tools.javac.code.Types$MembersClosureCache.<init>:(Lcom/sun/tools/javac/code/Types;)V
putfield com.sun.tools.javac.code.Types.membersCache:Lcom/sun/tools/javac/code/Types$MembersClosureCache;
24: aload 0
new com.sun.tools.javac.code.Types$CandidatesCache
dup
aload 0
invokespecial com.sun.tools.javac.code.Types$CandidatesCache.<init>:(Lcom/sun/tools/javac/code/Types;)V
putfield com.sun.tools.javac.code.Types.candidatesCache:Lcom/sun/tools/javac/code/Types$CandidatesCache;
25: aload 0
new com.sun.tools.javac.code.Types$HasSameArgs
dup
aload 0
iconst_1
invokespecial com.sun.tools.javac.code.Types$HasSameArgs.<init>:(Lcom/sun/tools/javac/code/Types;Z)V
putfield com.sun.tools.javac.code.Types.hasSameArgs_strict:Lcom/sun/tools/javac/code/Types$TypeRelation;
26: aload 0
new com.sun.tools.javac.code.Types$HasSameArgs
dup
aload 0
iconst_0
invokespecial com.sun.tools.javac.code.Types$HasSameArgs.<init>:(Lcom/sun/tools/javac/code/Types;Z)V
putfield com.sun.tools.javac.code.Types.hasSameArgs_nonstrict:Lcom/sun/tools/javac/code/Types$TypeRelation;
27: aload 0
new com.sun.tools.javac.code.Types$20
dup
aload 0
invokespecial com.sun.tools.javac.code.Types$20.<init>:(Lcom/sun/tools/javac/code/Types;)V
putfield com.sun.tools.javac.code.Types.methodWithParameters:Lcom/sun/tools/javac/code/Types$MapVisitor;
28: aload 0
new com.sun.tools.javac.code.Types$21
dup
aload 0
invokespecial com.sun.tools.javac.code.Types$21.<init>:(Lcom/sun/tools/javac/code/Types;)V
putfield com.sun.tools.javac.code.Types.methodWithThrown:Lcom/sun/tools/javac/code/Types$MapVisitor;
29: aload 0
new com.sun.tools.javac.code.Types$22
dup
aload 0
invokespecial com.sun.tools.javac.code.Types$22.<init>:(Lcom/sun/tools/javac/code/Types;)V
putfield com.sun.tools.javac.code.Types.methodWithReturn:Lcom/sun/tools/javac/code/Types$MapVisitor;
30: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.sun.tools.javac.code.Types.closureCache:Ljava/util/Map;
31: aload 0
invokedynamic test()Ljava/util/function/BiPredicate;
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:
(Ljava/lang/Object;Ljava/lang/Object;)Z
com/sun/tools/javac/code/Types.lambda$0(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z (6)
(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
putfield com.sun.tools.javac.code.Types.basicClosureSkip:Ljava/util/function/BiPredicate;
32: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield com.sun.tools.javac.code.Types.mergeCache:Ljava/util/Set;
33: aload 0
aconst_null
putfield com.sun.tools.javac.code.Types.arraySuperType:Lcom/sun/tools/javac/code/Type;
34: aload 1
getstatic com.sun.tools.javac.code.Types.typesKey:Lcom/sun/tools/javac/util/Context$Key;
aload 0
invokevirtual com.sun.tools.javac.util.Context.put:(Lcom/sun/tools/javac/util/Context$Key;Ljava/lang/Object;)V
35: aload 0
aload 1
invokestatic com.sun.tools.javac.code.Symtab.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/code/Symtab;
putfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
36: aload 0
aload 1
invokestatic com.sun.tools.javac.util.Names.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/util/Names;
putfield com.sun.tools.javac.code.Types.names:Lcom/sun/tools/javac/util/Names;
37: aload 1
invokestatic com.sun.tools.javac.code.Source.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/code/Source;
astore 2
start local 2 38: aload 0
getstatic com.sun.tools.javac.code.Source$Feature.DEFAULT_METHODS:Lcom/sun/tools/javac/code/Source$Feature;
aload 2
invokevirtual com.sun.tools.javac.code.Source$Feature.allowedInSource:(Lcom/sun/tools/javac/code/Source;)Z
putfield com.sun.tools.javac.code.Types.allowDefaultMethods:Z
39: aload 0
getstatic com.sun.tools.javac.code.Source$Feature.MAP_CAPTURES_TO_BOUNDS:Lcom/sun/tools/javac/code/Source$Feature;
aload 2
invokevirtual com.sun.tools.javac.code.Source$Feature.allowedInSource:(Lcom/sun/tools/javac/code/Source;)Z
putfield com.sun.tools.javac.code.Types.mapCapturesToBounds:Z
40: aload 0
aload 1
invokestatic com.sun.tools.javac.comp.Check.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/comp/Check;
putfield com.sun.tools.javac.code.Types.chk:Lcom/sun/tools/javac/comp/Check;
41: aload 0
aload 1
invokestatic com.sun.tools.javac.comp.Enter.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/comp/Enter;
putfield com.sun.tools.javac.code.Types.enter:Lcom/sun/tools/javac/comp/Enter;
42: aload 0
aload 0
getfield com.sun.tools.javac.code.Types.names:Lcom/sun/tools/javac/util/Names;
ldc "<captured wildcard>"
invokevirtual com.sun.tools.javac.util.Names.fromString:(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name;
putfield com.sun.tools.javac.code.Types.capturedName:Lcom/sun/tools/javac/util/Name;
43: aload 0
aload 1
invokestatic com.sun.tools.javac.util.JavacMessages.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/util/JavacMessages;
putfield com.sun.tools.javac.code.Types.messages:Lcom/sun/tools/javac/util/JavacMessages;
44: aload 0
aload 1
invokestatic com.sun.tools.javac.util.JCDiagnostic$Factory.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/util/JCDiagnostic$Factory;
putfield com.sun.tools.javac.code.Types.diags:Lcom/sun/tools/javac/util/JCDiagnostic$Factory;
45: aload 0
new com.sun.tools.javac.util.Warner
dup
aconst_null
invokespecial com.sun.tools.javac.util.Warner.<init>:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;)V
putfield com.sun.tools.javac.code.Types.noWarnings:Lcom/sun/tools/javac/util/Warner;
46: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 47 0 this Lcom/sun/tools/javac/code/Types;
0 47 1 context Lcom/sun/tools/javac/util/Context;
38 47 2 source Lcom/sun/tools/javac/code/Source;
MethodParameters:
Name Flags
context
public com.sun.tools.javac.code.Type wildUpperBound(com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
getstatic com.sun.tools.javac.code.TypeTag.WILDCARD:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 7
1: aload 1
checkcast com.sun.tools.javac.code.Type$WildcardType
astore 2
start local 2 2: aload 2
invokevirtual com.sun.tools.javac.code.Type$WildcardType.isSuperBound:()Z
ifeq 6
3: aload 2
getfield com.sun.tools.javac.code.Type$WildcardType.bound:Lcom/sun/tools/javac/code/Type$TypeVar;
ifnonnull 4
aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
goto 5
StackMap locals: com.sun.tools.javac.code.Type$WildcardType
StackMap stack:
4: aload 2
getfield com.sun.tools.javac.code.Type$WildcardType.bound:Lcom/sun/tools/javac/code/Type$TypeVar;
invokevirtual com.sun.tools.javac.code.Type$TypeVar.getUpperBound:()Lcom/sun/tools/javac/code/Type;
StackMap locals:
StackMap stack: com.sun.tools.javac.code.Type
5: areturn
6: StackMap locals:
StackMap stack:
aload 0
aload 2
getfield com.sun.tools.javac.code.Type$WildcardType.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Types.wildUpperBound:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
areturn
end local 2 7: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/tools/javac/code/Types;
0 8 1 t Lcom/sun/tools/javac/code/Type;
2 7 2 w Lcom/sun/tools/javac/code/Type$WildcardType;
MethodParameters:
Name Flags
t
public com.sun.tools.javac.code.Type cvarUpperBound(com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
getstatic com.sun.tools.javac.code.TypeTag.TYPEVAR:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 5
1: aload 1
checkcast com.sun.tools.javac.code.Type$TypeVar
astore 2
start local 2 2: aload 2
invokevirtual com.sun.tools.javac.code.Type$TypeVar.isCaptured:()Z
ifeq 3
aload 0
aload 2
invokevirtual com.sun.tools.javac.code.Type$TypeVar.getUpperBound:()Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Types.cvarUpperBound:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
goto 4
StackMap locals: com.sun.tools.javac.code.Type$TypeVar
StackMap stack:
3: aload 2
StackMap locals:
StackMap stack: com.sun.tools.javac.code.Type
4: areturn
end local 2 5: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/tools/javac/code/Types;
0 6 1 t Lcom/sun/tools/javac/code/Type;
2 5 2 v Lcom/sun/tools/javac/code/Type$TypeVar;
MethodParameters:
Name Flags
t
public com.sun.tools.javac.code.Type wildLowerBound(com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
getstatic com.sun.tools.javac.code.TypeTag.WILDCARD:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 5
1: aload 1
checkcast com.sun.tools.javac.code.Type$WildcardType
astore 2
start local 2 2: aload 2
invokevirtual com.sun.tools.javac.code.Type$WildcardType.isExtendsBound:()Z
ifeq 3
aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.botType:Lcom/sun/tools/javac/code/Type;
goto 4
StackMap locals: com.sun.tools.javac.code.Type$WildcardType
StackMap stack:
3: aload 0
aload 2
getfield com.sun.tools.javac.code.Type$WildcardType.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Types.wildLowerBound:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
StackMap locals:
StackMap stack: com.sun.tools.javac.code.Type
4: areturn
end local 2 5: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/tools/javac/code/Types;
0 6 1 t Lcom/sun/tools/javac/code/Type;
2 5 2 w Lcom/sun/tools/javac/code/Type$WildcardType;
MethodParameters:
Name Flags
t
public com.sun.tools.javac.code.Type cvarLowerBound(com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getstatic com.sun.tools.javac.code.TypeTag.TYPEVAR:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 2
aload 1
checkcast com.sun.tools.javac.code.Type$TypeVar
invokevirtual com.sun.tools.javac.code.Type$TypeVar.isCaptured:()Z
ifeq 2
1: aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Type.getLowerBound:()Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Types.cvarLowerBound:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
areturn
2: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/javac/code/Types;
0 3 1 t Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
public com.sun.tools.javac.code.Type skipTypeVars(com.sun.tools.javac.code.Type, boolean);
descriptor: (Lcom/sun/tools/javac/code/Type;Z)Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: goto 2
1: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.sun.tools.javac.code.Type.getUpperBound:()Lcom/sun/tools/javac/code/Type;
astore 1
2: StackMap locals:
StackMap stack:
aload 1
getstatic com.sun.tools.javac.code.TypeTag.TYPEVAR:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifne 1
3: iload 2
ifeq 4
aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Types.capture:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
goto 5
StackMap locals:
StackMap stack:
4: aload 1
StackMap locals:
StackMap stack: com.sun.tools.javac.code.Type
5: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/tools/javac/code/Types;
0 6 1 site Lcom/sun/tools/javac/code/Type;
0 6 2 capture Z
MethodParameters:
Name Flags
site
capture
public com.sun.tools.javac.code.Type upward(com.sun.tools.javac.code.Type, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
new com.sun.tools.javac.code.Types$TypeProjection
dup
aload 0
aload 2
invokespecial com.sun.tools.javac.code.Types$TypeProjection.<init>:(Lcom/sun/tools/javac/code/Types;Lcom/sun/tools/javac/util/List;)V
getstatic com.sun.tools.javac.code.Types$ProjectionKind.UPWARDS:Lcom/sun/tools/javac/code/Types$ProjectionKind;
invokevirtual com.sun.tools.javac.code.Type.map:(Lcom/sun/tools/javac/code/Types$TypeMapping;Ljava/lang/Object;)Lcom/sun/tools/javac/code/Type;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types;
0 1 1 t Lcom/sun/tools/javac/code/Type;
0 1 2 vars Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
Signature: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;)Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
vars
public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> captures(com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: new com.sun.tools.javac.code.Types$CaptureScanner
dup
aload 0
invokespecial com.sun.tools.javac.code.Types$CaptureScanner.<init>:(Lcom/sun/tools/javac/code/Types;)V
astore 2
start local 2 1: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 3
start local 3 2: aload 2
aload 1
aload 3
invokevirtual com.sun.tools.javac.code.Types$CaptureScanner.visit:(Lcom/sun/tools/javac/code/Type;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: aload 3
invokestatic com.sun.tools.javac.util.List.from:(Ljava/lang/Iterable;)Lcom/sun/tools/javac/util/List;
areturn
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/code/Types;
0 4 1 t Lcom/sun/tools/javac/code/Type;
1 4 2 cs Lcom/sun/tools/javac/code/Types$CaptureScanner;
2 4 3 captures Ljava/util/Set<Lcom/sun/tools/javac/code/Type;>;
Signature: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
MethodParameters:
Name Flags
t
public boolean isUnbounded(com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.code.Types.isUnbounded:Lcom/sun/tools/javac/code/Types$UnaryVisitor;
aload 1
invokevirtual com.sun.tools.javac.code.Types$UnaryVisitor.visit:(Lcom/sun/tools/javac/code/Type;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types;
0 1 1 t Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
public com.sun.tools.javac.code.Type asSub(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Symbol);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.tools.javac.code.Types.asSub:Lcom/sun/tools/javac/code/Types$SimpleVisitor;
aload 1
aload 2
invokevirtual com.sun.tools.javac.code.Types$SimpleVisitor.visit:(Lcom/sun/tools/javac/code/Type;Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types;
0 1 1 t Lcom/sun/tools/javac/code/Type;
0 1 2 sym Lcom/sun/tools/javac/code/Symbol;
MethodParameters:
Name Flags
t
sym
public boolean isConvertible(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type, com.sun.tools.javac.util.Warner);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
getstatic com.sun.tools.javac.code.TypeTag.ERROR:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
istore 4
start local 4 3: aload 2
invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
istore 5
start local 5 4: iload 4
iload 5
if_icmpne 6
5: aload 0
aload 1
aload 2
aload 3
invokevirtual com.sun.tools.javac.code.Types.isSubtypeUnchecked:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
ireturn
6: StackMap locals: int int
StackMap stack:
aload 1
getstatic com.sun.tools.javac.code.TypeTag.UNDETVAR:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
istore 6
start local 6 7: aload 2
getstatic com.sun.tools.javac.code.TypeTag.UNDETVAR:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
istore 7
start local 7 8: iload 6
ifne 9
iload 7
ifeq 13
9: StackMap locals: int int
StackMap stack:
iload 6
ifeq 11
10: aload 0
aload 1
aload 0
aload 2
invokevirtual com.sun.tools.javac.code.Types.boxedTypeOrType:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Types.isSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
goto 12
11: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Types.boxedTypeOrType:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
aload 2
invokevirtual com.sun.tools.javac.code.Types.isSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
12: StackMap locals:
StackMap stack: int
ireturn
13: StackMap locals:
StackMap stack:
iload 4
ifeq 15
14: aload 0
aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Types.boxedClass:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
getfield com.sun.tools.javac.code.Symbol$ClassSymbol.type:Lcom/sun/tools/javac/code/Type;
aload 2
invokevirtual com.sun.tools.javac.code.Types.isSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
goto 16
15: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Types.unboxedType:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
aload 2
invokevirtual com.sun.tools.javac.code.Types.isSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
16: StackMap locals:
StackMap stack: int
ireturn
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 17 0 this Lcom/sun/tools/javac/code/Types;
0 17 1 t Lcom/sun/tools/javac/code/Type;
0 17 2 s Lcom/sun/tools/javac/code/Type;
0 17 3 warn Lcom/sun/tools/javac/util/Warner;
3 17 4 tPrimitive Z
4 17 5 sPrimitive Z
7 17 6 tUndet Z
8 17 7 sUndet Z
MethodParameters:
Name Flags
t
s
warn
public boolean isConvertible(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
aload 0
getfield com.sun.tools.javac.code.Types.noWarnings:Lcom/sun/tools/javac/util/Warner;
invokevirtual com.sun.tools.javac.code.Types.isConvertible:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types;
0 1 1 t Lcom/sun/tools/javac/code/Type;
0 1 2 s Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
s
public com.sun.tools.javac.code.Symbol findDescriptorSymbol(com.sun.tools.javac.code.Symbol$TypeSymbol);
descriptor: (Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Lcom/sun/tools/javac/code/Symbol;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.code.Types.descCache:Lcom/sun/tools/javac/code/Types$DescriptorCache;
aload 1
invokevirtual com.sun.tools.javac.code.Types$DescriptorCache.get:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Lcom/sun/tools/javac/code/Types$DescriptorCache$FunctionDescriptor;
invokevirtual com.sun.tools.javac.code.Types$DescriptorCache$FunctionDescriptor.getSymbol:()Lcom/sun/tools/javac/code/Symbol;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types;
0 1 1 origin Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
Exceptions:
throws com.sun.tools.javac.code.Types$FunctionDescriptorLookupError
MethodParameters:
Name Flags
origin
public com.sun.tools.javac.code.Type findDescriptorType(com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.code.Types.descCache:Lcom/sun/tools/javac/code/Types$DescriptorCache;
aload 1
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
invokevirtual com.sun.tools.javac.code.Types$DescriptorCache.get:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Lcom/sun/tools/javac/code/Types$DescriptorCache$FunctionDescriptor;
aload 1
invokevirtual com.sun.tools.javac.code.Types$DescriptorCache$FunctionDescriptor.getType:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types;
0 1 1 origin Lcom/sun/tools/javac/code/Type;
Exceptions:
throws com.sun.tools.javac.code.Types$FunctionDescriptorLookupError
MethodParameters:
Name Flags
origin
public boolean isFunctionalInterface(com.sun.tools.javac.code.Symbol$TypeSymbol);
descriptor: (Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Types.findDescriptorSymbol:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Lcom/sun/tools/javac/code/Symbol;
pop
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack: com.sun.tools.javac.code.Types$FunctionDescriptorLookupError
pop
3: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/javac/code/Types;
0 4 1 tsym Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
Exception table:
from to target type
0 1 2 Class com.sun.tools.javac.code.Types$FunctionDescriptorLookupError
MethodParameters:
Name Flags
tsym
public boolean isFunctionalInterface(com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Types.findDescriptorType:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
pop
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack: com.sun.tools.javac.code.Types$FunctionDescriptorLookupError
pop
3: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/javac/code/Types;
0 4 1 site Lcom/sun/tools/javac/code/Type;
Exception table:
from to target type
0 1 2 Class com.sun.tools.javac.code.Types$FunctionDescriptorLookupError
MethodParameters:
Name Flags
site
public com.sun.tools.javac.code.Type removeWildcards(com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=10, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.sun.tools.javac.code.Type.getTypeArguments:()Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.stream:()Ljava/util/stream/Stream;
invokedynamic test()Ljava/util/function/Predicate;
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:
(Ljava/lang/Object;)Z
com/sun/tools/javac/code/Types.lambda$1(Lcom/sun/tools/javac/code/Type;)Z (6)
(Lcom/sun/tools/javac/code/Type;)Z
invokeinterface java.util.stream.Stream.anyMatch:(Ljava/util/function/Predicate;)Z
ifeq 26
1: aload 1
invokevirtual com.sun.tools.javac.code.Type.getTypeArguments:()Lcom/sun/tools/javac/util/List;
astore 2
start local 2 2: aload 1
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
getfield com.sun.tools.javac.code.Symbol$TypeSymbol.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type.getTypeArguments:()Lcom/sun/tools/javac/util/List;
astore 3
start local 3 3: new com.sun.tools.javac.util.ListBuffer
dup
invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
astore 4
start local 4 4: aload 3
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 24
StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer top java.util.Iterator
StackMap stack:
5: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
astore 5
start local 5 6: aload 2
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
astore 7
start local 7 7: aload 5
invokevirtual com.sun.tools.javac.code.Type.getUpperBound:()Lcom/sun/tools/javac/code/Type;
astore 8
start local 8 8: aload 2
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
getstatic com.sun.tools.javac.code.TypeTag.WILDCARD:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 22
9: aload 7
checkcast com.sun.tools.javac.code.Type$WildcardType
astore 9
start local 9 10: aload 8
aload 3
invokevirtual com.sun.tools.javac.code.Type.containsAny:(Lcom/sun/tools/javac/util/List;)Z
ifeq 13
11: aload 4
aload 9
getfield com.sun.tools.javac.code.Type$WildcardType.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.util.ListBuffer.add:(Ljava/lang/Object;)Z
pop
12: goto 23
13: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.code.Type java.util.Iterator com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type$WildcardType
StackMap stack:
invokestatic com.sun.tools.javac.code.Types.$SWITCH_TABLE$com$sun$tools$javac$code$BoundKind:()[I
aload 9
getfield com.sun.tools.javac.code.Type$WildcardType.kind:Lcom/sun/tools/javac/code/BoundKind;
invokevirtual com.sun.tools.javac.code.BoundKind.ordinal:()I
iaload
tableswitch { // 1 - 3
1: 16
2: 18
3: 14
default: 20
}
14: StackMap locals:
StackMap stack:
aload 4
aload 8
invokevirtual com.sun.tools.javac.util.ListBuffer.add:(Ljava/lang/Object;)Z
pop
15: goto 23
16: StackMap locals:
StackMap stack:
aload 4
aload 0
aload 8
aload 9
getfield com.sun.tools.javac.code.Type$WildcardType.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Types.glb:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.util.ListBuffer.add:(Ljava/lang/Object;)Z
pop
17: goto 23
18: StackMap locals:
StackMap stack:
aload 4
aload 9
getfield com.sun.tools.javac.code.Type$WildcardType.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.util.ListBuffer.add:(Ljava/lang/Object;)Z
pop
19: goto 23
20: StackMap locals:
StackMap stack:
ldc "Cannot get here!"
invokestatic com.sun.tools.javac.util.Assert.error:(Ljava/lang/String;)V
end local 9 21: goto 23
22: StackMap locals:
StackMap stack:
aload 4
aload 7
invokevirtual com.sun.tools.javac.util.ListBuffer.add:(Ljava/lang/Object;)Z
pop
23: StackMap locals:
StackMap stack:
aload 2
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 2
end local 8 end local 7 end local 5 24: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
25: aload 0
aload 1
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
getfield com.sun.tools.javac.code.Symbol$TypeSymbol.type:Lcom/sun/tools/javac/code/Type;
aload 3
aload 4
invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.code.Types.subst:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type;
areturn
end local 4 end local 3 end local 2 26: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lcom/sun/tools/javac/code/Types;
0 27 1 site Lcom/sun/tools/javac/code/Type;
2 26 2 actuals Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
3 26 3 formals Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
4 26 4 targs Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Type;>;
6 24 5 formal Lcom/sun/tools/javac/code/Type;
7 24 7 actual Lcom/sun/tools/javac/code/Type;
8 24 8 bound Lcom/sun/tools/javac/code/Type;
10 21 9 wt Lcom/sun/tools/javac/code/Type$WildcardType;
MethodParameters:
Name Flags
site
public com.sun.tools.javac.code.Symbol$ClassSymbol makeFunctionalInterfaceClass(com.sun.tools.javac.comp.Env<com.sun.tools.javac.comp.AttrContext>, com.sun.tools.javac.util.Name, com.sun.tools.javac.code.Type, long);
descriptor: (Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Type;J)Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=11, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
ifnull 1
aload 3
aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.unknownType:Lcom/sun/tools/javac/code/Type;
if_acmpne 2
1: StackMap locals:
StackMap stack:
aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 3
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
invokevirtual com.sun.tools.javac.code.Types.findDescriptorSymbol:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Lcom/sun/tools/javac/code/Symbol;
astore 6
start local 6 3: aload 0
aload 3
invokevirtual com.sun.tools.javac.code.Types.findDescriptorType:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
astore 7
start local 7 4: new com.sun.tools.javac.code.Symbol$ClassSymbol
dup
lload 4
aload 2
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;
invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.outermostClass:()Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
invokespecial com.sun.tools.javac.code.Symbol$ClassSymbol.<init>:(JLcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Symbol;)V
astore 8
start local 8 5: aload 8
getstatic com.sun.tools.javac.code.Symbol$Completer.NULL_COMPLETER:Lcom/sun/tools/javac/code/Symbol$Completer;
putfield com.sun.tools.javac.code.Symbol$ClassSymbol.completer:Lcom/sun/tools/javac/code/Symbol$Completer;
6: aload 8
aload 8
invokestatic com.sun.tools.javac.code.Scope$WriteableScope.create:(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Scope$WriteableScope;
putfield com.sun.tools.javac.code.Symbol$ClassSymbol.members_field:Lcom/sun/tools/javac/code/Scope$WriteableScope;
7: new com.sun.tools.javac.code.Symbol$MethodSymbol
dup
aload 6
invokevirtual com.sun.tools.javac.code.Symbol.flags:()J
aload 6
getfield com.sun.tools.javac.code.Symbol.name:Lcom/sun/tools/javac/util/Name;
aload 7
aload 8
invokespecial com.sun.tools.javac.code.Symbol$MethodSymbol.<init>:(JLcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)V
astore 9
start local 9 8: aload 8
getfield com.sun.tools.javac.code.Symbol$ClassSymbol.members_field:Lcom/sun/tools/javac/code/Scope$WriteableScope;
aload 9
invokevirtual com.sun.tools.javac.code.Scope$WriteableScope.enter:(Lcom/sun/tools/javac/code/Symbol;)V
9: new com.sun.tools.javac.code.Type$ClassType
dup
getstatic com.sun.tools.javac.code.Type.noType:Lcom/sun/tools/javac/code/Type$JCNoType;
invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
aload 8
invokespecial com.sun.tools.javac.code.Type$ClassType.<init>:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)V
astore 10
start local 10 10: aload 10
aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
putfield com.sun.tools.javac.code.Type$ClassType.supertype_field:Lcom/sun/tools/javac/code/Type;
11: aload 10
aload 3
invokevirtual com.sun.tools.javac.code.Type.isIntersection:()Z
ifeq 13
12: aload 0
aload 3
invokevirtual com.sun.tools.javac.code.Types.directSupertypes:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
goto 14
13: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.comp.Env com.sun.tools.javac.util.Name com.sun.tools.javac.code.Type long com.sun.tools.javac.code.Symbol com.sun.tools.javac.code.Type com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.code.Symbol$MethodSymbol com.sun.tools.javac.code.Type$ClassType
StackMap stack: com.sun.tools.javac.code.Type$ClassType
aload 3
invokestatic com.sun.tools.javac.util.List.of:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
14: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.comp.Env com.sun.tools.javac.util.Name com.sun.tools.javac.code.Type long com.sun.tools.javac.code.Symbol com.sun.tools.javac.code.Type com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.code.Symbol$MethodSymbol com.sun.tools.javac.code.Type$ClassType
StackMap stack: com.sun.tools.javac.code.Type$ClassType com.sun.tools.javac.util.List
putfield com.sun.tools.javac.code.Type$ClassType.interfaces_field:Lcom/sun/tools/javac/util/List;
15: aload 8
aload 10
putfield com.sun.tools.javac.code.Symbol$ClassSymbol.type:Lcom/sun/tools/javac/code/Type;
16: aload 8
aload 8
getfield com.sun.tools.javac.code.Symbol$ClassSymbol.owner:Lcom/sun/tools/javac/code/Symbol;
checkcast com.sun.tools.javac.code.Symbol$ClassSymbol
getfield com.sun.tools.javac.code.Symbol$ClassSymbol.sourcefile:Ljavax/tools/JavaFileObject;
putfield com.sun.tools.javac.code.Symbol$ClassSymbol.sourcefile:Ljavax/tools/JavaFileObject;
17: aload 8
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/sun/tools/javac/code/Types;
0 18 1 env Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;
0 18 2 name Lcom/sun/tools/javac/util/Name;
0 18 3 target Lcom/sun/tools/javac/code/Type;
0 18 4 cflags J
3 18 6 descSym Lcom/sun/tools/javac/code/Symbol;
4 18 7 descType Lcom/sun/tools/javac/code/Type;
5 18 8 csym Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
8 18 9 instDescSym Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
10 18 10 ctype Lcom/sun/tools/javac/code/Type$ClassType;
Signature: (Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;Lcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Type;J)Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
MethodParameters:
Name Flags
env
name
target
cflags
public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Symbol> functionalInterfaceBridges(com.sun.tools.javac.code.Symbol$TypeSymbol);
descriptor: (Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Lcom/sun/tools/javac/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Types.isFunctionalInterface:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Z
invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
1: aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Types.findDescriptorSymbol:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Lcom/sun/tools/javac/code/Symbol;
astore 2
start local 2 2: aload 0
aload 1
getfield com.sun.tools.javac.code.Symbol$TypeSymbol.type:Lcom/sun/tools/javac/code/Type;
iconst_0
invokevirtual com.sun.tools.javac.code.Types.membersClosure:(Lcom/sun/tools/javac/code/Type;Z)Lcom/sun/tools/javac/code/Scope$CompoundScope;
astore 3
start local 3 3: new com.sun.tools.javac.util.ListBuffer
dup
invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
astore 4
start local 4 4: aload 3
aload 2
getfield com.sun.tools.javac.code.Symbol.name:Lcom/sun/tools/javac/util/Name;
aload 0
getfield com.sun.tools.javac.code.Types.bridgeFilter:Lcom/sun/tools/javac/util/Filter;
invokevirtual com.sun.tools.javac.code.Scope$CompoundScope.getSymbolsByName:(Lcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/util/Filter;)Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 6
goto 17
StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Symbol$TypeSymbol com.sun.tools.javac.code.Symbol com.sun.tools.javac.code.Scope$CompoundScope com.sun.tools.javac.util.ListBuffer top java.util.Iterator
StackMap stack:
5: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Symbol
astore 5
start local 5 6: aload 5
aload 2
if_acmpne 7
goto 17
7: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Symbol$TypeSymbol com.sun.tools.javac.code.Symbol com.sun.tools.javac.code.Scope$CompoundScope com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.code.Symbol java.util.Iterator
StackMap stack:
aload 2
aload 5
aload 1
aload 0
iconst_0
invokevirtual com.sun.tools.javac.code.Symbol.overrides:(Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Types;Z)Z
ifeq 17
8: aload 4
invokevirtual com.sun.tools.javac.util.ListBuffer.iterator:()Ljava/util/Iterator;
astore 8
goto 15
StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Symbol$TypeSymbol com.sun.tools.javac.code.Symbol com.sun.tools.javac.code.Scope$CompoundScope com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.code.Symbol java.util.Iterator top java.util.Iterator
StackMap stack:
9: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Symbol
astore 7
start local 7 10: aload 0
aload 7
aload 0
invokevirtual com.sun.tools.javac.code.Symbol.erasure:(Lcom/sun/tools/javac/code/Types;)Lcom/sun/tools/javac/code/Type;
aload 5
aload 0
invokevirtual com.sun.tools.javac.code.Symbol.erasure:(Lcom/sun/tools/javac/code/Types;)Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Types.isSameType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifne 17
11: aload 7
aload 5
aload 1
aload 0
iconst_0
invokevirtual com.sun.tools.javac.code.Symbol.overrides:(Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Types;Z)Z
ifeq 15
12: aload 0
aload 1
checkcast com.sun.tools.javac.code.Symbol$ClassSymbol
aload 7
invokevirtual com.sun.tools.javac.code.Symbol.enclClass:()Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
invokevirtual com.sun.tools.javac.code.Types.pendingBridges:(Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Z
ifne 17
13: aload 5
checkcast com.sun.tools.javac.code.Symbol$MethodSymbol
aload 7
getfield com.sun.tools.javac.code.Symbol.owner:Lcom/sun/tools/javac/code/Symbol;
checkcast com.sun.tools.javac.code.Symbol$ClassSymbol
aload 0
invokevirtual com.sun.tools.javac.code.Symbol$MethodSymbol.binaryImplementation:(Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Lcom/sun/tools/javac/code/Types;)Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
ifnull 15
14: goto 17
end local 7 15: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
16: aload 4
aload 5
invokevirtual com.sun.tools.javac.util.ListBuffer.add:(Ljava/lang/Object;)Z
pop
end local 5 17: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Symbol$TypeSymbol com.sun.tools.javac.code.Symbol com.sun.tools.javac.code.Scope$CompoundScope com.sun.tools.javac.util.ListBuffer top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
18: aload 4
invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/sun/tools/javac/code/Types;
0 19 1 origin Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
2 19 2 descSym Lcom/sun/tools/javac/code/Symbol;
3 19 3 members Lcom/sun/tools/javac/code/Scope$CompoundScope;
4 19 4 overridden Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Symbol;>;
6 17 5 m2 Lcom/sun/tools/javac/code/Symbol;
10 15 7 m3 Lcom/sun/tools/javac/code/Symbol;
Signature: (Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Symbol;>;
MethodParameters:
Name Flags
origin
private boolean pendingBridges(com.sun.tools.javac.code.Symbol$ClassSymbol, com.sun.tools.javac.code.Symbol$TypeSymbol);
descriptor: (Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield com.sun.tools.javac.code.Symbol$ClassSymbol.classfile:Ljavax/tools/JavaFileObject;
ifnull 4
1: aload 1
getfield com.sun.tools.javac.code.Symbol$ClassSymbol.classfile:Ljavax/tools/JavaFileObject;
invokeinterface javax.tools.JavaFileObject.getKind:()Ljavax/tools/JavaFileObject$Kind;
getstatic javax.tools.JavaFileObject$Kind.CLASS:Ljavax/tools/JavaFileObject$Kind;
if_acmpne 4
2: aload 0
getfield com.sun.tools.javac.code.Types.enter:Lcom/sun/tools/javac/comp/Enter;
aload 1
invokevirtual com.sun.tools.javac.comp.Enter.getEnv:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Lcom/sun/tools/javac/comp/Env;
ifnonnull 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
aload 2
if_acmpne 6
5: iconst_1
ireturn
6: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield com.sun.tools.javac.code.Symbol$ClassSymbol.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Types.interfaces:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 10
StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.code.Symbol$TypeSymbol top java.util.Iterator
StackMap stack:
7: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
astore 3
start local 3 8: aload 0
aload 3
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
checkcast com.sun.tools.javac.code.Symbol$ClassSymbol
aload 2
invokevirtual com.sun.tools.javac.code.Types.pendingBridges:(Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Z
ifeq 10
9: iconst_1
ireturn
end local 3 10: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
11: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/tools/javac/code/Types;
0 12 1 origin Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
0 12 2 s Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
8 10 3 t Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
origin
s
public boolean isSubtypeUnchecked(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
aload 0
getfield com.sun.tools.javac.code.Types.noWarnings:Lcom/sun/tools/javac/util/Warner;
invokevirtual com.sun.tools.javac.code.Types.isSubtypeUnchecked:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types;
0 1 1 t Lcom/sun/tools/javac/code/Type;
0 1 2 s Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
s
public boolean isSubtypeUnchecked(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type, com.sun.tools.javac.util.Warner);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
iconst_1
aload 3
invokevirtual com.sun.tools.javac.code.Types.isSubtypeUncheckedInternal:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;ZLcom/sun/tools/javac/util/Warner;)Z
istore 4
start local 4 1: iload 4
ifeq 3
2: aload 0
aload 1
aload 2
aload 3
invokevirtual com.sun.tools.javac.code.Types.checkUnsafeVarargsConversion:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)V
3: StackMap locals: int
StackMap stack:
iload 4
ireturn
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/code/Types;
0 4 1 t Lcom/sun/tools/javac/code/Type;
0 4 2 s Lcom/sun/tools/javac/code/Type;
0 4 3 warn Lcom/sun/tools/javac/util/Warner;
1 4 4 result Z
MethodParameters:
Name Flags
t
s
warn
private boolean isSubtypeUncheckedInternal(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type, boolean, com.sun.tools.javac.util.Warner);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;ZLcom/sun/tools/javac/util/Warner;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
getstatic com.sun.tools.javac.code.TypeTag.ARRAY:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 4
aload 2
getstatic com.sun.tools.javac.code.TypeTag.ARRAY:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 4
1: aload 1
checkcast com.sun.tools.javac.code.Type$ArrayType
getfield com.sun.tools.javac.code.Type$ArrayType.elemtype:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
ifeq 3
2: aload 0
aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Types.elemtype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
aload 0
aload 2
invokevirtual com.sun.tools.javac.code.Types.elemtype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Types.isSameType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ireturn
3: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Types.elemtype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
aload 0
aload 2
invokevirtual com.sun.tools.javac.code.Types.elemtype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
iconst_0
aload 4
invokevirtual com.sun.tools.javac.code.Types.isSubtypeUncheckedInternal:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;ZLcom/sun/tools/javac/util/Warner;)Z
ireturn
4: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
iload 3
invokevirtual com.sun.tools.javac.code.Types.isSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Z)Z
ifeq 6
5: iconst_1
ireturn
6: StackMap locals:
StackMap stack:
aload 1
getstatic com.sun.tools.javac.code.TypeTag.TYPEVAR:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 8
7: aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Type.getUpperBound:()Lcom/sun/tools/javac/code/Type;
aload 2
iconst_0
aload 4
invokevirtual com.sun.tools.javac.code.Types.isSubtypeUncheckedInternal:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;ZLcom/sun/tools/javac/util/Warner;)Z
ireturn
8: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.sun.tools.javac.code.Type.isRaw:()Z
ifne 16
9: aload 0
aload 1
aload 2
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
invokevirtual com.sun.tools.javac.code.Types.asSuper:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
astore 5
start local 5 10: aload 5
ifnull 16
aload 5
invokevirtual com.sun.tools.javac.code.Type.isRaw:()Z
ifeq 16
11: aload 0
aload 2
invokevirtual com.sun.tools.javac.code.Types.isReifiable:(Lcom/sun/tools/javac/code/Type;)Z
ifeq 14
12: aload 4
getstatic com.sun.tools.javac.code.Lint$LintCategory.UNCHECKED:Lcom/sun/tools/javac/code/Lint$LintCategory;
invokevirtual com.sun.tools.javac.util.Warner.silentWarn:(Lcom/sun/tools/javac/code/Lint$LintCategory;)V
13: goto 15
14: StackMap locals: com.sun.tools.javac.code.Type
StackMap stack:
aload 4
getstatic com.sun.tools.javac.code.Lint$LintCategory.UNCHECKED:Lcom/sun/tools/javac/code/Lint$LintCategory;
invokevirtual com.sun.tools.javac.util.Warner.warn:(Lcom/sun/tools/javac/code/Lint$LintCategory;)V
15: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 5 16: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/sun/tools/javac/code/Types;
0 17 1 t Lcom/sun/tools/javac/code/Type;
0 17 2 s Lcom/sun/tools/javac/code/Type;
0 17 3 capture Z
0 17 4 warn Lcom/sun/tools/javac/util/Warner;
10 16 5 t2 Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
s
capture
warn
private void checkUnsafeVarargsConversion(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type, com.sun.tools.javac.util.Warner);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
getstatic com.sun.tools.javac.code.TypeTag.ARRAY:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 1
aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Types.isReifiable:(Lcom/sun/tools/javac/code/Type;)Z
ifeq 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
aload 1
checkcast com.sun.tools.javac.code.Type$ArrayType
astore 4
start local 4 3: iconst_0
istore 5
start local 5 4: invokestatic com.sun.tools.javac.code.Types.$SWITCH_TABLE$com$sun$tools$javac$code$TypeTag:()[I
aload 2
invokevirtual com.sun.tools.javac.code.Type.getTag:()Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
iaload
tableswitch { // 10 - 11
10: 13
11: 5
default: 14
}
5: StackMap locals: com.sun.tools.javac.code.Type$ArrayType int
StackMap stack:
aload 2
checkcast com.sun.tools.javac.code.Type$ArrayType
astore 6
start local 6 6: aload 4
invokevirtual com.sun.tools.javac.code.Type$ArrayType.isVarargs:()Z
ifeq 10
7: aload 6
invokevirtual com.sun.tools.javac.code.Type$ArrayType.isVarargs:()Z
ifne 10
8: aload 0
aload 4
invokevirtual com.sun.tools.javac.code.Types.isReifiable:(Lcom/sun/tools/javac/code/Type;)Z
ifne 10
9: iconst_1
goto 11
StackMap locals: com.sun.tools.javac.code.Type$ArrayType
StackMap stack:
10: iconst_0
StackMap locals:
StackMap stack: int
11: istore 5
12: goto 14
end local 6 13: StackMap locals:
StackMap stack:
aload 4
invokevirtual com.sun.tools.javac.code.Type$ArrayType.isVarargs:()Z
istore 5
14: StackMap locals:
StackMap stack:
iload 5
ifeq 16
15: aload 3
getstatic com.sun.tools.javac.code.Lint$LintCategory.VARARGS:Lcom/sun/tools/javac/code/Lint$LintCategory;
invokevirtual com.sun.tools.javac.util.Warner.warn:(Lcom/sun/tools/javac/code/Lint$LintCategory;)V
16: 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 17 0 this Lcom/sun/tools/javac/code/Types;
0 17 1 t Lcom/sun/tools/javac/code/Type;
0 17 2 s Lcom/sun/tools/javac/code/Type;
0 17 3 warn Lcom/sun/tools/javac/util/Warner;
3 17 4 from Lcom/sun/tools/javac/code/Type$ArrayType;
4 17 5 shouldWarn Z
6 13 6 to Lcom/sun/tools/javac/code/Type$ArrayType;
MethodParameters:
Name Flags
t
s
warn
public final boolean isSubtype(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_1
invokevirtual com.sun.tools.javac.code.Types.isSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Z)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types;
0 1 1 t Lcom/sun/tools/javac/code/Type;
0 1 2 s Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
s
public final boolean isSubtypeNoCapture(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_0
invokevirtual com.sun.tools.javac.code.Types.isSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Z)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types;
0 1 1 t Lcom/sun/tools/javac/code/Type;
0 1 2 s Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
s
public boolean isSubtype(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type, boolean);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Z)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 2
invokevirtual com.sun.tools.javac.code.Type.equalsIgnoreMetadata:(Lcom/sun/tools/javac/code/Type;)Z
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.sun.tools.javac.code.Type.isPartial:()Z
ifeq 4
3: aload 0
aload 2
aload 1
invokevirtual com.sun.tools.javac.code.Types.isSuperType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ireturn
4: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.sun.tools.javac.code.Type.isCompound:()Z
ifeq 11
5: aload 0
aload 2
invokevirtual com.sun.tools.javac.code.Types.interfaces:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
aload 0
aload 2
invokevirtual com.sun.tools.javac.code.Types.supertype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 9
StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type int top java.util.Iterator
StackMap stack:
6: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
astore 4
start local 4 7: aload 0
aload 1
aload 4
iload 3
invokevirtual com.sun.tools.javac.code.Types.isSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Z)Z
ifne 9
8: iconst_0
ireturn
end local 4 9: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
10: iconst_1
ireturn
11: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type int
StackMap stack:
aload 1
getstatic com.sun.tools.javac.code.TypeTag.UNDETVAR:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifne 17
aload 1
invokevirtual com.sun.tools.javac.code.Type.isCompound:()Z
ifne 17
12: aload 0
aload 0
aload 2
invokevirtual com.sun.tools.javac.code.Types.wildLowerBound:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Types.cvarLowerBound:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
astore 4
start local 4 13: aload 2
aload 4
if_acmpeq 17
aload 4
getstatic com.sun.tools.javac.code.TypeTag.BOT:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifne 17
14: aload 0
iload 3
ifeq 15
aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Types.capture:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
goto 16
StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type int com.sun.tools.javac.code.Type
StackMap stack: com.sun.tools.javac.code.Types
15: aload 1
StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type int com.sun.tools.javac.code.Type
StackMap stack: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type
16: aload 4
iconst_0
invokevirtual com.sun.tools.javac.code.Types.isSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Z)Z
ireturn
end local 4 17: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.code.Types.isSubtype:Lcom/sun/tools/javac/code/Types$TypeRelation;
iload 3
ifeq 18
aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Types.capture:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
goto 19
StackMap locals:
StackMap stack: com.sun.tools.javac.code.Types$TypeRelation
18: aload 1
StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type int
StackMap stack: com.sun.tools.javac.code.Types$TypeRelation com.sun.tools.javac.code.Type
19: aload 2
invokevirtual com.sun.tools.javac.code.Types$TypeRelation.visit:(Lcom/sun/tools/javac/code/Type;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/sun/tools/javac/code/Types;
0 20 1 t Lcom/sun/tools/javac/code/Type;
0 20 2 s Lcom/sun/tools/javac/code/Type;
0 20 3 capture Z
7 9 4 s2 Lcom/sun/tools/javac/code/Type;
13 17 4 lower Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
s
capture
public boolean isSubtypeUnchecked(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/code/Type;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/Warner;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
astore 4
start local 4 1: goto 5
2: StackMap locals: com.sun.tools.javac.util.List
StackMap stack:
aload 0
aload 1
aload 4
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
aload 3
invokevirtual com.sun.tools.javac.code.Types.isSubtypeUnchecked:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 4
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 4
StackMap locals:
StackMap stack:
5: aload 4
invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
ifne 2
end local 4 6: iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/javac/code/Types;
0 7 1 t Lcom/sun/tools/javac/code/Type;
0 7 2 ts Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
0 7 3 warn Lcom/sun/tools/javac/util/Warner;
1 6 4 l Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
Signature: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;Lcom/sun/tools/javac/util/Warner;)Z
MethodParameters:
Name Flags
t
ts
warn
public boolean isSubtypes(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
descriptor: (Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: goto 3
1: StackMap locals:
StackMap stack:
aload 1
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 1
2: aload 2
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 2
3: StackMap locals:
StackMap stack:
aload 1
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
ifnull 5
aload 2
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
ifnull 5
4: aload 0
aload 1
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
aload 2
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
invokevirtual com.sun.tools.javac.code.Types.isSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifne 1
5: StackMap locals:
StackMap stack:
aload 1
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
ifnonnull 6
aload 2
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
ifnonnull 6
iconst_1
ireturn
StackMap locals:
StackMap stack:
6: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/javac/code/Types;
0 7 1 ts Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
0 7 2 ss 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/util/List<Lcom/sun/tools/javac/code/Type;>;)Z
MethodParameters:
Name Flags
ts
ss
public boolean isSubtypesUnchecked(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/util/List;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/Warner;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: goto 3
1: StackMap locals:
StackMap stack:
aload 1
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 1
2: aload 2
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 2
3: StackMap locals:
StackMap stack:
aload 1
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
ifnull 5
aload 2
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
ifnull 5
4: aload 0
aload 1
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
aload 2
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
aload 3
invokevirtual com.sun.tools.javac.code.Types.isSubtypeUnchecked:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
ifne 1
5: StackMap locals:
StackMap stack:
aload 1
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
ifnonnull 6
aload 2
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
ifnonnull 6
iconst_1
ireturn
StackMap locals:
StackMap stack:
6: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/javac/code/Types;
0 7 1 ts Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
0 7 2 ss Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
0 7 3 warn Lcom/sun/tools/javac/util/Warner;
Signature: (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;)Z
MethodParameters:
Name Flags
ts
ss
warn
public boolean isSuperType(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: invokestatic com.sun.tools.javac.code.Types.$SWITCH_TABLE$com$sun$tools$javac$code$TypeTag:()[I
aload 1
invokevirtual com.sun.tools.javac.code.Type.getTag:()Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
iaload
tableswitch { // 21 - 23
21: 1
22: 10
23: 2
default: 10
}
1: StackMap locals:
StackMap stack:
iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
checkcast com.sun.tools.javac.code.Type$UndetVar
astore 3
start local 3 3: aload 1
aload 2
if_acmpeq 7
4: aload 3
getfield com.sun.tools.javac.code.Type$UndetVar.qtype:Lcom/sun/tools/javac/code/Type;
aload 2
if_acmpeq 7
5: aload 2
getstatic com.sun.tools.javac.code.TypeTag.ERROR:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifne 7
6: aload 2
getstatic com.sun.tools.javac.code.TypeTag.BOT:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 8
7: StackMap locals: com.sun.tools.javac.code.Type$UndetVar
StackMap stack:
iconst_1
ireturn
8: StackMap locals:
StackMap stack:
aload 3
getstatic com.sun.tools.javac.code.Type$UndetVar$InferenceBound.LOWER:Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
aload 2
aload 0
invokevirtual com.sun.tools.javac.code.Type$UndetVar.addBound:(Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Types;)V
9: iconst_1
ireturn
end local 3 10: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 1
invokevirtual com.sun.tools.javac.code.Types.isSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/tools/javac/code/Types;
0 11 1 t Lcom/sun/tools/javac/code/Type;
0 11 2 s Lcom/sun/tools/javac/code/Type;
3 10 3 undet Lcom/sun/tools/javac/code/Type$UndetVar;
MethodParameters:
Name Flags
t
s
public boolean isSameTypes(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
descriptor: (Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: goto 3
1: StackMap locals:
StackMap stack:
aload 1
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 1
2: aload 2
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 2
3: StackMap locals:
StackMap stack:
aload 1
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
ifnull 5
aload 2
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
ifnull 5
4: aload 0
aload 1
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
aload 2
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
invokevirtual com.sun.tools.javac.code.Types.isSameType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifne 1
5: StackMap locals:
StackMap stack:
aload 1
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
ifnonnull 6
aload 2
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
ifnonnull 6
iconst_1
ireturn
StackMap locals:
StackMap stack:
6: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/javac/code/Types;
0 7 1 ts Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
0 7 2 ss 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/util/List<Lcom/sun/tools/javac/code/Type;>;)Z
MethodParameters:
Name Flags
ts
ss
public boolean isSignaturePolymorphic(com.sun.tools.javac.code.Symbol$MethodSymbol);
descriptor: (Lcom/sun/tools/javac/code/Symbol$MethodSymbol;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
getfield com.sun.tools.javac.code.Symbol$MethodSymbol.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type.getParameterTypes:()Lcom/sun/tools/javac/util/List;
astore 2
start local 2 1: aload 1
getfield com.sun.tools.javac.code.Symbol$MethodSymbol.flags_field:J
ldc 256
land
lconst_0
lcmp
ifeq 7
2: aload 1
getfield com.sun.tools.javac.code.Symbol$MethodSymbol.owner:Lcom/sun/tools/javac/code/Symbol;
aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.methodHandleType:Lcom/sun/tools/javac/code/Type;
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
if_acmpeq 3
aload 1
getfield com.sun.tools.javac.code.Symbol$MethodSymbol.owner:Lcom/sun/tools/javac/code/Symbol;
aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.varHandleType:Lcom/sun/tools/javac/code/Type;
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
if_acmpne 7
3: StackMap locals: com.sun.tools.javac.util.List
StackMap stack:
aload 2
invokevirtual com.sun.tools.javac.util.List.length:()I
iconst_1
if_icmpne 7
4: aload 2
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
getstatic com.sun.tools.javac.code.TypeTag.ARRAY:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 7
5: aload 2
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type$ArrayType
getfield com.sun.tools.javac.code.Type$ArrayType.elemtype:Lcom/sun/tools/javac/code/Type;
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
if_acmpne 7
6: iconst_1
ireturn
StackMap locals:
StackMap stack:
7: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/tools/javac/code/Types;
0 8 1 msym Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
1 8 2 argtypes Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
MethodParameters:
Name Flags
msym
public boolean isSameType(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)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
getfield com.sun.tools.javac.code.Types.isSameTypeVisitor:Lcom/sun/tools/javac/code/Types$TypeRelation;
aload 1
aload 2
invokevirtual com.sun.tools.javac.code.Types$TypeRelation.visit:(Lcom/sun/tools/javac/code/Type;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types;
0 1 1 t Lcom/sun/tools/javac/code/Type;
0 1 2 s Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
s
public boolean containedBy(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: invokestatic com.sun.tools.javac.code.Types.$SWITCH_TABLE$com$sun$tools$javac$code$TypeTag:()[I
aload 1
invokevirtual com.sun.tools.javac.code.Type.getTag:()Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
iaload
tableswitch { // 21 - 23
21: 13
22: 14
23: 1
default: 14
}
1: StackMap locals:
StackMap stack:
aload 2
getstatic com.sun.tools.javac.code.TypeTag.WILDCARD:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 12
2: aload 1
checkcast com.sun.tools.javac.code.Type$UndetVar
astore 3
start local 3 3: aload 2
checkcast com.sun.tools.javac.code.Type$WildcardType
astore 4
start local 4 4: invokestatic com.sun.tools.javac.code.Types.$SWITCH_TABLE$com$sun$tools$javac$code$BoundKind:()[I
aload 4
getfield com.sun.tools.javac.code.Type$WildcardType.kind:Lcom/sun/tools/javac/code/BoundKind;
invokevirtual com.sun.tools.javac.code.BoundKind.ordinal:()I
iaload
tableswitch { // 1 - 3
1: 6
2: 9
3: 5
default: 11
}
5: StackMap locals: com.sun.tools.javac.code.Type$UndetVar com.sun.tools.javac.code.Type$WildcardType
StackMap stack:
goto 11
6: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual com.sun.tools.javac.code.Types.wildUpperBound:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
astore 5
start local 5 7: aload 3
getstatic com.sun.tools.javac.code.Type$UndetVar$InferenceBound.UPPER:Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
aload 5
aload 0
invokevirtual com.sun.tools.javac.code.Type$UndetVar.addBound:(Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Types;)V
8: goto 11
end local 5 9: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual com.sun.tools.javac.code.Types.wildLowerBound:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
astore 5
start local 5 10: aload 3
getstatic com.sun.tools.javac.code.Type$UndetVar$InferenceBound.LOWER:Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
aload 5
aload 0
invokevirtual com.sun.tools.javac.code.Type$UndetVar.addBound:(Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Types;)V
end local 5 11: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 4 end local 3 12: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual com.sun.tools.javac.code.Types.isSameType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ireturn
13: StackMap locals:
StackMap stack:
iconst_1
ireturn
14: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 1
invokevirtual com.sun.tools.javac.code.Types.containsType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/sun/tools/javac/code/Types;
0 15 1 t Lcom/sun/tools/javac/code/Type;
0 15 2 s Lcom/sun/tools/javac/code/Type;
3 12 3 undetvar Lcom/sun/tools/javac/code/Type$UndetVar;
4 12 4 wt Lcom/sun/tools/javac/code/Type$WildcardType;
7 9 5 bound Lcom/sun/tools/javac/code/Type;
10 11 5 bound Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
s
boolean containsType(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
descriptor: (Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Z
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: goto 3
1: StackMap locals:
StackMap stack:
aload 1
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 1
2: aload 2
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 2
3: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
ifeq 5
aload 2
invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
ifeq 5
4: aload 0
aload 1
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
aload 2
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
invokevirtual com.sun.tools.javac.code.Types.containsType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifne 1
5: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
ifeq 6
aload 2
invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
ifeq 6
iconst_1
ireturn
StackMap locals:
StackMap stack:
6: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/javac/code/Types;
0 7 1 ts Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
0 7 2 ss 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/util/List<Lcom/sun/tools/javac/code/Type;>;)Z
MethodParameters:
Name Flags
ts
ss
public boolean containsType(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)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
getfield com.sun.tools.javac.code.Types.containsType:Lcom/sun/tools/javac/code/Types$TypeRelation;
aload 1
aload 2
invokevirtual com.sun.tools.javac.code.Types$TypeRelation.visit:(Lcom/sun/tools/javac/code/Type;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types;
0 1 1 t Lcom/sun/tools/javac/code/Type;
0 1 2 s Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
s
public boolean isCaptureOf(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type$WildcardType);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type$WildcardType;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getstatic com.sun.tools.javac.code.TypeTag.TYPEVAR:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 1
aload 1
checkcast com.sun.tools.javac.code.Type$TypeVar
invokevirtual com.sun.tools.javac.code.Type$TypeVar.isCaptured:()Z
ifne 2
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 1
checkcast com.sun.tools.javac.code.Type$CapturedType
getfield com.sun.tools.javac.code.Type$CapturedType.wildcard:Lcom/sun/tools/javac/code/Type$WildcardType;
invokevirtual com.sun.tools.javac.code.Types.isSameWildcard:(Lcom/sun/tools/javac/code/Type$WildcardType;Lcom/sun/tools/javac/code/Type;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/javac/code/Types;
0 3 1 s Lcom/sun/tools/javac/code/Type;
0 3 2 t Lcom/sun/tools/javac/code/Type$WildcardType;
MethodParameters:
Name Flags
s
t
public boolean isSameWildcard(com.sun.tools.javac.code.Type$WildcardType, com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type$WildcardType;Lcom/sun/tools/javac/code/Type;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
getstatic com.sun.tools.javac.code.TypeTag.WILDCARD:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 2
checkcast com.sun.tools.javac.code.Type$WildcardType
astore 3
start local 3 3: aload 3
getfield com.sun.tools.javac.code.Type$WildcardType.kind:Lcom/sun/tools/javac/code/BoundKind;
aload 1
getfield com.sun.tools.javac.code.Type$WildcardType.kind:Lcom/sun/tools/javac/code/BoundKind;
if_acmpne 4
aload 3
getfield com.sun.tools.javac.code.Type$WildcardType.type:Lcom/sun/tools/javac/code/Type;
aload 1
getfield com.sun.tools.javac.code.Type$WildcardType.type:Lcom/sun/tools/javac/code/Type;
if_acmpne 4
iconst_1
ireturn
StackMap locals: com.sun.tools.javac.code.Type$WildcardType
StackMap stack:
4: iconst_0
ireturn
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/code/Types;
0 5 1 t Lcom/sun/tools/javac/code/Type$WildcardType;
0 5 2 s Lcom/sun/tools/javac/code/Type;
3 5 3 w Lcom/sun/tools/javac/code/Type$WildcardType;
MethodParameters:
Name Flags
t
s
public boolean containsTypeEquivalent(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
descriptor: (Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: goto 3
1: StackMap locals:
StackMap stack:
aload 1
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 1
2: aload 2
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 2
3: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
ifeq 5
aload 2
invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
ifeq 5
4: aload 0
aload 1
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
aload 2
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
invokevirtual com.sun.tools.javac.code.Types.containsTypeEquivalent:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifne 1
5: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
ifeq 6
aload 2
invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
ifeq 6
iconst_1
ireturn
StackMap locals:
StackMap stack:
6: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/javac/code/Types;
0 7 1 ts Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
0 7 2 ss 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/util/List<Lcom/sun/tools/javac/code/Type;>;)Z
MethodParameters:
Name Flags
ts
ss
public boolean isCastable(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
aload 0
getfield com.sun.tools.javac.code.Types.noWarnings:Lcom/sun/tools/javac/util/Warner;
invokevirtual com.sun.tools.javac.code.Types.isCastable:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types;
0 1 1 t Lcom/sun/tools/javac/code/Type;
0 1 2 s Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
s
public boolean isCastable(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type, com.sun.tools.javac.util.Warner);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 2
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
aload 2
invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
if_icmpeq 9
3: aload 0
aload 1
iconst_0
invokevirtual com.sun.tools.javac.code.Types.skipTypeVars:(Lcom/sun/tools/javac/code/Type;Z)Lcom/sun/tools/javac/code/Type;
astore 1
4: aload 0
aload 1
aload 2
aload 3
invokevirtual com.sun.tools.javac.code.Types.isConvertible:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
ifne 8
5: aload 2
invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
ifeq 7
6: aload 0
aload 0
aload 2
invokevirtual com.sun.tools.javac.code.Types.boxedClass:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
getfield com.sun.tools.javac.code.Symbol$ClassSymbol.type:Lcom/sun/tools/javac/code/Type;
aload 1
invokevirtual com.sun.tools.javac.code.Types.isSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifne 8
7: StackMap locals:
StackMap stack:
iconst_0
ireturn
StackMap locals:
StackMap stack:
8: iconst_1
ireturn
9: StackMap locals:
StackMap stack:
aload 3
aload 0
getfield com.sun.tools.javac.code.Types.warnStack:Lcom/sun/tools/javac/util/List;
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
if_acmpeq 19
10: aload 0
aload 0
getfield com.sun.tools.javac.code.Types.warnStack:Lcom/sun/tools/javac/util/List;
aload 3
invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
putfield com.sun.tools.javac.code.Types.warnStack:Lcom/sun/tools/javac/util/List;
11: aload 0
aload 1
aload 2
aload 3
invokevirtual com.sun.tools.javac.code.Types.checkUnsafeVarargsConversion:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)V
12: aload 0
getfield com.sun.tools.javac.code.Types.isCastable:Lcom/sun/tools/javac/code/Types$TypeRelation;
aload 1
aload 2
invokevirtual com.sun.tools.javac.code.Types$TypeRelation.visit:(Lcom/sun/tools/javac/code/Type;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
istore 4
start local 4 13: goto 17
end local 4 StackMap locals:
StackMap stack: java.lang.Throwable
14: astore 5
15: aload 0
aload 0
getfield com.sun.tools.javac.code.Types.warnStack:Lcom/sun/tools/javac/util/List;
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
putfield com.sun.tools.javac.code.Types.warnStack:Lcom/sun/tools/javac/util/List;
16: aload 5
athrow
start local 4 17: StackMap locals: int
StackMap stack:
aload 0
aload 0
getfield com.sun.tools.javac.code.Types.warnStack:Lcom/sun/tools/javac/util/List;
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
putfield com.sun.tools.javac.code.Types.warnStack:Lcom/sun/tools/javac/util/List;
18: goto 20
end local 4 19: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.code.Types.isCastable:Lcom/sun/tools/javac/code/Types$TypeRelation;
aload 1
aload 2
invokevirtual com.sun.tools.javac.code.Types$TypeRelation.visit:(Lcom/sun/tools/javac/code/Type;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
istore 4
start local 4 20: StackMap locals: int
StackMap stack:
iload 4
ifeq 28
aload 1
getstatic com.sun.tools.javac.code.TypeTag.CLASS:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 28
aload 1
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
getfield com.sun.tools.javac.code.Symbol$TypeSymbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
getstatic com.sun.tools.javac.code.Kinds$KindSelector.TYP:Lcom/sun/tools/javac/code/Kinds$KindSelector;
invokevirtual com.sun.tools.javac.code.Kinds$Kind.matches:(Lcom/sun/tools/javac/code/Kinds$KindSelector;)Z
ifeq 28
21: aload 2
getstatic com.sun.tools.javac.code.TypeTag.CLASS:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 28
aload 2
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
getfield com.sun.tools.javac.code.Symbol$TypeSymbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
getstatic com.sun.tools.javac.code.Kinds$KindSelector.TYP:Lcom/sun/tools/javac/code/Kinds$KindSelector;
invokevirtual com.sun.tools.javac.code.Kinds$Kind.matches:(Lcom/sun/tools/javac/code/Kinds$KindSelector;)Z
ifeq 28
22: aload 1
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.isSealed:()Z
ifne 23
aload 2
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.isSealed:()Z
ifeq 28
23: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.sun.tools.javac.code.Type.isCompound:()Z
ifne 24
aload 2
invokevirtual com.sun.tools.javac.code.Type.isCompound:()Z
ifeq 25
24: StackMap locals:
StackMap stack:
iconst_0
goto 27
25: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
checkcast com.sun.tools.javac.code.Symbol$ClassSymbol
aload 2
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
checkcast com.sun.tools.javac.code.Symbol$ClassSymbol
invokevirtual com.sun.tools.javac.code.Types.areDisjoint:(Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)Z
ifeq 26
iconst_0
goto 27
StackMap locals:
StackMap stack:
26: iconst_1
27: StackMap locals:
StackMap stack: int
ireturn
28: StackMap locals:
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lcom/sun/tools/javac/code/Types;
0 29 1 t Lcom/sun/tools/javac/code/Type;
0 29 2 s Lcom/sun/tools/javac/code/Type;
0 29 3 warn Lcom/sun/tools/javac/util/Warner;
13 14 4 result Z
17 19 4 result Z
20 29 4 result Z
Exception table:
from to target type
10 14 14 any
MethodParameters:
Name Flags
t
s
warn
private boolean areDisjoint(com.sun.tools.javac.code.Symbol$ClassSymbol, com.sun.tools.javac.code.Symbol$ClassSymbol);
descriptor: (Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
aload 1
getfield com.sun.tools.javac.code.Symbol$ClassSymbol.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Types.erasure:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
aload 0
aload 2
getfield com.sun.tools.javac.code.Symbol$ClassSymbol.type:Lcom/sun/tools/javac/code/Type;
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.code.Types.isSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.isInterface:()Z
aload 2
invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.isInterface:()Z
if_icmpne 4
aload 0
aload 0
aload 2
getfield com.sun.tools.javac.code.Symbol$ClassSymbol.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Types.erasure:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
aload 0
aload 1
getfield com.sun.tools.javac.code.Symbol$ClassSymbol.type:Lcom/sun/tools/javac/code/Type;
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.code.Types.isSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifeq 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.isInterface:()Z
ifeq 6
aload 2
invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.isInterface:()Z
ifne 6
5: aload 0
aload 2
aload 1
invokevirtual com.sun.tools.javac.code.Types.areDisjoint:(Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)Z
ireturn
6: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.isInterface:()Z
ifne 8
aload 1
invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.isFinal:()Z
ifeq 8
7: iconst_1
ireturn
8: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.isSealed:()Z
ifne 9
aload 2
invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.isSealed:()Z
ifeq 16
9: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.isSealed:()Z
ifeq 10
aload 1
goto 11
StackMap locals:
StackMap stack:
10: aload 2
StackMap locals:
StackMap stack: com.sun.tools.javac.code.Symbol$ClassSymbol
11: astore 3
start local 3 12: aload 3
aload 1
if_acmpne 13
aload 2
goto 14
StackMap locals: com.sun.tools.javac.code.Symbol$ClassSymbol
StackMap stack:
13: aload 1
StackMap locals:
StackMap stack: com.sun.tools.javac.code.Symbol$ClassSymbol
14: astore 4
start local 4 15: aload 3
getfield com.sun.tools.javac.code.Symbol$ClassSymbol.permitted:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.stream:()Ljava/util/stream/Stream;
aload 0
aload 4
invokedynamic test(Lcom/sun/tools/javac/code/Types;Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)Ljava/util/function/Predicate;
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:
(Ljava/lang/Object;)Z
com/sun/tools/javac/code/Types.lambda$2(Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Lcom/sun/tools/javac/code/Symbol;)Z (7)
(Lcom/sun/tools/javac/code/Symbol;)Z
invokeinterface java.util.stream.Stream.allMatch:(Ljava/util/function/Predicate;)Z
ireturn
end local 4 end local 3 16: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/sun/tools/javac/code/Types;
0 17 1 ts Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
0 17 2 ss Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
12 16 3 sealedOne Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
15 16 4 other Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
MethodParameters:
Name Flags
ts
ss
public boolean disjointTypes(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
descriptor: (Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: goto 4
1: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
aload 2
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
invokevirtual com.sun.tools.javac.code.Types.disjointType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifeq 2
iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 1
3: aload 2
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 2
4: StackMap locals:
StackMap stack:
aload 1
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
ifnull 5
aload 2
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
ifnonnull 1
5: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/tools/javac/code/Types;
0 6 1 ts Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
0 6 2 ss 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/util/List<Lcom/sun/tools/javac/code/Type;>;)Z
MethodParameters:
Name Flags
ts
ss
public boolean disjointType(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)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
getfield com.sun.tools.javac.code.Types.disjointType:Lcom/sun/tools/javac/code/Types$TypeRelation;
aload 1
aload 2
invokevirtual com.sun.tools.javac.code.Types$TypeRelation.visit:(Lcom/sun/tools/javac/code/Type;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types;
0 1 1 t Lcom/sun/tools/javac/code/Type;
0 1 2 s Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
s
public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> cvarLowerBounds(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
descriptor: (Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield com.sun.tools.javac.code.Types.cvarLowerBoundMapping:Lcom/sun/tools/javac/code/Types$TypeMapping;
invokevirtual com.sun.tools.javac.util.List.map:(Ljava/util/function/Function;)Lcom/sun/tools/javac/util/List;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types;
0 1 1 ts 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/util/List<Lcom/sun/tools/javac/code/Type;>;
MethodParameters:
Name Flags
ts
public boolean notSoftSubtype(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
if_acmpne 1
iconst_0
ireturn
1: StackMap locals:
StackMap stack:
aload 1
getstatic com.sun.tools.javac.code.TypeTag.TYPEVAR:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 11
2: aload 1
checkcast com.sun.tools.javac.code.Type$TypeVar
astore 3
start local 3 3: aload 0
aload 3
invokevirtual com.sun.tools.javac.code.Type$TypeVar.getUpperBound:()Lcom/sun/tools/javac/code/Type;
4: aload 0
aload 2
invokevirtual com.sun.tools.javac.code.Types.relaxBound:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
5: aload 0
getfield com.sun.tools.javac.code.Types.noWarnings:Lcom/sun/tools/javac/util/Warner;
6: invokevirtual com.sun.tools.javac.code.Types.isCastable:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
7: ifeq 9
8: iconst_0
goto 10
StackMap locals: com.sun.tools.javac.code.Type$TypeVar
StackMap stack:
9: iconst_1
StackMap locals:
StackMap stack: int
10: ireturn
end local 3 11: StackMap locals:
StackMap stack:
aload 2
getstatic com.sun.tools.javac.code.TypeTag.WILDCARD:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifne 13
12: aload 0
aload 2
invokevirtual com.sun.tools.javac.code.Types.cvarUpperBound:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
astore 2
13: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 0
aload 2
invokevirtual com.sun.tools.javac.code.Types.relaxBound:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Types.isSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifeq 14
iconst_0
goto 15
StackMap locals:
StackMap stack:
14: iconst_1
StackMap locals:
StackMap stack: int
15: ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/sun/tools/javac/code/Types;
0 16 1 t Lcom/sun/tools/javac/code/Type;
0 16 2 s Lcom/sun/tools/javac/code/Type;
3 11 3 tv Lcom/sun/tools/javac/code/Type$TypeVar;
MethodParameters:
Name Flags
t
s
private com.sun.tools.javac.code.Type relaxBound(com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getstatic com.sun.tools.javac.code.TypeTag.TYPEVAR:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 2
1: aload 0
aload 0
aload 1
iconst_0
invokevirtual com.sun.tools.javac.code.Types.skipTypeVars:(Lcom/sun/tools/javac/code/Type;Z)Lcom/sun/tools/javac/code/Type;
iconst_1
iconst_1
invokevirtual com.sun.tools.javac.code.Types.rewriteQuantifiers:(Lcom/sun/tools/javac/code/Type;ZZ)Lcom/sun/tools/javac/code/Type;
goto 3
2: StackMap locals:
StackMap stack:
aload 1
3: StackMap locals:
StackMap stack: com.sun.tools.javac.code.Type
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/javac/code/Types;
0 4 1 t Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
public boolean isReifiable(com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.code.Types.isReifiable:Lcom/sun/tools/javac/code/Types$UnaryVisitor;
aload 1
invokevirtual com.sun.tools.javac.code.Types$UnaryVisitor.visit:(Lcom/sun/tools/javac/code/Type;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types;
0 1 1 t Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
public boolean isArray(com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: goto 2
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Types.wildUpperBound:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
astore 1
2: StackMap locals:
StackMap stack:
aload 1
getstatic com.sun.tools.javac.code.TypeTag.WILDCARD:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifne 1
3: aload 1
getstatic com.sun.tools.javac.code.TypeTag.ARRAY:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/javac/code/Types;
0 4 1 t Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
public com.sun.tools.javac.code.Type elemtype(com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: invokestatic com.sun.tools.javac.code.Types.$SWITCH_TABLE$com$sun$tools$javac$code$TypeTag:()[I
aload 1
invokevirtual com.sun.tools.javac.code.Type.getTag:()Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
iaload
lookupswitch { // 4
11: 2
16: 1
17: 3
21: 4
default: 5
}
1: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Types.wildUpperBound:(Lcom/sun/tools/javac/code/Type;)Lcom/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;
areturn
2: StackMap locals:
StackMap stack:
aload 1
checkcast com.sun.tools.javac.code.Type$ArrayType
getfield com.sun.tools.javac.code.Type$ArrayType.elemtype:Lcom/sun/tools/javac/code/Type;
areturn
3: StackMap locals:
StackMap stack:
aload 0
aload 1
checkcast com.sun.tools.javac.code.Type$ForAll
getfield com.sun.tools.javac.code.Type$ForAll.qtype:Lcom/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;
areturn
4: StackMap locals:
StackMap stack:
aload 1
areturn
5: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/tools/javac/code/Types;
0 6 1 t Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
public com.sun.tools.javac.code.Type elemtypeOrType(com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Types.elemtype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
astore 2
start local 2 1: aload 2
ifnull 3
2: aload 2
goto 4
3: StackMap locals: com.sun.tools.javac.code.Type
StackMap stack:
aload 1
4: StackMap locals:
StackMap stack: com.sun.tools.javac.code.Type
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/tools/javac/code/Types;
0 5 1 t Lcom/sun/tools/javac/code/Type;
1 5 2 elemtype Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
public int dimensions(com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 4
2: StackMap locals: int
StackMap stack:
iinc 2 1
3: aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Types.elemtype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
astore 1
4: StackMap locals:
StackMap stack:
aload 1
getstatic com.sun.tools.javac.code.TypeTag.ARRAY:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifne 2
5: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/tools/javac/code/Types;
0 6 1 t Lcom/sun/tools/javac/code/Type;
1 6 2 result I
MethodParameters:
Name Flags
t
public com.sun.tools.javac.code.Type$ArrayType makeArrayType(com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type$ArrayType;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getstatic com.sun.tools.javac.code.TypeTag.VOID:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifne 1
aload 1
getstatic com.sun.tools.javac.code.TypeTag.PACKAGE:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 2
1: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Type t must not be a VOID or PACKAGE type, "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual com.sun.tools.javac.code.Type.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.sun.tools.javac.util.Assert.error:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
new com.sun.tools.javac.code.Type$ArrayType
dup
aload 1
aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.arrayClass:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
invokespecial com.sun.tools.javac.code.Type$ArrayType.<init>:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/javac/code/Types;
0 3 1 t Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
public com.sun.tools.javac.code.Type asSuper(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Symbol);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
if_acmpne 2
1: aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.code.Types.asSuper:Lcom/sun/tools/javac/code/Types$SimpleVisitor;
aload 1
aload 2
invokevirtual com.sun.tools.javac.code.Types$SimpleVisitor.visit:(Lcom/sun/tools/javac/code/Type;Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/javac/code/Types;
0 3 1 t Lcom/sun/tools/javac/code/Type;
0 3 2 sym Lcom/sun/tools/javac/code/Symbol;
MethodParameters:
Name Flags
t
sym
public com.sun.tools.javac.code.Type asOuterSuper(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Symbol);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: invokestatic com.sun.tools.javac.code.Types.$SWITCH_TABLE$com$sun$tools$javac$code$TypeTag:()[I
aload 1
invokevirtual com.sun.tools.javac.code.Type.getTag:()Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
iaload
lookupswitch { // 4
10: 1
11: 6
15: 9
21: 10
default: 11
}
1: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual com.sun.tools.javac.code.Types.asSuper:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
astore 3
start local 3 2: aload 3
ifnull 3
aload 3
areturn
3: StackMap locals: com.sun.tools.javac.code.Type
StackMap stack:
aload 1
invokevirtual com.sun.tools.javac.code.Type.getEnclosingType:()Lcom/sun/tools/javac/code/Type;
astore 1
end local 3 4: aload 1
getstatic com.sun.tools.javac.code.TypeTag.CLASS:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifne 1
5: aconst_null
areturn
6: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Types.isSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifeq 7
aload 2
getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
goto 8
StackMap locals:
StackMap stack:
7: aconst_null
StackMap locals:
StackMap stack: com.sun.tools.javac.code.Type
8: areturn
9: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual com.sun.tools.javac.code.Types.asSuper:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
areturn
10: StackMap locals:
StackMap stack:
aload 1
areturn
11: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/tools/javac/code/Types;
0 12 1 t Lcom/sun/tools/javac/code/Type;
0 12 2 sym Lcom/sun/tools/javac/code/Symbol;
2 4 3 s Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
sym
public com.sun.tools.javac.code.Type asEnclosingSuper(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Symbol);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: invokestatic com.sun.tools.javac.code.Types.$SWITCH_TABLE$com$sun$tools$javac$code$TypeTag:()[I
aload 1
invokevirtual com.sun.tools.javac.code.Type.getTag:()Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
iaload
lookupswitch { // 4
10: 1
11: 10
15: 13
21: 14
default: 15
}
1: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual com.sun.tools.javac.code.Types.asSuper:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
astore 3
start local 3 2: aload 3
ifnull 3
aload 3
areturn
3: StackMap locals: com.sun.tools.javac.code.Type
StackMap stack:
aload 1
invokevirtual com.sun.tools.javac.code.Type.getEnclosingType:()Lcom/sun/tools/javac/code/Type;
astore 4
start local 4 4: aload 4
getstatic com.sun.tools.javac.code.TypeTag.CLASS:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 5
aload 4
goto 7
5: StackMap locals: com.sun.tools.javac.code.Type
StackMap stack:
aload 1
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
getfield com.sun.tools.javac.code.Symbol$TypeSymbol.owner:Lcom/sun/tools/javac/code/Symbol;
invokevirtual com.sun.tools.javac.code.Symbol.enclClass:()Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
ifnull 6
aload 1
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
getfield com.sun.tools.javac.code.Symbol$TypeSymbol.owner:Lcom/sun/tools/javac/code/Symbol;
invokevirtual com.sun.tools.javac.code.Symbol.enclClass:()Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
getfield com.sun.tools.javac.code.Symbol$ClassSymbol.type:Lcom/sun/tools/javac/code/Type;
goto 7
6: StackMap locals:
StackMap stack:
getstatic com.sun.tools.javac.code.Type.noType:Lcom/sun/tools/javac/code/Type$JCNoType;
7: StackMap locals:
StackMap stack: com.sun.tools.javac.code.Type
astore 1
end local 4 end local 3 8: aload 1
getstatic com.sun.tools.javac.code.TypeTag.CLASS:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifne 1
9: aconst_null
areturn
10: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Types.isSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifeq 11
aload 2
getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
goto 12
StackMap locals:
StackMap stack:
11: aconst_null
StackMap locals:
StackMap stack: com.sun.tools.javac.code.Type
12: areturn
13: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual com.sun.tools.javac.code.Types.asSuper:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
areturn
14: StackMap locals:
StackMap stack:
aload 1
areturn
15: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/sun/tools/javac/code/Types;
0 16 1 t Lcom/sun/tools/javac/code/Type;
0 16 2 sym Lcom/sun/tools/javac/code/Symbol;
2 8 3 s Lcom/sun/tools/javac/code/Type;
4 8 4 outer Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
sym
public com.sun.tools.javac.code.Type memberType(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Symbol);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual com.sun.tools.javac.code.Symbol.flags:()J
ldc 8
land
lconst_0
lcmp
ifeq 2
1: aload 2
getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
goto 3
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.code.Types.memberType:Lcom/sun/tools/javac/code/Types$SimpleVisitor;
aload 1
aload 2
invokevirtual com.sun.tools.javac.code.Types$SimpleVisitor.visit:(Lcom/sun/tools/javac/code/Type;Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
3: StackMap locals:
StackMap stack: com.sun.tools.javac.code.Type
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/javac/code/Types;
0 4 1 t Lcom/sun/tools/javac/code/Type;
0 4 2 sym Lcom/sun/tools/javac/code/Symbol;
MethodParameters:
Name Flags
t
sym
public boolean isAssignable(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
aload 0
getfield com.sun.tools.javac.code.Types.noWarnings:Lcom/sun/tools/javac/util/Warner;
invokevirtual com.sun.tools.javac.code.Types.isAssignable:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types;
0 1 1 t Lcom/sun/tools/javac/code/Type;
0 1 2 s Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
s
public boolean isAssignable(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type, com.sun.tools.javac.util.Warner);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
getstatic com.sun.tools.javac.code.TypeTag.ERROR:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.sun.tools.javac.code.Type.getTag:()Lcom/sun/tools/javac/code/TypeTag;
getstatic com.sun.tools.javac.code.TypeTag.INT:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.isSubRangeOf:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 9
aload 1
invokevirtual com.sun.tools.javac.code.Type.constValue:()Ljava/lang/Object;
ifnull 9
3: aload 1
invokevirtual com.sun.tools.javac.code.Type.constValue:()Ljava/lang/Object;
checkcast java.lang.Number
invokevirtual java.lang.Number.intValue:()I
istore 4
start local 4 4: invokestatic com.sun.tools.javac.code.Types.$SWITCH_TABLE$com$sun$tools$javac$code$TypeTag:()[I
aload 2
invokevirtual com.sun.tools.javac.code.Type.getTag:()Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
iaload
tableswitch { // 1 - 10
1: 5
2: 5
3: 5
4: 9
5: 9
6: 5
7: 9
8: 9
9: 9
10: 7
default: 9
}
5: StackMap locals: int
StackMap stack:
aload 2
invokevirtual com.sun.tools.javac.code.Type.getTag:()Lcom/sun/tools/javac/code/TypeTag;
iload 4
invokevirtual com.sun.tools.javac.code.TypeTag.checkRange:(I)Z
ifeq 9
6: iconst_1
ireturn
7: StackMap locals:
StackMap stack:
invokestatic com.sun.tools.javac.code.Types.$SWITCH_TABLE$com$sun$tools$javac$code$TypeTag:()[I
aload 0
aload 2
invokevirtual com.sun.tools.javac.code.Types.unboxedType:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type.getTag:()Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
iaload
tableswitch { // 1 - 3
1: 8
2: 8
3: 8
default: 9
}
8: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 0
aload 2
invokevirtual com.sun.tools.javac.code.Types.unboxedType:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
aload 3
invokevirtual com.sun.tools.javac.code.Types.isAssignable:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
ireturn
end local 4 9: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
invokevirtual com.sun.tools.javac.code.Types.isConvertible:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/tools/javac/code/Types;
0 10 1 t Lcom/sun/tools/javac/code/Type;
0 10 2 s Lcom/sun/tools/javac/code/Type;
0 10 3 warn Lcom/sun/tools/javac/util/Warner;
4 9 4 value I
MethodParameters:
Name Flags
t
s
warn
public com.sun.tools.javac.code.Type erasure(com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Types.eraseNotNeeded:(Lcom/sun/tools/javac/code/Type;)Z
ifeq 1
aload 1
goto 2
StackMap locals:
StackMap stack:
1: aload 0
aload 1
iconst_0
invokevirtual com.sun.tools.javac.code.Types.erasure:(Lcom/sun/tools/javac/code/Type;Z)Lcom/sun/tools/javac/code/Type;
StackMap locals:
StackMap stack: com.sun.tools.javac.code.Type
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/javac/code/Types;
0 3 1 t Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
private boolean eraseNotNeeded(com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
ifne 1
aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.stringType:Lcom/sun/tools/javac/code/Type;
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
aload 1
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
if_acmpeq 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/javac/code/Types;
0 2 1 t Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
private com.sun.tools.javac.code.Type erasure(com.sun.tools.javac.code.Type, boolean);
descriptor: (Lcom/sun/tools/javac/code/Type;Z)Lcom/sun/tools/javac/code/Type;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
ifeq 2
1: aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.code.Types.erasure:Lcom/sun/tools/javac/code/Types$TypeMapping;
aload 1
iload 2
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual com.sun.tools.javac.code.Types$TypeMapping.visit:(Lcom/sun/tools/javac/code/Type;Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
astore 3
start local 3 3: aload 3
areturn
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/code/Types;
0 4 1 t Lcom/sun/tools/javac/code/Type;
0 4 2 recurse Z
3 4 3 out Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
recurse
public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> erasure(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
descriptor: (Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.code.Types.erasure:Lcom/sun/tools/javac/code/Types$TypeMapping;
aload 1
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual com.sun.tools.javac.code.Types$TypeMapping.visit:(Lcom/sun/tools/javac/util/List;Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types;
0 1 1 ts 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/util/List<Lcom/sun/tools/javac/code/Type;>;
MethodParameters:
Name Flags
ts
public com.sun.tools.javac.code.Type erasureRecursive(com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
invokevirtual com.sun.tools.javac.code.Types.erasure:(Lcom/sun/tools/javac/code/Type;Z)Lcom/sun/tools/javac/code/Type;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types;
0 1 1 t Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> erasureRecursive(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
descriptor: (Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.code.Types.erasure:Lcom/sun/tools/javac/code/Types$TypeMapping;
aload 1
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual com.sun.tools.javac.code.Types$TypeMapping.visit:(Lcom/sun/tools/javac/util/List;Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types;
0 1 1 ts 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/util/List<Lcom/sun/tools/javac/code/Type;>;
MethodParameters:
Name Flags
ts
public com.sun.tools.javac.code.Type$IntersectionClassType makeIntersectionType(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
descriptor: (Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type$IntersectionClassType;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 1
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.isInterface:()Z
invokevirtual com.sun.tools.javac.code.Types.makeIntersectionType:(Lcom/sun/tools/javac/util/List;Z)Lcom/sun/tools/javac/code/Type$IntersectionClassType;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types;
0 1 1 bounds 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/code/Type$IntersectionClassType;
MethodParameters:
Name Flags
bounds
public com.sun.tools.javac.code.Type$IntersectionClassType makeIntersectionType(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, boolean);
descriptor: (Lcom/sun/tools/javac/util/List;Z)Lcom/sun/tools/javac/code/Type$IntersectionClassType;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
1: aload 1
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
astore 3
start local 3 2: iload 2
ifeq 4
3: aload 1
aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
astore 1
4: StackMap locals: com.sun.tools.javac.code.Type
StackMap stack:
new com.sun.tools.javac.code.Symbol$ClassSymbol
dup
ldc 1090524161
5: getstatic com.sun.tools.javac.code.Type.moreInfo:Z
ifeq 7
6: aload 0
getfield com.sun.tools.javac.code.Types.names:Lcom/sun/tools/javac/util/Names;
aload 1
invokevirtual com.sun.tools.javac.util.List.toString:()Ljava/lang/String;
invokevirtual com.sun.tools.javac.util.Names.fromString:(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name;
goto 8
7: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List int com.sun.tools.javac.code.Type
StackMap stack: new 4 new 4 long
aload 0
getfield com.sun.tools.javac.code.Types.names:Lcom/sun/tools/javac/util/Names;
getfield com.sun.tools.javac.util.Names.empty:Lcom/sun/tools/javac/util/Name;
8: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List int com.sun.tools.javac.code.Type
StackMap stack: new 4 new 4 long com.sun.tools.javac.util.Name
aconst_null
9: aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.noSymbol:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
10: invokespecial com.sun.tools.javac.code.Symbol$ClassSymbol.<init>:(JLcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)V
11: astore 4
start local 4 12: new com.sun.tools.javac.code.Type$IntersectionClassType
dup
aload 1
aload 4
iload 2
invokespecial com.sun.tools.javac.code.Type$IntersectionClassType.<init>:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Z)V
astore 5
start local 5 13: aload 4
aload 5
putfield com.sun.tools.javac.code.Symbol$ClassSymbol.type:Lcom/sun/tools/javac/code/Type;
14: aload 4
aload 1
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
getstatic com.sun.tools.javac.code.TypeTag.TYPEVAR:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 16
15: aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
goto 17
16: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List int com.sun.tools.javac.code.Type com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.code.Type$IntersectionClassType
StackMap stack: com.sun.tools.javac.code.Symbol$ClassSymbol
aload 0
aload 3
invokevirtual com.sun.tools.javac.code.Types.erasure:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
17: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List int com.sun.tools.javac.code.Type com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.code.Type$IntersectionClassType
StackMap stack: com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.code.Type
putfield com.sun.tools.javac.code.Symbol$ClassSymbol.erasure_field:Lcom/sun/tools/javac/code/Type;
18: aload 4
aload 4
invokestatic com.sun.tools.javac.code.Scope$WriteableScope.create:(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Scope$WriteableScope;
putfield com.sun.tools.javac.code.Symbol$ClassSymbol.members_field:Lcom/sun/tools/javac/code/Scope$WriteableScope;
19: aload 5
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 20 0 this Lcom/sun/tools/javac/code/Types;
0 20 1 bounds Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
0 20 2 allInterfaces Z
2 20 3 firstExplicitBound Lcom/sun/tools/javac/code/Type;
12 20 4 bc Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
13 20 5 intersectionType Lcom/sun/tools/javac/code/Type$IntersectionClassType;
Signature: (Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;Z)Lcom/sun/tools/javac/code/Type$IntersectionClassType;
MethodParameters:
Name Flags
bounds
allInterfaces
public com.sun.tools.javac.code.Type supertype(com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.code.Types.supertype:Lcom/sun/tools/javac/code/Types$UnaryVisitor;
aload 1
invokevirtual com.sun.tools.javac.code.Types$UnaryVisitor.visit:(Lcom/sun/tools/javac/code/Type;)Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types;
0 1 1 t Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> interfaces(com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.code.Types.interfaces:Lcom/sun/tools/javac/code/Types$UnaryVisitor;
aload 1
invokevirtual com.sun.tools.javac.code.Types$UnaryVisitor.visit:(Lcom/sun/tools/javac/code/Type;)Ljava/lang/Object;
checkcast com.sun.tools.javac.util.List
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types;
0 1 1 t Lcom/sun/tools/javac/code/Type;
Signature: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
MethodParameters:
Name Flags
t
public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> directSupertypes(com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.code.Types.directSupertypes:Lcom/sun/tools/javac/code/Types$UnaryVisitor;
aload 1
invokevirtual com.sun.tools.javac.code.Types$UnaryVisitor.visit:(Lcom/sun/tools/javac/code/Type;)Ljava/lang/Object;
checkcast com.sun.tools.javac.util.List
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types;
0 1 1 t Lcom/sun/tools/javac/code/Type;
Signature: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
MethodParameters:
Name Flags
t
public boolean isDirectSuperInterface(com.sun.tools.javac.code.Symbol$TypeSymbol, com.sun.tools.javac.code.Symbol$TypeSymbol);
descriptor: (Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
getfield com.sun.tools.javac.code.Symbol$TypeSymbol.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Types.interfaces:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 3
StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Symbol$TypeSymbol com.sun.tools.javac.code.Symbol$TypeSymbol top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
astore 3
start local 3 2: aload 1
aload 3
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
if_acmpne 3
iconst_1
ireturn
end local 3 3: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/tools/javac/code/Types;
0 5 1 isym Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
0 5 2 origin Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
2 3 3 i2 Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
isym
origin
public boolean isDerivedRaw(com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.code.Types.isDerivedRawCache:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Boolean
astore 2
start local 2 1: aload 2
ifnonnull 4
2: aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Types.isDerivedRawInternal:(Lcom/sun/tools/javac/code/Type;)Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
astore 2
3: aload 0
getfield com.sun.tools.javac.code.Types.isDerivedRawCache:Ljava/util/Map;
aload 1
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: StackMap locals: java.lang.Boolean
StackMap stack:
aload 2
invokevirtual java.lang.Boolean.booleanValue:()Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/tools/javac/code/Types;
0 5 1 t Lcom/sun/tools/javac/code/Type;
1 5 2 result Ljava/lang/Boolean;
MethodParameters:
Name Flags
t
public boolean isDerivedRawInternal(com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.sun.tools.javac.code.Type.isErroneous:()Z
ifeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.sun.tools.javac.code.Type.isRaw:()Z
ifne 6
3: aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Types.supertype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
getstatic com.sun.tools.javac.code.Type.noType:Lcom/sun/tools/javac/code/Type$JCNoType;
if_acmpeq 4
aload 0
aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Types.supertype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Types.isDerivedRaw:(Lcom/sun/tools/javac/code/Type;)Z
ifne 6
4: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Types.interfaces:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.code.Types.isDerivedRaw:(Lcom/sun/tools/javac/util/List;)Z
ifne 6
5: iconst_0
ireturn
StackMap locals:
StackMap stack:
6: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/javac/code/Types;
0 7 1 t Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
public boolean isDerivedRaw(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
descriptor: (Lcom/sun/tools/javac/util/List;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
astore 2
start local 2 1: goto 3
StackMap locals: com.sun.tools.javac.util.List
StackMap stack:
2: aload 2
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 2
StackMap locals:
StackMap stack:
3: aload 2
invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
ifeq 4
aload 0
aload 2
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
invokevirtual com.sun.tools.javac.code.Types.isDerivedRaw:(Lcom/sun/tools/javac/code/Type;)Z
ifeq 2
4: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/tools/javac/code/Types;
0 5 1 ts Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
1 5 2 l 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;>;)Z
MethodParameters:
Name Flags
ts
public void setBounds(com.sun.tools.javac.code.Type$TypeVar, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
descriptor: (Lcom/sun/tools/javac/code/Type$TypeVar;Lcom/sun/tools/javac/util/List;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
aload 2
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.isInterface:()Z
invokevirtual com.sun.tools.javac.code.Types.setBounds:(Lcom/sun/tools/javac/code/Type$TypeVar;Lcom/sun/tools/javac/util/List;Z)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/javac/code/Types;
0 2 1 t Lcom/sun/tools/javac/code/Type$TypeVar;
0 2 2 bounds Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
Signature: (Lcom/sun/tools/javac/code/Type$TypeVar;Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;)V
MethodParameters:
Name Flags
t
bounds
public void setBounds(com.sun.tools.javac.code.Type$TypeVar, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, );
descriptor: (Lcom/sun/tools/javac/code/Type$TypeVar;Lcom/sun/tools/javac/util/List;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 2
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
ifeq 2
1: aload 2
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
goto 3
2: StackMap locals:
StackMap stack: com.sun.tools.javac.code.Type$TypeVar
aload 0
aload 2
iload 3
invokevirtual com.sun.tools.javac.code.Types.makeIntersectionType:(Lcom/sun/tools/javac/util/List;Z)Lcom/sun/tools/javac/code/Type$IntersectionClassType;
3: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type$TypeVar com.sun.tools.javac.util.List int
StackMap stack: com.sun.tools.javac.code.Type$TypeVar com.sun.tools.javac.code.Type
invokevirtual com.sun.tools.javac.code.Type$TypeVar.setUpperBound:(Lcom/sun/tools/javac/code/Type;)V
4: aload 1
iconst_m1
putfield com.sun.tools.javac.code.Type$TypeVar.rank_field:I
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/tools/javac/code/Types;
0 6 1 t Lcom/sun/tools/javac/code/Type$TypeVar;
0 6 2 bounds Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
0 6 3 allInterfaces Z
Signature: (Lcom/sun/tools/javac/code/Type$TypeVar;Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;Z)V
MethodParameters:
Name Flags
t
bounds
allInterfaces
public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> getBounds(com.sun.tools.javac.code.Type$TypeVar);
descriptor: (Lcom/sun/tools/javac/code/Type$TypeVar;)Lcom/sun/tools/javac/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.sun.tools.javac.code.Type$TypeVar.getUpperBound:()Lcom/sun/tools/javac/code/Type;
getstatic com.sun.tools.javac.code.TypeTag.NONE:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 2
1: invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.sun.tools.javac.code.Type$TypeVar.getUpperBound:()Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type.isErroneous:()Z
ifne 3
aload 1
invokevirtual com.sun.tools.javac.code.Type$TypeVar.getUpperBound:()Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type.isCompound:()Z
ifne 4
3: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.sun.tools.javac.code.Type$TypeVar.getUpperBound:()Lcom/sun/tools/javac/code/Type;
invokestatic com.sun.tools.javac.util.List.of:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
areturn
4: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Types.erasure:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.flags:()J
ldc 512
land
lconst_0
lcmp
ifne 6
5: aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Types.interfaces:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Types.supertype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
areturn
6: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Types.interfaces:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/javac/code/Types;
0 7 1 t Lcom/sun/tools/javac/code/Type$TypeVar;
Signature: (Lcom/sun/tools/javac/code/Type$TypeVar;)Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
MethodParameters:
Name Flags
t
public com.sun.tools.javac.code.Type classBound(com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.code.Types.classBound:Lcom/sun/tools/javac/code/Types$UnaryVisitor;
aload 1
invokevirtual com.sun.tools.javac.code.Types$UnaryVisitor.visit:(Lcom/sun/tools/javac/code/Type;)Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types;
0 1 1 t Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
public boolean isSubSignature(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_1
invokevirtual com.sun.tools.javac.code.Types.isSubSignature:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Z)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types;
0 1 1 t Lcom/sun/tools/javac/code/Type;
0 1 2 s Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
s
public boolean isSubSignature(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type, boolean);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Z)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
iload 3
invokevirtual com.sun.tools.javac.code.Types.hasSameArgs:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Z)Z
ifne 1
aload 0
aload 1
aload 0
aload 2
invokevirtual com.sun.tools.javac.code.Types.erasure:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
iload 3
invokevirtual com.sun.tools.javac.code.Types.hasSameArgs:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Z)Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/javac/code/Types;
0 2 1 t Lcom/sun/tools/javac/code/Type;
0 2 2 s Lcom/sun/tools/javac/code/Type;
0 2 3 strict Z
MethodParameters:
Name Flags
t
s
strict
public boolean overrideEquivalent(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, 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.code.Types.hasSameArgs:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifne 3
1: aload 0
aload 1
aload 0
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.code.Types.hasSameArgs:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifne 3
aload 0
aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Types.erasure:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
aload 2
invokevirtual com.sun.tools.javac.code.Types.hasSameArgs:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifne 3
2: iconst_0
ireturn
StackMap locals:
StackMap stack:
3: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/javac/code/Types;
0 4 1 t Lcom/sun/tools/javac/code/Type;
0 4 2 s Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
s
public boolean overridesObjectMethod(com.sun.tools.javac.code.Symbol$TypeSymbol, com.sun.tools.javac.code.Symbol);
descriptor: (Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Symbol;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.members:()Lcom/sun/tools/javac/code/Scope$WriteableScope;
aload 2
getfield com.sun.tools.javac.code.Symbol.name:Lcom/sun/tools/javac/util/Name;
invokevirtual com.sun.tools.javac.code.Scope$WriteableScope.getSymbolsByName:(Lcom/sun/tools/javac/util/Name;)Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 4
goto 4
StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Symbol$TypeSymbol com.sun.tools.javac.code.Symbol top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Symbol
astore 3
start local 3 2: aload 2
aload 3
aload 1
aload 0
iconst_1
invokevirtual com.sun.tools.javac.code.Symbol.overrides:(Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Types;Z)Z
ifeq 4
3: iconst_1
ireturn
end local 3 4: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/tools/javac/code/Types;
0 6 1 origin Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
0 6 2 msym Lcom/sun/tools/javac/code/Symbol;
2 4 3 sym Lcom/sun/tools/javac/code/Symbol;
MethodParameters:
Name Flags
origin
msym
public java.util.Optional<com.sun.tools.javac.code.Symbol> mergeAbstracts(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Symbol>, com.sun.tools.javac.code.Type, boolean);
descriptor: (Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Type;Z)Ljava/util/Optional;
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=18, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: aload 1
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Symbol
aload 0
invokevirtual com.sun.tools.javac.code.Symbol.erasure:(Lcom/sun/tools/javac/code/Types;)Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type.getParameterTypes:()Lcom/sun/tools/javac/util/List;
astore 5
start local 5 2: aload 1
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 9
StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.code.Type int int com.sun.tools.javac.util.List top java.util.Iterator
StackMap stack:
3: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Symbol
astore 6
start local 6 4: aload 6
invokevirtual com.sun.tools.javac.code.Symbol.flags:()J
ldc 1024
land
lconst_0
lcmp
ifeq 6
5: iload 3
ifeq 7
aload 0
aload 5
aload 6
aload 0
invokevirtual com.sun.tools.javac.code.Symbol.erasure:(Lcom/sun/tools/javac/code/Types;)Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type.getParameterTypes:()Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.code.Types.isSameTypes:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Z
ifne 7
6: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.code.Type int int com.sun.tools.javac.util.List com.sun.tools.javac.code.Symbol java.util.Iterator
StackMap stack:
invokestatic java.util.Optional.empty:()Ljava/util/Optional;
areturn
7: StackMap locals:
StackMap stack:
aload 6
getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
getstatic com.sun.tools.javac.code.TypeTag.FORALL:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 9
8: iconst_1
istore 4
end local 6 9: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.code.Type int int com.sun.tools.javac.util.List top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
10: invokestatic com.sun.tools.javac.code.Types$MostSpecificReturnCheck.values:()[Lcom/sun/tools/javac/code/Types$MostSpecificReturnCheck;
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 43
StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.code.Type int int com.sun.tools.javac.util.List top int int com.sun.tools.javac.code.Types$MostSpecificReturnCheck[]
StackMap stack:
11: aload 9
iload 7
aaload
astore 6
start local 6 12: aload 1
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 11
goto 41
StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.code.Type int int com.sun.tools.javac.util.List com.sun.tools.javac.code.Types$MostSpecificReturnCheck int int com.sun.tools.javac.code.Types$MostSpecificReturnCheck[] top java.util.Iterator
StackMap stack:
13: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Symbol
astore 10
start local 10 14: aload 0
aload 2
aload 10
invokevirtual com.sun.tools.javac.code.Types.memberType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
astore 12
start local 12 15: aload 12
invokevirtual com.sun.tools.javac.code.Type.getThrownTypes:()Lcom/sun/tools/javac/util/List;
astore 13
start local 13 16: aload 1
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 15
goto 31
StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.code.Type int int com.sun.tools.javac.util.List com.sun.tools.javac.code.Types$MostSpecificReturnCheck int int com.sun.tools.javac.code.Types$MostSpecificReturnCheck[] com.sun.tools.javac.code.Symbol java.util.Iterator com.sun.tools.javac.code.Type com.sun.tools.javac.util.List top java.util.Iterator
StackMap stack:
17: aload 15
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Symbol
astore 14
start local 14 18: aload 10
aload 14
if_acmpeq 31
19: aload 0
aload 2
aload 14
invokevirtual com.sun.tools.javac.code.Types.memberType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
astore 16
start local 16 20: aload 0
aload 12
aload 16
invokevirtual com.sun.tools.javac.code.Types.isSubSignature:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifeq 41
21: aload 6
aload 12
aload 16
aload 0
invokevirtual com.sun.tools.javac.code.Types$MostSpecificReturnCheck.test:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Types;)Z
ifne 23
22: goto 41
23: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.code.Type int int com.sun.tools.javac.util.List com.sun.tools.javac.code.Types$MostSpecificReturnCheck int int com.sun.tools.javac.code.Types$MostSpecificReturnCheck[] com.sun.tools.javac.code.Symbol java.util.Iterator com.sun.tools.javac.code.Type com.sun.tools.javac.util.List com.sun.tools.javac.code.Symbol java.util.Iterator com.sun.tools.javac.code.Type
StackMap stack:
aload 16
invokevirtual com.sun.tools.javac.code.Type.getThrownTypes:()Lcom/sun/tools/javac/util/List;
astore 17
start local 17 24: aload 12
getstatic com.sun.tools.javac.code.TypeTag.FORALL:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifne 27
iload 4
ifeq 27
25: aload 0
aload 17
invokevirtual com.sun.tools.javac.code.Types.erasure:(Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
astore 17
26: goto 30
StackMap locals: com.sun.tools.javac.util.List
StackMap stack:
27: aload 12
getstatic com.sun.tools.javac.code.TypeTag.FORALL:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 30
28: aload 16
getstatic com.sun.tools.javac.code.TypeTag.FORALL:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
29: aload 0
aload 17
aload 16
invokevirtual com.sun.tools.javac.code.Type.getTypeArguments:()Lcom/sun/tools/javac/util/List;
aload 12
invokevirtual com.sun.tools.javac.code.Type.getTypeArguments:()Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.code.Types.subst:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
astore 17
30: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.code.Types.chk:Lcom/sun/tools/javac/comp/Check;
aload 13
aload 17
invokevirtual com.sun.tools.javac.comp.Check.intersect:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
astore 13
end local 17 end local 16 end local 14 31: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.code.Type int int com.sun.tools.javac.util.List com.sun.tools.javac.code.Types$MostSpecificReturnCheck int int com.sun.tools.javac.code.Types$MostSpecificReturnCheck[] com.sun.tools.javac.code.Symbol java.util.Iterator com.sun.tools.javac.code.Type com.sun.tools.javac.util.List top java.util.Iterator
StackMap stack:
aload 15
invokeinterface java.util.Iterator.hasNext:()Z
ifne 17
32: aload 13
aload 12
invokevirtual com.sun.tools.javac.code.Type.getThrownTypes:()Lcom/sun/tools/javac/util/List;
if_acmpne 34
33: aload 10
invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
goto 40
34: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.code.Type int int com.sun.tools.javac.util.List com.sun.tools.javac.code.Types$MostSpecificReturnCheck int int com.sun.tools.javac.code.Types$MostSpecificReturnCheck[] com.sun.tools.javac.code.Symbol java.util.Iterator com.sun.tools.javac.code.Type com.sun.tools.javac.util.List
StackMap stack:
new com.sun.tools.javac.code.Types$24
dup
aload 0
35: aload 10
invokevirtual com.sun.tools.javac.code.Symbol.flags:()J
36: aload 10
getfield com.sun.tools.javac.code.Symbol.name:Lcom/sun/tools/javac/util/Name;
37: aload 0
aload 10
getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
aload 13
invokevirtual com.sun.tools.javac.code.Types.createMethodTypeWithThrown:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type;
38: aload 10
getfield com.sun.tools.javac.code.Symbol.owner:Lcom/sun/tools/javac/code/Symbol;
39: aload 10
invokespecial com.sun.tools.javac.code.Types$24.<init>:(Lcom/sun/tools/javac/code/Types;JLcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Symbol;)V
invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
40: StackMap locals:
StackMap stack: java.util.Optional
areturn
end local 13 end local 12 end local 10 41: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.code.Type int int com.sun.tools.javac.util.List com.sun.tools.javac.code.Types$MostSpecificReturnCheck int int com.sun.tools.javac.code.Types$MostSpecificReturnCheck[] top java.util.Iterator
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
end local 6 42: iinc 7 1
StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.code.Type int int com.sun.tools.javac.util.List top int int com.sun.tools.javac.code.Types$MostSpecificReturnCheck[]
StackMap stack:
43: iload 7
iload 8
if_icmplt 11
44: invokestatic java.util.Optional.empty:()Ljava/util/Optional;
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 45 0 this Lcom/sun/tools/javac/code/Types;
0 45 1 ambiguousInOrder Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Symbol;>;
0 45 2 site Lcom/sun/tools/javac/code/Type;
0 45 3 sigCheck Z
1 45 4 shouldErase Z
2 45 5 erasedParams Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
4 9 6 s Lcom/sun/tools/javac/code/Symbol;
12 42 6 mostSpecificReturnCheck Lcom/sun/tools/javac/code/Types$MostSpecificReturnCheck;
14 41 10 s Lcom/sun/tools/javac/code/Symbol;
15 41 12 mt Lcom/sun/tools/javac/code/Type;
16 41 13 allThrown Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
18 31 14 s2 Lcom/sun/tools/javac/code/Symbol;
20 31 16 mt2 Lcom/sun/tools/javac/code/Type;
24 31 17 thrownTypes2 Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
Signature: (Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Symbol;>;Lcom/sun/tools/javac/code/Type;Z)Ljava/util/Optional<Lcom/sun/tools/javac/code/Symbol;>;
MethodParameters:
Name Flags
ambiguousInOrder
site
sigCheck
public com.sun.tools.javac.code.Symbol$MethodSymbol implementation(com.sun.tools.javac.code.Symbol$MethodSymbol, com.sun.tools.javac.code.Symbol$TypeSymbol, boolean, com.sun.tools.javac.util.Filter<com.sun.tools.javac.code.Symbol>);
descriptor: (Lcom/sun/tools/javac/code/Symbol$MethodSymbol;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;ZLcom/sun/tools/javac/util/Filter;)Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield com.sun.tools.javac.code.Types.implCache:Lcom/sun/tools/javac/code/Types$ImplementationCache;
aload 1
aload 2
iload 3
aload 4
invokevirtual com.sun.tools.javac.code.Types$ImplementationCache.get:(Lcom/sun/tools/javac/code/Symbol$MethodSymbol;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;ZLcom/sun/tools/javac/util/Filter;)Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types;
0 1 1 ms Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
0 1 2 origin Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
0 1 3 checkResult Z
0 1 4 implFilter Lcom/sun/tools/javac/util/Filter<Lcom/sun/tools/javac/code/Symbol;>;
Signature: (Lcom/sun/tools/javac/code/Symbol$MethodSymbol;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;ZLcom/sun/tools/javac/util/Filter<Lcom/sun/tools/javac/code/Symbol;>;)Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
MethodParameters:
Name Flags
ms
origin
checkResult
implFilter
public com.sun.tools.javac.code.Scope$CompoundScope membersClosure(com.sun.tools.javac.code.Type, boolean);
descriptor: (Lcom/sun/tools/javac/code/Type;Z)Lcom/sun/tools/javac/code/Scope$CompoundScope;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.tools.javac.code.Types.membersCache:Lcom/sun/tools/javac/code/Types$MembersClosureCache;
aload 1
aconst_null
invokevirtual com.sun.tools.javac.code.Types$MembersClosureCache.visit:(Lcom/sun/tools/javac/code/Type;Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Scope$CompoundScope
astore 3
start local 3 1: aload 3
aload 1
invokedynamic get(Lcom/sun/tools/javac/code/Type;)Ljava/util/function/Supplier;
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:
()Ljava/lang/Object;
com/sun/tools/javac/code/Types.lambda$3(Lcom/sun/tools/javac/code/Type;)Ljava/lang/String; (6)
()Ljava/lang/String;
invokestatic com.sun.tools.javac.util.Assert.checkNonNull:(Ljava/lang/Object;Ljava/util/function/Supplier;)Ljava/lang/Object;
pop
2: iload 2
ifeq 3
new com.sun.tools.javac.code.Types$MembersClosureCache$MembersScope
dup
aload 0
getfield com.sun.tools.javac.code.Types.membersCache:Lcom/sun/tools/javac/code/Types$MembersClosureCache;
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
aload 3
invokespecial com.sun.tools.javac.code.Types$MembersClosureCache$MembersScope.<init>:(Lcom/sun/tools/javac/code/Types$MembersClosureCache;Lcom/sun/tools/javac/code/Scope$CompoundScope;)V
goto 4
StackMap locals: com.sun.tools.javac.code.Scope$CompoundScope
StackMap stack:
3: aload 3
StackMap locals:
StackMap stack: com.sun.tools.javac.code.Scope$CompoundScope
4: areturn
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/code/Types;
0 5 1 site Lcom/sun/tools/javac/code/Type;
0 5 2 skipInterface Z
1 5 3 cs Lcom/sun/tools/javac/code/Scope$CompoundScope;
MethodParameters:
Name Flags
site
skipInterface
public com.sun.tools.javac.code.Symbol$MethodSymbol firstUnimplementedAbstract(com.sun.tools.javac.code.Symbol$ClassSymbol);
descriptor: (Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 1
invokevirtual com.sun.tools.javac.code.Types.firstUnimplementedAbstractImpl:(Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
1: areturn
2: StackMap locals:
StackMap stack: com.sun.tools.javac.code.Symbol$CompletionFailure
astore 2
start local 2 3: aload 0
getfield com.sun.tools.javac.code.Types.chk:Lcom/sun/tools/javac/comp/Check;
aload 0
getfield com.sun.tools.javac.code.Types.enter:Lcom/sun/tools/javac/comp/Enter;
aload 1
invokevirtual com.sun.tools.javac.comp.Enter.getEnv:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Lcom/sun/tools/javac/comp/Env;
getfield com.sun.tools.javac.comp.Env.tree:Lcom/sun/tools/javac/tree/JCTree;
invokevirtual com.sun.tools.javac.tree.JCTree.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
aload 2
invokevirtual com.sun.tools.javac.comp.Check.completionError:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/code/Symbol$CompletionFailure;)Lcom/sun/tools/javac/code/Type;
pop
4: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/tools/javac/code/Types;
0 5 1 sym Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
3 5 2 ex Lcom/sun/tools/javac/code/Symbol$CompletionFailure;
Exception table:
from to target type
0 1 2 Class com.sun.tools.javac.code.Symbol$CompletionFailure
MethodParameters:
Name Flags
sym
private com.sun.tools.javac.code.Symbol$MethodSymbol firstUnimplementedAbstractImpl(com.sun.tools.javac.code.Symbol$ClassSymbol, com.sun.tools.javac.code.Symbol$ClassSymbol);
descriptor: (Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 2
aload 1
if_acmpeq 2
aload 2
invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.flags:()J
ldc 1536
land
lconst_0
lcmp
ifeq 27
2: StackMap locals: com.sun.tools.javac.code.Symbol$MethodSymbol
StackMap stack:
aload 2
invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.members:()Lcom/sun/tools/javac/code/Scope$WriteableScope;
astore 4
start local 4 3: aload 4
getstatic com.sun.tools.javac.code.Scope$LookupKind.NON_RECURSIVE:Lcom/sun/tools/javac/code/Scope$LookupKind;
invokevirtual com.sun.tools.javac.code.Scope.getSymbols:(Lcom/sun/tools/javac/code/Scope$LookupKind;)Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 6
goto 17
StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.code.Symbol$MethodSymbol com.sun.tools.javac.code.Scope top java.util.Iterator
StackMap stack:
4: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Symbol
astore 5
start local 5 5: aload 5
getfield com.sun.tools.javac.code.Symbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
getstatic com.sun.tools.javac.code.Kinds$Kind.MTH:Lcom/sun/tools/javac/code/Kinds$Kind;
if_acmpne 17
6: aload 5
invokevirtual com.sun.tools.javac.code.Symbol.flags:()J
ldc 8796093023234
land
ldc 1024
lcmp
ifne 17
7: aload 5
checkcast com.sun.tools.javac.code.Symbol$MethodSymbol
astore 7
start local 7 8: aload 7
aload 1
aload 0
iconst_1
invokevirtual com.sun.tools.javac.code.Symbol$MethodSymbol.implementation:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Types;Z)Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
astore 8
start local 8 9: aload 8
ifnull 10
aload 8
aload 7
if_acmpne 14
10: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.code.Symbol$MethodSymbol com.sun.tools.javac.code.Scope com.sun.tools.javac.code.Symbol java.util.Iterator com.sun.tools.javac.code.Symbol$MethodSymbol com.sun.tools.javac.code.Symbol$MethodSymbol
StackMap stack:
aload 0
getfield com.sun.tools.javac.code.Types.allowDefaultMethods:Z
ifeq 14
11: aload 0
aload 1
getfield com.sun.tools.javac.code.Symbol$ClassSymbol.type:Lcom/sun/tools/javac/code/Type;
aload 7
invokevirtual com.sun.tools.javac.code.Types.interfaceCandidates:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol$MethodSymbol;)Lcom/sun/tools/javac/util/List;
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Symbol$MethodSymbol
astore 9
start local 9 12: aload 9
ifnull 14
aload 9
aload 7
aload 1
aload 0
iconst_1
invokevirtual com.sun.tools.javac.code.Symbol$MethodSymbol.overrides:(Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Types;Z)Z
ifeq 14
13: aload 9
astore 8
end local 9 14: StackMap locals:
StackMap stack:
aload 8
ifnull 15
aload 8
aload 7
if_acmpne 17
15: StackMap locals:
StackMap stack:
aload 7
astore 3
16: goto 18
end local 8 end local 7 end local 5 17: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.code.Symbol$MethodSymbol com.sun.tools.javac.code.Scope top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
18: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.code.Symbol$MethodSymbol com.sun.tools.javac.code.Scope
StackMap stack:
aload 3
ifnonnull 22
19: aload 0
aload 2
getfield com.sun.tools.javac.code.Symbol$ClassSymbol.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Types.supertype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
astore 5
start local 5 20: aload 5
getstatic com.sun.tools.javac.code.TypeTag.CLASS:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 22
21: aload 0
aload 1
aload 5
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
checkcast com.sun.tools.javac.code.Symbol$ClassSymbol
invokevirtual com.sun.tools.javac.code.Types.firstUnimplementedAbstractImpl:(Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
astore 3
end local 5 22: StackMap locals:
StackMap stack:
aload 0
aload 2
getfield com.sun.tools.javac.code.Symbol$ClassSymbol.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Types.interfaces:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
astore 5
start local 5 23: goto 26
24: StackMap locals: com.sun.tools.javac.util.List
StackMap stack:
aload 0
aload 1
aload 5
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
checkcast com.sun.tools.javac.code.Symbol$ClassSymbol
invokevirtual com.sun.tools.javac.code.Types.firstUnimplementedAbstractImpl:(Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
astore 3
25: aload 5
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 5
26: StackMap locals:
StackMap stack:
aload 3
ifnonnull 27
aload 5
invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
ifne 24
end local 5 end local 4 27: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lcom/sun/tools/javac/code/Types;
0 28 1 impl Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
0 28 2 c Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
1 28 3 undef Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
3 27 4 s Lcom/sun/tools/javac/code/Scope;
5 17 5 sym Lcom/sun/tools/javac/code/Symbol;
8 17 7 absmeth Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
9 17 8 implmeth Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
12 14 9 prov Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
20 22 5 st Lcom/sun/tools/javac/code/Type;
23 27 5 l Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
MethodParameters:
Name Flags
impl
c
public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Symbol$MethodSymbol> interfaceCandidates(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Symbol$MethodSymbol);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol$MethodSymbol;)Lcom/sun/tools/javac/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 2 0: new com.sun.tools.javac.code.Types$CandidatesCache$Entry
dup
aload 0
getfield com.sun.tools.javac.code.Types.candidatesCache:Lcom/sun/tools/javac/code/Types$CandidatesCache;
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
aload 1
aload 2
invokespecial com.sun.tools.javac.code.Types$CandidatesCache$Entry.<init>:(Lcom/sun/tools/javac/code/Types$CandidatesCache;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol$MethodSymbol;)V
astore 3
start local 3 1: aload 0
getfield com.sun.tools.javac.code.Types.candidatesCache:Lcom/sun/tools/javac/code/Types$CandidatesCache;
aload 3
invokevirtual com.sun.tools.javac.code.Types$CandidatesCache.get:(Lcom/sun/tools/javac/code/Types$CandidatesCache$Entry;)Lcom/sun/tools/javac/util/List;
astore 4
start local 4 2: aload 4
ifnonnull 14
3: new com.sun.tools.javac.code.Types$MethodFilter
dup
aload 0
aload 2
aload 1
invokespecial com.sun.tools.javac.code.Types$MethodFilter.<init>:(Lcom/sun/tools/javac/code/Types;Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Type;)V
astore 5
start local 5 4: invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
astore 6
start local 6 5: aload 0
aload 1
iconst_0
invokevirtual com.sun.tools.javac.code.Types.membersClosure:(Lcom/sun/tools/javac/code/Type;Z)Lcom/sun/tools/javac/code/Scope$CompoundScope;
aload 5
invokevirtual com.sun.tools.javac.code.Scope$CompoundScope.getSymbols:(Lcom/sun/tools/javac/util/Filter;)Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 8
goto 11
StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.code.Symbol$MethodSymbol com.sun.tools.javac.code.Types$CandidatesCache$Entry com.sun.tools.javac.util.List com.sun.tools.javac.util.Filter com.sun.tools.javac.util.List top java.util.Iterator
StackMap stack:
6: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Symbol
astore 7
start local 7 7: aload 1
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.isInterface:()Z
ifne 9
aload 7
getfield com.sun.tools.javac.code.Symbol.owner:Lcom/sun/tools/javac/code/Symbol;
invokevirtual com.sun.tools.javac.code.Symbol.isInterface:()Z
ifne 9
8: aload 7
checkcast com.sun.tools.javac.code.Symbol$MethodSymbol
invokestatic com.sun.tools.javac.util.List.of:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
areturn
9: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.code.Symbol$MethodSymbol com.sun.tools.javac.code.Types$CandidatesCache$Entry com.sun.tools.javac.util.List com.sun.tools.javac.util.Filter com.sun.tools.javac.util.List com.sun.tools.javac.code.Symbol java.util.Iterator
StackMap stack:
aload 6
aload 7
invokevirtual com.sun.tools.javac.util.List.contains:(Ljava/lang/Object;)Z
ifne 11
10: aload 6
aload 7
checkcast com.sun.tools.javac.code.Symbol$MethodSymbol
invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
astore 6
end local 7 11: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.code.Symbol$MethodSymbol com.sun.tools.javac.code.Types$CandidatesCache$Entry com.sun.tools.javac.util.List com.sun.tools.javac.util.Filter com.sun.tools.javac.util.List top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
12: aload 0
aload 6
invokevirtual com.sun.tools.javac.code.Types.prune:(Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
astore 4
13: aload 0
getfield com.sun.tools.javac.code.Types.candidatesCache:Lcom/sun/tools/javac/code/Types$CandidatesCache;
aload 3
aload 4
invokevirtual com.sun.tools.javac.code.Types$CandidatesCache.put:(Lcom/sun/tools/javac/code/Types$CandidatesCache$Entry;Lcom/sun/tools/javac/util/List;)V
end local 6 end local 5 14: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.code.Symbol$MethodSymbol com.sun.tools.javac.code.Types$CandidatesCache$Entry com.sun.tools.javac.util.List
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/sun/tools/javac/code/Types;
0 15 1 site Lcom/sun/tools/javac/code/Type;
0 15 2 ms Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
1 15 3 e Lcom/sun/tools/javac/code/Types$CandidatesCache$Entry;
2 15 4 candidates Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Symbol$MethodSymbol;>;
4 14 5 filter Lcom/sun/tools/javac/util/Filter<Lcom/sun/tools/javac/code/Symbol;>;
5 14 6 candidates2 Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Symbol$MethodSymbol;>;
7 11 7 s Lcom/sun/tools/javac/code/Symbol;
Signature: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol$MethodSymbol;)Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Symbol$MethodSymbol;>;
MethodParameters:
Name Flags
site
ms
public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Symbol$MethodSymbol> prune(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Symbol$MethodSymbol>);
descriptor: (Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=2
start local 0 start local 1 0: new com.sun.tools.javac.util.ListBuffer
dup
invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
astore 2
start local 2 1: aload 1
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 14
StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Symbol$MethodSymbol
astore 3
start local 3 3: iconst_1
istore 5
start local 5 4: aload 1
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 11
StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.code.Symbol$MethodSymbol java.util.Iterator int top java.util.Iterator
StackMap stack:
5: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Symbol$MethodSymbol
astore 6
start local 6 6: aload 3
aload 6
if_acmpne 7
goto 11
7: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.code.Symbol$MethodSymbol java.util.Iterator int com.sun.tools.javac.code.Symbol$MethodSymbol java.util.Iterator
StackMap stack:
aload 6
getfield com.sun.tools.javac.code.Symbol$MethodSymbol.owner:Lcom/sun/tools/javac/code/Symbol;
aload 3
getfield com.sun.tools.javac.code.Symbol$MethodSymbol.owner:Lcom/sun/tools/javac/code/Symbol;
if_acmpeq 11
8: aload 0
aload 6
getfield com.sun.tools.javac.code.Symbol$MethodSymbol.owner:Lcom/sun/tools/javac/code/Symbol;
getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
aload 3
getfield com.sun.tools.javac.code.Symbol$MethodSymbol.owner:Lcom/sun/tools/javac/code/Symbol;
invokevirtual com.sun.tools.javac.code.Types.asSuper:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
ifnull 11
9: iconst_0
istore 5
10: goto 12
end local 6 11: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.code.Symbol$MethodSymbol java.util.Iterator int top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
12: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.code.Symbol$MethodSymbol java.util.Iterator int
StackMap stack:
iload 5
ifeq 14
13: aload 2
aload 3
invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
pop
end local 5 end local 3 14: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
15: aload 2
invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/sun/tools/javac/code/Types;
0 16 1 methods Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Symbol$MethodSymbol;>;
1 16 2 methodsMin Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Symbol$MethodSymbol;>;
3 14 3 m1 Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
4 14 5 isMin_m1 Z
6 11 6 m2 Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
Signature: (Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Symbol$MethodSymbol;>;)Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Symbol$MethodSymbol;>;
MethodParameters:
Name Flags
methods
public boolean hasSameArgs(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_1
invokevirtual com.sun.tools.javac.code.Types.hasSameArgs:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Z)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types;
0 1 1 t Lcom/sun/tools/javac/code/Type;
0 1 2 s Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
s
public boolean hasSameArgs(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type, boolean);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Z)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
iload 3
ifeq 1
aload 0
getfield com.sun.tools.javac.code.Types.hasSameArgs_strict:Lcom/sun/tools/javac/code/Types$TypeRelation;
goto 2
StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type int
StackMap stack: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type
1: aload 0
getfield com.sun.tools.javac.code.Types.hasSameArgs_nonstrict:Lcom/sun/tools/javac/code/Types$TypeRelation;
StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type int
StackMap stack: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type com.sun.tools.javac.code.Types$TypeRelation
2: invokevirtual com.sun.tools.javac.code.Types.hasSameArgs:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Types$TypeRelation;)Z
ireturn
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/code/Types;
0 3 1 t Lcom/sun/tools/javac/code/Type;
0 3 2 s Lcom/sun/tools/javac/code/Type;
0 3 3 strict Z
MethodParameters:
Name Flags
t
s
strict
private boolean hasSameArgs(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Types$TypeRelation);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Types$TypeRelation;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
aload 1
aload 2
invokevirtual com.sun.tools.javac.code.Types$TypeRelation.visit:(Lcom/sun/tools/javac/code/Type;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types;
0 1 1 t Lcom/sun/tools/javac/code/Type;
0 1 2 s Lcom/sun/tools/javac/code/Type;
0 1 3 hasSameArgs Lcom/sun/tools/javac/code/Types$TypeRelation;
MethodParameters:
Name Flags
t
s
hasSameArgs
public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> subst(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.List<com.sun.tools.javac.code.Type>);
descriptor: (Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
new com.sun.tools.javac.code.Types$Subst
dup
aload 0
aload 2
aload 3
invokespecial com.sun.tools.javac.code.Types$Subst.<init>:(Lcom/sun/tools/javac/code/Types;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)V
invokevirtual com.sun.tools.javac.util.List.map:(Ljava/util/function/Function;)Lcom/sun/tools/javac/util/List;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types;
0 1 1 ts Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
0 1 2 from Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
0 1 3 to 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/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/List<Lcom/sun/tools/javac/code/Type;>;
MethodParameters:
Name Flags
ts
from
to
public com.sun.tools.javac.code.Type subst(com.sun.tools.javac.code.Type, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
new com.sun.tools.javac.code.Types$Subst
dup
aload 0
aload 2
aload 3
invokespecial com.sun.tools.javac.code.Types$Subst.<init>:(Lcom/sun/tools/javac/code/Types;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)V
invokevirtual com.sun.tools.javac.code.Type.map:(Lcom/sun/tools/javac/code/Types$TypeMapping;)Lcom/sun/tools/javac/code/Type;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types;
0 1 1 t Lcom/sun/tools/javac/code/Type;
0 1 2 from Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
0 1 3 to Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
Signature: (Lcom/sun/tools/javac/code/Type;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/code/Type;
MethodParameters:
Name Flags
t
from
to
public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> substBounds(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.List<com.sun.tools.javac.code.Type>);
descriptor: (Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
ifeq 2
1: aload 1
areturn
2: StackMap locals:
StackMap stack:
new com.sun.tools.javac.util.ListBuffer
dup
invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
astore 4
start local 4 3: iconst_0
istore 5
start local 5 4: aload 1
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 11
StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer int top java.util.Iterator
StackMap stack:
5: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
astore 6
start local 6 6: aload 6
checkcast com.sun.tools.javac.code.Type$TypeVar
astore 8
start local 8 7: aload 0
aload 8
invokevirtual com.sun.tools.javac.code.Type$TypeVar.getUpperBound:()Lcom/sun/tools/javac/code/Type;
aload 2
aload 3
invokevirtual com.sun.tools.javac.code.Types.subst:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type;
astore 9
start local 9 8: aload 9
aload 8
invokevirtual com.sun.tools.javac.code.Type$TypeVar.getUpperBound:()Lcom/sun/tools/javac/code/Type;
if_acmpeq 10
9: iconst_1
istore 5
10: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer int com.sun.tools.javac.code.Type java.util.Iterator com.sun.tools.javac.code.Type$TypeVar com.sun.tools.javac.code.Type
StackMap stack:
aload 4
aload 9
invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
pop
end local 9 end local 8 end local 6 11: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer int top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
12: iload 5
ifne 14
13: aload 1
areturn
14: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer int
StackMap stack:
new com.sun.tools.javac.util.ListBuffer
dup
invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
astore 6
start local 6 15: aload 1
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 20
StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer int com.sun.tools.javac.util.ListBuffer top java.util.Iterator
StackMap stack:
16: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
astore 7
start local 7 17: aload 6
new com.sun.tools.javac.code.Type$TypeVar
dup
aload 7
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
aconst_null
aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.botType:Lcom/sun/tools/javac/code/Type;
18: aload 7
invokevirtual com.sun.tools.javac.code.Type.getMetadata:()Lcom/sun/tools/javac/code/TypeMetadata;
invokespecial com.sun.tools.javac.code.Type$TypeVar.<init>:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/TypeMetadata;)V
19: invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
pop
end local 7 20: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 16
21: aload 4
invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
astore 7
start local 7 22: aload 1
astore 2
23: aload 6
invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
astore 3
24: goto 27
25: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer int com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.List
StackMap stack:
aload 7
aload 0
aload 7
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
aload 2
aload 3
invokevirtual com.sun.tools.javac.code.Types.subst:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type;
putfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
26: aload 7
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 7
StackMap locals:
StackMap stack:
27: aload 7
invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
ifeq 25
28: aload 4
invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
astore 7
29: aload 6
invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 34
StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer int com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.List top java.util.Iterator
StackMap stack:
30: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
astore 8
start local 8 31: aload 8
checkcast com.sun.tools.javac.code.Type$TypeVar
astore 10
start local 10 32: aload 10
aload 7
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
invokevirtual com.sun.tools.javac.code.Type$TypeVar.setUpperBound:(Lcom/sun/tools/javac/code/Type;)V
33: aload 7
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 7
end local 10 end local 8 34: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 30
35: aload 6
invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
areturn
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/code/Types;
0 36 1 tvars Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
0 36 2 from Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
0 36 3 to Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
3 36 4 newBoundsBuf Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Type;>;
4 36 5 changed Z
6 11 6 t Lcom/sun/tools/javac/code/Type;
7 11 8 tv Lcom/sun/tools/javac/code/Type$TypeVar;
8 11 9 bound Lcom/sun/tools/javac/code/Type;
15 36 6 newTvars Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Type;>;
17 20 7 t Lcom/sun/tools/javac/code/Type;
22 36 7 newBounds Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
31 34 8 t Lcom/sun/tools/javac/code/Type;
32 34 10 tv Lcom/sun/tools/javac/code/Type$TypeVar;
Signature: (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/List<Lcom/sun/tools/javac/code/Type;>;)Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
MethodParameters:
Name Flags
tvars
from
to
public com.sun.tools.javac.code.Type$TypeVar substBound(com.sun.tools.javac.code.Type$TypeVar, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
descriptor: (Lcom/sun/tools/javac/code/Type$TypeVar;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type$TypeVar;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Type$TypeVar.getUpperBound:()Lcom/sun/tools/javac/code/Type;
aload 2
aload 3
invokevirtual com.sun.tools.javac.code.Types.subst:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type;
astore 4
start local 4 1: aload 4
aload 1
invokevirtual com.sun.tools.javac.code.Type$TypeVar.getUpperBound:()Lcom/sun/tools/javac/code/Type;
if_acmpne 3
2: aload 1
areturn
3: StackMap locals: com.sun.tools.javac.code.Type
StackMap stack:
new com.sun.tools.javac.code.Type$TypeVar
dup
aload 1
getfield com.sun.tools.javac.code.Type$TypeVar.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
aconst_null
aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.botType:Lcom/sun/tools/javac/code/Type;
4: aload 1
invokevirtual com.sun.tools.javac.code.Type$TypeVar.getMetadata:()Lcom/sun/tools/javac/code/TypeMetadata;
5: invokespecial com.sun.tools.javac.code.Type$TypeVar.<init>:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/TypeMetadata;)V
astore 5
start local 5 6: aload 5
aload 0
aload 4
aload 1
invokestatic com.sun.tools.javac.util.List.of:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
aload 5
invokestatic com.sun.tools.javac.util.List.of:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.code.Types.subst:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type$TypeVar.setUpperBound:(Lcom/sun/tools/javac/code/Type;)V
7: aload 5
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 8 0 this Lcom/sun/tools/javac/code/Types;
0 8 1 t Lcom/sun/tools/javac/code/Type$TypeVar;
0 8 2 from Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
0 8 3 to Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
1 8 4 bound1 Lcom/sun/tools/javac/code/Type;
6 8 5 tv Lcom/sun/tools/javac/code/Type$TypeVar;
Signature: (Lcom/sun/tools/javac/code/Type$TypeVar;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/code/Type$TypeVar;
MethodParameters:
Name Flags
t
from
to
public boolean hasSameBounds(com.sun.tools.javac.code.Type$ForAll, com.sun.tools.javac.code.Type$ForAll);
descriptor: (Lcom/sun/tools/javac/code/Type$ForAll;Lcom/sun/tools/javac/code/Type$ForAll;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield com.sun.tools.javac.code.Type$ForAll.tvars:Lcom/sun/tools/javac/util/List;
astore 3
start local 3 1: aload 2
getfield com.sun.tools.javac.code.Type$ForAll.tvars:Lcom/sun/tools/javac/util/List;
astore 4
start local 4 2: goto 5
3: StackMap locals: com.sun.tools.javac.util.List com.sun.tools.javac.util.List
StackMap stack:
aload 3
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 3
4: aload 4
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 4
5: StackMap locals:
StackMap stack:
aload 3
invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
ifeq 13
aload 4
invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
ifeq 13
6: aload 0
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.code.Type.getUpperBound:()Lcom/sun/tools/javac/code/Type;
7: aload 0
aload 4
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
invokevirtual com.sun.tools.javac.code.Type.getUpperBound:()Lcom/sun/tools/javac/code/Type;
8: aload 2
getfield com.sun.tools.javac.code.Type$ForAll.tvars:Lcom/sun/tools/javac/util/List;
9: aload 1
getfield com.sun.tools.javac.code.Type$ForAll.tvars:Lcom/sun/tools/javac/util/List;
10: invokevirtual com.sun.tools.javac.code.Types.subst:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type;
11: invokevirtual com.sun.tools.javac.code.Types.isSameType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
12: ifne 3
13: StackMap locals:
StackMap stack:
aload 3
invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
ifeq 14
aload 4
invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
ifeq 14
iconst_1
ireturn
StackMap locals:
StackMap stack:
14: iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/sun/tools/javac/code/Types;
0 15 1 t Lcom/sun/tools/javac/code/Type$ForAll;
0 15 2 s Lcom/sun/tools/javac/code/Type$ForAll;
1 15 3 l1 Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
2 15 4 l2 Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
MethodParameters:
Name Flags
t
s
public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> newInstances(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
descriptor: (Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 1
getstatic com.sun.tools.javac.code.Types.newInstanceFun:Lcom/sun/tools/javac/code/Types$TypeMapping;
invokevirtual com.sun.tools.javac.util.List.map:(Ljava/util/function/Function;)Lcom/sun/tools/javac/util/List;
astore 2
start local 2 1: aload 2
astore 3
start local 3 2: goto 6
3: StackMap locals: com.sun.tools.javac.util.List com.sun.tools.javac.util.List
StackMap stack:
aload 3
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type$TypeVar
astore 4
start local 4 4: aload 4
aload 0
aload 4
invokevirtual com.sun.tools.javac.code.Type$TypeVar.getUpperBound:()Lcom/sun/tools/javac/code/Type;
aload 1
aload 2
invokevirtual com.sun.tools.javac.code.Types.subst:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type$TypeVar.setUpperBound:(Lcom/sun/tools/javac/code/Type;)V
end local 4 5: aload 3
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 3
StackMap locals:
StackMap stack:
6: aload 3
invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
ifne 3
end local 3 7: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/tools/javac/code/Types;
0 8 1 tvars Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
1 8 2 tvars1 Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
2 7 3 l Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
4 5 4 tv Lcom/sun/tools/javac/code/Type$TypeVar;
Signature: (Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;)Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
MethodParameters:
Name Flags
tvars
public com.sun.tools.javac.code.Type createMethodTypeWithParameters(com.sun.tools.javac.code.Type, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
getfield com.sun.tools.javac.code.Types.methodWithParameters:Lcom/sun/tools/javac/code/Types$MapVisitor;
aload 2
invokevirtual com.sun.tools.javac.code.Type.accept:(Lcom/sun/tools/javac/code/Type$Visitor;Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types;
0 1 1 original Lcom/sun/tools/javac/code/Type;
0 1 2 newParams Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
Signature: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;)Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
original
newParams
public com.sun.tools.javac.code.Type createMethodTypeWithThrown(com.sun.tools.javac.code.Type, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
getfield com.sun.tools.javac.code.Types.methodWithThrown:Lcom/sun/tools/javac/code/Types$MapVisitor;
aload 2
invokevirtual com.sun.tools.javac.code.Type.accept:(Lcom/sun/tools/javac/code/Type$Visitor;Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types;
0 1 1 original Lcom/sun/tools/javac/code/Type;
0 1 2 newThrown Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
Signature: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;)Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
original
newThrown
public com.sun.tools.javac.code.Type createMethodTypeWithReturn(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
getfield com.sun.tools.javac.code.Types.methodWithReturn:Lcom/sun/tools/javac/code/Types$MapVisitor;
aload 2
invokevirtual com.sun.tools.javac.code.Type.accept:(Lcom/sun/tools/javac/code/Type$Visitor;Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types;
0 1 1 original Lcom/sun/tools/javac/code/Type;
0 1 2 newReturn Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
original
newReturn
public com.sun.tools.javac.code.Type createErrorType(com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new com.sun.tools.javac.code.Type$ErrorType
dup
aload 1
aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.errSymbol:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
invokespecial com.sun.tools.javac.code.Type$ErrorType.<init>:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types;
0 1 1 originalType Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
originalType
public com.sun.tools.javac.code.Type createErrorType(com.sun.tools.javac.code.Symbol$ClassSymbol, com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new com.sun.tools.javac.code.Type$ErrorType
dup
aload 1
aload 2
invokespecial com.sun.tools.javac.code.Type$ErrorType.<init>:(Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Lcom/sun/tools/javac/code/Type;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types;
0 1 1 c Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
0 1 2 originalType Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
c
originalType
public com.sun.tools.javac.code.Type createErrorType(com.sun.tools.javac.util.Name, com.sun.tools.javac.code.Symbol$TypeSymbol, com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new com.sun.tools.javac.code.Type$ErrorType
dup
aload 1
aload 2
aload 3
invokespecial com.sun.tools.javac.code.Type$ErrorType.<init>:(Lcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Type;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types;
0 1 1 name Lcom/sun/tools/javac/util/Name;
0 1 2 container Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
0 1 3 originalType Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
name
container
originalType
public int rank(com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: invokestatic com.sun.tools.javac.code.Types.$SWITCH_TABLE$com$sun$tools$javac$code$TypeTag:()[I
aload 1
invokevirtual com.sun.tools.javac.code.Type.getTag:()Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
iaload
lookupswitch { // 4
10: 1
15: 15
20: 25
21: 25
default: 26
}
1: StackMap locals:
StackMap stack:
aload 1
checkcast com.sun.tools.javac.code.Type$ClassType
astore 2
start local 2 2: aload 2
getfield com.sun.tools.javac.code.Type$ClassType.rank_field:I
ifge 14
3: aload 2
getfield com.sun.tools.javac.code.Type$ClassType.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.getQualifiedName:()Lcom/sun/tools/javac/util/Name;
astore 3
start local 3 4: aload 3
aload 0
getfield com.sun.tools.javac.code.Types.names:Lcom/sun/tools/javac/util/Names;
getfield com.sun.tools.javac.util.Names.java_lang_Object:Lcom/sun/tools/javac/util/Name;
if_acmpne 6
5: aload 2
iconst_0
putfield com.sun.tools.javac.code.Type$ClassType.rank_field:I
goto 14
6: StackMap locals: com.sun.tools.javac.code.Type$ClassType com.sun.tools.javac.util.Name
StackMap stack:
aload 0
aload 0
aload 2
invokevirtual com.sun.tools.javac.code.Types.supertype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Types.rank:(Lcom/sun/tools/javac/code/Type;)I
istore 4
start local 4 7: aload 0
aload 2
invokevirtual com.sun.tools.javac.code.Types.interfaces:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
astore 5
start local 5 8: goto 12
9: StackMap locals: int com.sun.tools.javac.util.List
StackMap stack:
aload 0
aload 5
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
invokevirtual com.sun.tools.javac.code.Types.rank:(Lcom/sun/tools/javac/code/Type;)I
iload 4
if_icmple 11
10: aload 0
aload 5
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
invokevirtual com.sun.tools.javac.code.Types.rank:(Lcom/sun/tools/javac/code/Type;)I
istore 4
11: StackMap locals:
StackMap stack:
aload 5
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 5
12: StackMap locals:
StackMap stack:
aload 5
invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
ifne 9
end local 5 13: aload 2
iload 4
iconst_1
iadd
putfield com.sun.tools.javac.code.Type$ClassType.rank_field:I
end local 4 end local 3 14: StackMap locals:
StackMap stack:
aload 2
getfield com.sun.tools.javac.code.Type$ClassType.rank_field:I
ireturn
end local 2 15: StackMap locals:
StackMap stack:
aload 1
checkcast com.sun.tools.javac.code.Type$TypeVar
astore 2
start local 2 16: aload 2
getfield com.sun.tools.javac.code.Type$TypeVar.rank_field:I
ifge 24
17: aload 0
aload 0
aload 2
invokevirtual com.sun.tools.javac.code.Types.supertype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Types.rank:(Lcom/sun/tools/javac/code/Type;)I
istore 3
start local 3 18: aload 0
aload 2
invokevirtual com.sun.tools.javac.code.Types.interfaces:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
astore 4
start local 4 19: goto 22
20: StackMap locals: com.sun.tools.javac.code.Type$TypeVar int com.sun.tools.javac.util.List
StackMap stack:
aload 0
aload 4
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
invokevirtual com.sun.tools.javac.code.Types.rank:(Lcom/sun/tools/javac/code/Type;)I
iload 3
if_icmple 21
aload 0
aload 4
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
invokevirtual com.sun.tools.javac.code.Types.rank:(Lcom/sun/tools/javac/code/Type;)I
istore 3
21: StackMap locals:
StackMap stack:
aload 4
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 4
22: StackMap locals:
StackMap stack:
aload 4
invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
ifne 20
end local 4 23: aload 2
iload 3
iconst_1
iadd
putfield com.sun.tools.javac.code.Type$TypeVar.rank_field:I
end local 3 24: StackMap locals:
StackMap stack:
aload 2
getfield com.sun.tools.javac.code.Type$TypeVar.rank_field:I
ireturn
end local 2 25: StackMap locals:
StackMap stack:
iconst_0
ireturn
26: StackMap locals:
StackMap stack:
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lcom/sun/tools/javac/code/Types;
0 27 1 t Lcom/sun/tools/javac/code/Type;
2 15 2 cls Lcom/sun/tools/javac/code/Type$ClassType;
4 14 3 fullname Lcom/sun/tools/javac/util/Name;
7 14 4 r I
8 13 5 l Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
16 25 2 tvar Lcom/sun/tools/javac/code/Type$TypeVar;
18 24 3 r I
19 23 4 l Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
MethodParameters:
Name Flags
t
public java.lang.String toString(com.sun.tools.javac.code.Type, java.util.Locale);
descriptor: (Lcom/sun/tools/javac/code/Type;Ljava/util/Locale;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.tools.javac.code.Types.messages:Lcom/sun/tools/javac/util/JavacMessages;
invokestatic com.sun.tools.javac.code.Printer.createStandardPrinter:(Lcom/sun/tools/javac/api/Messages;)Lcom/sun/tools/javac/code/Printer;
aload 1
aload 2
invokevirtual com.sun.tools.javac.code.Printer.visit:(Lcom/sun/tools/javac/code/Type;Ljava/util/Locale;)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types;
0 1 1 t Lcom/sun/tools/javac/code/Type;
0 1 2 locale Ljava/util/Locale;
MethodParameters:
Name Flags
t
locale
public java.lang.String toString(com.sun.tools.javac.code.Symbol, java.util.Locale);
descriptor: (Lcom/sun/tools/javac/code/Symbol;Ljava/util/Locale;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.tools.javac.code.Types.messages:Lcom/sun/tools/javac/util/JavacMessages;
invokestatic com.sun.tools.javac.code.Printer.createStandardPrinter:(Lcom/sun/tools/javac/api/Messages;)Lcom/sun/tools/javac/code/Printer;
aload 1
aload 2
invokevirtual com.sun.tools.javac.code.Printer.visit:(Lcom/sun/tools/javac/code/Symbol;Ljava/util/Locale;)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types;
0 1 1 t Lcom/sun/tools/javac/code/Symbol;
0 1 2 locale Ljava/util/Locale;
MethodParameters:
Name Flags
t
locale
public java.lang.String toString(com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
getstatic com.sun.tools.javac.code.TypeTag.FORALL:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 3
1: aload 1
checkcast com.sun.tools.javac.code.Type$ForAll
astore 2
start local 2 2: new java.lang.StringBuilder
dup
aload 0
aload 2
getfield com.sun.tools.javac.code.Type$ForAll.tvars:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.code.Types.typaramsString:(Lcom/sun/tools/javac/util/List;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
getfield com.sun.tools.javac.code.Type$ForAll.qtype:Lcom/sun/tools/javac/code/Type;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 3: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/javac/code/Types;
0 4 1 t Lcom/sun/tools/javac/code/Type;
2 3 2 forAll Lcom/sun/tools/javac/code/Type$ForAll;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
t
private java.lang.String typaramsString(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
descriptor: (Lcom/sun/tools/javac/util/List;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2
start local 2 1: aload 2
bipush 60
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
2: iconst_1
istore 3
start local 3 3: aload 1
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 8
StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List java.lang.StringBuilder int top java.util.Iterator
StackMap stack:
4: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
astore 4
start local 4 5: iload 3
ifne 6
aload 2
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List java.lang.StringBuilder int com.sun.tools.javac.code.Type java.util.Iterator
StackMap stack:
iconst_0
istore 3
7: aload 0
aload 4
checkcast com.sun.tools.javac.code.Type$TypeVar
aload 2
invokevirtual com.sun.tools.javac.code.Types.appendTyparamString:(Lcom/sun/tools/javac/code/Type$TypeVar;Ljava/lang/StringBuilder;)V
end local 4 8: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List java.lang.StringBuilder int top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
9: aload 2
bipush 62
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
10: aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
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/code/Types;
0 11 1 tvars Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
1 11 2 s Ljava/lang/StringBuilder;
3 11 3 first Z
5 8 4 t Lcom/sun/tools/javac/code/Type;
Signature: (Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;)Ljava/lang/String;
MethodParameters:
Name Flags
tvars
private void appendTyparamString(com.sun.tools.javac.code.Type$TypeVar, java.lang.StringBuilder);
descriptor: (Lcom/sun/tools/javac/code/Type$TypeVar;Ljava/lang/StringBuilder;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
1: aload 1
invokevirtual com.sun.tools.javac.code.Type$TypeVar.getUpperBound:()Lcom/sun/tools/javac/code/Type;
ifnull 3
2: aload 1
invokevirtual com.sun.tools.javac.code.Type$TypeVar.getUpperBound:()Lcom/sun/tools/javac/code/Type;
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.getQualifiedName:()Lcom/sun/tools/javac/util/Name;
aload 0
getfield com.sun.tools.javac.code.Types.names:Lcom/sun/tools/javac/util/Names;
getfield com.sun.tools.javac.util.Names.java_lang_Object:Lcom/sun/tools/javac/util/Name;
if_acmpne 4
3: StackMap locals:
StackMap stack:
return
4: StackMap locals:
StackMap stack:
aload 2
ldc " extends "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: aload 1
invokevirtual com.sun.tools.javac.code.Type$TypeVar.getUpperBound:()Lcom/sun/tools/javac/code/Type;
astore 3
start local 3 6: aload 3
invokevirtual com.sun.tools.javac.code.Type.isCompound:()Z
ifne 9
7: aload 2
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
8: goto 24
StackMap locals: com.sun.tools.javac.code.Type
StackMap stack:
9: aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Types.erasure:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.flags:()J
ldc 512
land
lconst_0
lcmp
ifne 17
10: aload 2
aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Types.supertype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
11: aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Types.interfaces:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 15
StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type$TypeVar java.lang.StringBuilder com.sun.tools.javac.code.Type top java.util.Iterator
StackMap stack:
12: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
astore 4
start local 4 13: aload 2
bipush 38
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
14: aload 2
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
end local 4 15: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
16: goto 24
17: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type$TypeVar java.lang.StringBuilder com.sun.tools.javac.code.Type
StackMap stack:
iconst_1
istore 4
start local 4 18: aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Types.interfaces:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 23
StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type$TypeVar java.lang.StringBuilder com.sun.tools.javac.code.Type int top java.util.Iterator
StackMap stack:
19: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
astore 5
start local 5 20: iload 4
ifne 21
aload 2
bipush 38
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
21: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type$TypeVar java.lang.StringBuilder com.sun.tools.javac.code.Type int com.sun.tools.javac.code.Type java.util.Iterator
StackMap stack:
iconst_0
istore 4
22: aload 2
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
end local 5 23: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type$TypeVar java.lang.StringBuilder com.sun.tools.javac.code.Type int top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 19
end local 4 24: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type$TypeVar java.lang.StringBuilder com.sun.tools.javac.code.Type
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lcom/sun/tools/javac/code/Types;
0 25 1 t Lcom/sun/tools/javac/code/Type$TypeVar;
0 25 2 buf Ljava/lang/StringBuilder;
6 25 3 bound Lcom/sun/tools/javac/code/Type;
13 15 4 intf Lcom/sun/tools/javac/code/Type;
18 24 4 first Z
20 23 5 intf Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
buf
public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> closure(com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.code.Types.closureCache:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.tools.javac.util.List
astore 2
start local 2 1: aload 2
ifnonnull 19
2: aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Types.supertype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
astore 3
start local 3 3: aload 1
invokevirtual com.sun.tools.javac.code.Type.isCompound:()Z
ifne 12
4: aload 3
getstatic com.sun.tools.javac.code.TypeTag.CLASS:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 7
5: aload 0
aload 0
aload 3
invokevirtual com.sun.tools.javac.code.Types.closure:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
aload 1
invokevirtual com.sun.tools.javac.code.Types.insert:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
astore 2
6: goto 13
StackMap locals: com.sun.tools.javac.util.List com.sun.tools.javac.code.Type
StackMap stack:
7: aload 3
getstatic com.sun.tools.javac.code.TypeTag.TYPEVAR:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 10
8: aload 0
aload 3
invokevirtual com.sun.tools.javac.code.Types.closure:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
aload 1
invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
astore 2
9: goto 13
10: StackMap locals:
StackMap stack:
aload 1
invokestatic com.sun.tools.javac.util.List.of:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
astore 2
11: goto 13
12: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Types.supertype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Types.closure:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
astore 2
13: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Types.interfaces:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
astore 4
start local 4 14: goto 17
15: StackMap locals: com.sun.tools.javac.util.List
StackMap stack:
aload 0
aload 2
aload 0
aload 4
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
invokevirtual com.sun.tools.javac.code.Types.closure:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.code.Types.union:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
astore 2
16: aload 4
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 4
StackMap locals:
StackMap stack:
17: aload 4
invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
ifne 15
end local 4 18: aload 0
getfield com.sun.tools.javac.code.Types.closureCache:Ljava/util/Map;
aload 1
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 3 19: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/sun/tools/javac/code/Types;
0 20 1 t Lcom/sun/tools/javac/code/Type;
1 20 2 cl Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
3 19 3 st Lcom/sun/tools/javac/code/Type;
14 18 4 l Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
Signature: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
MethodParameters:
Name Flags
t
public java.util.stream.Collector<com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Types$ClosureHolder, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>> closureCollector(boolean, java.util.function.BiPredicate<com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type>);
descriptor: (ZLjava/util/function/BiPredicate;)Ljava/util/stream/Collector;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
aload 2
invokedynamic get(Lcom/sun/tools/javac/code/Types;ZLjava/util/function/BiPredicate;)Ljava/util/function/Supplier;
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:
()Ljava/lang/Object;
com/sun/tools/javac/code/Types.lambda$4(ZLjava/util/function/BiPredicate;)Lcom/sun/tools/javac/code/Types$ClosureHolder; (7)
()Lcom/sun/tools/javac/code/Types$ClosureHolder;
1: invokedynamic accept()Ljava/util/function/BiConsumer;
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:
(Ljava/lang/Object;Ljava/lang/Object;)V
com/sun/tools/javac/code/Types$ClosureHolder.add(Lcom/sun/tools/javac/code/Type;)V (5)
(Lcom/sun/tools/javac/code/Types$ClosureHolder;Lcom/sun/tools/javac/code/Type;)V
2: invokedynamic apply()Ljava/util/function/BinaryOperator;
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:
(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
com/sun/tools/javac/code/Types$ClosureHolder.merge(Lcom/sun/tools/javac/code/Types$ClosureHolder;)Lcom/sun/tools/javac/code/Types$ClosureHolder; (5)
(Lcom/sun/tools/javac/code/Types$ClosureHolder;Lcom/sun/tools/javac/code/Types$ClosureHolder;)Lcom/sun/tools/javac/code/Types$ClosureHolder;
3: invokedynamic apply()Ljava/util/function/Function;
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:
(Ljava/lang/Object;)Ljava/lang/Object;
com/sun/tools/javac/code/Types$ClosureHolder.closure()Lcom/sun/tools/javac/util/List; (5)
(Lcom/sun/tools/javac/code/Types$ClosureHolder;)Lcom/sun/tools/javac/util/List;
iconst_0
anewarray java.util.stream.Collector$Characteristics
4: invokestatic java.util.stream.Collector.of:(Ljava/util/function/Supplier;Ljava/util/function/BiConsumer;Ljava/util/function/BinaryOperator;Ljava/util/function/Function;[Ljava/util/stream/Collector$Characteristics;)Ljava/util/stream/Collector;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/tools/javac/code/Types;
0 5 1 minClosure Z
0 5 2 shouldSkip Ljava/util/function/BiPredicate<Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;>;
Signature: (ZLjava/util/function/BiPredicate<Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;>;)Ljava/util/stream/Collector<Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Types$ClosureHolder;Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;>;
MethodParameters:
Name Flags
minClosure
shouldSkip
public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> insert(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, com.sun.tools.javac.code.Type, java.util.function.BiPredicate<com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type>);
descriptor: (Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Type;Ljava/util/function/BiPredicate;)Lcom/sun/tools/javac/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
ifeq 2
1: aload 1
aload 2
invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
areturn
2: StackMap locals:
StackMap stack:
aload 3
aload 2
aload 1
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
invokeinterface java.util.function.BiPredicate.test:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 4
3: aload 1
areturn
4: StackMap locals:
StackMap stack:
aload 2
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
aload 1
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
aload 0
invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.precedes:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Types;)Z
ifeq 6
5: aload 1
aload 2
invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
areturn
6: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
aload 2
aload 3
invokevirtual com.sun.tools.javac.code.Types.insert:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Type;Ljava/util/function/BiPredicate;)Lcom/sun/tools/javac/util/List;
aload 1
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/javac/code/Types;
0 7 1 cl Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
0 7 2 t Lcom/sun/tools/javac/code/Type;
0 7 3 shouldSkip Ljava/util/function/BiPredicate<Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;>;
Signature: (Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;Lcom/sun/tools/javac/code/Type;Ljava/util/function/BiPredicate<Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;>;)Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
MethodParameters:
Name Flags
cl
t
shouldSkip
public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> insert(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
aload 0
getfield com.sun.tools.javac.code.Types.basicClosureSkip:Ljava/util/function/BiPredicate;
invokevirtual com.sun.tools.javac.code.Types.insert:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Type;Ljava/util/function/BiPredicate;)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/code/Types;
0 1 1 cl Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
0 1 2 t Lcom/sun/tools/javac/code/Type;
Signature: (Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
MethodParameters:
Name Flags
cl
t
public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> union(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, java.util.function.BiPredicate<com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type>);
descriptor: (Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;Ljava/util/function/BiPredicate;)Lcom/sun/tools/javac/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
ifeq 2
1: aload 2
areturn
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
ifeq 4
3: aload 1
areturn
4: StackMap locals:
StackMap stack:
aload 3
aload 1
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
aload 2
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
invokeinterface java.util.function.BiPredicate.test:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 6
5: aload 0
aload 1
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
aload 2
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
aload 3
invokevirtual com.sun.tools.javac.code.Types.union:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;Ljava/util/function/BiPredicate;)Lcom/sun/tools/javac/util/List;
aload 1
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
areturn
6: StackMap locals:
StackMap stack:
aload 2
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
aload 1
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
aload 0
invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.precedes:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Types;)Z
ifeq 8
7: aload 0
aload 1
aload 2
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
aload 3
invokevirtual com.sun.tools.javac.code.Types.union:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;Ljava/util/function/BiPredicate;)Lcom/sun/tools/javac/util/List;
aload 2
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
areturn
8: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
aload 2
aload 3
invokevirtual com.sun.tools.javac.code.Types.union:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;Ljava/util/function/BiPredicate;)Lcom/sun/tools/javac/util/List;
aload 1
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
areturn
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/code/Types;
0 9 1 cl1 Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
0 9 2 cl2 Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
0 9 3 shouldSkip Ljava/util/function/BiPredicate<Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;>;
Signature: (Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;Ljava/util/function/BiPredicate<Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;>;)Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
MethodParameters:
Name Flags
cl1
cl2
shouldSkip
public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> union(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
descriptor: (Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
aload 0
getfield com.sun.tools.javac.code.Types.basicClosureSkip:Ljava/util/function/BiPredicate;
invokevirtual com.sun.tools.javac.code.Types.union:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;Ljava/util/function/BiPredicate;)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/code/Types;
0 1 1 cl1 Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
0 1 2 cl2 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/util/List<Lcom/sun/tools/javac/code/Type;>;)Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
MethodParameters:
Name Flags
cl1
cl2
public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> intersect(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
descriptor: (Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
if_acmpne 2
1: aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
ifne 3
aload 2
invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
ifeq 4
3: StackMap locals:
StackMap stack:
invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
areturn
4: StackMap locals:
StackMap stack:
aload 1
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
aload 2
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
aload 0
invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.precedes:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Types;)Z
ifeq 6
5: aload 0
aload 1
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
aload 2
invokevirtual com.sun.tools.javac.code.Types.intersect:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
areturn
6: StackMap locals:
StackMap stack:
aload 2
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
aload 1
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
aload 0
invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.precedes:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Types;)Z
ifeq 8
7: aload 0
aload 1
aload 2
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.code.Types.intersect:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
areturn
8: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
aload 2
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
invokevirtual com.sun.tools.javac.code.Types.isSameType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifeq 10
9: aload 0
aload 1
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
aload 2
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.code.Types.intersect:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
aload 1
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
areturn
10: StackMap locals:
StackMap stack:
aload 1
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
aload 2
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
if_acmpne 17
11: aload 1
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
getstatic com.sun.tools.javac.code.TypeTag.CLASS:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 17
aload 2
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
getstatic com.sun.tools.javac.code.TypeTag.CLASS:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 17
12: aload 1
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
invokevirtual com.sun.tools.javac.code.Type.isParameterized:()Z
ifeq 15
aload 2
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
invokevirtual com.sun.tools.javac.code.Type.isParameterized:()Z
ifeq 15
13: aload 0
aload 1
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
aload 2
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
invokevirtual com.sun.tools.javac.code.Types.merge:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
astore 3
start local 3 14: aload 0
aload 1
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
aload 2
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.code.Types.intersect:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
aload 3
invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
areturn
end local 3 15: StackMap locals:
StackMap stack:
aload 1
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
invokevirtual com.sun.tools.javac.code.Type.isRaw:()Z
ifne 16
aload 2
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
invokevirtual com.sun.tools.javac.code.Type.isRaw:()Z
ifeq 17
16: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
aload 2
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.code.Types.intersect:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
aload 0
aload 1
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
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.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
areturn
17: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
aload 2
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.code.Types.intersect:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/sun/tools/javac/code/Types;
0 18 1 cl1 Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
0 18 2 cl2 Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
14 15 3 merge Lcom/sun/tools/javac/code/Type;
Signature: (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/List<Lcom/sun/tools/javac/code/Type;>;
MethodParameters:
Name Flags
cl1
cl2
private com.sun.tools.javac.code.Type merge(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast com.sun.tools.javac.code.Type$ClassType
astore 3
start local 3 1: aload 3
invokevirtual com.sun.tools.javac.code.Type$ClassType.getTypeArguments:()Lcom/sun/tools/javac/util/List;
astore 4
start local 4 2: aload 2
checkcast com.sun.tools.javac.code.Type$ClassType
astore 5
start local 5 3: aload 5
invokevirtual com.sun.tools.javac.code.Type$ClassType.getTypeArguments:()Lcom/sun/tools/javac/util/List;
astore 6
start local 6 4: new com.sun.tools.javac.util.ListBuffer
dup
invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
astore 7
start local 7 5: aload 3
getfield com.sun.tools.javac.code.Type$ClassType.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
getfield com.sun.tools.javac.code.Symbol$TypeSymbol.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type.getTypeArguments:()Lcom/sun/tools/javac/util/List;
astore 8
start local 8 6: goto 31
7: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type$ClassType com.sun.tools.javac.util.List com.sun.tools.javac.code.Type$ClassType com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.List
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 6
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
invokevirtual com.sun.tools.javac.code.Types.containsType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifeq 10
8: aload 7
aload 4
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
pop
9: goto 28
StackMap locals:
StackMap stack:
10: aload 0
aload 6
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
invokevirtual com.sun.tools.javac.code.Types.containsType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifeq 13
11: aload 7
aload 6
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
pop
12: goto 28
13: StackMap locals:
StackMap stack:
new com.sun.tools.javac.code.Types$TypePair
dup
aload 0
aload 1
aload 2
invokespecial com.sun.tools.javac.code.Types$TypePair.<init>:(Lcom/sun/tools/javac/code/Types;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)V
astore 9
start local 9 14: aload 0
getfield com.sun.tools.javac.code.Types.mergeCache:Ljava/util/Set;
aload 9
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
ifeq 23
15: new com.sun.tools.javac.code.Type$WildcardType
dup
aload 0
iconst_2
anewarray com.sun.tools.javac.code.Type
dup
iconst_0
aload 0
aload 4
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
invokevirtual com.sun.tools.javac.code.Types.wildUpperBound:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
aastore
dup
iconst_1
16: aload 0
aload 6
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
invokevirtual com.sun.tools.javac.code.Types.wildUpperBound:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
aastore
17: invokevirtual com.sun.tools.javac.code.Types.lub:([Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
18: getstatic com.sun.tools.javac.code.BoundKind.EXTENDS:Lcom/sun/tools/javac/code/BoundKind;
19: aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.boundClass:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
20: invokespecial com.sun.tools.javac.code.Type$WildcardType.<init>:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/BoundKind;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)V
astore 10
start local 10 21: aload 0
getfield com.sun.tools.javac.code.Types.mergeCache:Ljava/util/Set;
aload 9
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
22: goto 27
end local 10 23: StackMap locals: com.sun.tools.javac.code.Types$TypePair
StackMap stack:
new com.sun.tools.javac.code.Type$WildcardType
dup
aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
24: getstatic com.sun.tools.javac.code.BoundKind.UNBOUND:Lcom/sun/tools/javac/code/BoundKind;
25: aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.boundClass:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
26: invokespecial com.sun.tools.javac.code.Type$WildcardType.<init>:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/BoundKind;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)V
astore 10
start local 10 27: StackMap locals: com.sun.tools.javac.code.Type
StackMap stack:
aload 7
aload 10
aload 8
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
invokevirtual com.sun.tools.javac.code.Type.withTypeVar:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
pop
end local 10 end local 9 28: StackMap locals:
StackMap stack:
aload 4
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 4
29: aload 6
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 6
30: aload 8
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 8
31: StackMap locals:
StackMap stack:
aload 4
invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
ifeq 32
aload 6
invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
ifeq 32
aload 8
invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
ifne 7
32: StackMap locals:
StackMap stack:
aload 4
invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
ifeq 33
aload 6
invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
ifeq 33
aload 8
invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
ifeq 33
iconst_1
goto 34
StackMap locals:
StackMap stack:
33: iconst_0
StackMap locals:
StackMap stack: int
34: invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
35: new com.sun.tools.javac.code.Type$ClassType
dup
aload 3
invokevirtual com.sun.tools.javac.code.Type$ClassType.getEnclosingType:()Lcom/sun/tools/javac/code/Type;
aload 7
invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
36: aload 3
getfield com.sun.tools.javac.code.Type$ClassType.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
37: invokespecial com.sun.tools.javac.code.Type$ClassType.<init>:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)V
areturn
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 38 0 this Lcom/sun/tools/javac/code/Types;
0 38 1 c1 Lcom/sun/tools/javac/code/Type;
0 38 2 c2 Lcom/sun/tools/javac/code/Type;
1 38 3 class1 Lcom/sun/tools/javac/code/Type$ClassType;
2 38 4 act1 Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
3 38 5 class2 Lcom/sun/tools/javac/code/Type$ClassType;
4 38 6 act2 Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
5 38 7 merged Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Type;>;
6 38 8 typarams Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
14 28 9 pair Lcom/sun/tools/javac/code/Types$TypePair;
21 23 10 m Lcom/sun/tools/javac/code/Type;
27 28 10 m Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
c1
c2
private com.sun.tools.javac.code.Type compoundMin(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
descriptor: (Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
ifeq 1
aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
areturn
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Types.closureMin:(Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
astore 2
start local 2 2: aload 2
invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
ifeq 4
3: aconst_null
areturn
4: StackMap locals: com.sun.tools.javac.util.List
StackMap stack:
aload 2
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
ifeq 6
5: aload 2
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
areturn
6: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual com.sun.tools.javac.code.Types.makeIntersectionType:(Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type$IntersectionClassType;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/javac/code/Types;
0 7 1 cl Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
2 7 2 compound 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/code/Type;
MethodParameters:
Name Flags
cl
private com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> closureMin(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
descriptor: (Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=9, args_size=2
start local 0 start local 1 0: new com.sun.tools.javac.util.ListBuffer
dup
invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
astore 2
start local 2 1: new com.sun.tools.javac.util.ListBuffer
dup
invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
astore 3
start local 3 2: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 4
start local 4 3: goto 25
4: StackMap locals: com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.ListBuffer java.util.Set
StackMap stack:
aload 1
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
astore 5
start local 5 5: aload 4
aload 5
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 6
iconst_0
goto 7
StackMap locals: com.sun.tools.javac.code.Type
StackMap stack:
6: iconst_1
StackMap locals:
StackMap stack: int
7: istore 6
start local 6 8: iload 6
ifeq 15
aload 5
getstatic com.sun.tools.javac.code.TypeTag.TYPEVAR:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 15
9: aload 1
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 14
StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.ListBuffer java.util.Set com.sun.tools.javac.code.Type int top java.util.Iterator
StackMap stack:
10: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
astore 7
start local 7 11: aload 0
aload 7
aload 5
invokevirtual com.sun.tools.javac.code.Types.isSubtypeNoCapture:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifeq 14
12: iconst_0
istore 6
13: goto 15
end local 7 14: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
15: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.ListBuffer java.util.Set com.sun.tools.javac.code.Type int
StackMap stack:
iload 6
ifeq 24
16: aload 5
invokevirtual com.sun.tools.javac.code.Type.isInterface:()Z
ifeq 18
17: aload 3
aload 5
invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
pop
goto 19
18: StackMap locals:
StackMap stack:
aload 2
aload 5
invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
pop
19: StackMap locals:
StackMap stack:
aload 1
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 23
StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.ListBuffer java.util.Set com.sun.tools.javac.code.Type int top java.util.Iterator
StackMap stack:
20: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
astore 7
start local 7 21: aload 0
aload 5
aload 7
invokevirtual com.sun.tools.javac.code.Types.isSubtypeNoCapture:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifeq 23
22: aload 4
aload 7
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 7 23: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 20
24: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.ListBuffer java.util.Set com.sun.tools.javac.code.Type int
StackMap stack:
aload 1
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 1
end local 6 end local 5 25: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
ifeq 4
26: aload 2
aload 3
invokevirtual com.sun.tools.javac.util.ListBuffer.appendList:(Lcom/sun/tools/javac/util/ListBuffer;)Lcom/sun/tools/javac/util/ListBuffer;
invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lcom/sun/tools/javac/code/Types;
0 27 1 cl Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
1 27 2 classes Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Type;>;
2 27 3 interfaces Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Type;>;
3 27 4 toSkip Ljava/util/Set<Lcom/sun/tools/javac/code/Type;>;
5 25 5 current Lcom/sun/tools/javac/code/Type;
8 25 6 keep Z
11 14 7 t Lcom/sun/tools/javac/code/Type;
21 23 7 t Lcom/sun/tools/javac/code/Type;
Signature: (Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;)Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
MethodParameters:
Name Flags
cl
public com.sun.tools.javac.code.Type lub(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
descriptor: (Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 1
invokevirtual com.sun.tools.javac.util.List.length:()I
anewarray com.sun.tools.javac.code.Type
invokevirtual com.sun.tools.javac.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type[]
invokevirtual com.sun.tools.javac.code.Types.lub:([Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types;
0 1 1 ts 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/code/Type;
MethodParameters:
Name Flags
ts
public com.sun.tools.javac.code.Type lub(com.sun.tools.javac.code.Type[]);
descriptor: ([Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=5, locals=14, args_size=2
start local 0 start local 1 0: aload 1
arraylength
newarray 10
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 21
4: StackMap locals: int[] int int
StackMap stack:
aload 1
iload 4
aaload
astore 5
start local 5 5: invokestatic com.sun.tools.javac.code.Types.$SWITCH_TABLE$com$sun$tools$javac$code$TypeTag:()[I
aload 5
invokevirtual com.sun.tools.javac.code.Type.getTag:()Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
iaload
tableswitch { // 10 - 15
10: 6
11: 8
12: 17
13: 17
14: 17
15: 10
default: 17
}
6: StackMap locals: com.sun.tools.javac.code.Type
StackMap stack:
iload 3
aload 2
iload 4
iconst_2
dup_x2
iastore
ior
istore 3
7: goto 20
8: StackMap locals:
StackMap stack:
iload 3
aload 2
iload 4
iconst_1
dup_x2
iastore
ior
istore 3
9: goto 20
10: StackMap locals:
StackMap stack:
aload 5
invokevirtual com.sun.tools.javac.code.Type.getUpperBound:()Lcom/sun/tools/javac/code/Type;
astore 5
11: aload 5
getstatic com.sun.tools.javac.code.TypeTag.TYPEVAR:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifne 10
12: aload 5
getstatic com.sun.tools.javac.code.TypeTag.ARRAY:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 15
13: iload 3
aload 2
iload 4
iconst_1
dup_x2
iastore
ior
istore 3
14: goto 20
15: StackMap locals:
StackMap stack:
iload 3
aload 2
iload 4
iconst_2
dup_x2
iastore
ior
istore 3
16: goto 20
17: StackMap locals:
StackMap stack:
aload 2
iload 4
iconst_0
iastore
18: aload 5
invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
ifeq 20
19: aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.errType:Lcom/sun/tools/javac/code/Type;
areturn
end local 5 20: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
21: iload 4
aload 1
arraylength
if_icmplt 4
end local 4 22: iload 3
tableswitch { // 0 - 2
0: 23
1: 24
2: 40
default: 76
}
23: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.botType:Lcom/sun/tools/javac/code/Type;
areturn
24: StackMap locals:
StackMap stack:
aload 1
arraylength
anewarray com.sun.tools.javac.code.Type
astore 4
start local 4 25: iconst_0
istore 5
start local 5 26: goto 38
27: StackMap locals: com.sun.tools.javac.code.Type[] int
StackMap stack:
aload 4
iload 5
aload 0
getfield com.sun.tools.javac.code.Types.elemTypeFun:Lcom/sun/tools/javac/code/Types$TypeMapping;
aload 1
iload 5
aaload
invokevirtual com.sun.tools.javac.code.Types$TypeMapping.apply:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
dup_x2
aastore
astore 6
start local 6 28: aload 6
invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
ifeq 37
29: aload 1
iconst_0
aaload
astore 7
start local 7 30: iconst_1
istore 8
start local 8 31: goto 35
32: StackMap locals: com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type int
StackMap stack:
aload 0
aload 7
aload 1
iload 8
aaload
invokevirtual com.sun.tools.javac.code.Types.isSameType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifne 34
33: aload 0
invokevirtual com.sun.tools.javac.code.Types.arraySuperType:()Lcom/sun/tools/javac/code/Type;
areturn
34: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
35: iload 8
aload 1
arraylength
if_icmplt 32
end local 8 36: aload 7
areturn
end local 7 end local 6 37: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
38: iload 5
aload 1
arraylength
if_icmplt 27
end local 5 39: new com.sun.tools.javac.code.Type$ArrayType
dup
aload 0
aload 4
invokevirtual com.sun.tools.javac.code.Types.lub:([Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.arrayClass:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
invokespecial com.sun.tools.javac.code.Type$ArrayType.<init>:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)V
areturn
end local 4 40: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 41: iconst_0
istore 6
start local 6 42: goto 48
43: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type[] int[] int top int int
StackMap stack:
aload 1
iload 6
aaload
astore 7
start local 7 44: aload 7
getstatic com.sun.tools.javac.code.TypeTag.CLASS:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifne 49
aload 7
getstatic com.sun.tools.javac.code.TypeTag.TYPEVAR:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 46
45: goto 49
46: StackMap locals: com.sun.tools.javac.code.Type
StackMap stack:
iinc 5 1
end local 7 47: iinc 6 1
StackMap locals:
StackMap stack:
48: iload 6
aload 1
arraylength
if_icmplt 43
end local 6 49: StackMap locals:
StackMap stack:
iload 5
aload 1
arraylength
if_icmpge 50
iconst_1
goto 51
StackMap locals:
StackMap stack:
50: iconst_0
StackMap locals:
StackMap stack: int
51: invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
52: aload 0
aload 1
iload 5
aaload
invokevirtual com.sun.tools.javac.code.Types.erasedSupertypes:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
astore 6
start local 6 53: iload 5
iconst_1
iadd
istore 7
start local 7 54: goto 59
55: StackMap locals: com.sun.tools.javac.util.List int
StackMap stack:
aload 1
iload 7
aaload
astore 8
start local 8 56: aload 8
getstatic com.sun.tools.javac.code.TypeTag.CLASS:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifne 57
aload 8
getstatic com.sun.tools.javac.code.TypeTag.TYPEVAR:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 58
57: StackMap locals: com.sun.tools.javac.code.Type
StackMap stack:
aload 0
aload 6
aload 0
aload 8
invokevirtual com.sun.tools.javac.code.Types.erasedSupertypes:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.code.Types.intersect:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
astore 6
end local 8 58: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
59: iload 7
aload 1
arraylength
if_icmplt 55
end local 7 60: aload 0
aload 6
invokevirtual com.sun.tools.javac.code.Types.closureMin:(Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
astore 7
start local 7 61: invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
astore 8
start local 8 62: aload 7
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 10
goto 74
StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type[] int[] int top int com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List top java.util.Iterator
StackMap stack:
63: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
astore 9
start local 9 64: aload 0
aload 1
iload 5
aaload
aload 9
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
invokevirtual com.sun.tools.javac.code.Types.asSuper:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
invokestatic com.sun.tools.javac.util.List.of:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
astore 11
start local 11 65: iload 5
iconst_1
iadd
istore 12
start local 12 66: goto 72
67: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type[] int[] int top int com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.code.Type java.util.Iterator com.sun.tools.javac.util.List int
StackMap stack:
aload 0
aload 1
iload 12
aaload
aload 9
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
invokevirtual com.sun.tools.javac.code.Types.asSuper:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
astore 13
start local 13 68: aload 0
aload 11
aload 13
ifnull 69
aload 13
invokestatic com.sun.tools.javac.util.List.of:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
goto 70
StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type[] int[] int top int com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.code.Type java.util.Iterator com.sun.tools.javac.util.List int com.sun.tools.javac.code.Type
StackMap stack: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List
69: invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type[] int[] int top int com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.code.Type java.util.Iterator com.sun.tools.javac.util.List int com.sun.tools.javac.code.Type
StackMap stack: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.util.List
70: invokevirtual com.sun.tools.javac.code.Types.intersect:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
astore 11
end local 13 71: iinc 12 1
StackMap locals:
StackMap stack:
72: iload 12
aload 1
arraylength
if_icmplt 67
end local 12 73: aload 8
aload 11
invokevirtual com.sun.tools.javac.util.List.appendList:(Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
astore 8
end local 11 end local 9 74: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type[] int[] int top int com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List top java.util.Iterator
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 63
75: aload 0
aload 8
invokevirtual com.sun.tools.javac.code.Types.compoundMin:(Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type;
areturn
end local 8 end local 7 end local 6 end local 5 76: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type[] int[] int
StackMap stack:
aload 0
invokevirtual com.sun.tools.javac.code.Types.arraySuperType:()Lcom/sun/tools/javac/code/Type;
invokestatic com.sun.tools.javac.util.List.of:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
astore 9
start local 9 77: iconst_0
istore 10
start local 10 78: goto 82
79: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type[] int[] int top top top top top com.sun.tools.javac.util.List int
StackMap stack:
aload 2
iload 10
iaload
iconst_1
if_icmpeq 81
80: aload 9
aload 1
iload 10
aaload
invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
astore 9
81: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
82: iload 10
aload 1
arraylength
if_icmplt 79
end local 10 83: aload 0
aload 9
invokevirtual com.sun.tools.javac.code.Types.lub:(Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type;
areturn
end local 9 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 84 0 this Lcom/sun/tools/javac/code/Types;
0 84 1 ts [Lcom/sun/tools/javac/code/Type;
1 84 2 kinds [I
2 84 3 boundkind I
3 22 4 i I
5 20 5 t Lcom/sun/tools/javac/code/Type;
25 40 4 elements [Lcom/sun/tools/javac/code/Type;
26 39 5 i I
28 37 6 elem Lcom/sun/tools/javac/code/Type;
30 37 7 first Lcom/sun/tools/javac/code/Type;
31 36 8 j I
41 76 5 startIdx I
42 49 6 i I
44 47 7 t Lcom/sun/tools/javac/code/Type;
53 76 6 cl Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
54 60 7 i I
56 58 8 t Lcom/sun/tools/javac/code/Type;
61 76 7 mec Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
62 76 8 candidates Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
64 74 9 erasedSupertype Lcom/sun/tools/javac/code/Type;
65 74 11 lci Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
66 73 12 i I
68 71 13 superType Lcom/sun/tools/javac/code/Type;
77 84 9 classes Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
78 83 10 i I
MethodParameters:
Name Flags
ts
com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> erasedSupertypes(com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
flags: (0x0000)
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: new com.sun.tools.javac.util.ListBuffer
dup
invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
astore 2
start local 2 1: aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Types.closure:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 7
StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.util.ListBuffer top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
astore 3
start local 3 3: aload 3
getstatic com.sun.tools.javac.code.TypeTag.TYPEVAR:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 6
4: aload 2
aload 3
invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
pop
5: goto 7
6: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.code.Type java.util.Iterator
StackMap stack:
aload 2
aload 0
aload 3
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.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
pop
end local 3 7: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.util.ListBuffer top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
8: aload 2
invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/tools/javac/code/Types;
0 9 1 t Lcom/sun/tools/javac/code/Type;
1 9 2 buf Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Type;>;
3 7 3 sup Lcom/sun/tools/javac/code/Type;
Signature: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
MethodParameters:
Name Flags
t
private com.sun.tools.javac.code.Type arraySuperType();
descriptor: ()Lcom/sun/tools/javac/code/Type;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.javac.code.Types.arraySuperType:Lcom/sun/tools/javac/code/Type;
ifnonnull 12
1: aload 0
dup
astore 1
monitorenter
2: aload 0
getfield com.sun.tools.javac.code.Types.arraySuperType:Lcom/sun/tools/javac/code/Type;
ifnonnull 8
3: aload 0
aload 0
aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.serializableType:Lcom/sun/tools/javac/code/Type;
4: aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.cloneableType:Lcom/sun/tools/javac/code/Type;
5: invokestatic com.sun.tools.javac.util.List.of:(Ljava/lang/Object;Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
6: iconst_1
7: invokevirtual com.sun.tools.javac.code.Types.makeIntersectionType:(Lcom/sun/tools/javac/util/List;Z)Lcom/sun/tools/javac/code/Type$IntersectionClassType;
putfield com.sun.tools.javac.code.Types.arraySuperType:Lcom/sun/tools/javac/code/Type;
8: StackMap locals: com.sun.tools.javac.code.Types
StackMap stack:
aload 1
monitorexit
9: goto 12
StackMap locals:
StackMap stack: java.lang.Throwable
10: aload 1
monitorexit
11: athrow
12: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.code.Types.arraySuperType:Lcom/sun/tools/javac/code/Type;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/sun/tools/javac/code/Types;
Exception table:
from to target type
2 9 10 any
10 11 10 any
public com.sun.tools.javac.code.Type glb(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
descriptor: (Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
astore 2
start local 2 1: aload 1
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 6
StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.code.Type top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
astore 3
start local 3 3: aload 2
invokevirtual com.sun.tools.javac.code.Type.isErroneous:()Z
ifeq 5
4: aload 2
areturn
5: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type java.util.Iterator
StackMap stack:
aload 0
aload 2
aload 3
invokevirtual com.sun.tools.javac.code.Types.glb:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
astore 2
end local 3 6: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.code.Type top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
7: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/tools/javac/code/Types;
0 8 1 ts Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
1 8 2 t1 Lcom/sun/tools/javac/code/Type;
3 6 3 t2 Lcom/sun/tools/javac/code/Type;
Signature: (Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;)Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
ts
public com.sun.tools.javac.code.Type glb(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 2
1: aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
ifne 3
aload 2
invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
ifeq 4
3: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.errType:Lcom/sun/tools/javac/code/Type;
areturn
4: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual com.sun.tools.javac.code.Types.isSubtypeNoCapture:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifeq 6
5: aload 1
areturn
6: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 1
invokevirtual com.sun.tools.javac.code.Types.isSubtypeNoCapture:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifeq 8
7: aload 2
areturn
8: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Types.closure:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
aload 0
aload 2
invokevirtual com.sun.tools.javac.code.Types.closure:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.code.Types.union:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
astore 3
start local 3 9: aload 0
aload 3
aload 1
invokevirtual com.sun.tools.javac.code.Types.glbFlattened:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/tools/javac/code/Types;
0 10 1 t Lcom/sun/tools/javac/code/Type;
0 10 2 s Lcom/sun/tools/javac/code/Type;
9 10 3 closure Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
MethodParameters:
Name Flags
t
s
private com.sun.tools.javac.code.Type glbFlattened(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Types.closureMin:(Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
astore 3
start local 3 1: aload 3
invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
ifeq 3
2: aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
areturn
3: StackMap locals: com.sun.tools.javac.util.List
StackMap stack:
aload 3
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
ifeq 5
4: aload 3
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
areturn
5: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 6: invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
astore 5
start local 5 7: invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
astore 6
start local 6 8: aload 3
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 16
StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.code.Type com.sun.tools.javac.util.List int com.sun.tools.javac.util.List com.sun.tools.javac.util.List top java.util.Iterator
StackMap stack:
9: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
astore 7
start local 7 10: aload 7
invokevirtual com.sun.tools.javac.code.Type.isInterface:()Z
ifne 16
11: iinc 4 1
12: aload 0
aload 7
invokevirtual com.sun.tools.javac.code.Types.cvarLowerBound:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
astore 9
start local 9 13: aload 7
aload 9
if_acmpeq 16
aload 9
getstatic com.sun.tools.javac.code.TypeTag.BOT:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifne 16
14: aload 5
aload 7
invokevirtual com.sun.tools.javac.util.List.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
astore 5
15: aload 6
aload 9
invokevirtual com.sun.tools.javac.util.List.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
astore 6
end local 9 end local 7 16: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
17: iload 4
iconst_1
if_icmple 22
18: aload 6
invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
ifeq 20
19: aload 0
aload 2
invokevirtual com.sun.tools.javac.code.Types.createErrorType:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
areturn
20: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.code.Type com.sun.tools.javac.util.List int com.sun.tools.javac.util.List com.sun.tools.javac.util.List
StackMap stack:
aload 3
aload 5
invokevirtual com.sun.tools.javac.util.List.diff:(Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
aload 6
invokevirtual com.sun.tools.javac.util.List.appendList:(Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
astore 7
start local 7 21: aload 0
aload 7
invokevirtual com.sun.tools.javac.code.Types.glb:(Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type;
areturn
end local 7 end local 6 end local 5 end local 4 22: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual com.sun.tools.javac.code.Types.makeIntersectionType:(Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type$IntersectionClassType;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lcom/sun/tools/javac/code/Types;
0 23 1 flatBounds Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
0 23 2 errT Lcom/sun/tools/javac/code/Type;
1 23 3 bounds Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
6 22 4 classCount I
7 22 5 cvars Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
8 22 6 lowers Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
10 16 7 bound Lcom/sun/tools/javac/code/Type;
13 16 9 lower Lcom/sun/tools/javac/code/Type;
21 22 7 newBounds 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/code/Type;)Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
flatBounds
errT
public int hashCode(com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
invokevirtual com.sun.tools.javac.code.Types.hashCode:(Lcom/sun/tools/javac/code/Type;Z)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types;
0 1 1 t Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
public int hashCode(com.sun.tools.javac.code.Type, boolean);
descriptor: (Lcom/sun/tools/javac/code/Type;Z)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 2
ifeq 2
1: getstatic com.sun.tools.javac.code.Types.hashCodeStrictVisitor:Lcom/sun/tools/javac/code/Types$HashCodeVisitor;
aload 1
invokevirtual com.sun.tools.javac.code.Types$HashCodeVisitor.visit:(Lcom/sun/tools/javac/code/Type;)Ljava/lang/Object;
checkcast java.lang.Integer
goto 3
2: StackMap locals:
StackMap stack:
getstatic com.sun.tools.javac.code.Types.hashCodeVisitor:Lcom/sun/tools/javac/code/Types$HashCodeVisitor;
aload 1
invokevirtual com.sun.tools.javac.code.Types$HashCodeVisitor.visit:(Lcom/sun/tools/javac/code/Type;)Ljava/lang/Object;
checkcast java.lang.Integer
3: StackMap locals:
StackMap stack: java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/javac/code/Types;
0 4 1 t Lcom/sun/tools/javac/code/Type;
0 4 2 strict Z
MethodParameters:
Name Flags
t
strict
public boolean resultSubtype(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type, com.sun.tools.javac.util.Warner);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual com.sun.tools.javac.code.Type.getTypeArguments:()Lcom/sun/tools/javac/util/List;
astore 4
start local 4 1: aload 2
invokevirtual com.sun.tools.javac.code.Type.getTypeArguments:()Lcom/sun/tools/javac/util/List;
astore 5
start local 5 2: aload 1
invokevirtual com.sun.tools.javac.code.Type.getReturnType:()Lcom/sun/tools/javac/code/Type;
astore 6
start local 6 3: aload 0
aload 2
invokevirtual com.sun.tools.javac.code.Type.getReturnType:()Lcom/sun/tools/javac/code/Type;
aload 5
aload 4
invokevirtual com.sun.tools.javac.code.Types.subst:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type;
astore 7
start local 7 4: aload 0
aload 6
aload 7
aload 3
invokevirtual com.sun.tools.javac.code.Types.covariantReturnType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
ireturn
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 5 0 this Lcom/sun/tools/javac/code/Types;
0 5 1 t Lcom/sun/tools/javac/code/Type;
0 5 2 s Lcom/sun/tools/javac/code/Type;
0 5 3 warner Lcom/sun/tools/javac/util/Warner;
1 5 4 tvars Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
2 5 5 svars Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
3 5 6 tres Lcom/sun/tools/javac/code/Type;
4 5 7 sres Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
s
warner
public boolean returnTypeSubstitutable(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, 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.code.Types.hasSameArgs:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifeq 2
1: aload 0
aload 1
aload 2
aload 0
getfield com.sun.tools.javac.code.Types.noWarnings:Lcom/sun/tools/javac/util/Warner;
invokevirtual com.sun.tools.javac.code.Types.resultSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
ireturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Type.getReturnType:()Lcom/sun/tools/javac/code/Type;
3: aload 0
aload 2
invokevirtual com.sun.tools.javac.code.Type.getReturnType:()Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Types.erasure:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
4: aload 0
getfield com.sun.tools.javac.code.Types.noWarnings:Lcom/sun/tools/javac/util/Warner;
5: invokevirtual com.sun.tools.javac.code.Types.covariantReturnType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/tools/javac/code/Types;
0 6 1 r1 Lcom/sun/tools/javac/code/Type;
0 6 2 r2 Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
r1
r2
public boolean returnTypeSubstitutable(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type, com.sun.tools.javac.util.Warner);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Type.getReturnType:()Lcom/sun/tools/javac/code/Type;
aload 3
invokevirtual com.sun.tools.javac.code.Types.isSameType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.sun.tools.javac.code.Type.getReturnType:()Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
ifne 3
aload 3
invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
ifeq 4
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual com.sun.tools.javac.code.Types.hasSameArgs:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifeq 6
5: aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Type.getReturnType:()Lcom/sun/tools/javac/code/Type;
aload 3
aload 4
invokevirtual com.sun.tools.javac.code.Types.covariantReturnType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
ireturn
6: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Type.getReturnType:()Lcom/sun/tools/javac/code/Type;
aload 3
aload 4
invokevirtual com.sun.tools.javac.code.Types.isSubtypeUnchecked:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
ifeq 8
7: iconst_1
ireturn
8: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Type.getReturnType:()Lcom/sun/tools/javac/code/Type;
aload 0
aload 3
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.code.Types.isSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifne 10
9: iconst_0
ireturn
10: StackMap locals:
StackMap stack:
aload 4
getstatic com.sun.tools.javac.code.Lint$LintCategory.UNCHECKED:Lcom/sun/tools/javac/code/Lint$LintCategory;
invokevirtual com.sun.tools.javac.util.Warner.warn:(Lcom/sun/tools/javac/code/Lint$LintCategory;)V
11: iconst_1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/tools/javac/code/Types;
0 12 1 r1 Lcom/sun/tools/javac/code/Type;
0 12 2 r2 Lcom/sun/tools/javac/code/Type;
0 12 3 r2res Lcom/sun/tools/javac/code/Type;
0 12 4 warner Lcom/sun/tools/javac/util/Warner;
MethodParameters:
Name Flags
r1
r2
r2res
warner
public boolean covariantReturnType(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type, com.sun.tools.javac.util.Warner);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
invokevirtual com.sun.tools.javac.code.Types.isSameType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifne 5
1: aload 1
invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
ifne 4
2: aload 2
invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
ifne 4
3: aload 0
aload 1
aload 2
aload 3
invokevirtual com.sun.tools.javac.code.Types.isAssignable:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
ifne 5
4: StackMap locals:
StackMap stack:
iconst_0
ireturn
StackMap locals:
StackMap stack:
5: iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/tools/javac/code/Types;
0 6 1 t Lcom/sun/tools/javac/code/Type;
0 6 2 s Lcom/sun/tools/javac/code/Type;
0 6 3 warner Lcom/sun/tools/javac/util/Warner;
MethodParameters:
Name Flags
t
s
warner
public com.sun.tools.javac.code.Symbol$ClassSymbol boxedClass(com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.java_base:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.boxedName:[Lcom/sun/tools/javac/util/Name;
aload 1
invokevirtual com.sun.tools.javac.code.Type.getTag:()Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
aaload
invokevirtual com.sun.tools.javac.code.Symtab.enterClass:(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types;
0 1 1 t Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
public com.sun.tools.javac.code.Type boxedTypeOrType(com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
ifeq 2
1: aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Types.boxedClass:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
getfield com.sun.tools.javac.code.Symbol$ClassSymbol.type:Lcom/sun/tools/javac/code/Type;
goto 3
2: StackMap locals:
StackMap stack:
aload 1
3: StackMap locals:
StackMap stack: com.sun.tools.javac.code.Type
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/javac/code/Types;
0 4 1 t Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
public com.sun.tools.javac.code.Type unboxedType(com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 7
2: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.boxedName:[Lcom/sun/tools/javac/util/Name;
iload 2
aaload
astore 3
start local 3 3: aload 3
ifnull 6
4: aload 0
aload 1
aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.java_base:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
aload 3
invokevirtual com.sun.tools.javac.code.Symtab.enterClass:(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
invokevirtual com.sun.tools.javac.code.Types.asSuper:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
ifnull 6
5: aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.typeOfTag:[Lcom/sun/tools/javac/code/Type;
iload 2
aaload
areturn
end local 3 6: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.boxedName:[Lcom/sun/tools/javac/util/Name;
arraylength
if_icmplt 2
end local 2 8: getstatic com.sun.tools.javac.code.Type.noType:Lcom/sun/tools/javac/code/Type$JCNoType;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/tools/javac/code/Types;
0 9 1 t Lcom/sun/tools/javac/code/Type;
1 8 2 i I
3 6 3 box Lcom/sun/tools/javac/util/Name;
MethodParameters:
Name Flags
t
public com.sun.tools.javac.code.Type unboxedTypeOrType(com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Types.unboxedType:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
astore 2
start local 2 1: aload 2
getstatic com.sun.tools.javac.code.TypeTag.NONE:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 2
aload 1
goto 3
StackMap locals: com.sun.tools.javac.code.Type
StackMap stack:
2: aload 2
StackMap locals:
StackMap stack: com.sun.tools.javac.code.Type
3: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/javac/code/Types;
0 4 1 t Lcom/sun/tools/javac/code/Type;
1 4 2 unboxedType Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> capture(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
descriptor: (Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
astore 2
start local 2 1: aload 1
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 4
StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.util.List top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
astore 3
start local 3 3: aload 2
aload 0
aload 3
invokevirtual com.sun.tools.javac.code.Types.capture:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
astore 2
end local 3 4: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: aload 2
invokevirtual com.sun.tools.javac.util.List.reverse:()Lcom/sun/tools/javac/util/List;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/tools/javac/code/Types;
0 6 1 ts Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
1 6 2 buf Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
3 4 3 t Lcom/sun/tools/javac/code/Type;
Signature: (Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;)Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
MethodParameters:
Name Flags
ts
public com.sun.tools.javac.code.Type capture(com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=16, args_size=2
start local 0 start local 1 0: aload 1
getstatic com.sun.tools.javac.code.TypeTag.CLASS:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifne 2
1: aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.sun.tools.javac.code.Type.getEnclosingType:()Lcom/sun/tools/javac/code/Type;
getstatic com.sun.tools.javac.code.Type.noType:Lcom/sun/tools/javac/code/Type$JCNoType;
if_acmpeq 7
3: aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Type.getEnclosingType:()Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Types.capture:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
astore 2
start local 2 4: aload 2
aload 1
invokevirtual com.sun.tools.javac.code.Type.getEnclosingType:()Lcom/sun/tools/javac/code/Type;
if_acmpeq 7
5: aload 0
aload 2
aload 1
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
invokevirtual com.sun.tools.javac.code.Types.memberType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
astore 3
start local 3 6: aload 0
aload 3
aload 1
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
getfield com.sun.tools.javac.code.Symbol$TypeSymbol.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type.getTypeArguments:()Lcom/sun/tools/javac/util/List;
aload 1
invokevirtual com.sun.tools.javac.code.Type.getTypeArguments:()Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.code.Types.subst:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type;
astore 1
end local 3 end local 2 7: StackMap locals:
StackMap stack:
aload 1
checkcast com.sun.tools.javac.code.Type$ClassType
astore 2
start local 2 8: aload 2
invokevirtual com.sun.tools.javac.code.Type$ClassType.isRaw:()Z
ifne 9
aload 2
invokevirtual com.sun.tools.javac.code.Type$ClassType.isParameterized:()Z
ifne 10
9: StackMap locals: com.sun.tools.javac.code.Type$ClassType
StackMap stack:
aload 2
areturn
10: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.sun.tools.javac.code.Type$ClassType.asElement:()Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.asType:()Lcom/sun/tools/javac/code/Type;
checkcast com.sun.tools.javac.code.Type$ClassType
astore 3
start local 3 11: aload 3
invokevirtual com.sun.tools.javac.code.Type$ClassType.getTypeArguments:()Lcom/sun/tools/javac/util/List;
astore 4
start local 4 12: aload 2
invokevirtual com.sun.tools.javac.code.Type$ClassType.getTypeArguments:()Lcom/sun/tools/javac/util/List;
astore 5
start local 5 13: aload 0
aload 5
invokevirtual com.sun.tools.javac.code.Types.freshTypeVariables:(Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
astore 6
start local 6 14: aload 4
astore 7
start local 7 15: aload 5
astore 8
start local 8 16: aload 6
astore 9
start local 9 17: iconst_0
istore 10
start local 10 18: goto 48
19: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type$ClassType com.sun.tools.javac.code.Type$ClassType com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List int
StackMap stack:
aload 9
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
aload 8
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
if_acmpeq 45
20: iconst_1
istore 10
21: aload 8
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type$WildcardType
astore 11
start local 11 22: aload 7
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
invokevirtual com.sun.tools.javac.code.Type.getUpperBound:()Lcom/sun/tools/javac/code/Type;
astore 12
start local 12 23: aload 9
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type$CapturedType
astore 13
start local 13 24: aload 12
ifnonnull 26
25: aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
astore 12
26: StackMap locals: com.sun.tools.javac.code.Type$WildcardType com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type$CapturedType
StackMap stack:
invokestatic com.sun.tools.javac.code.Types.$SWITCH_TABLE$com$sun$tools$javac$code$BoundKind:()[I
aload 11
getfield com.sun.tools.javac.code.Type$WildcardType.kind:Lcom/sun/tools/javac/code/BoundKind;
invokevirtual com.sun.tools.javac.code.BoundKind.ordinal:()I
iaload
tableswitch { // 1 - 3
1: 30
2: 33
3: 27
default: 35
}
27: StackMap locals:
StackMap stack:
aload 13
aload 0
aload 12
aload 4
aload 6
invokevirtual com.sun.tools.javac.code.Types.subst:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type$CapturedType.setUpperBound:(Lcom/sun/tools/javac/code/Type;)V
28: aload 13
aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.botType:Lcom/sun/tools/javac/code/Type;
putfield com.sun.tools.javac.code.Type$CapturedType.lower:Lcom/sun/tools/javac/code/Type;
29: goto 35
30: StackMap locals:
StackMap stack:
aload 13
aload 0
aload 11
invokevirtual com.sun.tools.javac.code.Type$WildcardType.getExtendsBound:()Lcom/sun/tools/javac/code/Type;
aload 0
aload 12
aload 4
aload 6
invokevirtual com.sun.tools.javac.code.Types.subst:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Types.glb:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type$CapturedType.setUpperBound:(Lcom/sun/tools/javac/code/Type;)V
31: aload 13
aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.botType:Lcom/sun/tools/javac/code/Type;
putfield com.sun.tools.javac.code.Type$CapturedType.lower:Lcom/sun/tools/javac/code/Type;
32: goto 35
33: StackMap locals:
StackMap stack:
aload 13
aload 0
aload 12
aload 4
aload 6
invokevirtual com.sun.tools.javac.code.Types.subst:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type$CapturedType.setUpperBound:(Lcom/sun/tools/javac/code/Type;)V
34: aload 13
aload 11
invokevirtual com.sun.tools.javac.code.Type$WildcardType.getSuperBound:()Lcom/sun/tools/javac/code/Type;
putfield com.sun.tools.javac.code.Type$CapturedType.lower:Lcom/sun/tools/javac/code/Type;
35: StackMap locals:
StackMap stack:
aload 13
invokevirtual com.sun.tools.javac.code.Type$CapturedType.getUpperBound:()Lcom/sun/tools/javac/code/Type;
getstatic com.sun.tools.javac.code.TypeTag.UNDETVAR:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 36
aload 13
invokevirtual com.sun.tools.javac.code.Type$CapturedType.getUpperBound:()Lcom/sun/tools/javac/code/Type;
checkcast com.sun.tools.javac.code.Type$UndetVar
getfield com.sun.tools.javac.code.Type$UndetVar.qtype:Lcom/sun/tools/javac/code/Type;
goto 37
StackMap locals:
StackMap stack:
36: aload 13
invokevirtual com.sun.tools.javac.code.Type$CapturedType.getUpperBound:()Lcom/sun/tools/javac/code/Type;
StackMap locals:
StackMap stack: com.sun.tools.javac.code.Type
37: astore 14
start local 14 38: aload 13
getfield com.sun.tools.javac.code.Type$CapturedType.lower:Lcom/sun/tools/javac/code/Type;
getstatic com.sun.tools.javac.code.TypeTag.UNDETVAR:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 39
aload 13
getfield com.sun.tools.javac.code.Type$CapturedType.lower:Lcom/sun/tools/javac/code/Type;
checkcast com.sun.tools.javac.code.Type$UndetVar
getfield com.sun.tools.javac.code.Type$UndetVar.qtype:Lcom/sun/tools/javac/code/Type;
goto 40
StackMap locals: com.sun.tools.javac.code.Type
StackMap stack:
39: aload 13
getfield com.sun.tools.javac.code.Type$CapturedType.lower:Lcom/sun/tools/javac/code/Type;
StackMap locals:
StackMap stack: com.sun.tools.javac.code.Type
40: astore 15
start local 15 41: aload 13
invokevirtual com.sun.tools.javac.code.Type$CapturedType.getUpperBound:()Lcom/sun/tools/javac/code/Type;
getstatic com.sun.tools.javac.code.TypeTag.ERROR:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifne 45
42: aload 13
getfield com.sun.tools.javac.code.Type$CapturedType.lower:Lcom/sun/tools/javac/code/Type;
getstatic com.sun.tools.javac.code.TypeTag.ERROR:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifne 45
43: aload 0
aload 14
aload 15
invokevirtual com.sun.tools.javac.code.Types.isSameType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifeq 45
44: aload 9
aload 13
invokevirtual com.sun.tools.javac.code.Type$CapturedType.getUpperBound:()Lcom/sun/tools/javac/code/Type;
putfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
end local 15 end local 14 end local 13 end local 12 end local 11 45: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type$ClassType com.sun.tools.javac.code.Type$ClassType com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List int
StackMap stack:
aload 7
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 7
46: aload 8
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 8
47: aload 9
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 9
48: StackMap locals:
StackMap stack:
aload 7
invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
ifne 51
49: aload 8
invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
ifne 51
50: aload 9
invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
ifeq 19
51: StackMap locals:
StackMap stack:
aload 7
invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
ifeq 52
aload 8
invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
ifeq 52
aload 9
invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
ifne 53
52: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Types.erasure:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
areturn
53: StackMap locals:
StackMap stack:
iload 10
ifeq 57
54: new com.sun.tools.javac.code.Type$ClassType
dup
aload 2
invokevirtual com.sun.tools.javac.code.Type$ClassType.getEnclosingType:()Lcom/sun/tools/javac/code/Type;
aload 6
aload 2
getfield com.sun.tools.javac.code.Type$ClassType.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
55: aload 2
invokevirtual com.sun.tools.javac.code.Type$ClassType.getMetadata:()Lcom/sun/tools/javac/code/TypeMetadata;
56: invokespecial com.sun.tools.javac.code.Type$ClassType.<init>:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/TypeMetadata;)V
areturn
57: StackMap locals:
StackMap stack:
aload 1
areturn
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 58 0 this Lcom/sun/tools/javac/code/Types;
0 58 1 t Lcom/sun/tools/javac/code/Type;
4 7 2 capturedEncl Lcom/sun/tools/javac/code/Type;
6 7 3 type1 Lcom/sun/tools/javac/code/Type;
8 58 2 cls Lcom/sun/tools/javac/code/Type$ClassType;
11 58 3 G Lcom/sun/tools/javac/code/Type$ClassType;
12 58 4 A Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
13 58 5 T Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
14 58 6 S Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
15 58 7 currentA Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
16 58 8 currentT Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
17 58 9 currentS Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
18 58 10 captured Z
22 45 11 Ti Lcom/sun/tools/javac/code/Type$WildcardType;
23 45 12 Ui Lcom/sun/tools/javac/code/Type;
24 45 13 Si Lcom/sun/tools/javac/code/Type$CapturedType;
38 45 14 tmpBound Lcom/sun/tools/javac/code/Type;
41 45 15 tmpLower Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> freshTypeVariables(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
descriptor: (Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=6, args_size=2
start local 0 start local 1 0: new com.sun.tools.javac.util.ListBuffer
dup
invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
astore 2
start local 2 1: aload 1
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 15
StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
astore 3
start local 3 3: aload 3
getstatic com.sun.tools.javac.code.TypeTag.WILDCARD:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 14
4: aload 3
checkcast com.sun.tools.javac.code.Type$WildcardType
invokevirtual com.sun.tools.javac.code.Type$WildcardType.getExtendsBound:()Lcom/sun/tools/javac/code/Type;
astore 5
start local 5 5: aload 5
ifnonnull 7
6: aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
astore 5
7: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.code.Type java.util.Iterator com.sun.tools.javac.code.Type
StackMap stack:
aload 2
new com.sun.tools.javac.code.Type$CapturedType
dup
aload 0
getfield com.sun.tools.javac.code.Types.capturedName:Lcom/sun/tools/javac/util/Name;
8: aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.noSymbol:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
9: aload 5
10: aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.botType:Lcom/sun/tools/javac/code/Type;
11: aload 3
checkcast com.sun.tools.javac.code.Type$WildcardType
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
12: invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
pop
end local 5 13: goto 15
14: StackMap locals:
StackMap stack:
aload 2
aload 3
invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
pop
end local 3 15: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
16: aload 2
invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/sun/tools/javac/code/Types;
0 17 1 types Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
1 17 2 result Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Type;>;
3 15 3 t Lcom/sun/tools/javac/code/Type;
5 13 5 bound Lcom/sun/tools/javac/code/Type;
Signature: (Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;)Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
MethodParameters:
Name Flags
types
private boolean sideCast(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type, com.sun.tools.javac.util.Warner);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: aload 2
astore 5
start local 5 2: aload 2
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.flags:()J
ldc 512
land
lconst_0
lcmp
ifne 9
3: aload 1
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.flags:()J
ldc 512
land
lconst_0
lcmp
ifeq 4
iconst_1
goto 5
StackMap locals: int com.sun.tools.javac.code.Type
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
6: iconst_1
istore 4
7: aload 1
astore 2
8: aload 5
astore 1
9: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 0
aload 1
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.code.Types.superClosure:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
astore 6
start local 6 10: aload 6
invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
istore 7
start local 7 11: goto 22
12: StackMap locals: com.sun.tools.javac.util.List int
StackMap stack:
aload 0
aload 1
aload 6
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
invokevirtual com.sun.tools.javac.code.Types.asSuper:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
astore 8
start local 8 13: aload 6
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
astore 9
start local 9 14: aload 0
aload 8
invokevirtual com.sun.tools.javac.code.Type.getTypeArguments:()Lcom/sun/tools/javac/util/List;
aload 9
invokevirtual com.sun.tools.javac.code.Type.getTypeArguments:()Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.code.Types.disjointTypes:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Z
ifeq 16
15: iconst_0
ireturn
16: StackMap locals: com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type
StackMap stack:
iload 7
ifne 19
iload 4
ifeq 17
aload 0
aload 9
aload 8
invokevirtual com.sun.tools.javac.code.Types.giveWarning:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifne 19
goto 18
StackMap locals:
StackMap stack:
17: aload 0
aload 8
aload 9
invokevirtual com.sun.tools.javac.code.Types.giveWarning:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifne 19
StackMap locals:
StackMap stack:
18: iconst_0
goto 20
StackMap locals:
StackMap stack:
19: iconst_1
StackMap locals:
StackMap stack: int
20: istore 7
21: aload 6
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 6
end local 9 end local 8 22: StackMap locals:
StackMap stack:
aload 6
invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
ifne 12
23: iload 7
ifeq 27
aload 0
iload 4
ifeq 24
aload 1
goto 25
StackMap locals:
StackMap stack: com.sun.tools.javac.code.Types
24: aload 2
StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type com.sun.tools.javac.util.Warner int com.sun.tools.javac.code.Type com.sun.tools.javac.util.List int
StackMap stack: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type
25: invokevirtual com.sun.tools.javac.code.Types.isReifiable:(Lcom/sun/tools/javac/code/Type;)Z
ifne 27
26: aload 3
getstatic com.sun.tools.javac.code.Lint$LintCategory.UNCHECKED:Lcom/sun/tools/javac/code/Lint$LintCategory;
invokevirtual com.sun.tools.javac.util.Warner.warn:(Lcom/sun/tools/javac/code/Lint$LintCategory;)V
27: StackMap locals:
StackMap stack:
iconst_1
ireturn
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 28 0 this Lcom/sun/tools/javac/code/Types;
0 28 1 from Lcom/sun/tools/javac/code/Type;
0 28 2 to Lcom/sun/tools/javac/code/Type;
0 28 3 warn Lcom/sun/tools/javac/util/Warner;
1 28 4 reverse Z
2 28 5 target Lcom/sun/tools/javac/code/Type;
10 28 6 commonSupers Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
11 28 7 giveWarning Z
13 22 8 t1 Lcom/sun/tools/javac/code/Type;
14 22 9 t2 Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
from
to
warn
private boolean sideCastFinal(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type, com.sun.tools.javac.util.Warner);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: aload 2
astore 5
start local 5 2: aload 2
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.flags:()J
ldc 512
land
lconst_0
lcmp
ifne 9
3: aload 1
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.flags:()J
ldc 512
land
lconst_0
lcmp
ifeq 4
iconst_1
goto 5
StackMap locals: int com.sun.tools.javac.code.Type
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
6: iconst_1
istore 4
7: aload 1
astore 2
8: aload 5
astore 1
9: StackMap locals:
StackMap stack:
aload 1
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.flags:()J
ldc 16
land
lconst_0
lcmp
ifeq 10
iconst_1
goto 11
StackMap locals:
StackMap stack:
10: iconst_0
StackMap locals:
StackMap stack: int
11: invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
12: aload 0
aload 1
aload 2
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
invokevirtual com.sun.tools.javac.code.Types.asSuper:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
astore 6
start local 6 13: aload 6
ifnonnull 14
iconst_0
ireturn
14: StackMap locals: com.sun.tools.javac.code.Type
StackMap stack:
aload 2
astore 7
start local 7 15: aload 0
aload 6
invokevirtual com.sun.tools.javac.code.Type.getTypeArguments:()Lcom/sun/tools/javac/util/List;
aload 7
invokevirtual com.sun.tools.javac.code.Type.getTypeArguments:()Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.code.Types.disjointTypes:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Z
ifeq 17
16: iconst_0
ireturn
17: StackMap locals: com.sun.tools.javac.code.Type
StackMap stack:
aload 0
aload 5
invokevirtual com.sun.tools.javac.code.Types.isReifiable:(Lcom/sun/tools/javac/code/Type;)Z
ifne 21
18: iload 4
ifeq 19
aload 0
aload 7
aload 6
invokevirtual com.sun.tools.javac.code.Types.giveWarning:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifeq 21
goto 20
StackMap locals:
StackMap stack:
19: aload 0
aload 6
aload 7
invokevirtual com.sun.tools.javac.code.Types.giveWarning:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifeq 21
20: StackMap locals:
StackMap stack:
aload 3
getstatic com.sun.tools.javac.code.Lint$LintCategory.UNCHECKED:Lcom/sun/tools/javac/code/Lint$LintCategory;
invokevirtual com.sun.tools.javac.util.Warner.warn:(Lcom/sun/tools/javac/code/Lint$LintCategory;)V
21: StackMap locals:
StackMap stack:
iconst_1
ireturn
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 22 0 this Lcom/sun/tools/javac/code/Types;
0 22 1 from Lcom/sun/tools/javac/code/Type;
0 22 2 to Lcom/sun/tools/javac/code/Type;
0 22 3 warn Lcom/sun/tools/javac/util/Warner;
1 22 4 reverse Z
2 22 5 target Lcom/sun/tools/javac/code/Type;
13 22 6 t1 Lcom/sun/tools/javac/code/Type;
15 22 7 t2 Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
from
to
warn
private boolean giveWarning(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual com.sun.tools.javac.code.Type.isCompound:()Z
ifeq 2
1: aload 0
aload 2
invokevirtual com.sun.tools.javac.code.Types.directSupertypes:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
goto 3
StackMap locals:
StackMap stack:
2: aload 2
invokestatic com.sun.tools.javac.util.List.of:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
3: StackMap locals:
StackMap stack: com.sun.tools.javac.util.List
astore 3
start local 3 4: aload 3
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 12
StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type com.sun.tools.javac.util.List top java.util.Iterator
StackMap stack:
5: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
astore 4
start local 4 6: aload 0
aload 1
aload 4
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
invokevirtual com.sun.tools.javac.code.Types.asSub:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
astore 6
start local 6 7: aload 4
invokevirtual com.sun.tools.javac.code.Type.isParameterized:()Z
ifeq 12
8: aload 0
aload 4
invokevirtual com.sun.tools.javac.code.Types.isUnbounded:(Lcom/sun/tools/javac/code/Type;)Z
ifne 12
9: aload 0
aload 1
aload 4
invokevirtual com.sun.tools.javac.code.Types.isSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifne 12
10: aload 6
ifnull 11
aload 0
aload 4
invokevirtual com.sun.tools.javac.code.Type.allparams:()Lcom/sun/tools/javac/util/List;
aload 6
invokevirtual com.sun.tools.javac.code.Type.allparams:()Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.code.Types.containsType:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Z
ifne 12
11: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type com.sun.tools.javac.util.List com.sun.tools.javac.code.Type java.util.Iterator com.sun.tools.javac.code.Type
StackMap stack:
iconst_1
ireturn
end local 6 end local 4 12: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type com.sun.tools.javac.util.List top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
13: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/sun/tools/javac/code/Types;
0 14 1 from Lcom/sun/tools/javac/code/Type;
0 14 2 to Lcom/sun/tools/javac/code/Type;
4 14 3 bounds Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
6 12 4 b Lcom/sun/tools/javac/code/Type;
7 12 6 subFrom Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
from
to
private com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> superClosure(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
astore 3
start local 3 1: aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Types.interfaces:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
astore 4
start local 4 2: goto 8
3: StackMap locals: com.sun.tools.javac.util.List com.sun.tools.javac.util.List
StackMap stack:
aload 0
aload 2
aload 0
aload 4
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
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.code.Types.isSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifeq 6
4: aload 0
aload 3
aload 4
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
invokevirtual com.sun.tools.javac.code.Types.insert:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
astore 3
5: goto 7
6: StackMap locals:
StackMap stack:
aload 0
aload 3
aload 0
aload 4
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
aload 2
invokevirtual com.sun.tools.javac.code.Types.superClosure:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.code.Types.union:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
astore 3
7: StackMap locals:
StackMap stack:
aload 4
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 4
StackMap locals:
StackMap stack:
8: aload 4
invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
ifne 3
end local 4 9: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/tools/javac/code/Types;
0 10 1 t Lcom/sun/tools/javac/code/Type;
0 10 2 s Lcom/sun/tools/javac/code/Type;
1 10 3 cl Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
2 9 4 l Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
Signature: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
MethodParameters:
Name Flags
t
s
private boolean containsTypeEquivalent(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
flags: (0x0002) ACC_PRIVATE
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.code.Types.isSameType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifne 3
1: aload 0
aload 1
aload 2
invokevirtual com.sun.tools.javac.code.Types.containsType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifeq 2
aload 0
aload 2
aload 1
invokevirtual com.sun.tools.javac.code.Types.containsType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifne 3
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
StackMap locals:
StackMap stack:
3: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/javac/code/Types;
0 4 1 t Lcom/sun/tools/javac/code/Type;
0 4 2 s Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
s
public void adapt(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type, com.sun.tools.javac.util.ListBuffer<com.sun.tools.javac.code.Type>, com.sun.tools.javac.util.ListBuffer<com.sun.tools.javac.code.Type>);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/ListBuffer;Lcom/sun/tools/javac/util/ListBuffer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, 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.code.Types$Adapter
dup
aload 0
aload 3
aload 4
invokespecial com.sun.tools.javac.code.Types$Adapter.<init>:(Lcom/sun/tools/javac/code/Types;Lcom/sun/tools/javac/util/ListBuffer;Lcom/sun/tools/javac/util/ListBuffer;)V
aload 1
aload 2
invokevirtual com.sun.tools.javac.code.Types$Adapter.adapt:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)V
1: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/javac/code/Types;
0 2 1 source Lcom/sun/tools/javac/code/Type;
0 2 2 target Lcom/sun/tools/javac/code/Type;
0 2 3 from Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Type;>;
0 2 4 to Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Type;>;
Exceptions:
throws com.sun.tools.javac.code.Types$AdaptFailure
Signature: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Type;>;Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Type;>;)V
MethodParameters:
Name Flags
source
target
from
to
private void adaptSelf(com.sun.tools.javac.code.Type, com.sun.tools.javac.util.ListBuffer<com.sun.tools.javac.code.Type>, com.sun.tools.javac.util.ListBuffer<com.sun.tools.javac.code.Type>);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/ListBuffer;Lcom/sun/tools/javac/util/ListBuffer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
getfield com.sun.tools.javac.code.Symbol$TypeSymbol.type:Lcom/sun/tools/javac/code/Type;
aload 1
aload 2
aload 3
invokevirtual com.sun.tools.javac.code.Types.adapt:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/ListBuffer;Lcom/sun/tools/javac/util/ListBuffer;)V
1: goto 4
StackMap locals:
StackMap stack: com.sun.tools.javac.code.Types$AdaptFailure
2: astore 4
start local 4 3: new java.lang.AssertionError
dup
aload 4
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 4 4: StackMap locals:
StackMap stack:
return
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/code/Types;
0 5 1 t Lcom/sun/tools/javac/code/Type;
0 5 2 from Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Type;>;
0 5 3 to Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Type;>;
3 4 4 ex Lcom/sun/tools/javac/code/Types$AdaptFailure;
Exception table:
from to target type
0 1 2 Class com.sun.tools.javac.code.Types$AdaptFailure
Signature: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Type;>;Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Type;>;)V
MethodParameters:
Name Flags
t
from
to
private com.sun.tools.javac.code.Type rewriteQuantifiers(com.sun.tools.javac.code.Type, boolean, boolean);
descriptor: (Lcom/sun/tools/javac/code/Type;ZZ)Lcom/sun/tools/javac/code/Type;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new com.sun.tools.javac.code.Types$Rewriter
dup
aload 0
iload 2
iload 3
invokespecial com.sun.tools.javac.code.Types$Rewriter.<init>:(Lcom/sun/tools/javac/code/Types;ZZ)V
aload 1
invokevirtual com.sun.tools.javac.code.Types$Rewriter.visit:(Lcom/sun/tools/javac/code/Type;)Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types;
0 1 1 t Lcom/sun/tools/javac/code/Type;
0 1 2 high Z
0 1 3 rewriteTypeVars Z
MethodParameters:
Name Flags
t
high
rewriteTypeVars
private com.sun.tools.javac.code.Type$WildcardType makeExtendsWildcard(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type$TypeVar);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type$TypeVar;)Lcom/sun/tools/javac/code/Type$WildcardType;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
if_acmpne 6
1: new com.sun.tools.javac.code.Type$WildcardType
dup
aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
2: getstatic com.sun.tools.javac.code.BoundKind.UNBOUND:Lcom/sun/tools/javac/code/BoundKind;
3: aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.boundClass:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
4: aload 2
5: invokespecial com.sun.tools.javac.code.Type$WildcardType.<init>:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/BoundKind;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Type$TypeVar;)V
areturn
6: StackMap locals:
StackMap stack:
new com.sun.tools.javac.code.Type$WildcardType
dup
aload 1
7: getstatic com.sun.tools.javac.code.BoundKind.EXTENDS:Lcom/sun/tools/javac/code/BoundKind;
8: aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.boundClass:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
9: aload 2
10: invokespecial com.sun.tools.javac.code.Type$WildcardType.<init>:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/BoundKind;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Type$TypeVar;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/tools/javac/code/Types;
0 11 1 bound Lcom/sun/tools/javac/code/Type;
0 11 2 formal Lcom/sun/tools/javac/code/Type$TypeVar;
MethodParameters:
Name Flags
bound
formal
private com.sun.tools.javac.code.Type$WildcardType makeSuperWildcard(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type$TypeVar);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type$TypeVar;)Lcom/sun/tools/javac/code/Type$WildcardType;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getstatic com.sun.tools.javac.code.TypeTag.BOT:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 6
1: new com.sun.tools.javac.code.Type$WildcardType
dup
aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
2: getstatic com.sun.tools.javac.code.BoundKind.UNBOUND:Lcom/sun/tools/javac/code/BoundKind;
3: aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.boundClass:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
4: aload 2
5: invokespecial com.sun.tools.javac.code.Type$WildcardType.<init>:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/BoundKind;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Type$TypeVar;)V
areturn
6: StackMap locals:
StackMap stack:
new com.sun.tools.javac.code.Type$WildcardType
dup
aload 1
7: getstatic com.sun.tools.javac.code.BoundKind.SUPER:Lcom/sun/tools/javac/code/BoundKind;
8: aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.boundClass:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
9: aload 2
10: invokespecial com.sun.tools.javac.code.Type$WildcardType.<init>:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/BoundKind;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Type$TypeVar;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/tools/javac/code/Types;
0 11 1 bound Lcom/sun/tools/javac/code/Type;
0 11 2 formal Lcom/sun/tools/javac/code/Type$TypeVar;
MethodParameters:
Name Flags
bound
formal
public com.sun.tools.javac.code.Attribute$RetentionPolicy getRetention(com.sun.tools.javac.code.Attribute$Compound);
descriptor: (Lcom/sun/tools/javac/code/Attribute$Compound;)Lcom/sun/tools/javac/code/Attribute$RetentionPolicy;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getfield com.sun.tools.javac.code.Attribute$Compound.type:Lcom/sun/tools/javac/code/Type;
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
invokevirtual com.sun.tools.javac.code.Types.getRetention:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Lcom/sun/tools/javac/code/Attribute$RetentionPolicy;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types;
0 1 1 a Lcom/sun/tools/javac/code/Attribute$Compound;
MethodParameters:
Name Flags
a
public com.sun.tools.javac.code.Attribute$RetentionPolicy getRetention(com.sun.tools.javac.code.Symbol$TypeSymbol);
descriptor: (Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Lcom/sun/tools/javac/code/Attribute$RetentionPolicy;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: getstatic com.sun.tools.javac.code.Attribute$RetentionPolicy.CLASS:Lcom/sun/tools/javac/code/Attribute$RetentionPolicy;
astore 2
start local 2 1: aload 1
aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.retentionType:Lcom/sun/tools/javac/code/Type;
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.attribute:(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Attribute$Compound;
astore 3
start local 3 2: aload 3
ifnull 9
3: aload 3
aload 0
getfield com.sun.tools.javac.code.Types.names:Lcom/sun/tools/javac/util/Names;
getfield com.sun.tools.javac.util.Names.value:Lcom/sun/tools/javac/util/Name;
invokevirtual com.sun.tools.javac.code.Attribute$Compound.member:(Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/code/Attribute;
astore 4
start local 4 4: aload 4
ifnull 9
aload 4
instanceof com.sun.tools.javac.code.Attribute$Enum
ifeq 9
5: aload 4
checkcast com.sun.tools.javac.code.Attribute$Enum
getfield com.sun.tools.javac.code.Attribute$Enum.value:Lcom/sun/tools/javac/code/Symbol$VarSymbol;
getfield com.sun.tools.javac.code.Symbol$VarSymbol.name:Lcom/sun/tools/javac/util/Name;
astore 5
start local 5 6: aload 5
aload 0
getfield com.sun.tools.javac.code.Types.names:Lcom/sun/tools/javac/util/Names;
getfield com.sun.tools.javac.util.Names.SOURCE:Lcom/sun/tools/javac/util/Name;
if_acmpne 7
getstatic com.sun.tools.javac.code.Attribute$RetentionPolicy.SOURCE:Lcom/sun/tools/javac/code/Attribute$RetentionPolicy;
astore 2
goto 9
7: StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Symbol$TypeSymbol com.sun.tools.javac.code.Attribute$RetentionPolicy com.sun.tools.javac.code.Attribute$Compound com.sun.tools.javac.code.Attribute com.sun.tools.javac.util.Name
StackMap stack:
aload 5
aload 0
getfield com.sun.tools.javac.code.Types.names:Lcom/sun/tools/javac/util/Names;
getfield com.sun.tools.javac.util.Names.CLASS:Lcom/sun/tools/javac/util/Name;
if_acmpne 8
getstatic com.sun.tools.javac.code.Attribute$RetentionPolicy.CLASS:Lcom/sun/tools/javac/code/Attribute$RetentionPolicy;
astore 2
goto 9
8: StackMap locals:
StackMap stack:
aload 5
aload 0
getfield com.sun.tools.javac.code.Types.names:Lcom/sun/tools/javac/util/Names;
getfield com.sun.tools.javac.util.Names.RUNTIME:Lcom/sun/tools/javac/util/Name;
if_acmpne 9
getstatic com.sun.tools.javac.code.Attribute$RetentionPolicy.RUNTIME:Lcom/sun/tools/javac/code/Attribute$RetentionPolicy;
astore 2
end local 5 end local 4 9: StackMap locals:
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/tools/javac/code/Types;
0 10 1 sym Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
1 10 2 vis Lcom/sun/tools/javac/code/Attribute$RetentionPolicy;
2 10 3 c Lcom/sun/tools/javac/code/Attribute$Compound;
4 9 4 value Lcom/sun/tools/javac/code/Attribute;
6 9 5 levelName Lcom/sun/tools/javac/util/Name;
MethodParameters:
Name Flags
sym
public com.sun.tools.javac.code.Type constantType(com.sun.tools.javac.jvm.PoolConstant$LoadableConstant);
descriptor: (Lcom/sun/tools/javac/jvm/PoolConstant$LoadableConstant;)Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface com.sun.tools.javac.jvm.PoolConstant$LoadableConstant.poolTag:()I
tableswitch { // 3 - 17
3: 3
4: 4
5: 5
6: 6
7: 1
8: 2
9: 10
10: 10
11: 10
12: 10
13: 10
14: 10
15: 7
16: 8
17: 9
default: 10
}
1: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.classType:Lcom/sun/tools/javac/code/Type;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.stringType:Lcom/sun/tools/javac/code/Type;
areturn
3: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.intType:Lcom/sun/tools/javac/code/Type$JCPrimitiveType;
areturn
4: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.floatType:Lcom/sun/tools/javac/code/Type$JCPrimitiveType;
areturn
5: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.longType:Lcom/sun/tools/javac/code/Type$JCPrimitiveType;
areturn
6: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.doubleType:Lcom/sun/tools/javac/code/Type$JCPrimitiveType;
areturn
7: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.methodHandleType:Lcom/sun/tools/javac/code/Type;
areturn
8: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.methodTypeType:Lcom/sun/tools/javac/code/Type;
areturn
9: StackMap locals:
StackMap stack:
aload 1
checkcast com.sun.tools.javac.code.Symbol$DynamicVarSymbol
getfield com.sun.tools.javac.code.Symbol$DynamicVarSymbol.type:Lcom/sun/tools/javac/code/Type;
areturn
10: StackMap locals:
StackMap stack:
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Not a loadable constant: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokeinterface com.sun.tools.javac.jvm.PoolConstant$LoadableConstant.poolTag:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/tools/javac/code/Types;
0 11 1 c Lcom/sun/tools/javac/jvm/PoolConstant$LoadableConstant;
MethodParameters:
Name Flags
c
public void newRound();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.javac.code.Types.descCache:Lcom/sun/tools/javac/code/Types$DescriptorCache;
getfield com.sun.tools.javac.code.Types$DescriptorCache._map:Ljava/util/WeakHashMap;
invokevirtual java.util.WeakHashMap.clear:()V
1: aload 0
getfield com.sun.tools.javac.code.Types.isDerivedRawCache:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
2: aload 0
getfield com.sun.tools.javac.code.Types.implCache:Lcom/sun/tools/javac/code/Types$ImplementationCache;
getfield com.sun.tools.javac.code.Types$ImplementationCache._map:Ljava/util/WeakHashMap;
invokevirtual java.util.WeakHashMap.clear:()V
3: aload 0
getfield com.sun.tools.javac.code.Types.membersCache:Lcom/sun/tools/javac/code/Types$MembersClosureCache;
getfield com.sun.tools.javac.code.Types$MembersClosureCache._map:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
4: aload 0
getfield com.sun.tools.javac.code.Types.closureCache:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/tools/javac/code/Types;
static int[] $SWITCH_TABLE$com$sun$tools$javac$code$BoundKind();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic com.sun.tools.javac.code.Types.$SWITCH_TABLE$com$sun$tools$javac$code$BoundKind:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic com.sun.tools.javac.code.BoundKind.values:()[Lcom/sun/tools/javac/code/BoundKind;
arraylength
newarray 10
astore 0
2: aload 0
getstatic com.sun.tools.javac.code.BoundKind.EXTENDS:Lcom/sun/tools/javac/code/BoundKind;
invokevirtual com.sun.tools.javac.code.BoundKind.ordinal:()I
iconst_1
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic com.sun.tools.javac.code.BoundKind.SUPER:Lcom/sun/tools/javac/code/BoundKind;
invokevirtual com.sun.tools.javac.code.BoundKind.ordinal:()I
iconst_2
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic com.sun.tools.javac.code.BoundKind.UNBOUND:Lcom/sun/tools/javac/code/BoundKind;
invokevirtual com.sun.tools.javac.code.BoundKind.ordinal:()I
iconst_3
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
dup
putstatic com.sun.tools.javac.code.Types.$SWITCH_TABLE$com$sun$tools$javac$code$BoundKind:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
static int[] $SWITCH_TABLE$com$sun$tools$javac$code$TypeTag();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic com.sun.tools.javac.code.Types.$SWITCH_TABLE$com$sun$tools$javac$code$TypeTag:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic com.sun.tools.javac.code.TypeTag.values:()[Lcom/sun/tools/javac/code/TypeTag;
arraylength
newarray 10
astore 0
2: aload 0
getstatic com.sun.tools.javac.code.TypeTag.ARRAY:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
bipush 11
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic com.sun.tools.javac.code.TypeTag.BOOLEAN:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
bipush 8
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic com.sun.tools.javac.code.TypeTag.BOT:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
bipush 19
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic com.sun.tools.javac.code.TypeTag.BYTE:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
iconst_1
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic com.sun.tools.javac.code.TypeTag.CHAR:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
iconst_2
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic com.sun.tools.javac.code.TypeTag.CLASS:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
bipush 10
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic com.sun.tools.javac.code.TypeTag.DEFERRED:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
bipush 18
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic com.sun.tools.javac.code.TypeTag.DOUBLE:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
bipush 7
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic com.sun.tools.javac.code.TypeTag.ERROR:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
bipush 21
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
getstatic com.sun.tools.javac.code.TypeTag.FLOAT:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
iconst_5
iastore
30: goto 32
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
31: pop
StackMap locals:
StackMap stack:
32: aload 0
getstatic com.sun.tools.javac.code.TypeTag.FORALL:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
bipush 17
iastore
33: goto 35
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
34: pop
StackMap locals:
StackMap stack:
35: aload 0
getstatic com.sun.tools.javac.code.TypeTag.INT:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
bipush 6
iastore
36: goto 38
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
37: pop
StackMap locals:
StackMap stack:
38: aload 0
getstatic com.sun.tools.javac.code.TypeTag.LONG:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
iconst_4
iastore
39: goto 41
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
40: pop
StackMap locals:
StackMap stack:
41: aload 0
getstatic com.sun.tools.javac.code.TypeTag.METHOD:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
bipush 12
iastore
42: goto 44
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
43: pop
StackMap locals:
StackMap stack:
44: aload 0
getstatic com.sun.tools.javac.code.TypeTag.MODULE:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
bipush 14
iastore
45: goto 47
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
46: pop
StackMap locals:
StackMap stack:
47: aload 0
getstatic com.sun.tools.javac.code.TypeTag.NONE:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
bipush 20
iastore
48: goto 50
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
49: pop
StackMap locals:
StackMap stack:
50: aload 0
getstatic com.sun.tools.javac.code.TypeTag.PACKAGE:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
bipush 13
iastore
51: goto 53
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
52: pop
StackMap locals:
StackMap stack:
53: aload 0
getstatic com.sun.tools.javac.code.TypeTag.SHORT:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
iconst_3
iastore
54: goto 56
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
55: pop
StackMap locals:
StackMap stack:
56: aload 0
getstatic com.sun.tools.javac.code.TypeTag.TYPEVAR:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
bipush 15
iastore
57: goto 59
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
58: pop
StackMap locals:
StackMap stack:
59: aload 0
getstatic com.sun.tools.javac.code.TypeTag.UNDETVAR:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
bipush 23
iastore
60: goto 62
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
61: pop
StackMap locals:
StackMap stack:
62: aload 0
getstatic com.sun.tools.javac.code.TypeTag.UNINITIALIZED_OBJECT:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
bipush 25
iastore
63: goto 65
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
64: pop
StackMap locals:
StackMap stack:
65: aload 0
getstatic com.sun.tools.javac.code.TypeTag.UNINITIALIZED_THIS:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
bipush 24
iastore
66: goto 68
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
67: pop
StackMap locals:
StackMap stack:
68: aload 0
getstatic com.sun.tools.javac.code.TypeTag.UNKNOWN:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
bipush 22
iastore
69: goto 71
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
70: pop
StackMap locals:
StackMap stack:
71: aload 0
getstatic com.sun.tools.javac.code.TypeTag.VOID:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
bipush 9
iastore
72: goto 74
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
73: pop
StackMap locals:
StackMap stack:
74: aload 0
getstatic com.sun.tools.javac.code.TypeTag.WILDCARD:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
bipush 16
iastore
75: goto 77
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
76: pop
StackMap locals:
StackMap stack:
77: aload 0
dup
putstatic com.sun.tools.javac.code.Types.$SWITCH_TABLE$com$sun$tools$javac$code$TypeTag:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
23 24 25 Class java.lang.NoSuchFieldError
26 27 28 Class java.lang.NoSuchFieldError
29 30 31 Class java.lang.NoSuchFieldError
32 33 34 Class java.lang.NoSuchFieldError
35 36 37 Class java.lang.NoSuchFieldError
38 39 40 Class java.lang.NoSuchFieldError
41 42 43 Class java.lang.NoSuchFieldError
44 45 46 Class java.lang.NoSuchFieldError
47 48 49 Class java.lang.NoSuchFieldError
50 51 52 Class java.lang.NoSuchFieldError
53 54 55 Class java.lang.NoSuchFieldError
56 57 58 Class java.lang.NoSuchFieldError
59 60 61 Class java.lang.NoSuchFieldError
62 63 64 Class java.lang.NoSuchFieldError
65 66 67 Class java.lang.NoSuchFieldError
68 69 70 Class java.lang.NoSuchFieldError
71 72 73 Class java.lang.NoSuchFieldError
74 75 76 Class java.lang.NoSuchFieldError
private static boolean lambda$0(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
aload 1
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
if_acmpne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 t1 Lcom/sun/tools/javac/code/Type;
0 3 1 t2 Lcom/sun/tools/javac/code/Type;
private static boolean lambda$1(com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic com.sun.tools.javac.code.TypeTag.WILDCARD:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 t Lcom/sun/tools/javac/code/Type;
private boolean lambda$2(com.sun.tools.javac.code.Symbol$ClassSymbol, com.sun.tools.javac.code.Symbol);
descriptor: (Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Lcom/sun/tools/javac/code/Symbol;)Z
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 2 0: aload 0
aload 2
checkcast com.sun.tools.javac.code.Symbol$ClassSymbol
aload 1
invokevirtual com.sun.tools.javac.code.Types.areDisjoint:(Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)Z
ireturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types;
0 1 2 sym Lcom/sun/tools/javac/code/Symbol;
private static java.lang.String lambda$3(com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;)Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
0: new java.lang.StringBuilder
dup
ldc "type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
private com.sun.tools.javac.code.Types$ClosureHolder lambda$4(boolean, java.util.function.BiPredicate);
descriptor: (ZLjava/util/function/BiPredicate;)Lcom/sun/tools/javac/code/Types$ClosureHolder;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=5, locals=3, args_size=3
start local 0 0: new com.sun.tools.javac.code.Types$ClosureHolder
dup
aload 0
iload 1
aload 2
invokespecial com.sun.tools.javac.code.Types$ClosureHolder.<init>:(Lcom/sun/tools/javac/code/Types;ZLjava/util/function/BiPredicate;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types;
}
SourceFile: "Types.java"
NestMembers:
com.sun.tools.javac.code.Types$1 com.sun.tools.javac.code.Types$10 com.sun.tools.javac.code.Types$11 com.sun.tools.javac.code.Types$12 com.sun.tools.javac.code.Types$13 com.sun.tools.javac.code.Types$14 com.sun.tools.javac.code.Types$15 com.sun.tools.javac.code.Types$16 com.sun.tools.javac.code.Types$17 com.sun.tools.javac.code.Types$18 com.sun.tools.javac.code.Types$19 com.sun.tools.javac.code.Types$2 com.sun.tools.javac.code.Types$20 com.sun.tools.javac.code.Types$21 com.sun.tools.javac.code.Types$22 com.sun.tools.javac.code.Types$22$1 com.sun.tools.javac.code.Types$22$2 com.sun.tools.javac.code.Types$23 com.sun.tools.javac.code.Types$24 com.sun.tools.javac.code.Types$3 com.sun.tools.javac.code.Types$4 com.sun.tools.javac.code.Types$5 com.sun.tools.javac.code.Types$6 com.sun.tools.javac.code.Types$7 com.sun.tools.javac.code.Types$8 com.sun.tools.javac.code.Types$9 com.sun.tools.javac.code.Types$AdaptFailure com.sun.tools.javac.code.Types$Adapter com.sun.tools.javac.code.Types$CandidatesCache com.sun.tools.javac.code.Types$CandidatesCache$Entry com.sun.tools.javac.code.Types$CaptureScanner com.sun.tools.javac.code.Types$ClosureHolder com.sun.tools.javac.code.Types$DefaultSymbolVisitor com.sun.tools.javac.code.Types$DefaultTypeVisitor com.sun.tools.javac.code.Types$DescriptorCache com.sun.tools.javac.code.Types$DescriptorCache$1 com.sun.tools.javac.code.Types$DescriptorCache$1 com.sun.tools.javac.code.Types$DescriptorCache$Entry com.sun.tools.javac.code.Types$DescriptorCache$FunctionDescriptor com.sun.tools.javac.code.Types$DescriptorFilter com.sun.tools.javac.code.Types$FunctionDescriptorLookupError com.sun.tools.javac.code.Types$HasSameArgs com.sun.tools.javac.code.Types$HashCodeVisitor com.sun.tools.javac.code.Types$ImplementationCache com.sun.tools.javac.code.Types$ImplementationCache$Entry com.sun.tools.javac.code.Types$MapVisitor com.sun.tools.javac.code.Types$MembersClosureCache com.sun.tools.javac.code.Types$MembersClosureCache$MembersScope com.sun.tools.javac.code.Types$MethodFilter com.sun.tools.javac.code.Types$MostSpecificReturnCheck com.sun.tools.javac.code.Types$MostSpecificReturnCheck$1 com.sun.tools.javac.code.Types$MostSpecificReturnCheck$2 com.sun.tools.javac.code.Types$ProjectionKind com.sun.tools.javac.code.Types$ProjectionKind$1 com.sun.tools.javac.code.Types$ProjectionKind$2 com.sun.tools.javac.code.Types$Rewriter com.sun.tools.javac.code.Types$SignatureGenerator com.sun.tools.javac.code.Types$SignatureGenerator$InvalidSignatureException com.sun.tools.javac.code.Types$SimpleVisitor com.sun.tools.javac.code.Types$Subst com.sun.tools.javac.code.Types$Subst$1 com.sun.tools.javac.code.Types$Subst$2 com.sun.tools.javac.code.Types$TypeMapping com.sun.tools.javac.code.Types$TypePair com.sun.tools.javac.code.Types$TypeProjection com.sun.tools.javac.code.Types$TypeProjection$1 com.sun.tools.javac.code.Types$TypeProjection$2 com.sun.tools.javac.code.Types$TypeProjection$TypeArgumentProjection com.sun.tools.javac.code.Types$TypeProjection$TypeArgumentProjection$1 com.sun.tools.javac.code.Types$TypeRelation com.sun.tools.javac.code.Types$UnaryVisitor com.sun.tools.javac.code.Types$UniqueType
InnerClasses:
public Compound = com.sun.tools.javac.code.Attribute$Compound of com.sun.tools.javac.code.Attribute
public Enum = com.sun.tools.javac.code.Attribute$Enum of com.sun.tools.javac.code.Attribute
public final RetentionPolicy = com.sun.tools.javac.code.Attribute$RetentionPolicy of com.sun.tools.javac.code.Attribute
public final Kind = com.sun.tools.javac.code.Kinds$Kind of com.sun.tools.javac.code.Kinds
public KindSelector = com.sun.tools.javac.code.Kinds$KindSelector of com.sun.tools.javac.code.Kinds
public final LintCategory = com.sun.tools.javac.code.Lint$LintCategory of com.sun.tools.javac.code.Lint
public CompoundScope = com.sun.tools.javac.code.Scope$CompoundScope of com.sun.tools.javac.code.Scope
public final LookupKind = com.sun.tools.javac.code.Scope$LookupKind of com.sun.tools.javac.code.Scope
public abstract WriteableScope = com.sun.tools.javac.code.Scope$WriteableScope of com.sun.tools.javac.code.Scope
public final Feature = com.sun.tools.javac.code.Source$Feature of com.sun.tools.javac.code.Source
public ClassSymbol = com.sun.tools.javac.code.Symbol$ClassSymbol of com.sun.tools.javac.code.Symbol
public abstract Completer = com.sun.tools.javac.code.Symbol$Completer of com.sun.tools.javac.code.Symbol
public CompletionFailure = com.sun.tools.javac.code.Symbol$CompletionFailure of com.sun.tools.javac.code.Symbol
public DynamicVarSymbol = com.sun.tools.javac.code.Symbol$DynamicVarSymbol of com.sun.tools.javac.code.Symbol
public MethodSymbol = com.sun.tools.javac.code.Symbol$MethodSymbol of com.sun.tools.javac.code.Symbol
public ModuleSymbol = com.sun.tools.javac.code.Symbol$ModuleSymbol of com.sun.tools.javac.code.Symbol
public abstract TypeSymbol = com.sun.tools.javac.code.Symbol$TypeSymbol of com.sun.tools.javac.code.Symbol
public VarSymbol = com.sun.tools.javac.code.Symbol$VarSymbol of com.sun.tools.javac.code.Symbol
public ArrayType = com.sun.tools.javac.code.Type$ArrayType of com.sun.tools.javac.code.Type
public CapturedType = com.sun.tools.javac.code.Type$CapturedType of com.sun.tools.javac.code.Type
public ClassType = com.sun.tools.javac.code.Type$ClassType of com.sun.tools.javac.code.Type
public ErrorType = com.sun.tools.javac.code.Type$ErrorType of com.sun.tools.javac.code.Type
public ForAll = com.sun.tools.javac.code.Type$ForAll of com.sun.tools.javac.code.Type
public IntersectionClassType = com.sun.tools.javac.code.Type$IntersectionClassType of com.sun.tools.javac.code.Type
public TypeVar = com.sun.tools.javac.code.Type$TypeVar 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 abstract Visitor = com.sun.tools.javac.code.Type$Visitor of com.sun.tools.javac.code.Type
public WildcardType = com.sun.tools.javac.code.Type$WildcardType of com.sun.tools.javac.code.Type
com.sun.tools.javac.code.Types$1
com.sun.tools.javac.code.Types$10
com.sun.tools.javac.code.Types$11
com.sun.tools.javac.code.Types$12
com.sun.tools.javac.code.Types$13
com.sun.tools.javac.code.Types$14
com.sun.tools.javac.code.Types$15
com.sun.tools.javac.code.Types$16
com.sun.tools.javac.code.Types$17
com.sun.tools.javac.code.Types$18
com.sun.tools.javac.code.Types$19
com.sun.tools.javac.code.Types$2
com.sun.tools.javac.code.Types$20
com.sun.tools.javac.code.Types$21
com.sun.tools.javac.code.Types$22
com.sun.tools.javac.code.Types$23
com.sun.tools.javac.code.Types$24
com.sun.tools.javac.code.Types$3
com.sun.tools.javac.code.Types$4
com.sun.tools.javac.code.Types$5
com.sun.tools.javac.code.Types$6
com.sun.tools.javac.code.Types$7
com.sun.tools.javac.code.Types$8
com.sun.tools.javac.code.Types$9
public AdaptFailure = com.sun.tools.javac.code.Types$AdaptFailure of com.sun.tools.javac.code.Types
Adapter = com.sun.tools.javac.code.Types$Adapter of com.sun.tools.javac.code.Types
public CandidatesCache = com.sun.tools.javac.code.Types$CandidatesCache of com.sun.tools.javac.code.Types
Entry = com.sun.tools.javac.code.Types$CandidatesCache$Entry of com.sun.tools.javac.code.Types$CandidatesCache
CaptureScanner = com.sun.tools.javac.code.Types$CaptureScanner of com.sun.tools.javac.code.Types
ClosureHolder = com.sun.tools.javac.code.Types$ClosureHolder of com.sun.tools.javac.code.Types
public abstract DefaultSymbolVisitor = com.sun.tools.javac.code.Types$DefaultSymbolVisitor of com.sun.tools.javac.code.Types
public abstract DefaultTypeVisitor = com.sun.tools.javac.code.Types$DefaultTypeVisitor of com.sun.tools.javac.code.Types
DescriptorCache = com.sun.tools.javac.code.Types$DescriptorCache of com.sun.tools.javac.code.Types
FunctionDescriptor = com.sun.tools.javac.code.Types$DescriptorCache$FunctionDescriptor of com.sun.tools.javac.code.Types$DescriptorCache
DescriptorFilter = com.sun.tools.javac.code.Types$DescriptorFilter of com.sun.tools.javac.code.Types
public FunctionDescriptorLookupError = com.sun.tools.javac.code.Types$FunctionDescriptorLookupError of com.sun.tools.javac.code.Types
private HasSameArgs = com.sun.tools.javac.code.Types$HasSameArgs of com.sun.tools.javac.code.Types
private HashCodeVisitor = com.sun.tools.javac.code.Types$HashCodeVisitor of com.sun.tools.javac.code.Types
ImplementationCache = com.sun.tools.javac.code.Types$ImplementationCache of com.sun.tools.javac.code.Types
public MapVisitor = com.sun.tools.javac.code.Types$MapVisitor of com.sun.tools.javac.code.Types
MembersClosureCache = com.sun.tools.javac.code.Types$MembersClosureCache of com.sun.tools.javac.code.Types
MembersScope = com.sun.tools.javac.code.Types$MembersClosureCache$MembersScope of com.sun.tools.javac.code.Types$MembersClosureCache
private MethodFilter = com.sun.tools.javac.code.Types$MethodFilter of com.sun.tools.javac.code.Types
public abstract MostSpecificReturnCheck = com.sun.tools.javac.code.Types$MostSpecificReturnCheck of com.sun.tools.javac.code.Types
abstract ProjectionKind = com.sun.tools.javac.code.Types$ProjectionKind of com.sun.tools.javac.code.Types
Rewriter = com.sun.tools.javac.code.Types$Rewriter of com.sun.tools.javac.code.Types
public abstract SignatureGenerator = com.sun.tools.javac.code.Types$SignatureGenerator of com.sun.tools.javac.code.Types
public abstract SimpleVisitor = com.sun.tools.javac.code.Types$SimpleVisitor of com.sun.tools.javac.code.Types
private Subst = com.sun.tools.javac.code.Types$Subst of com.sun.tools.javac.code.Types
public TypeMapping = com.sun.tools.javac.code.Types$TypeMapping of com.sun.tools.javac.code.Types
TypePair = com.sun.tools.javac.code.Types$TypePair of com.sun.tools.javac.code.Types
TypeProjection = com.sun.tools.javac.code.Types$TypeProjection of com.sun.tools.javac.code.Types
public abstract TypeRelation = com.sun.tools.javac.code.Types$TypeRelation of com.sun.tools.javac.code.Types
public abstract UnaryVisitor = com.sun.tools.javac.code.Types$UnaryVisitor of com.sun.tools.javac.code.Types
public UniqueType = com.sun.tools.javac.code.Types$UniqueType of com.sun.tools.javac.code.Types
public abstract LoadableConstant = com.sun.tools.javac.jvm.PoolConstant$LoadableConstant of com.sun.tools.javac.jvm.PoolConstant
public JCClassDecl = com.sun.tools.javac.tree.JCTree$JCClassDecl of com.sun.tools.javac.tree.JCTree
public Key = com.sun.tools.javac.util.Context$Key of com.sun.tools.javac.util.Context
public abstract DiagnosticPosition = com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition of com.sun.tools.javac.util.JCDiagnostic
public Factory = com.sun.tools.javac.util.JCDiagnostic$Factory of com.sun.tools.javac.util.JCDiagnostic
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public final Characteristics = java.util.stream.Collector$Characteristics of java.util.stream.Collector
public final Kind = javax.tools.JavaFileObject$Kind of javax.tools.JavaFileObject