public class com.sun.tools.javac.code.Type$TypeVar extends com.sun.tools.javac.code.Type implements javax.lang.model.type.TypeVariable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.tools.javac.code.Type$TypeVar
super_class: com.sun.tools.javac.code.Type
{
public com.sun.tools.javac.code.Type bound;
descriptor: Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
public com.sun.tools.javac.code.Type lower;
descriptor: Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
int rank_field;
descriptor: I
flags: (0x0000)
public void <init>(com.sun.tools.javac.util.Name, com.sun.tools.javac.code.Symbol, com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Type;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aconst_null
getstatic com.sun.tools.javac.code.TypeMetadata.EMPTY:Lcom/sun/tools/javac/code/TypeMetadata;
invokespecial com.sun.tools.javac.code.Type.<init>:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/TypeMetadata;)V
1: aload 0
aconst_null
putfield com.sun.tools.javac.code.Type$TypeVar.bound:Lcom/sun/tools/javac/code/Type;
2: aload 0
iconst_m1
putfield com.sun.tools.javac.code.Type$TypeVar.rank_field:I
3: aload 3
invokestatic com.sun.tools.javac.util.Assert.checkNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
4: aload 0
new com.sun.tools.javac.code.Symbol$TypeVariableSymbol
dup
lconst_0
aload 1
aload 0
aload 2
invokespecial com.sun.tools.javac.code.Symbol$TypeVariableSymbol.<init>:(JLcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)V
putfield com.sun.tools.javac.code.Type$TypeVar.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
5: aload 0
aconst_null
putfield com.sun.tools.javac.code.Type$TypeVar.bound:Lcom/sun/tools/javac/code/Type;
6: aload 0
aload 3
putfield com.sun.tools.javac.code.Type$TypeVar.lower:Lcom/sun/tools/javac/code/Type;
7: return
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/Type$TypeVar;
0 8 1 name Lcom/sun/tools/javac/util/Name;
0 8 2 owner Lcom/sun/tools/javac/code/Symbol;
0 8 3 lower Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
name
owner
lower
public void <init>(com.sun.tools.javac.code.Symbol$TypeSymbol, com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)V
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: aload 0
aload 1
aload 2
aload 3
getstatic com.sun.tools.javac.code.TypeMetadata.EMPTY: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
1: return
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/Type$TypeVar;
0 2 1 tsym Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
0 2 2 bound Lcom/sun/tools/javac/code/Type;
0 2 3 lower Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
tsym
bound
lower
public void <init>(com.sun.tools.javac.code.Symbol$TypeSymbol, com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type, com.sun.tools.javac.code.TypeMetadata);
descriptor: (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
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, 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
aload 4
invokespecial com.sun.tools.javac.code.Type.<init>:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/TypeMetadata;)V
1: aload 0
aconst_null
putfield com.sun.tools.javac.code.Type$TypeVar.bound:Lcom/sun/tools/javac/code/Type;
2: aload 0
iconst_m1
putfield com.sun.tools.javac.code.Type$TypeVar.rank_field:I
3: aload 3
invokestatic com.sun.tools.javac.util.Assert.checkNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
4: aload 0
aload 2
putfield com.sun.tools.javac.code.Type$TypeVar.bound:Lcom/sun/tools/javac/code/Type;
5: aload 0
aload 3
putfield com.sun.tools.javac.code.Type$TypeVar.lower:Lcom/sun/tools/javac/code/Type;
6: return
end local 4 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/Type$TypeVar;
0 7 1 tsym Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
0 7 2 bound Lcom/sun/tools/javac/code/Type;
0 7 3 lower Lcom/sun/tools/javac/code/Type;
0 7 4 metadata Lcom/sun/tools/javac/code/TypeMetadata;
MethodParameters:
Name Flags
tsym
bound
lower
metadata
public com.sun.tools.javac.code.Type$TypeVar cloneWithMetadata(com.sun.tools.javac.code.TypeMetadata);
descriptor: (Lcom/sun/tools/javac/code/TypeMetadata;)Lcom/sun/tools/javac/code/Type$TypeVar;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: new com.sun.tools.javac.code.Type$TypeVar$1
dup
aload 0
aload 0
getfield com.sun.tools.javac.code.Type$TypeVar.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
aload 0
getfield com.sun.tools.javac.code.Type$TypeVar.bound:Lcom/sun/tools/javac/code/Type;
aload 0
getfield com.sun.tools.javac.code.Type$TypeVar.lower:Lcom/sun/tools/javac/code/Type;
aload 1
invokespecial com.sun.tools.javac.code.Type$TypeVar$1.<init>:(Lcom/sun/tools/javac/code/Type$TypeVar;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
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Type$TypeVar;
0 1 1 md Lcom/sun/tools/javac/code/TypeMetadata;
MethodParameters:
Name Flags
md
public com.sun.tools.javac.code.TypeTag getTag();
descriptor: ()Lcom/sun/tools/javac/code/TypeTag;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic com.sun.tools.javac.code.TypeTag.TYPEVAR:Lcom/sun/tools/javac/code/TypeTag;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Type$TypeVar;
public <R, S> R accept(com.sun.tools.javac.code.Type$Visitor<R, S>, );
descriptor: (Lcom/sun/tools/javac/code/Type$Visitor;Ljava/lang/Object;)Ljava/lang/Object;
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
aload 2
invokeinterface com.sun.tools.javac.code.Type$Visitor.visitTypeVar:(Lcom/sun/tools/javac/code/Type$TypeVar;Ljava/lang/Object;)Ljava/lang/Object;
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/Type$TypeVar;
0 1 1 v Lcom/sun/tools/javac/code/Type$Visitor<TR;TS;>;
0 1 2 s TS;
Signature: <R:Ljava/lang/Object;S:Ljava/lang/Object;>(Lcom/sun/tools/javac/code/Type$Visitor<TR;TS;>;TS;)TR;
MethodParameters:
Name Flags
v
s
public com.sun.tools.javac.code.Type getUpperBound();
descriptor: ()Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.javac.code.Type$TypeVar.bound:Lcom/sun/tools/javac/code/Type;
ifnull 1
aload 0
getfield com.sun.tools.javac.code.Type$TypeVar.bound: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 3
StackMap locals:
StackMap stack:
1: aload 0
aload 0
getfield com.sun.tools.javac.code.Type$TypeVar.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
getfield com.sun.tools.javac.code.Symbol$TypeSymbol.type:Lcom/sun/tools/javac/code/Type;
if_acmpeq 3
2: aload 0
aload 0
getfield com.sun.tools.javac.code.Type$TypeVar.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.getUpperBound:()Lcom/sun/tools/javac/code/Type;
putfield com.sun.tools.javac.code.Type$TypeVar.bound:Lcom/sun/tools/javac/code/Type;
3: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.code.Type$TypeVar.bound:Lcom/sun/tools/javac/code/Type;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/javac/code/Type$TypeVar;
public com.sun.tools.javac.code.Type getLowerBound();
descriptor: ()Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.javac.code.Type$TypeVar.lower:Lcom/sun/tools/javac/code/Type;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Type$TypeVar;
public javax.lang.model.type.TypeKind getKind();
descriptor: ()Ljavax/lang/model/type/TypeKind;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic javax.lang.model.type.TypeKind.TYPEVAR:Ljavax/lang/model/type/TypeKind;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Type$TypeVar;
public boolean isCaptured();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Type$TypeVar;
public boolean isReference();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Type$TypeVar;
public boolean isNullOrReference();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Type$TypeVar;
public <R, P> R accept(javax.lang.model.type.TypeVisitor<R, P>, );
descriptor: (Ljavax/lang/model/type/TypeVisitor;Ljava/lang/Object;)Ljava/lang/Object;
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
aload 2
invokeinterface javax.lang.model.type.TypeVisitor.visitTypeVariable:(Ljavax/lang/model/type/TypeVariable;Ljava/lang/Object;)Ljava/lang/Object;
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/Type$TypeVar;
0 1 1 v Ljavax/lang/model/type/TypeVisitor<TR;TP;>;
0 1 2 p TP;
Signature: <R:Ljava/lang/Object;P:Ljava/lang/Object;>(Ljavax/lang/model/type/TypeVisitor<TR;TP;>;TP;)TR;
MethodParameters:
Name Flags
v
p
public com.sun.tools.javac.code.Type cloneWithMetadata(com.sun.tools.javac.code.TypeMetadata);
descriptor: (Lcom/sun/tools/javac/code/TypeMetadata;)Lcom/sun/tools/javac/code/Type;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Type$TypeVar.cloneWithMetadata:(Lcom/sun/tools/javac/code/TypeMetadata;)Lcom/sun/tools/javac/code/Type$TypeVar;
areturn
LocalVariableTable:
Start End Slot Name Signature
public javax.lang.model.type.TypeMirror getLowerBound();
descriptor: ()Ljavax/lang/model/type/TypeMirror;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual com.sun.tools.javac.code.Type$TypeVar.getLowerBound:()Lcom/sun/tools/javac/code/Type;
areturn
LocalVariableTable:
Start End Slot Name Signature
public javax.lang.model.element.Element asElement();
descriptor: ()Ljavax/lang/model/element/Element;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual com.sun.tools.javac.code.Type$TypeVar.asElement:()Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
areturn
LocalVariableTable:
Start End Slot Name Signature
public javax.lang.model.type.TypeMirror getUpperBound();
descriptor: ()Ljavax/lang/model/type/TypeMirror;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual com.sun.tools.javac.code.Type$TypeVar.getUpperBound:()Lcom/sun/tools/javac/code/Type;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "Type.java"
NestHost: com.sun.tools.javac.code.Type
InnerClasses:
public abstract TypeSymbol = com.sun.tools.javac.code.Symbol$TypeSymbol of com.sun.tools.javac.code.Symbol
public TypeVariableSymbol = com.sun.tools.javac.code.Symbol$TypeVariableSymbol of com.sun.tools.javac.code.Symbol
public TypeVar = com.sun.tools.javac.code.Type$TypeVar of com.sun.tools.javac.code.Type
com.sun.tools.javac.code.Type$TypeVar$1
public abstract Visitor = com.sun.tools.javac.code.Type$Visitor of com.sun.tools.javac.code.Type