public abstract class com.google.common.reflect.TypeToken<T> extends com.google.common.reflect.TypeCapture<T> implements java.io.Serializable
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.google.common.reflect.TypeToken
super_class: com.google.common.reflect.TypeCapture
{
private final java.lang.reflect.Type runtimeType;
descriptor: Ljava/lang/reflect/Type;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private transient com.google.common.reflect.TypeResolver invariantTypeResolver;
descriptor: Lcom/google/common/reflect/TypeResolver;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
RuntimeVisibleTypeAnnotations:
FIELD
org.checkerframework.checker.nullness.qual.MonotonicNonNull()
private transient com.google.common.reflect.TypeResolver covariantTypeResolver;
descriptor: Lcom/google/common/reflect/TypeResolver;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
RuntimeVisibleTypeAnnotations:
FIELD
org.checkerframework.checker.nullness.qual.MonotonicNonNull()
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3637540370352322684
protected void <init>();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.google.common.reflect.TypeCapture.<init>:()V
1: aload 0
aload 0
invokevirtual com.google.common.reflect.TypeToken.capture:()Ljava/lang/reflect/Type;
putfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
2: aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
instanceof java.lang.reflect.TypeVariable
ifeq 3
iconst_0
goto 4
StackMap locals: com.google.common.reflect.TypeToken
StackMap stack:
3: iconst_1
4: StackMap locals:
StackMap stack: int
ldc "Cannot construct a TypeToken for a type variable.\nYou probably meant to call new TypeToken<%s>(getClass()) that can resolve the type variable for you.\nIf you do need to create a TypeToken of a type variable, please use TypeToken.of() instead."
5: aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
6: invokestatic com.google.common.base.Preconditions.checkState:(ZLjava/lang/String;Ljava/lang/Object;)V
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/google/common/reflect/TypeToken<TT;>;
protected void <init>(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokespecial com.google.common.reflect.TypeCapture.<init>:()V
1: aload 0
invokespecial com.google.common.reflect.TypeCapture.capture:()Ljava/lang/reflect/Type;
astore 2
start local 2 2: aload 2
instanceof java.lang.Class
ifeq 5
3: aload 0
aload 2
putfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
4: goto 6
5: StackMap locals: com.google.common.reflect.TypeToken java.lang.Class java.lang.reflect.Type
StackMap stack:
aload 0
aload 1
invokestatic com.google.common.reflect.TypeResolver.covariantly:(Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeResolver;
aload 2
invokevirtual com.google.common.reflect.TypeResolver.resolveType:(Ljava/lang/reflect/Type;)Ljava/lang/reflect/Type;
putfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
6: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/google/common/reflect/TypeToken<TT;>;
0 7 1 declaringClass Ljava/lang/Class<*>;
2 7 2 captured Ljava/lang/reflect/Type;
Signature: (Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
declaringClass
private void <init>(java.lang.reflect.Type);
descriptor: (Ljava/lang/reflect/Type;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial com.google.common.reflect.TypeCapture.<init>:()V
1: aload 0
aload 1
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.reflect.Type
putfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/google/common/reflect/TypeToken<TT;>;
0 3 1 type Ljava/lang/reflect/Type;
MethodParameters:
Name Flags
type
public static <T> com.google.common.reflect.TypeToken<T> of(java.lang.Class<T>);
descriptor: (Ljava/lang/Class;)Lcom/google/common/reflect/TypeToken;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.google.common.reflect.TypeToken$SimpleTypeToken
dup
aload 0
invokespecial com.google.common.reflect.TypeToken$SimpleTypeToken.<init>:(Ljava/lang/reflect/Type;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 type Ljava/lang/Class<TT;>;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)Lcom/google/common/reflect/TypeToken<TT;>;
MethodParameters:
Name Flags
type
public static com.google.common.reflect.TypeToken<?> of(java.lang.reflect.Type);
descriptor: (Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.google.common.reflect.TypeToken$SimpleTypeToken
dup
aload 0
invokespecial com.google.common.reflect.TypeToken$SimpleTypeToken.<init>:(Ljava/lang/reflect/Type;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 type Ljava/lang/reflect/Type;
Signature: (Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken<*>;
MethodParameters:
Name Flags
type
public final java.lang.Class<? super T> getRawType();
descriptor: ()Ljava/lang/Class;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual com.google.common.reflect.TypeToken.getRawTypes:()Lcom/google/common/collect/ImmutableSet;
invokevirtual com.google.common.collect.ImmutableSet.iterator:()Lcom/google/common/collect/UnmodifiableIterator;
invokevirtual com.google.common.collect.UnmodifiableIterator.next:()Ljava/lang/Object;
checkcast java.lang.Class
astore 1
start local 1 1: aload 1
astore 2
start local 2 2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/google/common/reflect/TypeToken<TT;>;
1 3 1 rawType Ljava/lang/Class<*>;
2 3 2 result Ljava/lang/Class<-TT;>;
Signature: ()Ljava/lang/Class<-TT;>;
public final java.lang.reflect.Type getType();
descriptor: ()Ljava/lang/reflect/Type;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/reflect/TypeToken<TT;>;
public final <X> com.google.common.reflect.TypeToken<T> where(com.google.common.reflect.TypeParameter<X>, com.google.common.reflect.TypeToken<X>);
descriptor: (Lcom/google/common/reflect/TypeParameter;Lcom/google/common/reflect/TypeToken;)Lcom/google/common/reflect/TypeToken;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new com.google.common.reflect.TypeResolver
dup
invokespecial com.google.common.reflect.TypeResolver.<init>:()V
1: new com.google.common.reflect.TypeResolver$TypeVariableKey
dup
aload 1
getfield com.google.common.reflect.TypeParameter.typeVariable:Ljava/lang/reflect/TypeVariable;
invokespecial com.google.common.reflect.TypeResolver$TypeVariableKey.<init>:(Ljava/lang/reflect/TypeVariable;)V
aload 2
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
2: invokestatic com.google.common.collect.ImmutableMap.of:(Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableMap;
3: invokevirtual com.google.common.reflect.TypeResolver.where:(Ljava/util/Map;)Lcom/google/common/reflect/TypeResolver;
4: astore 3
start local 3 5: new com.google.common.reflect.TypeToken$SimpleTypeToken
dup
aload 3
aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
invokevirtual com.google.common.reflect.TypeResolver.resolveType:(Ljava/lang/reflect/Type;)Ljava/lang/reflect/Type;
invokespecial com.google.common.reflect.TypeToken$SimpleTypeToken.<init>:(Ljava/lang/reflect/Type;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/google/common/reflect/TypeToken<TT;>;
0 6 1 typeParam Lcom/google/common/reflect/TypeParameter<TX;>;
0 6 2 typeArg Lcom/google/common/reflect/TypeToken<TX;>;
5 6 3 resolver Lcom/google/common/reflect/TypeResolver;
Signature: <X:Ljava/lang/Object;>(Lcom/google/common/reflect/TypeParameter<TX;>;Lcom/google/common/reflect/TypeToken<TX;>;)Lcom/google/common/reflect/TypeToken<TT;>;
MethodParameters:
Name Flags
typeParam
typeArg
public final <X> com.google.common.reflect.TypeToken<T> where(com.google.common.reflect.TypeParameter<X>, java.lang.Class<X>);
descriptor: (Lcom/google/common/reflect/TypeParameter;Ljava/lang/Class;)Lcom/google/common/reflect/TypeToken;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokestatic com.google.common.reflect.TypeToken.of:(Ljava/lang/Class;)Lcom/google/common/reflect/TypeToken;
invokevirtual com.google.common.reflect.TypeToken.where:(Lcom/google/common/reflect/TypeParameter;Lcom/google/common/reflect/TypeToken;)Lcom/google/common/reflect/TypeToken;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/reflect/TypeToken<TT;>;
0 1 1 typeParam Lcom/google/common/reflect/TypeParameter<TX;>;
0 1 2 typeArg Ljava/lang/Class<TX;>;
Signature: <X:Ljava/lang/Object;>(Lcom/google/common/reflect/TypeParameter<TX;>;Ljava/lang/Class<TX;>;)Lcom/google/common/reflect/TypeToken<TT;>;
MethodParameters:
Name Flags
typeParam
typeArg
public final com.google.common.reflect.TypeToken<?> resolveType(java.lang.reflect.Type);
descriptor: (Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
invokevirtual com.google.common.reflect.TypeToken.getInvariantTypeResolver:()Lcom/google/common/reflect/TypeResolver;
aload 1
invokevirtual com.google.common.reflect.TypeResolver.resolveType:(Ljava/lang/reflect/Type;)Ljava/lang/reflect/Type;
invokestatic com.google.common.reflect.TypeToken.of:(Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/common/reflect/TypeToken<TT;>;
0 2 1 type Ljava/lang/reflect/Type;
Signature: (Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken<*>;
MethodParameters:
Name Flags
type
private com.google.common.reflect.TypeToken<?> resolveSupertype(java.lang.reflect.Type);
descriptor: (Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.google.common.reflect.TypeToken.getCovariantTypeResolver:()Lcom/google/common/reflect/TypeResolver;
aload 1
invokevirtual com.google.common.reflect.TypeResolver.resolveType:(Ljava/lang/reflect/Type;)Ljava/lang/reflect/Type;
invokestatic com.google.common.reflect.TypeToken.of:(Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken;
astore 2
start local 2 1: aload 2
aload 0
getfield com.google.common.reflect.TypeToken.covariantTypeResolver:Lcom/google/common/reflect/TypeResolver;
putfield com.google.common.reflect.TypeToken.covariantTypeResolver:Lcom/google/common/reflect/TypeResolver;
2: aload 2
aload 0
getfield com.google.common.reflect.TypeToken.invariantTypeResolver:Lcom/google/common/reflect/TypeResolver;
putfield com.google.common.reflect.TypeToken.invariantTypeResolver:Lcom/google/common/reflect/TypeResolver;
3: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/google/common/reflect/TypeToken<TT;>;
0 4 1 type Ljava/lang/reflect/Type;
1 4 2 supertype Lcom/google/common/reflect/TypeToken<*>;
Signature: (Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken<*>;
MethodParameters:
Name Flags
type
final com.google.common.reflect.TypeToken<? super T> getGenericSuperclass();
descriptor: ()Lcom/google/common/reflect/TypeToken;
flags: (0x0010) ACC_FINAL
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
instanceof java.lang.reflect.TypeVariable
ifeq 2
1: aload 0
aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
checkcast java.lang.reflect.TypeVariable
invokeinterface java.lang.reflect.TypeVariable.getBounds:()[Ljava/lang/reflect/Type;
iconst_0
aaload
invokevirtual com.google.common.reflect.TypeToken.boundAsSuperclass:(Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
instanceof java.lang.reflect.WildcardType
ifeq 4
3: aload 0
aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
checkcast java.lang.reflect.WildcardType
invokeinterface java.lang.reflect.WildcardType.getUpperBounds:()[Ljava/lang/reflect/Type;
iconst_0
aaload
invokevirtual com.google.common.reflect.TypeToken.boundAsSuperclass:(Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken;
areturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.google.common.reflect.TypeToken.getRawType:()Ljava/lang/Class;
invokevirtual java.lang.Class.getGenericSuperclass:()Ljava/lang/reflect/Type;
astore 1
start local 1 5: aload 1
ifnonnull 7
6: aconst_null
areturn
7: StackMap locals: java.lang.reflect.Type
StackMap stack:
aload 0
aload 1
invokevirtual com.google.common.reflect.TypeToken.resolveSupertype:(Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken;
astore 2
start local 2 8: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/google/common/reflect/TypeToken<TT;>;
5 9 1 superclass Ljava/lang/reflect/Type;
8 9 2 superToken Lcom/google/common/reflect/TypeToken<-TT;>;
Signature: ()Lcom/google/common/reflect/TypeToken<-TT;>;
RuntimeVisibleTypeAnnotations:
METHOD_RETURN
org.checkerframework.checker.nullness.qual.Nullable()
private com.google.common.reflect.TypeToken<? super T> boundAsSuperclass(java.lang.reflect.Type);
descriptor: (Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.google.common.reflect.TypeToken.of:(Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken;
astore 2
start local 2 1: aload 2
invokevirtual com.google.common.reflect.TypeToken.getRawType:()Ljava/lang/Class;
invokevirtual java.lang.Class.isInterface:()Z
ifeq 3
2: aconst_null
areturn
3: StackMap locals: com.google.common.reflect.TypeToken
StackMap stack:
aload 2
astore 3
start local 3 4: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/google/common/reflect/TypeToken<TT;>;
0 5 1 bound Ljava/lang/reflect/Type;
1 5 2 token Lcom/google/common/reflect/TypeToken<*>;
4 5 3 superclass Lcom/google/common/reflect/TypeToken<-TT;>;
Signature: (Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken<-TT;>;
RuntimeVisibleTypeAnnotations:
METHOD_RETURN
org.checkerframework.checker.nullness.qual.Nullable()
MethodParameters:
Name Flags
bound
final com.google.common.collect.ImmutableList<com.google.common.reflect.TypeToken<? super T>> getGenericInterfaces();
descriptor: ()Lcom/google/common/collect/ImmutableList;
flags: (0x0010) ACC_FINAL
Code:
stack=2, locals=7, args_size=1
start local 0 0: aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
instanceof java.lang.reflect.TypeVariable
ifeq 2
1: aload 0
aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
checkcast java.lang.reflect.TypeVariable
invokeinterface java.lang.reflect.TypeVariable.getBounds:()[Ljava/lang/reflect/Type;
invokevirtual com.google.common.reflect.TypeToken.boundsAsInterfaces:([Ljava/lang/reflect/Type;)Lcom/google/common/collect/ImmutableList;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
instanceof java.lang.reflect.WildcardType
ifeq 4
3: aload 0
aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
checkcast java.lang.reflect.WildcardType
invokeinterface java.lang.reflect.WildcardType.getUpperBounds:()[Ljava/lang/reflect/Type;
invokevirtual com.google.common.reflect.TypeToken.boundsAsInterfaces:([Ljava/lang/reflect/Type;)Lcom/google/common/collect/ImmutableList;
areturn
4: StackMap locals:
StackMap stack:
invokestatic com.google.common.collect.ImmutableList.builder:()Lcom/google/common/collect/ImmutableList$Builder;
astore 1
start local 1 5: aload 0
invokevirtual com.google.common.reflect.TypeToken.getRawType:()Ljava/lang/Class;
invokevirtual java.lang.Class.getGenericInterfaces:()[Ljava/lang/reflect/Type;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 11
StackMap locals: com.google.common.reflect.TypeToken com.google.common.collect.ImmutableList$Builder top int int java.lang.reflect.Type[]
StackMap stack:
6: aload 5
iload 3
aaload
astore 2
start local 2 7: aload 0
aload 2
invokevirtual com.google.common.reflect.TypeToken.resolveSupertype:(Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken;
8: astore 6
start local 6 9: aload 1
aload 6
invokevirtual com.google.common.collect.ImmutableList$Builder.add:(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList$Builder;
pop
end local 6 end local 2 10: iinc 3 1
StackMap locals:
StackMap stack:
11: iload 3
iload 4
if_icmplt 6
12: aload 1
invokevirtual com.google.common.collect.ImmutableList$Builder.build:()Lcom/google/common/collect/ImmutableList;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/google/common/reflect/TypeToken<TT;>;
5 13 1 builder Lcom/google/common/collect/ImmutableList$Builder<Lcom/google/common/reflect/TypeToken<-TT;>;>;
7 10 2 interfaceType Ljava/lang/reflect/Type;
9 10 6 resolvedInterface Lcom/google/common/reflect/TypeToken<-TT;>;
Signature: ()Lcom/google/common/collect/ImmutableList<Lcom/google/common/reflect/TypeToken<-TT;>;>;
private com.google.common.collect.ImmutableList<com.google.common.reflect.TypeToken<? super T>> boundsAsInterfaces(java.lang.reflect.Type[]);
descriptor: ([Ljava/lang/reflect/Type;)Lcom/google/common/collect/ImmutableList;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=8, args_size=2
start local 0 start local 1 0: invokestatic com.google.common.collect.ImmutableList.builder:()Lcom/google/common/collect/ImmutableList$Builder;
astore 2
start local 2 1: aload 1
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 7
StackMap locals: com.google.common.reflect.TypeToken java.lang.reflect.Type[] com.google.common.collect.ImmutableList$Builder top int int java.lang.reflect.Type[]
StackMap stack:
2: aload 6
iload 4
aaload
astore 3
start local 3 3: aload 3
invokestatic com.google.common.reflect.TypeToken.of:(Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken;
astore 7
start local 7 4: aload 7
invokevirtual com.google.common.reflect.TypeToken.getRawType:()Ljava/lang/Class;
invokevirtual java.lang.Class.isInterface:()Z
ifeq 6
5: aload 2
aload 7
invokevirtual com.google.common.collect.ImmutableList$Builder.add:(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList$Builder;
pop
end local 7 end local 3 6: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
iload 5
if_icmplt 2
8: aload 2
invokevirtual com.google.common.collect.ImmutableList$Builder.build:()Lcom/google/common/collect/ImmutableList;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/google/common/reflect/TypeToken<TT;>;
0 9 1 bounds [Ljava/lang/reflect/Type;
1 9 2 builder Lcom/google/common/collect/ImmutableList$Builder<Lcom/google/common/reflect/TypeToken<-TT;>;>;
3 6 3 bound Ljava/lang/reflect/Type;
4 6 7 boundType Lcom/google/common/reflect/TypeToken<-TT;>;
Signature: ([Ljava/lang/reflect/Type;)Lcom/google/common/collect/ImmutableList<Lcom/google/common/reflect/TypeToken<-TT;>;>;
MethodParameters:
Name Flags
bounds
public final com.google.common.reflect.TypeToken<T>.TypeSet getTypes();
descriptor: ()Lcom/google/common/reflect/TypeToken$TypeSet;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.google.common.reflect.TypeToken$TypeSet
dup
aload 0
invokespecial com.google.common.reflect.TypeToken$TypeSet.<init>:(Lcom/google/common/reflect/TypeToken;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/reflect/TypeToken<TT;>;
Signature: ()Lcom/google/common/reflect/TypeToken<TT;>.TypeSet;
public final com.google.common.reflect.TypeToken<? super T> getSupertype(java.lang.Class<? super T>);
descriptor: (Ljava/lang/Class;)Lcom/google/common/reflect/TypeToken;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.google.common.reflect.TypeToken.someRawTypeIsSubclassOf:(Ljava/lang/Class;)Z
1: ldc "%s is not a super class of %s"
2: aload 1
3: aload 0
4: invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
5: aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
instanceof java.lang.reflect.TypeVariable
ifeq 7
6: aload 0
aload 1
aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
checkcast java.lang.reflect.TypeVariable
invokeinterface java.lang.reflect.TypeVariable.getBounds:()[Ljava/lang/reflect/Type;
invokevirtual com.google.common.reflect.TypeToken.getSupertypeFromUpperBounds:(Ljava/lang/Class;[Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken;
areturn
7: StackMap locals:
StackMap stack:
aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
instanceof java.lang.reflect.WildcardType
ifeq 9
8: aload 0
aload 1
aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
checkcast java.lang.reflect.WildcardType
invokeinterface java.lang.reflect.WildcardType.getUpperBounds:()[Ljava/lang/reflect/Type;
invokevirtual com.google.common.reflect.TypeToken.getSupertypeFromUpperBounds:(Ljava/lang/Class;[Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken;
areturn
9: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.Class.isArray:()Z
ifeq 11
10: aload 0
aload 1
invokevirtual com.google.common.reflect.TypeToken.getArraySupertype:(Ljava/lang/Class;)Lcom/google/common/reflect/TypeToken;
areturn
11: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic com.google.common.reflect.TypeToken.toGenericType:(Ljava/lang/Class;)Lcom/google/common/reflect/TypeToken;
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
invokevirtual com.google.common.reflect.TypeToken.resolveSupertype:(Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken;
12: astore 2
start local 2 13: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/google/common/reflect/TypeToken<TT;>;
0 14 1 superclass Ljava/lang/Class<-TT;>;
13 14 2 supertype Lcom/google/common/reflect/TypeToken<-TT;>;
Signature: (Ljava/lang/Class<-TT;>;)Lcom/google/common/reflect/TypeToken<-TT;>;
MethodParameters:
Name Flags
superclass
public final com.google.common.reflect.TypeToken<? extends T> getSubtype(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Lcom/google/common/reflect/TypeToken;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
instanceof java.lang.reflect.TypeVariable
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ldc "Cannot get subtype of type variable <%s>"
aload 0
3: invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/String;Ljava/lang/Object;)V
4: aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
instanceof java.lang.reflect.WildcardType
ifeq 6
5: aload 0
aload 1
aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
checkcast java.lang.reflect.WildcardType
invokeinterface java.lang.reflect.WildcardType.getLowerBounds:()[Ljava/lang/reflect/Type;
invokevirtual com.google.common.reflect.TypeToken.getSubtypeFromLowerBounds:(Ljava/lang/Class;[Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken;
areturn
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.google.common.reflect.TypeToken.isArray:()Z
ifeq 8
7: aload 0
aload 1
invokevirtual com.google.common.reflect.TypeToken.getArraySubtype:(Ljava/lang/Class;)Lcom/google/common/reflect/TypeToken;
areturn
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.google.common.reflect.TypeToken.getRawType:()Ljava/lang/Class;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ldc "%s isn't a subclass of %s"
aload 1
aload 0
9: invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
10: aload 0
aload 1
invokevirtual com.google.common.reflect.TypeToken.resolveTypeArgsForSubclass:(Ljava/lang/Class;)Ljava/lang/reflect/Type;
astore 2
start local 2 11: aload 2
invokestatic com.google.common.reflect.TypeToken.of:(Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken;
astore 3
start local 3 12: aload 3
aload 0
invokevirtual com.google.common.reflect.TypeToken.isSubtypeOf:(Lcom/google/common/reflect/TypeToken;)Z
ldc "%s does not appear to be a subtype of %s"
aload 3
aload 0
13: invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
14: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/google/common/reflect/TypeToken<TT;>;
0 15 1 subclass Ljava/lang/Class<*>;
11 15 2 resolvedTypeArgs Ljava/lang/reflect/Type;
12 15 3 subtype Lcom/google/common/reflect/TypeToken<+TT;>;
Signature: (Ljava/lang/Class<*>;)Lcom/google/common/reflect/TypeToken<+TT;>;
MethodParameters:
Name Flags
subclass
public final boolean isSupertypeOf(com.google.common.reflect.TypeToken<?>);
descriptor: (Lcom/google/common/reflect/TypeToken;)Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual com.google.common.reflect.TypeToken.getType:()Ljava/lang/reflect/Type;
invokevirtual com.google.common.reflect.TypeToken.isSubtypeOf:(Ljava/lang/reflect/Type;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/reflect/TypeToken<TT;>;
0 1 1 type Lcom/google/common/reflect/TypeToken<*>;
Signature: (Lcom/google/common/reflect/TypeToken<*>;)Z
MethodParameters:
Name Flags
type
public final boolean isSupertypeOf(java.lang.reflect.Type);
descriptor: (Ljava/lang/reflect/Type;)Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.google.common.reflect.TypeToken.of:(Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken;
aload 0
invokevirtual com.google.common.reflect.TypeToken.getType:()Ljava/lang/reflect/Type;
invokevirtual com.google.common.reflect.TypeToken.isSubtypeOf:(Ljava/lang/reflect/Type;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/reflect/TypeToken<TT;>;
0 1 1 type Ljava/lang/reflect/Type;
MethodParameters:
Name Flags
type
public final boolean isSubtypeOf(com.google.common.reflect.TypeToken<?>);
descriptor: (Lcom/google/common/reflect/TypeToken;)Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.google.common.reflect.TypeToken.getType:()Ljava/lang/reflect/Type;
invokevirtual com.google.common.reflect.TypeToken.isSubtypeOf:(Ljava/lang/reflect/Type;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/reflect/TypeToken<TT;>;
0 1 1 type Lcom/google/common/reflect/TypeToken<*>;
Signature: (Lcom/google/common/reflect/TypeToken<*>;)Z
MethodParameters:
Name Flags
type
public final boolean isSubtypeOf(java.lang.reflect.Type);
descriptor: (Ljava/lang/reflect/Type;)Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 1
instanceof java.lang.reflect.WildcardType
ifeq 3
2: aload 1
checkcast java.lang.reflect.WildcardType
invokeinterface java.lang.reflect.WildcardType.getLowerBounds:()[Ljava/lang/reflect/Type;
invokestatic com.google.common.reflect.TypeToken.any:([Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken$Bounds;
aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
invokevirtual com.google.common.reflect.TypeToken$Bounds.isSupertypeOf:(Ljava/lang/reflect/Type;)Z
ireturn
3: StackMap locals:
StackMap stack:
aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
instanceof java.lang.reflect.WildcardType
ifeq 5
4: aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
checkcast java.lang.reflect.WildcardType
invokeinterface java.lang.reflect.WildcardType.getUpperBounds:()[Ljava/lang/reflect/Type;
invokestatic com.google.common.reflect.TypeToken.any:([Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken$Bounds;
aload 1
invokevirtual com.google.common.reflect.TypeToken$Bounds.isSubtypeOf:(Ljava/lang/reflect/Type;)Z
ireturn
5: StackMap locals:
StackMap stack:
aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
instanceof java.lang.reflect.TypeVariable
ifeq 10
6: aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 9
7: aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
checkcast java.lang.reflect.TypeVariable
invokeinterface java.lang.reflect.TypeVariable.getBounds:()[Ljava/lang/reflect/Type;
invokestatic com.google.common.reflect.TypeToken.any:([Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken$Bounds;
aload 1
invokevirtual com.google.common.reflect.TypeToken$Bounds.isSubtypeOf:(Ljava/lang/reflect/Type;)Z
ifne 9
8: iconst_0
ireturn
StackMap locals:
StackMap stack:
9: iconst_1
ireturn
10: StackMap locals:
StackMap stack:
aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
instanceof java.lang.reflect.GenericArrayType
ifeq 12
11: aload 1
invokestatic com.google.common.reflect.TypeToken.of:(Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken;
aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
checkcast java.lang.reflect.GenericArrayType
invokevirtual com.google.common.reflect.TypeToken.isSupertypeOfArray:(Ljava/lang/reflect/GenericArrayType;)Z
ireturn
12: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.Class
ifeq 14
13: aload 0
aload 1
checkcast java.lang.Class
invokevirtual com.google.common.reflect.TypeToken.someRawTypeIsSubclassOf:(Ljava/lang/Class;)Z
ireturn
14: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.reflect.ParameterizedType
ifeq 16
15: aload 0
aload 1
checkcast java.lang.reflect.ParameterizedType
invokevirtual com.google.common.reflect.TypeToken.isSubtypeOfParameterizedType:(Ljava/lang/reflect/ParameterizedType;)Z
ireturn
16: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.reflect.GenericArrayType
ifeq 18
17: aload 0
aload 1
checkcast java.lang.reflect.GenericArrayType
invokevirtual com.google.common.reflect.TypeToken.isSubtypeOfArrayType:(Ljava/lang/reflect/GenericArrayType;)Z
ireturn
18: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/google/common/reflect/TypeToken<TT;>;
0 19 1 supertype Ljava/lang/reflect/Type;
MethodParameters:
Name Flags
supertype
public final boolean isArray();
descriptor: ()Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.google.common.reflect.TypeToken.getComponentType:()Lcom/google/common/reflect/TypeToken;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/common/reflect/TypeToken<TT;>;
public final boolean isPrimitive();
descriptor: ()Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
instanceof java.lang.Class
ifeq 1
aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
checkcast java.lang.Class
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/common/reflect/TypeToken<TT;>;
public final com.google.common.reflect.TypeToken<T> wrap();
descriptor: ()Lcom/google/common/reflect/TypeToken;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.google.common.reflect.TypeToken.isPrimitive:()Z
ifeq 3
1: aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
checkcast java.lang.Class
astore 1
start local 1 2: aload 1
invokestatic com.google.common.primitives.Primitives.wrap:(Ljava/lang/Class;)Ljava/lang/Class;
invokestatic com.google.common.reflect.TypeToken.of:(Ljava/lang/Class;)Lcom/google/common/reflect/TypeToken;
areturn
end local 1 3: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/google/common/reflect/TypeToken<TT;>;
2 3 1 type Ljava/lang/Class<TT;>;
Signature: ()Lcom/google/common/reflect/TypeToken<TT;>;
private boolean isWrapper();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic com.google.common.primitives.Primitives.allWrapperTypes:()Ljava/util/Set;
aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/reflect/TypeToken<TT;>;
public final com.google.common.reflect.TypeToken<T> unwrap();
descriptor: ()Lcom/google/common/reflect/TypeToken;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.google.common.reflect.TypeToken.isWrapper:()Z
ifeq 3
1: aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
checkcast java.lang.Class
astore 1
start local 1 2: aload 1
invokestatic com.google.common.primitives.Primitives.unwrap:(Ljava/lang/Class;)Ljava/lang/Class;
invokestatic com.google.common.reflect.TypeToken.of:(Ljava/lang/Class;)Lcom/google/common/reflect/TypeToken;
areturn
end local 1 3: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/google/common/reflect/TypeToken<TT;>;
2 3 1 type Ljava/lang/Class<TT;>;
Signature: ()Lcom/google/common/reflect/TypeToken<TT;>;
public final com.google.common.reflect.TypeToken<?> getComponentType();
descriptor: ()Lcom/google/common/reflect/TypeToken;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
invokestatic com.google.common.reflect.Types.getComponentType:(Ljava/lang/reflect/Type;)Ljava/lang/reflect/Type;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: java.lang.reflect.Type
StackMap stack:
aload 1
invokestatic com.google.common.reflect.TypeToken.of:(Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/google/common/reflect/TypeToken<TT;>;
1 4 1 componentType Ljava/lang/reflect/Type;
Signature: ()Lcom/google/common/reflect/TypeToken<*>;
RuntimeVisibleTypeAnnotations:
METHOD_RETURN
org.checkerframework.checker.nullness.qual.Nullable()
public final com.google.common.reflect.Invokable<T, java.lang.Object> method(java.lang.reflect.Method);
descriptor: (Ljava/lang/reflect/Method;)Lcom/google/common/reflect/Invokable;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
invokevirtual com.google.common.reflect.TypeToken.someRawTypeIsSubclassOf:(Ljava/lang/Class;)Z
1: ldc "%s not declared by %s"
2: aload 1
3: aload 0
4: invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
5: new com.google.common.reflect.TypeToken$1
dup
aload 0
aload 1
invokespecial com.google.common.reflect.TypeToken$1.<init>:(Lcom/google/common/reflect/TypeToken;Ljava/lang/reflect/Method;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/google/common/reflect/TypeToken<TT;>;
0 6 1 method Ljava/lang/reflect/Method;
Signature: (Ljava/lang/reflect/Method;)Lcom/google/common/reflect/Invokable<TT;Ljava/lang/Object;>;
MethodParameters:
Name Flags
method
public final com.google.common.reflect.Invokable<T, T> constructor(java.lang.reflect.Constructor<?>);
descriptor: (Ljava/lang/reflect/Constructor;)Lcom/google/common/reflect/Invokable;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.reflect.Constructor.getDeclaringClass:()Ljava/lang/Class;
aload 0
invokevirtual com.google.common.reflect.TypeToken.getRawType:()Ljava/lang/Class;
if_acmpne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
2: StackMap locals:
StackMap stack: int
ldc "%s not declared by %s"
3: aload 1
4: aload 0
invokevirtual com.google.common.reflect.TypeToken.getRawType:()Ljava/lang/Class;
5: invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
6: new com.google.common.reflect.TypeToken$2
dup
aload 0
aload 1
invokespecial com.google.common.reflect.TypeToken$2.<init>:(Lcom/google/common/reflect/TypeToken;Ljava/lang/reflect/Constructor;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/google/common/reflect/TypeToken<TT;>;
0 7 1 constructor Ljava/lang/reflect/Constructor<*>;
Signature: (Ljava/lang/reflect/Constructor<*>;)Lcom/google/common/reflect/Invokable<TT;TT;>;
MethodParameters:
Name Flags
constructor
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 com.google.common.reflect.TypeToken
ifeq 3
1: aload 1
checkcast com.google.common.reflect.TypeToken
astore 2
start local 2 2: aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
aload 2
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ireturn
end local 2 3: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/google/common/reflect/TypeToken<TT;>;
0 4 1 o Ljava/lang/Object;
2 3 2 that Lcom/google/common/reflect/TypeToken<*>;
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
org.checkerframework.checker.nullness.qual.Nullable()
MethodParameters:
Name Flags
o
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
invokevirtual java.lang.Object.hashCode:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/reflect/TypeToken<TT;>;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
invokestatic com.google.common.reflect.Types.toString:(Ljava/lang/reflect/Type;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/reflect/TypeToken<TT;>;
protected java.lang.Object writeReplace();
descriptor: ()Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: new com.google.common.reflect.TypeResolver
dup
invokespecial com.google.common.reflect.TypeResolver.<init>:()V
aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
invokevirtual com.google.common.reflect.TypeResolver.resolveType:(Ljava/lang/reflect/Type;)Ljava/lang/reflect/Type;
invokestatic com.google.common.reflect.TypeToken.of:(Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/reflect/TypeToken<TT;>;
final com.google.common.reflect.TypeToken<T> rejectTypeVariables();
descriptor: ()Lcom/google/common/reflect/TypeToken;
flags: (0x0010) ACC_FINAL
Code:
stack=5, locals=1, args_size=1
start local 0 0: new com.google.common.reflect.TypeToken$3
dup
aload 0
invokespecial com.google.common.reflect.TypeToken$3.<init>:(Lcom/google/common/reflect/TypeToken;)V
iconst_1
anewarray java.lang.reflect.Type
dup
iconst_0
1: aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
aastore
invokevirtual com.google.common.reflect.TypeToken$3.visit:([Ljava/lang/reflect/Type;)V
2: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/google/common/reflect/TypeToken<TT;>;
Signature: ()Lcom/google/common/reflect/TypeToken<TT;>;
RuntimeInvisibleAnnotations:
com.google.errorprone.annotations.CanIgnoreReturnValue()
private boolean someRawTypeIsSubclassOf(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.google.common.reflect.TypeToken.getRawTypes:()Lcom/google/common/collect/ImmutableSet;
invokevirtual com.google.common.collect.ImmutableSet.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: com.google.common.reflect.TypeToken java.lang.Class top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Class
astore 2
start local 2 2: aload 1
aload 2
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 4
3: iconst_1
ireturn
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/google/common/reflect/TypeToken<TT;>;
0 6 1 superclass Ljava/lang/Class<*>;
2 4 2 rawType Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
superclass
private boolean isSubtypeOfParameterizedType(java.lang.reflect.ParameterizedType);
descriptor: (Ljava/lang/reflect/ParameterizedType;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.google.common.reflect.TypeToken.of:(Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken;
invokevirtual com.google.common.reflect.TypeToken.getRawType:()Ljava/lang/Class;
astore 2
start local 2 1: aload 0
aload 2
invokevirtual com.google.common.reflect.TypeToken.someRawTypeIsSubclassOf:(Ljava/lang/Class;)Z
ifne 3
2: iconst_0
ireturn
3: StackMap locals: java.lang.Class
StackMap stack:
aload 2
invokevirtual java.lang.Class.getTypeParameters:()[Ljava/lang/reflect/TypeVariable;
astore 3
start local 3 4: aload 1
invokeinterface java.lang.reflect.ParameterizedType.getActualTypeArguments:()[Ljava/lang/reflect/Type;
astore 4
start local 4 5: iconst_0
istore 5
start local 5 6: goto 11
7: StackMap locals: java.lang.reflect.TypeVariable[] java.lang.reflect.Type[] int
StackMap stack:
aload 0
invokevirtual com.google.common.reflect.TypeToken.getCovariantTypeResolver:()Lcom/google/common/reflect/TypeResolver;
aload 3
iload 5
aaload
invokevirtual com.google.common.reflect.TypeResolver.resolveType:(Ljava/lang/reflect/Type;)Ljava/lang/reflect/Type;
astore 6
start local 6 8: aload 6
invokestatic com.google.common.reflect.TypeToken.of:(Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken;
aload 4
iload 5
aaload
aload 3
iload 5
aaload
invokevirtual com.google.common.reflect.TypeToken.is:(Ljava/lang/reflect/Type;Ljava/lang/reflect/TypeVariable;)Z
ifne 10
9: iconst_0
ireturn
end local 6 10: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
11: iload 5
aload 3
arraylength
if_icmplt 7
end local 5 12: aload 1
invokeinterface java.lang.reflect.ParameterizedType.getRawType:()Ljava/lang/reflect/Type;
checkcast java.lang.Class
invokevirtual java.lang.Class.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
ifne 16
13: aload 1
invokeinterface java.lang.reflect.ParameterizedType.getOwnerType:()Ljava/lang/reflect/Type;
ifnull 16
14: aload 0
aload 1
invokeinterface java.lang.reflect.ParameterizedType.getOwnerType:()Ljava/lang/reflect/Type;
invokevirtual com.google.common.reflect.TypeToken.isOwnedBySubtypeOf:(Ljava/lang/reflect/Type;)Z
ifne 16
15: iconst_0
ireturn
StackMap locals:
StackMap stack:
16: iconst_1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/google/common/reflect/TypeToken<TT;>;
0 17 1 supertype Ljava/lang/reflect/ParameterizedType;
1 17 2 matchedClass Ljava/lang/Class<*>;
4 17 3 typeVars [Ljava/lang/reflect/TypeVariable;
5 17 4 supertypeArgs [Ljava/lang/reflect/Type;
6 12 5 i I
8 10 6 subtypeParam Ljava/lang/reflect/Type;
MethodParameters:
Name Flags
supertype
private boolean isSubtypeOfArrayType(java.lang.reflect.GenericArrayType);
descriptor: (Ljava/lang/reflect/GenericArrayType;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
instanceof java.lang.Class
ifeq 5
1: aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
checkcast java.lang.Class
astore 2
start local 2 2: aload 2
invokevirtual java.lang.Class.isArray:()Z
ifne 4
3: iconst_0
ireturn
4: StackMap locals: java.lang.Class
StackMap stack:
aload 2
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
invokestatic com.google.common.reflect.TypeToken.of:(Ljava/lang/Class;)Lcom/google/common/reflect/TypeToken;
aload 1
invokeinterface java.lang.reflect.GenericArrayType.getGenericComponentType:()Ljava/lang/reflect/Type;
invokevirtual com.google.common.reflect.TypeToken.isSubtypeOf:(Ljava/lang/reflect/Type;)Z
ireturn
end local 2 5: StackMap locals:
StackMap stack:
aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
instanceof java.lang.reflect.GenericArrayType
ifeq 10
6: aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
checkcast java.lang.reflect.GenericArrayType
astore 2
start local 2 7: aload 2
invokeinterface java.lang.reflect.GenericArrayType.getGenericComponentType:()Ljava/lang/reflect/Type;
invokestatic com.google.common.reflect.TypeToken.of:(Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken;
8: aload 1
invokeinterface java.lang.reflect.GenericArrayType.getGenericComponentType:()Ljava/lang/reflect/Type;
invokevirtual com.google.common.reflect.TypeToken.isSubtypeOf:(Ljava/lang/reflect/Type;)Z
9: ireturn
end local 2 10: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/google/common/reflect/TypeToken<TT;>;
0 11 1 supertype Ljava/lang/reflect/GenericArrayType;
2 5 2 fromClass Ljava/lang/Class<*>;
7 10 2 fromArrayType Ljava/lang/reflect/GenericArrayType;
MethodParameters:
Name Flags
supertype
private boolean isSupertypeOfArray(java.lang.reflect.GenericArrayType);
descriptor: (Ljava/lang/reflect/GenericArrayType;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
instanceof java.lang.Class
ifeq 5
1: aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
checkcast java.lang.Class
astore 2
start local 2 2: aload 2
invokevirtual java.lang.Class.isArray:()Z
ifne 4
3: aload 2
ldc [Ljava/lang/Object;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ireturn
4: StackMap locals: java.lang.Class
StackMap stack:
aload 1
invokeinterface java.lang.reflect.GenericArrayType.getGenericComponentType:()Ljava/lang/reflect/Type;
invokestatic com.google.common.reflect.TypeToken.of:(Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken;
aload 2
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
invokevirtual com.google.common.reflect.TypeToken.isSubtypeOf:(Ljava/lang/reflect/Type;)Z
ireturn
end local 2 5: StackMap locals:
StackMap stack:
aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
instanceof java.lang.reflect.GenericArrayType
ifeq 9
6: aload 1
invokeinterface java.lang.reflect.GenericArrayType.getGenericComponentType:()Ljava/lang/reflect/Type;
invokestatic com.google.common.reflect.TypeToken.of:(Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken;
7: aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
checkcast java.lang.reflect.GenericArrayType
invokeinterface java.lang.reflect.GenericArrayType.getGenericComponentType:()Ljava/lang/reflect/Type;
invokevirtual com.google.common.reflect.TypeToken.isSubtypeOf:(Ljava/lang/reflect/Type;)Z
8: ireturn
9: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/google/common/reflect/TypeToken<TT;>;
0 10 1 subtype Ljava/lang/reflect/GenericArrayType;
2 5 2 thisClass Ljava/lang/Class<*>;
MethodParameters:
Name Flags
subtype
private boolean is(java.lang.reflect.Type, java.lang.reflect.TypeVariable<?>);
descriptor: (Ljava/lang/reflect/Type;Ljava/lang/reflect/TypeVariable;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.reflect.WildcardType
ifeq 8
3: aload 2
aload 1
checkcast java.lang.reflect.WildcardType
invokestatic com.google.common.reflect.TypeToken.canonicalizeWildcardType:(Ljava/lang/reflect/TypeVariable;Ljava/lang/reflect/WildcardType;)Ljava/lang/reflect/WildcardType;
astore 3
start local 3 4: aload 3
invokeinterface java.lang.reflect.WildcardType.getUpperBounds:()[Ljava/lang/reflect/Type;
invokestatic com.google.common.reflect.TypeToken.every:([Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken$Bounds;
aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
invokevirtual com.google.common.reflect.TypeToken$Bounds.isSupertypeOf:(Ljava/lang/reflect/Type;)Z
ifeq 7
5: aload 3
invokeinterface java.lang.reflect.WildcardType.getLowerBounds:()[Ljava/lang/reflect/Type;
invokestatic com.google.common.reflect.TypeToken.every:([Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken$Bounds;
aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
invokevirtual com.google.common.reflect.TypeToken$Bounds.isSubtypeOf:(Ljava/lang/reflect/Type;)Z
ifeq 7
6: iconst_1
ireturn
StackMap locals: java.lang.reflect.WildcardType
StackMap stack:
7: iconst_0
ireturn
end local 3 8: StackMap locals:
StackMap stack:
aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
invokestatic com.google.common.reflect.TypeToken.canonicalizeWildcardsInType:(Ljava/lang/reflect/Type;)Ljava/lang/reflect/Type;
9: aload 1
invokestatic com.google.common.reflect.TypeToken.canonicalizeWildcardsInType:(Ljava/lang/reflect/Type;)Ljava/lang/reflect/Type;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
10: ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/google/common/reflect/TypeToken<TT;>;
0 11 1 formalType Ljava/lang/reflect/Type;
0 11 2 declaration Ljava/lang/reflect/TypeVariable<*>;
4 8 3 your Ljava/lang/reflect/WildcardType;
Signature: (Ljava/lang/reflect/Type;Ljava/lang/reflect/TypeVariable<*>;)Z
MethodParameters:
Name Flags
formalType
declaration
private static java.lang.reflect.Type canonicalizeTypeArg(java.lang.reflect.TypeVariable<?>, java.lang.reflect.Type);
descriptor: (Ljava/lang/reflect/TypeVariable;Ljava/lang/reflect/Type;)Ljava/lang/reflect/Type;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof java.lang.reflect.WildcardType
ifeq 2
1: aload 0
aload 1
checkcast java.lang.reflect.WildcardType
invokestatic com.google.common.reflect.TypeToken.canonicalizeWildcardType:(Ljava/lang/reflect/TypeVariable;Ljava/lang/reflect/WildcardType;)Ljava/lang/reflect/WildcardType;
goto 3
2: StackMap locals:
StackMap stack:
aload 1
invokestatic com.google.common.reflect.TypeToken.canonicalizeWildcardsInType:(Ljava/lang/reflect/Type;)Ljava/lang/reflect/Type;
3: StackMap locals:
StackMap stack: java.lang.reflect.Type
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 declaration Ljava/lang/reflect/TypeVariable<*>;
0 4 1 typeArg Ljava/lang/reflect/Type;
Signature: (Ljava/lang/reflect/TypeVariable<*>;Ljava/lang/reflect/Type;)Ljava/lang/reflect/Type;
MethodParameters:
Name Flags
declaration
typeArg
private static java.lang.reflect.Type canonicalizeWildcardsInType(java.lang.reflect.Type);
descriptor: (Ljava/lang/reflect/Type;)Ljava/lang/reflect/Type;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof java.lang.reflect.ParameterizedType
ifeq 2
1: aload 0
checkcast java.lang.reflect.ParameterizedType
invokestatic com.google.common.reflect.TypeToken.canonicalizeWildcardsInParameterizedType:(Ljava/lang/reflect/ParameterizedType;)Ljava/lang/reflect/ParameterizedType;
areturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.reflect.GenericArrayType
ifeq 5
3: aload 0
checkcast java.lang.reflect.GenericArrayType
invokeinterface java.lang.reflect.GenericArrayType.getGenericComponentType:()Ljava/lang/reflect/Type;
invokestatic com.google.common.reflect.TypeToken.canonicalizeWildcardsInType:(Ljava/lang/reflect/Type;)Ljava/lang/reflect/Type;
4: invokestatic com.google.common.reflect.Types.newArrayType:(Ljava/lang/reflect/Type;)Ljava/lang/reflect/Type;
areturn
5: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 type Ljava/lang/reflect/Type;
MethodParameters:
Name Flags
type
private static java.lang.reflect.WildcardType canonicalizeWildcardType(java.lang.reflect.TypeVariable<?>, java.lang.reflect.WildcardType);
descriptor: (Ljava/lang/reflect/TypeVariable;Ljava/lang/reflect/WildcardType;)Ljava/lang/reflect/WildcardType;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface java.lang.reflect.TypeVariable.getBounds:()[Ljava/lang/reflect/Type;
astore 2
start local 2 1: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 2: aload 1
invokeinterface java.lang.reflect.WildcardType.getUpperBounds:()[Ljava/lang/reflect/Type;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 7
StackMap locals: java.lang.reflect.TypeVariable java.lang.reflect.WildcardType java.lang.reflect.Type[] java.util.List top int int java.lang.reflect.Type[]
StackMap stack:
3: aload 7
iload 5
aaload
astore 4
start local 4 4: aload 2
invokestatic com.google.common.reflect.TypeToken.any:([Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken$Bounds;
aload 4
invokevirtual com.google.common.reflect.TypeToken$Bounds.isSubtypeOf:(Ljava/lang/reflect/Type;)Z
ifne 6
5: aload 3
aload 4
invokestatic com.google.common.reflect.TypeToken.canonicalizeWildcardsInType:(Ljava/lang/reflect/Type;)Ljava/lang/reflect/Type;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 4 6: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
7: iload 5
iload 6
if_icmplt 3
8: new com.google.common.reflect.Types$WildcardTypeImpl
dup
aload 1
invokeinterface java.lang.reflect.WildcardType.getLowerBounds:()[Ljava/lang/reflect/Type;
aload 3
iconst_0
anewarray java.lang.reflect.Type
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.reflect.Type[]
invokespecial com.google.common.reflect.Types$WildcardTypeImpl.<init>:([Ljava/lang/reflect/Type;[Ljava/lang/reflect/Type;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 declaration Ljava/lang/reflect/TypeVariable<*>;
0 9 1 type Ljava/lang/reflect/WildcardType;
1 9 2 declared [Ljava/lang/reflect/Type;
2 9 3 upperBounds Ljava/util/List<Ljava/lang/reflect/Type;>;
4 6 4 bound Ljava/lang/reflect/Type;
Signature: (Ljava/lang/reflect/TypeVariable<*>;Ljava/lang/reflect/WildcardType;)Ljava/lang/reflect/WildcardType;
MethodParameters:
Name Flags
declaration
type
private static java.lang.reflect.ParameterizedType canonicalizeWildcardsInParameterizedType(java.lang.reflect.ParameterizedType);
descriptor: (Ljava/lang/reflect/ParameterizedType;)Ljava/lang/reflect/ParameterizedType;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=1
start local 0 0: aload 0
invokeinterface java.lang.reflect.ParameterizedType.getRawType:()Ljava/lang/reflect/Type;
checkcast java.lang.Class
astore 1
start local 1 1: aload 1
invokevirtual java.lang.Class.getTypeParameters:()[Ljava/lang/reflect/TypeVariable;
astore 2
start local 2 2: aload 0
invokeinterface java.lang.reflect.ParameterizedType.getActualTypeArguments:()[Ljava/lang/reflect/Type;
astore 3
start local 3 3: iconst_0
istore 4
start local 4 4: goto 7
5: StackMap locals: java.lang.reflect.ParameterizedType java.lang.Class java.lang.reflect.TypeVariable[] java.lang.reflect.Type[] int
StackMap stack:
aload 3
iload 4
aload 2
iload 4
aaload
aload 3
iload 4
aaload
invokestatic com.google.common.reflect.TypeToken.canonicalizeTypeArg:(Ljava/lang/reflect/TypeVariable;Ljava/lang/reflect/Type;)Ljava/lang/reflect/Type;
aastore
6: iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
aload 3
arraylength
if_icmplt 5
end local 4 8: aload 0
invokeinterface java.lang.reflect.ParameterizedType.getOwnerType:()Ljava/lang/reflect/Type;
aload 1
aload 3
invokestatic com.google.common.reflect.Types.newParameterizedTypeWithOwner:(Ljava/lang/reflect/Type;Ljava/lang/Class;[Ljava/lang/reflect/Type;)Ljava/lang/reflect/ParameterizedType;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 type Ljava/lang/reflect/ParameterizedType;
1 9 1 rawType Ljava/lang/Class<*>;
2 9 2 typeVars [Ljava/lang/reflect/TypeVariable;
3 9 3 typeArgs [Ljava/lang/reflect/Type;
4 8 4 i I
MethodParameters:
Name Flags
type
private static com.google.common.reflect.TypeToken$Bounds every(java.lang.reflect.Type[]);
descriptor: ([Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken$Bounds;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new com.google.common.reflect.TypeToken$Bounds
dup
aload 0
iconst_0
invokespecial com.google.common.reflect.TypeToken$Bounds.<init>:([Ljava/lang/reflect/Type;Z)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 bounds [Ljava/lang/reflect/Type;
MethodParameters:
Name Flags
bounds
private static com.google.common.reflect.TypeToken$Bounds any(java.lang.reflect.Type[]);
descriptor: ([Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken$Bounds;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new com.google.common.reflect.TypeToken$Bounds
dup
aload 0
iconst_1
invokespecial com.google.common.reflect.TypeToken$Bounds.<init>:([Ljava/lang/reflect/Type;Z)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 bounds [Ljava/lang/reflect/Type;
MethodParameters:
Name Flags
bounds
private com.google.common.collect.ImmutableSet<java.lang.Class<? super T>> getRawTypes();
descriptor: ()Lcom/google/common/collect/ImmutableSet;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=1
start local 0 0: invokestatic com.google.common.collect.ImmutableSet.builder:()Lcom/google/common/collect/ImmutableSet$Builder;
astore 1
start local 1 1: new com.google.common.reflect.TypeToken$4
dup
aload 0
aload 1
invokespecial com.google.common.reflect.TypeToken$4.<init>:(Lcom/google/common/reflect/TypeToken;Lcom/google/common/collect/ImmutableSet$Builder;)V
iconst_1
anewarray java.lang.reflect.Type
dup
iconst_0
2: aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
aastore
invokevirtual com.google.common.reflect.TypeToken$4.visit:([Ljava/lang/reflect/Type;)V
3: aload 1
invokevirtual com.google.common.collect.ImmutableSet$Builder.build:()Lcom/google/common/collect/ImmutableSet;
astore 2
start local 2 4: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/google/common/reflect/TypeToken<TT;>;
1 5 1 builder Lcom/google/common/collect/ImmutableSet$Builder<Ljava/lang/Class<*>;>;
4 5 2 result Lcom/google/common/collect/ImmutableSet<Ljava/lang/Class<-TT;>;>;
Signature: ()Lcom/google/common/collect/ImmutableSet<Ljava/lang/Class<-TT;>;>;
private boolean isOwnedBySubtypeOf(java.lang.reflect.Type);
descriptor: (Ljava/lang/reflect/Type;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.google.common.reflect.TypeToken.getTypes:()Lcom/google/common/reflect/TypeToken$TypeSet;
invokevirtual com.google.common.reflect.TypeToken$TypeSet.iterator:()Ljava/util/Iterator;
astore 3
goto 5
StackMap locals: com.google.common.reflect.TypeToken java.lang.reflect.Type top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.google.common.reflect.TypeToken
astore 2
start local 2 2: aload 2
invokevirtual com.google.common.reflect.TypeToken.getOwnerTypeIfPresent:()Ljava/lang/reflect/Type;
astore 4
start local 4 3: aload 4
ifnull 5
aload 4
invokestatic com.google.common.reflect.TypeToken.of:(Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken;
aload 1
invokevirtual com.google.common.reflect.TypeToken.isSubtypeOf:(Ljava/lang/reflect/Type;)Z
ifeq 5
4: iconst_1
ireturn
end local 4 end local 2 5: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
6: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/google/common/reflect/TypeToken<TT;>;
0 7 1 supertype Ljava/lang/reflect/Type;
2 5 2 type Lcom/google/common/reflect/TypeToken<*>;
3 5 4 ownerType Ljava/lang/reflect/Type;
MethodParameters:
Name Flags
supertype
private java.lang.reflect.Type getOwnerTypeIfPresent();
descriptor: ()Ljava/lang/reflect/Type;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
instanceof java.lang.reflect.ParameterizedType
ifeq 2
1: aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
checkcast java.lang.reflect.ParameterizedType
invokeinterface java.lang.reflect.ParameterizedType.getOwnerType:()Ljava/lang/reflect/Type;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
instanceof java.lang.Class
ifeq 4
3: aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
checkcast java.lang.Class
invokevirtual java.lang.Class.getEnclosingClass:()Ljava/lang/Class;
areturn
4: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/google/common/reflect/TypeToken<TT;>;
RuntimeVisibleTypeAnnotations:
METHOD_RETURN
org.checkerframework.checker.nullness.qual.Nullable()
static <T> com.google.common.reflect.TypeToken<? extends T> toGenericType(java.lang.Class<T>);
descriptor: (Ljava/lang/Class;)Lcom/google/common/reflect/TypeToken;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.isArray:()Z
ifeq 6
1: aload 0
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
invokestatic com.google.common.reflect.TypeToken.toGenericType:(Ljava/lang/Class;)Lcom/google/common/reflect/TypeToken;
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
2: invokestatic com.google.common.reflect.Types.newArrayType:(Ljava/lang/reflect/Type;)Ljava/lang/reflect/Type;
3: astore 1
start local 1 4: aload 1
invokestatic com.google.common.reflect.TypeToken.of:(Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken;
astore 2
start local 2 5: aload 2
areturn
end local 2 end local 1 6: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Class.getTypeParameters:()[Ljava/lang/reflect/TypeVariable;
astore 1
start local 1 7: aload 0
invokevirtual java.lang.Class.isMemberClass:()Z
ifeq 9
aload 0
invokevirtual java.lang.Class.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
ifne 9
8: aload 0
invokevirtual java.lang.Class.getEnclosingClass:()Ljava/lang/Class;
invokestatic com.google.common.reflect.TypeToken.toGenericType:(Ljava/lang/Class;)Lcom/google/common/reflect/TypeToken;
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
goto 10
9: StackMap locals: java.lang.reflect.TypeVariable[]
StackMap stack:
aconst_null
10: StackMap locals:
StackMap stack: java.lang.reflect.Type
astore 2
start local 2 11: aload 1
arraylength
ifgt 12
aload 2
ifnull 15
aload 2
aload 0
invokevirtual java.lang.Class.getEnclosingClass:()Ljava/lang/Class;
if_acmpeq 15
12: StackMap locals: java.lang.reflect.Type
StackMap stack:
aload 2
aload 0
aload 1
invokestatic com.google.common.reflect.Types.newParameterizedTypeWithOwner:(Ljava/lang/reflect/Type;Ljava/lang/Class;[Ljava/lang/reflect/Type;)Ljava/lang/reflect/ParameterizedType;
invokestatic com.google.common.reflect.TypeToken.of:(Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken;
13: astore 3
start local 3 14: aload 3
areturn
end local 3 15: StackMap locals:
StackMap stack:
aload 0
invokestatic com.google.common.reflect.TypeToken.of:(Ljava/lang/Class;)Lcom/google/common/reflect/TypeToken;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 cls Ljava/lang/Class<TT;>;
4 6 1 arrayOfGenericType Ljava/lang/reflect/Type;
5 6 2 result Lcom/google/common/reflect/TypeToken<+TT;>;
7 16 1 typeParams [Ljava/lang/reflect/TypeVariable;
11 16 2 ownerType Ljava/lang/reflect/Type;
14 15 3 type Lcom/google/common/reflect/TypeToken<+TT;>;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)Lcom/google/common/reflect/TypeToken<+TT;>;
RuntimeInvisibleAnnotations:
com.google.common.annotations.VisibleForTesting()
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
com.google.common.annotations.VisibleForTesting()
MethodParameters:
Name Flags
cls
private com.google.common.reflect.TypeResolver getCovariantTypeResolver();
descriptor: ()Lcom/google/common/reflect/TypeResolver;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield com.google.common.reflect.TypeToken.covariantTypeResolver:Lcom/google/common/reflect/TypeResolver;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: aload 0
aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
invokestatic com.google.common.reflect.TypeResolver.covariantly:(Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeResolver;
dup_x1
putfield com.google.common.reflect.TypeToken.covariantTypeResolver:Lcom/google/common/reflect/TypeResolver;
astore 1
3: StackMap locals: com.google.common.reflect.TypeResolver
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/google/common/reflect/TypeToken<TT;>;
1 4 1 resolver Lcom/google/common/reflect/TypeResolver;
private com.google.common.reflect.TypeResolver getInvariantTypeResolver();
descriptor: ()Lcom/google/common/reflect/TypeResolver;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield com.google.common.reflect.TypeToken.invariantTypeResolver:Lcom/google/common/reflect/TypeResolver;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: aload 0
aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
invokestatic com.google.common.reflect.TypeResolver.invariantly:(Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeResolver;
dup_x1
putfield com.google.common.reflect.TypeToken.invariantTypeResolver:Lcom/google/common/reflect/TypeResolver;
astore 1
3: StackMap locals: com.google.common.reflect.TypeResolver
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/google/common/reflect/TypeToken<TT;>;
1 4 1 resolver Lcom/google/common/reflect/TypeResolver;
private com.google.common.reflect.TypeToken<? super T> getSupertypeFromUpperBounds(java.lang.Class<? super T>, java.lang.reflect.Type[]);
descriptor: (Ljava/lang/Class;[Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 2
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 7
StackMap locals: com.google.common.reflect.TypeToken java.lang.Class java.lang.reflect.Type[] top int int java.lang.reflect.Type[]
StackMap stack:
1: aload 6
iload 4
aaload
astore 3
start local 3 2: aload 3
invokestatic com.google.common.reflect.TypeToken.of:(Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken;
astore 7
start local 7 3: aload 7
aload 1
invokevirtual com.google.common.reflect.TypeToken.isSubtypeOf:(Ljava/lang/reflect/Type;)Z
ifeq 6
4: aload 7
aload 1
invokevirtual com.google.common.reflect.TypeToken.getSupertype:(Ljava/lang/Class;)Lcom/google/common/reflect/TypeToken;
astore 8
start local 8 5: aload 8
areturn
end local 8 end local 7 end local 3 6: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
iload 5
if_icmplt 1
8: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " isn't a super type of "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/google/common/reflect/TypeToken<TT;>;
0 9 1 supertype Ljava/lang/Class<-TT;>;
0 9 2 upperBounds [Ljava/lang/reflect/Type;
2 6 3 upperBound Ljava/lang/reflect/Type;
3 6 7 bound Lcom/google/common/reflect/TypeToken<-TT;>;
5 6 8 result Lcom/google/common/reflect/TypeToken<-TT;>;
Signature: (Ljava/lang/Class<-TT;>;[Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken<-TT;>;
MethodParameters:
Name Flags
supertype
upperBounds
private com.google.common.reflect.TypeToken<? extends T> getSubtypeFromLowerBounds(java.lang.Class<?>, java.lang.reflect.Type[]);
descriptor: (Ljava/lang/Class;[Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
dup
astore 4
arraylength
ifeq 3
aload 4
iconst_0
aaload
astore 3
start local 3 1: aload 3
invokestatic com.google.common.reflect.TypeToken.of:(Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken;
astore 5
start local 5 2: aload 5
aload 1
invokevirtual com.google.common.reflect.TypeToken.getSubtype:(Ljava/lang/Class;)Lcom/google/common/reflect/TypeToken;
areturn
end local 5 end local 3 3: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " isn't a subclass of "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/google/common/reflect/TypeToken<TT;>;
0 4 1 subclass Ljava/lang/Class<*>;
0 4 2 lowerBounds [Ljava/lang/reflect/Type;
1 3 3 lowerBound Ljava/lang/reflect/Type;
2 3 5 bound Lcom/google/common/reflect/TypeToken<+TT;>;
Signature: (Ljava/lang/Class<*>;[Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken<+TT;>;
MethodParameters:
Name Flags
subclass
lowerBounds
private com.google.common.reflect.TypeToken<? super T> getArraySupertype(java.lang.Class<? super T>);
descriptor: (Ljava/lang/Class;)Lcom/google/common/reflect/TypeToken;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.google.common.reflect.TypeToken.getComponentType:()Lcom/google/common/reflect/TypeToken;
ldc "%s isn't a super type of %s"
aload 1
aload 0
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.google.common.reflect.TypeToken
1: astore 2
start local 2 2: aload 2
aload 1
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
invokevirtual com.google.common.reflect.TypeToken.getSupertype:(Ljava/lang/Class;)Lcom/google/common/reflect/TypeToken;
astore 3
start local 3 3: aload 3
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
invokestatic com.google.common.reflect.TypeToken.newArrayClassOrGenericArrayType:(Ljava/lang/reflect/Type;)Ljava/lang/reflect/Type;
invokestatic com.google.common.reflect.TypeToken.of:(Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken;
4: astore 4
start local 4 5: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/google/common/reflect/TypeToken<TT;>;
0 6 1 supertype Ljava/lang/Class<-TT;>;
2 6 2 componentType Lcom/google/common/reflect/TypeToken;
3 6 3 componentSupertype Lcom/google/common/reflect/TypeToken<*>;
5 6 4 result Lcom/google/common/reflect/TypeToken<-TT;>;
Signature: (Ljava/lang/Class<-TT;>;)Lcom/google/common/reflect/TypeToken<-TT;>;
MethodParameters:
Name Flags
supertype
private com.google.common.reflect.TypeToken<? extends T> getArraySubtype(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Lcom/google/common/reflect/TypeToken;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.google.common.reflect.TypeToken.getComponentType:()Lcom/google/common/reflect/TypeToken;
aload 1
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
invokevirtual com.google.common.reflect.TypeToken.getSubtype:(Ljava/lang/Class;)Lcom/google/common/reflect/TypeToken;
astore 2
start local 2 1: aload 2
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
invokestatic com.google.common.reflect.TypeToken.newArrayClassOrGenericArrayType:(Ljava/lang/reflect/Type;)Ljava/lang/reflect/Type;
invokestatic com.google.common.reflect.TypeToken.of:(Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeToken;
2: astore 3
start local 3 3: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/google/common/reflect/TypeToken<TT;>;
0 4 1 subclass Ljava/lang/Class<*>;
1 4 2 componentSubtype Lcom/google/common/reflect/TypeToken<*>;
3 4 3 result Lcom/google/common/reflect/TypeToken<+TT;>;
Signature: (Ljava/lang/Class<*>;)Lcom/google/common/reflect/TypeToken<+TT;>;
MethodParameters:
Name Flags
subclass
private java.lang.reflect.Type resolveTypeArgsForSubclass(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/reflect/Type;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
instanceof java.lang.Class
ifeq 4
1: aload 1
invokevirtual java.lang.Class.getTypeParameters:()[Ljava/lang/reflect/TypeVariable;
arraylength
ifeq 3
2: aload 0
invokevirtual com.google.common.reflect.TypeToken.getRawType:()Ljava/lang/Class;
invokevirtual java.lang.Class.getTypeParameters:()[Ljava/lang/reflect/TypeVariable;
arraylength
ifeq 4
3: StackMap locals:
StackMap stack:
aload 1
areturn
4: StackMap locals:
StackMap stack:
aload 1
invokestatic com.google.common.reflect.TypeToken.toGenericType:(Ljava/lang/Class;)Lcom/google/common/reflect/TypeToken;
astore 2
start local 2 5: aload 2
aload 0
invokevirtual com.google.common.reflect.TypeToken.getRawType:()Ljava/lang/Class;
invokevirtual com.google.common.reflect.TypeToken.getSupertype:(Ljava/lang/Class;)Lcom/google/common/reflect/TypeToken;
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
6: astore 3
start local 3 7: new com.google.common.reflect.TypeResolver
dup
invokespecial com.google.common.reflect.TypeResolver.<init>:()V
8: aload 3
aload 0
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
invokevirtual com.google.common.reflect.TypeResolver.where:(Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;)Lcom/google/common/reflect/TypeResolver;
9: aload 2
getfield com.google.common.reflect.TypeToken.runtimeType:Ljava/lang/reflect/Type;
invokevirtual com.google.common.reflect.TypeResolver.resolveType:(Ljava/lang/reflect/Type;)Ljava/lang/reflect/Type;
10: areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/google/common/reflect/TypeToken<TT;>;
0 11 1 subclass Ljava/lang/Class<*>;
5 11 2 genericSubtype Lcom/google/common/reflect/TypeToken<*>;
7 11 3 supertypeWithArgsFromSubtype Ljava/lang/reflect/Type;
Signature: (Ljava/lang/Class<*>;)Ljava/lang/reflect/Type;
MethodParameters:
Name Flags
subclass
private static java.lang.reflect.Type newArrayClassOrGenericArrayType(java.lang.reflect.Type);
descriptor: (Ljava/lang/reflect/Type;)Ljava/lang/reflect/Type;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic com.google.common.reflect.Types$JavaVersion.JAVA7:Lcom/google/common/reflect/Types$JavaVersion;
aload 0
invokevirtual com.google.common.reflect.Types$JavaVersion.newArrayType:(Ljava/lang/reflect/Type;)Ljava/lang/reflect/Type;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 componentType Ljava/lang/reflect/Type;
MethodParameters:
Name Flags
componentType
}
Signature: <T:Ljava/lang/Object;>Lcom/google/common/reflect/TypeCapture<TT;>;Ljava/io/Serializable;
SourceFile: "TypeToken.java"
NestMembers:
com.google.common.reflect.TypeToken$1 com.google.common.reflect.TypeToken$2 com.google.common.reflect.TypeToken$3 com.google.common.reflect.TypeToken$4 com.google.common.reflect.TypeToken$Bounds com.google.common.reflect.TypeToken$ClassSet com.google.common.reflect.TypeToken$InterfaceSet com.google.common.reflect.TypeToken$InterfaceSet$1 com.google.common.reflect.TypeToken$SimpleTypeToken com.google.common.reflect.TypeToken$TypeCollector com.google.common.reflect.TypeToken$TypeCollector$1 com.google.common.reflect.TypeToken$TypeCollector$2 com.google.common.reflect.TypeToken$TypeCollector$3 com.google.common.reflect.TypeToken$TypeCollector$4 com.google.common.reflect.TypeToken$TypeCollector$ForwardingTypeCollector com.google.common.reflect.TypeToken$TypeFilter com.google.common.reflect.TypeToken$TypeFilter$1 com.google.common.reflect.TypeToken$TypeFilter$2 com.google.common.reflect.TypeToken$TypeSet
InnerClasses:
public final Builder = com.google.common.collect.ImmutableList$Builder of com.google.common.collect.ImmutableList
public Builder = com.google.common.collect.ImmutableSet$Builder of com.google.common.collect.ImmutableSet
final TypeVariableKey = com.google.common.reflect.TypeResolver$TypeVariableKey of com.google.common.reflect.TypeResolver
com.google.common.reflect.TypeToken$1
com.google.common.reflect.TypeToken$2
com.google.common.reflect.TypeToken$3
com.google.common.reflect.TypeToken$4
private Bounds = com.google.common.reflect.TypeToken$Bounds of com.google.common.reflect.TypeToken
private final ClassSet = com.google.common.reflect.TypeToken$ClassSet of com.google.common.reflect.TypeToken
private final InterfaceSet = com.google.common.reflect.TypeToken$InterfaceSet of com.google.common.reflect.TypeToken
private final SimpleTypeToken = com.google.common.reflect.TypeToken$SimpleTypeToken of com.google.common.reflect.TypeToken
private abstract TypeCollector = com.google.common.reflect.TypeToken$TypeCollector of com.google.common.reflect.TypeToken
private abstract TypeFilter = com.google.common.reflect.TypeToken$TypeFilter of com.google.common.reflect.TypeToken
public TypeSet = com.google.common.reflect.TypeToken$TypeSet of com.google.common.reflect.TypeToken
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
RuntimeInvisibleAnnotations:
com.google.common.annotations.Beta()