class com.sun.tools.javac.code.Types$TypeProjection$TypeArgumentProjection extends com.sun.tools.javac.code.Types$TypeMapping<com.sun.tools.javac.code.Types$ProjectionKind>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.tools.javac.code.Types$TypeProjection$TypeArgumentProjection
super_class: com.sun.tools.javac.code.Types$TypeMapping
{
com.sun.tools.javac.code.Type site;
descriptor: Lcom/sun/tools/javac/code/Type;
flags: (0x0000)
com.sun.tools.javac.code.Type declaredBound;
descriptor: Lcom/sun/tools/javac/code/Type;
flags: (0x0000)
final com.sun.tools.javac.code.Types$TypeProjection this$1;
descriptor: Lcom/sun/tools/javac/code/Types$TypeProjection;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$com$sun$tools$javac$code$BoundKind;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
void <init>(com.sun.tools.javac.code.Types$TypeProjection, com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Types$TypeProjection;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 start local 2 start local 3 0: aload 0
aload 1
putfield com.sun.tools.javac.code.Types$TypeProjection$TypeArgumentProjection.this$1:Lcom/sun/tools/javac/code/Types$TypeProjection;
aload 0
invokespecial com.sun.tools.javac.code.Types$TypeMapping.<init>:()V
1: aload 0
aload 2
putfield com.sun.tools.javac.code.Types$TypeProjection$TypeArgumentProjection.site:Lcom/sun/tools/javac/code/Type;
2: aload 0
aload 3
putfield com.sun.tools.javac.code.Types$TypeProjection$TypeArgumentProjection.declaredBound:Lcom/sun/tools/javac/code/Type;
3: return
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/javac/code/Types$TypeProjection$TypeArgumentProjection;
0 4 2 site Lcom/sun/tools/javac/code/Type;
0 4 3 declaredBound Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
this$0 final
site
declaredBound
public com.sun.tools.javac.code.Type visitType(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Types$ProjectionKind);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Types$ProjectionKind;)Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 2
getstatic com.sun.tools.javac.code.Types$ProjectionKind.DOWNWARDS:Lcom/sun/tools/javac/code/Types$ProjectionKind;
if_acmpne 2
1: aload 0
getfield com.sun.tools.javac.code.Types$TypeProjection$TypeArgumentProjection.this$1:Lcom/sun/tools/javac/code/Types$TypeProjection;
invokestatic com.sun.tools.javac.code.Types$TypeProjection.access$4:(Lcom/sun/tools/javac/code/Types$TypeProjection;)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.botType:Lcom/sun/tools/javac/code/Type;
areturn
2: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield com.sun.tools.javac.code.Types$TypeProjection$TypeArgumentProjection.this$1:Lcom/sun/tools/javac/code/Types$TypeProjection;
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;
astore 3
start local 3 3: aload 1
aload 0
getfield com.sun.tools.javac.code.Types$TypeProjection$TypeArgumentProjection.this$1:Lcom/sun/tools/javac/code/Types$TypeProjection;
getstatic com.sun.tools.javac.code.Types$ProjectionKind.DOWNWARDS: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;
astore 4
start local 4 4: aload 0
getfield com.sun.tools.javac.code.Types$TypeProjection$TypeArgumentProjection.site:Lcom/sun/tools/javac/code/Type;
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 5
start local 5 5: aload 0
getfield com.sun.tools.javac.code.Types$TypeProjection$TypeArgumentProjection.this$1:Lcom/sun/tools/javac/code/Types$TypeProjection;
invokestatic com.sun.tools.javac.code.Types$TypeProjection.access$4:(Lcom/sun/tools/javac/code/Types$TypeProjection;)Lcom/sun/tools/javac/code/Types;
aload 3
aload 0
getfield com.sun.tools.javac.code.Types$TypeProjection$TypeArgumentProjection.this$1:Lcom/sun/tools/javac/code/Types$TypeProjection;
invokestatic com.sun.tools.javac.code.Types$TypeProjection.access$4:(Lcom/sun/tools/javac/code/Types$TypeProjection;)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;
invokevirtual com.sun.tools.javac.code.Types.isSameType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifne 11
6: aload 0
getfield com.sun.tools.javac.code.Types$TypeProjection$TypeArgumentProjection.declaredBound:Lcom/sun/tools/javac/code/Type;
aload 5
invokevirtual com.sun.tools.javac.code.Type.containsAny:(Lcom/sun/tools/javac/util/List;)Z
ifne 8
7: aload 0
getfield com.sun.tools.javac.code.Types$TypeProjection$TypeArgumentProjection.this$1:Lcom/sun/tools/javac/code/Types$TypeProjection;
invokestatic com.sun.tools.javac.code.Types$TypeProjection.access$4:(Lcom/sun/tools/javac/code/Types$TypeProjection;)Lcom/sun/tools/javac/code/Types;
aload 0
getfield com.sun.tools.javac.code.Types$TypeProjection$TypeArgumentProjection.declaredBound:Lcom/sun/tools/javac/code/Type;
aload 3
invokevirtual com.sun.tools.javac.code.Types.isSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifne 11
8: StackMap locals: com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type com.sun.tools.javac.util.List
StackMap stack:
aload 3
astore 7
start local 7 9: getstatic com.sun.tools.javac.code.BoundKind.EXTENDS:Lcom/sun/tools/javac/code/BoundKind;
astore 6
start local 6 10: goto 17
end local 7 end local 6 StackMap locals:
StackMap stack:
11: 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 15
12: aload 4
astore 7
start local 7 13: getstatic com.sun.tools.javac.code.BoundKind.SUPER:Lcom/sun/tools/javac/code/BoundKind;
astore 6
start local 6 14: goto 17
end local 7 end local 6 15: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.code.Types$TypeProjection$TypeArgumentProjection.this$1:Lcom/sun/tools/javac/code/Types$TypeProjection;
invokestatic com.sun.tools.javac.code.Types$TypeProjection.access$4:(Lcom/sun/tools/javac/code/Types$TypeProjection;)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;
astore 7
start local 7 16: getstatic com.sun.tools.javac.code.BoundKind.UNBOUND:Lcom/sun/tools/javac/code/BoundKind;
astore 6
start local 6 17: StackMap locals: com.sun.tools.javac.code.BoundKind com.sun.tools.javac.code.Type
StackMap stack:
aload 0
aload 7
aload 6
invokevirtual com.sun.tools.javac.code.Types$TypeProjection$TypeArgumentProjection.makeWildcard:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/BoundKind;)Lcom/sun/tools/javac/code/Type;
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 18 0 this Lcom/sun/tools/javac/code/Types$TypeProjection$TypeArgumentProjection;
0 18 1 t Lcom/sun/tools/javac/code/Type;
0 18 2 pkind Lcom/sun/tools/javac/code/Types$ProjectionKind;
3 18 3 upper Lcom/sun/tools/javac/code/Type;
4 18 4 lower Lcom/sun/tools/javac/code/Type;
5 18 5 formals Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
10 11 6 bk Lcom/sun/tools/javac/code/BoundKind;
14 15 6 bk Lcom/sun/tools/javac/code/BoundKind;
17 18 6 bk Lcom/sun/tools/javac/code/BoundKind;
9 11 7 bound Lcom/sun/tools/javac/code/Type;
13 15 7 bound Lcom/sun/tools/javac/code/Type;
16 18 7 bound Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
pkind
public com.sun.tools.javac.code.Type visitWildcardType(com.sun.tools.javac.code.Type$WildcardType, com.sun.tools.javac.code.Types$ProjectionKind);
descriptor: (Lcom/sun/tools/javac/code/Type$WildcardType;Lcom/sun/tools/javac/code/Types$ProjectionKind;)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: aload 0
getfield com.sun.tools.javac.code.Types$TypeProjection$TypeArgumentProjection.this$1:Lcom/sun/tools/javac/code/Types$TypeProjection;
invokestatic com.sun.tools.javac.code.Types$TypeProjection.access$4:(Lcom/sun/tools/javac/code/Types$TypeProjection;)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.botType:Lcom/sun/tools/javac/code/Type;
astore 3
start local 3 1: aload 1
getfield com.sun.tools.javac.code.Type$WildcardType.kind:Lcom/sun/tools/javac/code/BoundKind;
astore 4
start local 4 2: invokestatic com.sun.tools.javac.code.Types$TypeProjection$TypeArgumentProjection.$SWITCH_TABLE$com$sun$tools$javac$code$BoundKind:()[I
aload 1
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 - 2
1: 3
2: 6
default: 10
}
3: StackMap locals: com.sun.tools.javac.code.Type com.sun.tools.javac.code.BoundKind
StackMap stack:
aload 1
getfield com.sun.tools.javac.code.Type$WildcardType.type:Lcom/sun/tools/javac/code/Type;
aload 0
getfield com.sun.tools.javac.code.Types$TypeProjection$TypeArgumentProjection.this$1:Lcom/sun/tools/javac/code/Types$TypeProjection;
aload 2
invokevirtual com.sun.tools.javac.code.Type.map:(Lcom/sun/tools/javac/code/Types$TypeMapping;Ljava/lang/Object;)Lcom/sun/tools/javac/code/Type;
astore 3
4: aload 3
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 10
5: aload 0
getfield com.sun.tools.javac.code.Types$TypeProjection$TypeArgumentProjection.this$1:Lcom/sun/tools/javac/code/Types$TypeProjection;
invokestatic com.sun.tools.javac.code.Types$TypeProjection.access$4:(Lcom/sun/tools/javac/code/Types$TypeProjection;)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.botType:Lcom/sun/tools/javac/code/Type;
areturn
6: StackMap locals:
StackMap stack:
aload 1
getfield com.sun.tools.javac.code.Type$WildcardType.type:Lcom/sun/tools/javac/code/Type;
aload 0
getfield com.sun.tools.javac.code.Types$TypeProjection$TypeArgumentProjection.this$1:Lcom/sun/tools/javac/code/Types$TypeProjection;
aload 2
invokevirtual com.sun.tools.javac.code.Types$ProjectionKind.complement:()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;
astore 3
7: aload 3
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 10
8: aload 0
getfield com.sun.tools.javac.code.Types$TypeProjection$TypeArgumentProjection.this$1:Lcom/sun/tools/javac/code/Types$TypeProjection;
invokestatic com.sun.tools.javac.code.Types$TypeProjection.access$4:(Lcom/sun/tools/javac/code/Types$TypeProjection;)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;
astore 3
9: getstatic com.sun.tools.javac.code.BoundKind.UNBOUND:Lcom/sun/tools/javac/code/BoundKind;
astore 4
10: StackMap locals:
StackMap stack:
aload 0
aload 3
aload 4
invokevirtual com.sun.tools.javac.code.Types$TypeProjection$TypeArgumentProjection.makeWildcard:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/BoundKind;)Lcom/sun/tools/javac/code/Type;
areturn
end local 4 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$TypeProjection$TypeArgumentProjection;
0 11 1 wt Lcom/sun/tools/javac/code/Type$WildcardType;
0 11 2 pkind Lcom/sun/tools/javac/code/Types$ProjectionKind;
1 11 3 bound Lcom/sun/tools/javac/code/Type;
2 11 4 bk Lcom/sun/tools/javac/code/BoundKind;
MethodParameters:
Name Flags
wt
pkind
private com.sun.tools.javac.code.Type makeWildcard(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.BoundKind);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/BoundKind;)Lcom/sun/tools/javac/code/Type;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new com.sun.tools.javac.code.Types$TypeProjection$TypeArgumentProjection$1
dup
aload 0
aload 1
aload 2
aload 0
getfield com.sun.tools.javac.code.Types$TypeProjection$TypeArgumentProjection.this$1:Lcom/sun/tools/javac/code/Types$TypeProjection;
invokestatic com.sun.tools.javac.code.Types$TypeProjection.access$4:(Lcom/sun/tools/javac/code/Types$TypeProjection;)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;
invokespecial com.sun.tools.javac.code.Types$TypeProjection$TypeArgumentProjection$1.<init>:(Lcom/sun/tools/javac/code/Types$TypeProjection$TypeArgumentProjection;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/BoundKind;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)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$TypeProjection$TypeArgumentProjection;
0 1 1 bound Lcom/sun/tools/javac/code/Type;
0 1 2 bk Lcom/sun/tools/javac/code/BoundKind;
MethodParameters:
Name Flags
bound
bk
public java.lang.Object visitWildcardType(com.sun.tools.javac.code.Type$WildcardType, java.lang.Object);
descriptor: (Lcom/sun/tools/javac/code/Type$WildcardType;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.Types$ProjectionKind
invokevirtual com.sun.tools.javac.code.Types$TypeProjection$TypeArgumentProjection.visitWildcardType:(Lcom/sun/tools/javac/code/Type$WildcardType;Lcom/sun/tools/javac/code/Types$ProjectionKind;)Lcom/sun/tools/javac/code/Type;
areturn
LocalVariableTable:
Start End Slot Name Signature
public com.sun.tools.javac.code.Type visitType(com.sun.tools.javac.code.Type, java.lang.Object);
descriptor: (Lcom/sun/tools/javac/code/Type;Ljava/lang/Object;)Lcom/sun/tools/javac/code/Type;
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.Types$ProjectionKind
invokevirtual com.sun.tools.javac.code.Types$TypeProjection$TypeArgumentProjection.visitType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Types$ProjectionKind;)Lcom/sun/tools/javac/code/Type;
areturn
LocalVariableTable:
Start End Slot Name Signature
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$TypeProjection$TypeArgumentProjection.$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$TypeProjection$TypeArgumentProjection.$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
}
Signature: Lcom/sun/tools/javac/code/Types$TypeMapping<Lcom/sun/tools/javac/code/Types$ProjectionKind;>;
SourceFile: "Types.java"
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 WildcardType = com.sun.tools.javac.code.Type$WildcardType of com.sun.tools.javac.code.Type
abstract ProjectionKind = com.sun.tools.javac.code.Types$ProjectionKind of com.sun.tools.javac.code.Types
public TypeMapping = com.sun.tools.javac.code.Types$TypeMapping of com.sun.tools.javac.code.Types
TypeProjection = com.sun.tools.javac.code.Types$TypeProjection of com.sun.tools.javac.code.Types
TypeArgumentProjection = com.sun.tools.javac.code.Types$TypeProjection$TypeArgumentProjection of com.sun.tools.javac.code.Types$TypeProjection
com.sun.tools.javac.code.Types$TypeProjection$TypeArgumentProjection$1