class com.sun.tools.javac.code.Types$2 extends com.sun.tools.javac.code.Types$SimpleVisitor<com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Symbol>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.tools.javac.code.Types$2
super_class: com.sun.tools.javac.code.Types$SimpleVisitor
{
final com.sun.tools.javac.code.Types this$0;
descriptor: Lcom/sun/tools/javac/code/Types;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.sun.tools.javac.code.Types);
descriptor: (Lcom/sun/tools/javac/code/Types;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield com.sun.tools.javac.code.Types$2.this$0:Lcom/sun/tools/javac/code/Types;
aload 0
invokespecial com.sun.tools.javac.code.Types$SimpleVisitor.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types$2;
MethodParameters:
Name Flags
this$0 final
public com.sun.tools.javac.code.Type visitType(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=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
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$2;
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 com.sun.tools.javac.code.Type visitClassType(com.sun.tools.javac.code.Type$ClassType, com.sun.tools.javac.code.Symbol);
descriptor: (Lcom/sun/tools/javac/code/Type$ClassType;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield com.sun.tools.javac.code.Type$ClassType.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
aload 2
if_acmpne 2
1: aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.code.Types$2.this$0:Lcom/sun/tools/javac/code/Types;
aload 2
getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
aload 1
getfield com.sun.tools.javac.code.Type$ClassType.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 3
start local 3 3: aload 3
ifnonnull 5
4: aconst_null
areturn
5: StackMap locals: com.sun.tools.javac.code.Type
StackMap stack:
new com.sun.tools.javac.util.ListBuffer
dup
invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
astore 4
start local 4 6: new com.sun.tools.javac.util.ListBuffer
dup
invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
astore 5
start local 5 7: aload 0
getfield com.sun.tools.javac.code.Types$2.this$0:Lcom/sun/tools/javac/code/Types;
aload 3
aload 1
aload 4
aload 5
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
8: goto 11
StackMap locals: com.sun.tools.javac.code.Types$2 com.sun.tools.javac.code.Type$ClassType com.sun.tools.javac.code.Symbol com.sun.tools.javac.code.Type com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.ListBuffer
StackMap stack: com.sun.tools.javac.code.Types$AdaptFailure
9: pop
10: aconst_null
areturn
11: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.code.Types$2.this$0:Lcom/sun/tools/javac/code/Types;
aload 2
getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
aload 4
invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
aload 5
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;
astore 6
start local 6 12: aload 0
getfield com.sun.tools.javac.code.Types$2.this$0:Lcom/sun/tools/javac/code/Types;
aload 6
aload 1
invokevirtual com.sun.tools.javac.code.Types.isSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifne 14
13: aconst_null
areturn
14: StackMap locals: com.sun.tools.javac.code.Type
StackMap stack:
new com.sun.tools.javac.util.ListBuffer
dup
invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
astore 7
start local 7 15: aload 2
getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type.allparams:()Lcom/sun/tools/javac/util/List;
astore 8
start local 8 16: goto 20
17: StackMap locals: com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.List
StackMap stack:
aload 6
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.contains:(Lcom/sun/tools/javac/code/Type;)Z
ifeq 19
aload 1
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$ClassType.contains:(Lcom/sun/tools/javac/code/Type;)Z
ifne 19
18: aload 7
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.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
pop
19: StackMap locals:
StackMap stack:
aload 8
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 8
StackMap locals:
StackMap stack:
20: aload 8
invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
ifne 17
end local 8 21: aload 7
invokevirtual com.sun.tools.javac.util.ListBuffer.nonEmpty:()Z
ifeq 35
22: aload 1
invokevirtual com.sun.tools.javac.code.Type$ClassType.isRaw:()Z
ifeq 25
23: aload 0
getfield com.sun.tools.javac.code.Types$2.this$0:Lcom/sun/tools/javac/code/Types;
aload 6
invokevirtual com.sun.tools.javac.code.Types.erasure:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
astore 6
24: goto 35
25: StackMap locals:
StackMap stack:
aload 7
invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
astore 8
start local 8 26: new com.sun.tools.javac.util.ListBuffer
dup
invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
astore 9
start local 9 27: aload 8
astore 10
start local 10 28: goto 33
29: StackMap locals: com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.List
StackMap stack:
aload 9
new com.sun.tools.javac.code.Type$WildcardType
dup
aload 0
getfield com.sun.tools.javac.code.Types$2.this$0:Lcom/sun/tools/javac/code/Types;
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;
getstatic com.sun.tools.javac.code.BoundKind.UNBOUND:Lcom/sun/tools/javac/code/BoundKind;
30: aload 0
getfield com.sun.tools.javac.code.Types$2.this$0:Lcom/sun/tools/javac/code/Types;
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;
aload 10
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type$TypeVar
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
31: invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
pop
32: aload 10
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 10
StackMap locals:
StackMap stack:
33: aload 10
invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
ifne 29
end local 10 34: aload 0
getfield com.sun.tools.javac.code.Types$2.this$0:Lcom/sun/tools/javac/code/Types;
aload 6
aload 8
aload 9
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;
astore 6
end local 9 end local 8 35: StackMap locals:
StackMap stack:
aload 6
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$2;
0 36 1 t Lcom/sun/tools/javac/code/Type$ClassType;
0 36 2 sym Lcom/sun/tools/javac/code/Symbol;
3 36 3 base Lcom/sun/tools/javac/code/Type;
6 36 4 from Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Type;>;
7 36 5 to Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Type;>;
12 36 6 res Lcom/sun/tools/javac/code/Type;
15 36 7 openVars Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Type;>;
16 21 8 l Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
26 35 8 opens Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
27 35 9 qs Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Type;>;
28 34 10 iter Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
Exception table:
from to target type
7 8 9 Class com.sun.tools.javac.code.Types$AdaptFailure
MethodParameters:
Name Flags
t
sym
public com.sun.tools.javac.code.Type visitErrorType(com.sun.tools.javac.code.Type$ErrorType, com.sun.tools.javac.code.Symbol);
descriptor: (Lcom/sun/tools/javac/code/Type$ErrorType;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
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$2;
0 1 1 t Lcom/sun/tools/javac/code/Type$ErrorType;
0 1 2 sym Lcom/sun/tools/javac/code/Symbol;
MethodParameters:
Name Flags
t
sym
public java.lang.Object visitErrorType(com.sun.tools.javac.code.Type$ErrorType, java.lang.Object);
descriptor: (Lcom/sun/tools/javac/code/Type$ErrorType;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
aload 2
checkcast com.sun.tools.javac.code.Symbol
invokevirtual com.sun.tools.javac.code.Types$2.visitErrorType:(Lcom/sun/tools/javac/code/Type$ErrorType;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object visitClassType(com.sun.tools.javac.code.Type$ClassType, java.lang.Object);
descriptor: (Lcom/sun/tools/javac/code/Type$ClassType;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
aload 2
checkcast com.sun.tools.javac.code.Symbol
invokevirtual com.sun.tools.javac.code.Types$2.visitClassType:(Lcom/sun/tools/javac/code/Type$ClassType;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object visitType(com.sun.tools.javac.code.Type, java.lang.Object);
descriptor: (Lcom/sun/tools/javac/code/Type;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
aload 2
checkcast com.sun.tools.javac.code.Symbol
invokevirtual com.sun.tools.javac.code.Types$2.visitType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Lcom/sun/tools/javac/code/Types$SimpleVisitor<Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;>;
SourceFile: "Types.java"
EnclosingMethod: com.sun.tools.javac.code.Types
NestHost: com.sun.tools.javac.code.Types
InnerClasses:
public abstract TypeSymbol = com.sun.tools.javac.code.Symbol$TypeSymbol of com.sun.tools.javac.code.Symbol
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 TypeVar = com.sun.tools.javac.code.Type$TypeVar 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$2
public AdaptFailure = com.sun.tools.javac.code.Types$AdaptFailure of com.sun.tools.javac.code.Types
public abstract SimpleVisitor = com.sun.tools.javac.code.Types$SimpleVisitor of com.sun.tools.javac.code.Types