final class com.google.common.reflect.Types$WildcardTypeImpl implements java.lang.reflect.WildcardType, java.io.Serializable
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.google.common.reflect.Types$WildcardTypeImpl
super_class: java.lang.Object
{
private final com.google.common.collect.ImmutableList<java.lang.reflect.Type> lowerBounds;
descriptor: Lcom/google/common/collect/ImmutableList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lcom/google/common/collect/ImmutableList<Ljava/lang/reflect/Type;>;
private final com.google.common.collect.ImmutableList<java.lang.reflect.Type> upperBounds;
descriptor: Lcom/google/common/collect/ImmutableList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lcom/google/common/collect/ImmutableList<Ljava/lang/reflect/Type;>;
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
void <init>(java.lang.reflect.Type[], java.lang.reflect.Type[]);
descriptor: ([Ljava/lang/reflect/Type;[Ljava/lang/reflect/Type;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
ldc "lower bound for wildcard"
invokestatic com.google.common.reflect.Types.disallowPrimitiveType:([Ljava/lang/reflect/Type;Ljava/lang/String;)V
2: aload 2
ldc "upper bound for wildcard"
invokestatic com.google.common.reflect.Types.disallowPrimitiveType:([Ljava/lang/reflect/Type;Ljava/lang/String;)V
3: aload 0
getstatic com.google.common.reflect.Types$JavaVersion.CURRENT:Lcom/google/common/reflect/Types$JavaVersion;
aload 1
invokevirtual com.google.common.reflect.Types$JavaVersion.usedInGenericType:([Ljava/lang/reflect/Type;)Lcom/google/common/collect/ImmutableList;
putfield com.google.common.reflect.Types$WildcardTypeImpl.lowerBounds:Lcom/google/common/collect/ImmutableList;
4: aload 0
getstatic com.google.common.reflect.Types$JavaVersion.CURRENT:Lcom/google/common/reflect/Types$JavaVersion;
aload 2
invokevirtual com.google.common.reflect.Types$JavaVersion.usedInGenericType:([Ljava/lang/reflect/Type;)Lcom/google/common/collect/ImmutableList;
putfield com.google.common.reflect.Types$WildcardTypeImpl.upperBounds:Lcom/google/common/collect/ImmutableList;
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/google/common/reflect/Types$WildcardTypeImpl;
0 6 1 lowerBounds [Ljava/lang/reflect/Type;
0 6 2 upperBounds [Ljava/lang/reflect/Type;
MethodParameters:
Name Flags
lowerBounds
upperBounds
public java.lang.reflect.Type[] getLowerBounds();
descriptor: ()[Ljava/lang/reflect/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.common.reflect.Types$WildcardTypeImpl.lowerBounds:Lcom/google/common/collect/ImmutableList;
invokestatic com.google.common.reflect.Types.toArray:(Ljava/util/Collection;)[Ljava/lang/reflect/Type;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/reflect/Types$WildcardTypeImpl;
public java.lang.reflect.Type[] getUpperBounds();
descriptor: ()[Ljava/lang/reflect/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.common.reflect.Types$WildcardTypeImpl.upperBounds:Lcom/google/common/collect/ImmutableList;
invokestatic com.google.common.reflect.Types.toArray:(Ljava/util/Collection;)[Ljava/lang/reflect/Type;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/reflect/Types$WildcardTypeImpl;
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof java.lang.reflect.WildcardType
ifeq 6
1: aload 1
checkcast java.lang.reflect.WildcardType
astore 2
start local 2 2: aload 0
getfield com.google.common.reflect.Types$WildcardTypeImpl.lowerBounds:Lcom/google/common/collect/ImmutableList;
aload 2
invokeinterface java.lang.reflect.WildcardType.getLowerBounds:()[Ljava/lang/reflect/Type;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokevirtual com.google.common.collect.ImmutableList.equals:(Ljava/lang/Object;)Z
ifeq 5
3: aload 0
getfield com.google.common.reflect.Types$WildcardTypeImpl.upperBounds:Lcom/google/common/collect/ImmutableList;
aload 2
invokeinterface java.lang.reflect.WildcardType.getUpperBounds:()[Ljava/lang/reflect/Type;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokevirtual com.google.common.collect.ImmutableList.equals:(Ljava/lang/Object;)Z
ifeq 5
4: iconst_1
ireturn
StackMap locals: java.lang.reflect.WildcardType
StackMap stack:
5: iconst_0
ireturn
end local 2 6: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/google/common/reflect/Types$WildcardTypeImpl;
0 7 1 obj Ljava/lang/Object;
2 6 2 that Ljava/lang/reflect/WildcardType;
MethodParameters:
Name Flags
obj
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.common.reflect.Types$WildcardTypeImpl.lowerBounds:Lcom/google/common/collect/ImmutableList;
invokevirtual com.google.common.collect.ImmutableList.hashCode:()I
aload 0
getfield com.google.common.reflect.Types$WildcardTypeImpl.upperBounds:Lcom/google/common/collect/ImmutableList;
invokevirtual com.google.common.collect.ImmutableList.hashCode:()I
ixor
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/reflect/Types$WildcardTypeImpl;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "?"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 1
start local 1 1: aload 0
getfield com.google.common.reflect.Types$WildcardTypeImpl.lowerBounds:Lcom/google/common/collect/ImmutableList;
invokevirtual com.google.common.collect.ImmutableList.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: com.google.common.reflect.Types$WildcardTypeImpl java.lang.StringBuilder top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.reflect.Type
astore 2
start local 2 3: aload 1
ldc " super "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic com.google.common.reflect.Types$JavaVersion.CURRENT:Lcom/google/common/reflect/Types$JavaVersion;
aload 2
invokevirtual com.google.common.reflect.Types$JavaVersion.typeName:(Ljava/lang/reflect/Type;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: aload 0
getfield com.google.common.reflect.Types$WildcardTypeImpl.upperBounds:Lcom/google/common/collect/ImmutableList;
invokestatic com.google.common.reflect.Types.filterUpperBounds:(Ljava/lang/Iterable;)Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 3
goto 8
StackMap locals:
StackMap stack:
6: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.reflect.Type
astore 2
start local 2 7: aload 1
ldc " extends "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic com.google.common.reflect.Types$JavaVersion.CURRENT:Lcom/google/common/reflect/Types$JavaVersion;
aload 2
invokevirtual com.google.common.reflect.Types$JavaVersion.typeName:(Ljava/lang/reflect/Type;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 2 8: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
9: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/google/common/reflect/Types$WildcardTypeImpl;
1 10 1 builder Ljava/lang/StringBuilder;
3 4 2 lowerBound Ljava/lang/reflect/Type;
7 8 2 upperBound Ljava/lang/reflect/Type;
}
SourceFile: "Types.java"
NestHost: com.google.common.reflect.Types
InnerClasses:
abstract JavaVersion = com.google.common.reflect.Types$JavaVersion of com.google.common.reflect.Types
final WildcardTypeImpl = com.google.common.reflect.Types$WildcardTypeImpl of com.google.common.reflect.Types