class com.google.common.reflect.TypeResolver$TypeTable
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.google.common.reflect.TypeResolver$TypeTable
super_class: java.lang.Object
{
private final com.google.common.collect.ImmutableMap<com.google.common.reflect.TypeResolver$TypeVariableKey, java.lang.reflect.Type> map;
descriptor: Lcom/google/common/collect/ImmutableMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lcom/google/common/collect/ImmutableMap<Lcom/google/common/reflect/TypeResolver$TypeVariableKey;Ljava/lang/reflect/Type;>;
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
invokestatic com.google.common.collect.ImmutableMap.of:()Lcom/google/common/collect/ImmutableMap;
putfield com.google.common.reflect.TypeResolver$TypeTable.map:Lcom/google/common/collect/ImmutableMap;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/google/common/reflect/TypeResolver$TypeTable;
private void <init>(com.google.common.collect.ImmutableMap<com.google.common.reflect.TypeResolver$TypeVariableKey, java.lang.reflect.Type>);
descriptor: (Lcom/google/common/collect/ImmutableMap;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield com.google.common.reflect.TypeResolver$TypeTable.map:Lcom/google/common/collect/ImmutableMap;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/google/common/reflect/TypeResolver$TypeTable;
0 3 1 map Lcom/google/common/collect/ImmutableMap<Lcom/google/common/reflect/TypeResolver$TypeVariableKey;Ljava/lang/reflect/Type;>;
Signature: (Lcom/google/common/collect/ImmutableMap<Lcom/google/common/reflect/TypeResolver$TypeVariableKey;Ljava/lang/reflect/Type;>;)V
MethodParameters:
Name Flags
map
final com.google.common.reflect.TypeResolver$TypeTable where(java.util.Map<com.google.common.reflect.TypeResolver$TypeVariableKey, ? extends java.lang.reflect.Type>);
descriptor: (Ljava/util/Map;)Lcom/google/common/reflect/TypeResolver$TypeTable;
flags: (0x0010) ACC_FINAL
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: invokestatic com.google.common.collect.ImmutableMap.builder:()Lcom/google/common/collect/ImmutableMap$Builder;
astore 2
start local 2 1: aload 2
aload 0
getfield com.google.common.reflect.TypeResolver$TypeTable.map:Lcom/google/common/collect/ImmutableMap;
invokevirtual com.google.common.collect.ImmutableMap$Builder.putAll:(Ljava/util/Map;)Lcom/google/common/collect/ImmutableMap$Builder;
pop
2: aload 1
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 10
StackMap locals: com.google.common.reflect.TypeResolver$TypeTable java.util.Map com.google.common.collect.ImmutableMap$Builder top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 3
start local 3 4: aload 3
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast com.google.common.reflect.TypeResolver$TypeVariableKey
astore 5
start local 5 5: aload 3
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.reflect.Type
astore 6
start local 6 6: aload 5
aload 6
invokevirtual com.google.common.reflect.TypeResolver$TypeVariableKey.equalsType:(Ljava/lang/reflect/Type;)Z
ifeq 7
iconst_0
goto 8
StackMap locals: com.google.common.reflect.TypeResolver$TypeTable java.util.Map com.google.common.collect.ImmutableMap$Builder java.util.Map$Entry java.util.Iterator com.google.common.reflect.TypeResolver$TypeVariableKey java.lang.reflect.Type
StackMap stack:
7: iconst_1
StackMap locals:
StackMap stack: int
8: ldc "Type variable %s bound to itself"
aload 5
invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/String;Ljava/lang/Object;)V
9: aload 2
aload 5
aload 6
invokevirtual com.google.common.collect.ImmutableMap$Builder.put:(Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableMap$Builder;
pop
end local 6 end local 5 end local 3 10: StackMap locals: com.google.common.reflect.TypeResolver$TypeTable java.util.Map com.google.common.collect.ImmutableMap$Builder top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
11: new com.google.common.reflect.TypeResolver$TypeTable
dup
aload 2
invokevirtual com.google.common.collect.ImmutableMap$Builder.build:()Lcom/google/common/collect/ImmutableMap;
invokespecial com.google.common.reflect.TypeResolver$TypeTable.<init>:(Lcom/google/common/collect/ImmutableMap;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/google/common/reflect/TypeResolver$TypeTable;
0 12 1 mappings Ljava/util/Map<Lcom/google/common/reflect/TypeResolver$TypeVariableKey;+Ljava/lang/reflect/Type;>;
1 12 2 builder Lcom/google/common/collect/ImmutableMap$Builder<Lcom/google/common/reflect/TypeResolver$TypeVariableKey;Ljava/lang/reflect/Type;>;
4 10 3 mapping Ljava/util/Map$Entry<Lcom/google/common/reflect/TypeResolver$TypeVariableKey;+Ljava/lang/reflect/Type;>;
5 10 5 variable Lcom/google/common/reflect/TypeResolver$TypeVariableKey;
6 10 6 type Ljava/lang/reflect/Type;
Signature: (Ljava/util/Map<Lcom/google/common/reflect/TypeResolver$TypeVariableKey;+Ljava/lang/reflect/Type;>;)Lcom/google/common/reflect/TypeResolver$TypeTable;
MethodParameters:
Name Flags
mappings
final java.lang.reflect.Type resolve(java.lang.reflect.TypeVariable<?>);
descriptor: (Ljava/lang/reflect/TypeVariable;)Ljava/lang/reflect/Type;
flags: (0x0010) ACC_FINAL
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
astore 2
start local 2 1: new com.google.common.reflect.TypeResolver$TypeTable$1
dup
aload 0
aload 1
aload 2
invokespecial com.google.common.reflect.TypeResolver$TypeTable$1.<init>:(Lcom/google/common/reflect/TypeResolver$TypeTable;Ljava/lang/reflect/TypeVariable;Lcom/google/common/reflect/TypeResolver$TypeTable;)V
2: astore 3
start local 3 3: aload 0
aload 1
aload 3
invokevirtual com.google.common.reflect.TypeResolver$TypeTable.resolveInternal:(Ljava/lang/reflect/TypeVariable;Lcom/google/common/reflect/TypeResolver$TypeTable;)Ljava/lang/reflect/Type;
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/TypeResolver$TypeTable;
0 4 1 var Ljava/lang/reflect/TypeVariable<*>;
1 4 2 unguarded Lcom/google/common/reflect/TypeResolver$TypeTable;
3 4 3 guarded Lcom/google/common/reflect/TypeResolver$TypeTable;
Signature: (Ljava/lang/reflect/TypeVariable<*>;)Ljava/lang/reflect/Type;
MethodParameters:
Name Flags
var final
java.lang.reflect.Type resolveInternal(java.lang.reflect.TypeVariable<?>, com.google.common.reflect.TypeResolver$TypeTable);
descriptor: (Ljava/lang/reflect/TypeVariable;Lcom/google/common/reflect/TypeResolver$TypeTable;)Ljava/lang/reflect/Type;
flags: (0x0000)
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.google.common.reflect.TypeResolver$TypeTable.map:Lcom/google/common/collect/ImmutableMap;
new com.google.common.reflect.TypeResolver$TypeVariableKey
dup
aload 1
invokespecial com.google.common.reflect.TypeResolver$TypeVariableKey.<init>:(Ljava/lang/reflect/TypeVariable;)V
invokevirtual com.google.common.collect.ImmutableMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.reflect.Type
astore 3
start local 3 1: aload 3
ifnonnull 11
2: aload 1
invokeinterface java.lang.reflect.TypeVariable.getBounds:()[Ljava/lang/reflect/Type;
astore 4
start local 4 3: aload 4
arraylength
ifne 5
4: aload 1
areturn
5: StackMap locals: java.lang.reflect.Type java.lang.reflect.Type[]
StackMap stack:
new com.google.common.reflect.TypeResolver
dup
aload 2
invokespecial com.google.common.reflect.TypeResolver.<init>:(Lcom/google/common/reflect/TypeResolver$TypeTable;)V
aload 4
invokevirtual com.google.common.reflect.TypeResolver.resolveTypes:([Ljava/lang/reflect/Type;)[Ljava/lang/reflect/Type;
astore 5
start local 5 6: getstatic com.google.common.reflect.Types$NativeTypeVariableEquals.NATIVE_TYPE_VARIABLE_ONLY:Z
ifeq 9
7: aload 4
aload 5
invokestatic java.util.Arrays.equals:([Ljava/lang/Object;[Ljava/lang/Object;)Z
ifeq 9
8: aload 1
areturn
9: StackMap locals: java.lang.reflect.Type[]
StackMap stack:
aload 1
invokeinterface java.lang.reflect.TypeVariable.getGenericDeclaration:()Ljava/lang/reflect/GenericDeclaration;
aload 1
invokeinterface java.lang.reflect.TypeVariable.getName:()Ljava/lang/String;
aload 5
10: invokestatic com.google.common.reflect.Types.newArtificialTypeVariable:(Ljava/lang/reflect/GenericDeclaration;Ljava/lang/String;[Ljava/lang/reflect/Type;)Ljava/lang/reflect/TypeVariable;
areturn
end local 5 end local 4 11: StackMap locals:
StackMap stack:
new com.google.common.reflect.TypeResolver
dup
aload 2
invokespecial com.google.common.reflect.TypeResolver.<init>:(Lcom/google/common/reflect/TypeResolver$TypeTable;)V
aload 3
invokevirtual com.google.common.reflect.TypeResolver.resolveType:(Ljava/lang/reflect/Type;)Ljava/lang/reflect/Type;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/google/common/reflect/TypeResolver$TypeTable;
0 12 1 var Ljava/lang/reflect/TypeVariable<*>;
0 12 2 forDependants Lcom/google/common/reflect/TypeResolver$TypeTable;
1 12 3 type Ljava/lang/reflect/Type;
3 11 4 bounds [Ljava/lang/reflect/Type;
6 11 5 resolvedBounds [Ljava/lang/reflect/Type;
Signature: (Ljava/lang/reflect/TypeVariable<*>;Lcom/google/common/reflect/TypeResolver$TypeTable;)Ljava/lang/reflect/Type;
MethodParameters:
Name Flags
var
forDependants
}
SourceFile: "TypeResolver.java"
NestHost: com.google.common.reflect.TypeResolver
InnerClasses:
public Builder = com.google.common.collect.ImmutableMap$Builder of com.google.common.collect.ImmutableMap
private TypeTable = com.google.common.reflect.TypeResolver$TypeTable of com.google.common.reflect.TypeResolver
com.google.common.reflect.TypeResolver$TypeTable$1
final TypeVariableKey = com.google.common.reflect.TypeResolver$TypeVariableKey of com.google.common.reflect.TypeResolver
final NativeTypeVariableEquals = com.google.common.reflect.Types$NativeTypeVariableEquals of com.google.common.reflect.Types
public abstract Entry = java.util.Map$Entry of java.util.Map