final class com.google.common.reflect.Types$ParameterizedTypeImpl implements java.lang.reflect.ParameterizedType, java.io.Serializable
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.google.common.reflect.Types$ParameterizedTypeImpl
super_class: java.lang.Object
{
private final java.lang.reflect.Type ownerType;
descriptor: Ljava/lang/reflect/Type;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
RuntimeVisibleTypeAnnotations:
FIELD
org.checkerframework.checker.nullness.qual.Nullable()
private final com.google.common.collect.ImmutableList<java.lang.reflect.Type> argumentsList;
descriptor: Lcom/google/common/collect/ImmutableList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lcom/google/common/collect/ImmutableList<Ljava/lang/reflect/Type;>;
private final java.lang.Class<?> rawType;
descriptor: Ljava/lang/Class;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/Class<*>;
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.Class<?>, java.lang.reflect.Type[]);
descriptor: (Ljava/lang/reflect/Type;Ljava/lang/Class;[Ljava/lang/reflect/Type;)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 2
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 3
arraylength
aload 2
invokevirtual java.lang.Class.getTypeParameters:()[Ljava/lang/reflect/TypeVariable;
arraylength
if_icmpne 3
iconst_1
goto 4
StackMap locals: com.google.common.reflect.Types$ParameterizedTypeImpl java.lang.reflect.Type java.lang.Class java.lang.reflect.Type[]
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: invokestatic com.google.common.base.Preconditions.checkArgument:(Z)V
5: aload 3
ldc "type parameter"
invokestatic com.google.common.reflect.Types.disallowPrimitiveType:([Ljava/lang/reflect/Type;Ljava/lang/String;)V
6: aload 0
aload 1
putfield com.google.common.reflect.Types$ParameterizedTypeImpl.ownerType:Ljava/lang/reflect/Type;
7: aload 0
aload 2
putfield com.google.common.reflect.Types$ParameterizedTypeImpl.rawType:Ljava/lang/Class;
8: aload 0
getstatic com.google.common.reflect.Types$JavaVersion.CURRENT:Lcom/google/common/reflect/Types$JavaVersion;
aload 3
invokevirtual com.google.common.reflect.Types$JavaVersion.usedInGenericType:([Ljava/lang/reflect/Type;)Lcom/google/common/collect/ImmutableList;
putfield com.google.common.reflect.Types$ParameterizedTypeImpl.argumentsList:Lcom/google/common/collect/ImmutableList;
9: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/google/common/reflect/Types$ParameterizedTypeImpl;
0 10 1 ownerType Ljava/lang/reflect/Type;
0 10 2 rawType Ljava/lang/Class<*>;
0 10 3 typeArguments [Ljava/lang/reflect/Type;
Signature: (Ljava/lang/reflect/Type;Ljava/lang/Class<*>;[Ljava/lang/reflect/Type;)V
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
org.checkerframework.checker.nullness.qual.Nullable()
MethodParameters:
Name Flags
ownerType
rawType
typeArguments
public java.lang.reflect.Type[] getActualTypeArguments();
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$ParameterizedTypeImpl.argumentsList: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$ParameterizedTypeImpl;
public java.lang.reflect.Type getRawType();
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$ParameterizedTypeImpl.rawType:Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/reflect/Types$ParameterizedTypeImpl;
public java.lang.reflect.Type getOwnerType();
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$ParameterizedTypeImpl.ownerType:Ljava/lang/reflect/Type;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/reflect/Types$ParameterizedTypeImpl;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: aload 0
getfield com.google.common.reflect.Types$ParameterizedTypeImpl.ownerType:Ljava/lang/reflect/Type;
ifnull 3
getstatic com.google.common.reflect.Types$JavaVersion.CURRENT:Lcom/google/common/reflect/Types$JavaVersion;
invokevirtual com.google.common.reflect.Types$JavaVersion.jdkTypeDuplicatesOwnerName:()Z
ifeq 3
2: aload 1
getstatic com.google.common.reflect.Types$JavaVersion.CURRENT:Lcom/google/common/reflect/Types$JavaVersion;
aload 0
getfield com.google.common.reflect.Types$ParameterizedTypeImpl.ownerType:Ljava/lang/reflect/Type;
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;
bipush 46
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
3: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 1
4: aload 0
getfield com.google.common.reflect.Types$ParameterizedTypeImpl.rawType:Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: bipush 60
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
6: getstatic com.google.common.reflect.Types.COMMA_JOINER:Lcom/google/common/base/Joiner;
aload 0
getfield com.google.common.reflect.Types$ParameterizedTypeImpl.argumentsList:Lcom/google/common/collect/ImmutableList;
getstatic com.google.common.reflect.Types.TYPE_NAME:Lcom/google/common/base/Function;
invokestatic com.google.common.collect.Iterables.transform:(Ljava/lang/Iterable;Lcom/google/common/base/Function;)Ljava/lang/Iterable;
invokevirtual com.google.common.base.Joiner.join:(Ljava/lang/Iterable;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: bipush 62
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
8: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/google/common/reflect/Types$ParameterizedTypeImpl;
1 10 1 builder Ljava/lang/StringBuilder;
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$ParameterizedTypeImpl.ownerType:Ljava/lang/reflect/Type;
ifnonnull 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield com.google.common.reflect.Types$ParameterizedTypeImpl.ownerType:Ljava/lang/reflect/Type;
invokevirtual java.lang.Object.hashCode:()I
2: StackMap locals:
StackMap stack: int
aload 0
getfield com.google.common.reflect.Types$ParameterizedTypeImpl.argumentsList:Lcom/google/common/collect/ImmutableList;
invokevirtual com.google.common.collect.ImmutableList.hashCode:()I
3: ixor
4: aload 0
getfield com.google.common.reflect.Types$ParameterizedTypeImpl.rawType:Ljava/lang/Class;
invokevirtual java.lang.Object.hashCode:()I
5: ixor
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/google/common/reflect/Types$ParameterizedTypeImpl;
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.ParameterizedType
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
checkcast java.lang.reflect.ParameterizedType
astore 2
start local 2 3: aload 0
invokevirtual com.google.common.reflect.Types$ParameterizedTypeImpl.getRawType:()Ljava/lang/reflect/Type;
aload 2
invokeinterface java.lang.reflect.ParameterizedType.getRawType:()Ljava/lang/reflect/Type;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 7
4: aload 0
invokevirtual com.google.common.reflect.Types$ParameterizedTypeImpl.getOwnerType:()Ljava/lang/reflect/Type;
aload 2
invokeinterface java.lang.reflect.ParameterizedType.getOwnerType:()Ljava/lang/reflect/Type;
invokestatic com.google.common.base.Objects.equal:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 7
5: aload 0
invokevirtual com.google.common.reflect.Types$ParameterizedTypeImpl.getActualTypeArguments:()[Ljava/lang/reflect/Type;
aload 2
invokeinterface java.lang.reflect.ParameterizedType.getActualTypeArguments:()[Ljava/lang/reflect/Type;
invokestatic java.util.Arrays.equals:([Ljava/lang/Object;[Ljava/lang/Object;)Z
ifeq 7
6: iconst_1
ireturn
StackMap locals: java.lang.reflect.ParameterizedType
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/google/common/reflect/Types$ParameterizedTypeImpl;
0 8 1 other Ljava/lang/Object;
3 8 2 that Ljava/lang/reflect/ParameterizedType;
MethodParameters:
Name Flags
other
}
SourceFile: "Types.java"
NestHost: com.google.common.reflect.Types
InnerClasses:
abstract JavaVersion = com.google.common.reflect.Types$JavaVersion of com.google.common.reflect.Types
private final ParameterizedTypeImpl = com.google.common.reflect.Types$ParameterizedTypeImpl of com.google.common.reflect.Types