public class com.fasterxml.classmate.TypeResolver implements java.io.Serializable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.fasterxml.classmate.TypeResolver
super_class: java.lang.Object
{
private static final com.fasterxml.classmate.ResolvedType[] NO_TYPES;
descriptor: [Lcom/fasterxml/classmate/ResolvedType;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final com.fasterxml.classmate.types.ResolvedObjectType sJavaLangObject;
descriptor: Lcom/fasterxml/classmate/types/ResolvedObjectType;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
protected static final java.util.HashMap<com.fasterxml.classmate.util.ClassKey, com.fasterxml.classmate.ResolvedType> _primitiveTypes;
descriptor: Ljava/util/HashMap;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/HashMap<Lcom/fasterxml/classmate/util/ClassKey;Lcom/fasterxml/classmate/ResolvedType;>;
protected final com.fasterxml.classmate.util.ResolvedTypeCache _resolvedTypes;
descriptor: Lcom/fasterxml/classmate/util/ResolvedTypeCache;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=2, args_size=0
0: iconst_0
anewarray com.fasterxml.classmate.ResolvedType
putstatic com.fasterxml.classmate.TypeResolver.NO_TYPES:[Lcom/fasterxml/classmate/ResolvedType;
1: ldc Ljava/lang/Object;
aconst_null
aconst_null
aconst_null
invokestatic com.fasterxml.classmate.types.ResolvedObjectType.create:(Ljava/lang/Class;Lcom/fasterxml/classmate/TypeBindings;Lcom/fasterxml/classmate/ResolvedType;Ljava/util/List;)Lcom/fasterxml/classmate/types/ResolvedObjectType;
2: putstatic com.fasterxml.classmate.TypeResolver.sJavaLangObject:Lcom/fasterxml/classmate/types/ResolvedObjectType;
3: new java.util.HashMap
dup
bipush 16
invokespecial java.util.HashMap.<init>:(I)V
putstatic com.fasterxml.classmate.TypeResolver._primitiveTypes:Ljava/util/HashMap;
4: invokestatic com.fasterxml.classmate.types.ResolvedPrimitiveType.all:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 1
goto 7
StackMap locals: top java.util.Iterator
StackMap stack:
5: aload 1
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.fasterxml.classmate.types.ResolvedPrimitiveType
astore 0
start local 0 6: getstatic com.fasterxml.classmate.TypeResolver._primitiveTypes:Ljava/util/HashMap;
new com.fasterxml.classmate.util.ClassKey
dup
aload 0
invokevirtual com.fasterxml.classmate.types.ResolvedPrimitiveType.getErasedType:()Ljava/lang/Class;
invokespecial com.fasterxml.classmate.util.ClassKey.<init>:(Ljava/lang/Class;)V
aload 0
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 0 7: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
8: getstatic com.fasterxml.classmate.TypeResolver._primitiveTypes:Ljava/util/HashMap;
new com.fasterxml.classmate.util.ClassKey
dup
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
invokespecial com.fasterxml.classmate.util.ClassKey.<init>:(Ljava/lang/Class;)V
invokestatic com.fasterxml.classmate.types.ResolvedPrimitiveType.voidType:()Lcom/fasterxml/classmate/types/ResolvedPrimitiveType;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: getstatic com.fasterxml.classmate.TypeResolver._primitiveTypes:Ljava/util/HashMap;
new com.fasterxml.classmate.util.ClassKey
dup
ldc Ljava/lang/Object;
invokespecial com.fasterxml.classmate.util.ClassKey.<init>:(Ljava/lang/Class;)V
getstatic com.fasterxml.classmate.TypeResolver.sJavaLangObject:Lcom/fasterxml/classmate/types/ResolvedObjectType;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: return
LocalVariableTable:
Start End Slot Name Signature
6 7 0 type Lcom/fasterxml/classmate/types/ResolvedPrimitiveType;
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
sipush 200
invokestatic com.fasterxml.classmate.util.ResolvedTypeCache.lruCache:(I)Lcom/fasterxml/classmate/util/ResolvedTypeCache;
invokespecial com.fasterxml.classmate.TypeResolver.<init>:(Lcom/fasterxml/classmate/util/ResolvedTypeCache;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/fasterxml/classmate/TypeResolver;
public void <init>(com.fasterxml.classmate.util.ResolvedTypeCache);
descriptor: (Lcom/fasterxml/classmate/util/ResolvedTypeCache;)V
flags: (0x0001) ACC_PUBLIC
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.fasterxml.classmate.TypeResolver._resolvedTypes:Lcom/fasterxml/classmate/util/ResolvedTypeCache;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/fasterxml/classmate/TypeResolver;
0 3 1 typeCache Lcom/fasterxml/classmate/util/ResolvedTypeCache;
MethodParameters:
Name Flags
typeCache
public com.fasterxml.classmate.ResolvedType resolve(java.lang.reflect.Type, java.lang.reflect.Type[]);
descriptor: (Ljava/lang/reflect/Type;[Ljava/lang/reflect/Type;)Lcom/fasterxml/classmate/ResolvedType;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=6, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnull 1
aload 2
arraylength
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: istore 3
start local 3 3: aload 1
instanceof java.lang.Class
ifeq 9
4: invokestatic com.fasterxml.classmate.TypeBindings.emptyBindings:()Lcom/fasterxml/classmate/TypeBindings;
astore 4
start local 4 5: iload 3
ifeq 7
6: aload 0
aconst_null
aload 1
checkcast java.lang.Class
aload 4
invokevirtual com.fasterxml.classmate.TypeResolver._fromClass:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/Class;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
areturn
7: StackMap locals: int com.fasterxml.classmate.TypeBindings
StackMap stack:
aload 1
checkcast java.lang.Class
astore 5
start local 5 8: goto 28
end local 5 end local 4 StackMap locals:
StackMap stack:
9: aload 1
instanceof com.fasterxml.classmate.GenericType
ifeq 16
10: invokestatic com.fasterxml.classmate.TypeBindings.emptyBindings:()Lcom/fasterxml/classmate/TypeBindings;
astore 4
start local 4 11: iload 3
ifeq 13
12: aload 0
aconst_null
aload 1
checkcast com.fasterxml.classmate.GenericType
aload 4
invokevirtual com.fasterxml.classmate.TypeResolver._fromGenericType:(Lcom/fasterxml/classmate/util/ClassStack;Lcom/fasterxml/classmate/GenericType;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
areturn
13: StackMap locals: com.fasterxml.classmate.TypeBindings
StackMap stack:
aload 0
aconst_null
aload 1
aload 4
invokevirtual com.fasterxml.classmate.TypeResolver._fromAny:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/reflect/Type;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
astore 6
start local 6 14: aload 6
invokevirtual com.fasterxml.classmate.ResolvedType.getErasedType:()Ljava/lang/Class;
astore 5
end local 6 start local 5 15: goto 28
end local 5 end local 4 StackMap locals:
StackMap stack:
16: aload 1
instanceof com.fasterxml.classmate.ResolvedType
ifeq 23
17: aload 1
checkcast com.fasterxml.classmate.ResolvedType
astore 6
start local 6 18: iload 3
ifeq 20
19: aload 6
areturn
20: StackMap locals: com.fasterxml.classmate.TypeResolver java.lang.reflect.Type java.lang.reflect.Type[] int top top com.fasterxml.classmate.ResolvedType
StackMap stack:
aload 6
invokevirtual com.fasterxml.classmate.ResolvedType.getTypeBindings:()Lcom/fasterxml/classmate/TypeBindings;
astore 4
start local 4 21: aload 6
invokevirtual com.fasterxml.classmate.ResolvedType.getErasedType:()Ljava/lang/Class;
astore 5
end local 6 start local 5 22: goto 28
end local 5 end local 4 23: StackMap locals: com.fasterxml.classmate.TypeResolver java.lang.reflect.Type java.lang.reflect.Type[] int
StackMap stack:
invokestatic com.fasterxml.classmate.TypeBindings.emptyBindings:()Lcom/fasterxml/classmate/TypeBindings;
astore 4
start local 4 24: iload 3
ifeq 26
25: aload 0
aload 4
aload 1
invokevirtual com.fasterxml.classmate.TypeResolver.resolve:(Lcom/fasterxml/classmate/TypeBindings;Ljava/lang/reflect/Type;)Lcom/fasterxml/classmate/ResolvedType;
areturn
26: StackMap locals: com.fasterxml.classmate.TypeBindings
StackMap stack:
aload 0
aconst_null
aload 1
aload 4
invokevirtual com.fasterxml.classmate.TypeResolver._fromAny:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/reflect/Type;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
astore 6
start local 6 27: aload 6
invokevirtual com.fasterxml.classmate.ResolvedType.getErasedType:()Ljava/lang/Class;
astore 5
end local 6 start local 5 28: StackMap locals: java.lang.Class
StackMap stack:
aload 2
arraylength
istore 6
start local 6 29: iload 6
anewarray com.fasterxml.classmate.ResolvedType
astore 7
start local 7 30: iconst_0
istore 8
start local 8 31: goto 34
32: StackMap locals: int com.fasterxml.classmate.ResolvedType[] int
StackMap stack:
aload 7
iload 8
aload 0
aconst_null
aload 2
iload 8
aaload
aload 4
invokevirtual com.fasterxml.classmate.TypeResolver._fromAny:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/reflect/Type;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
aastore
33: iinc 8 1
StackMap locals:
StackMap stack:
34: iload 8
iload 6
if_icmplt 32
end local 8 35: aload 0
aconst_null
aload 5
aload 5
aload 7
invokestatic com.fasterxml.classmate.TypeBindings.create:(Ljava/lang/Class;[Lcom/fasterxml/classmate/ResolvedType;)Lcom/fasterxml/classmate/TypeBindings;
invokevirtual com.fasterxml.classmate.TypeResolver._fromClass:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/Class;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lcom/fasterxml/classmate/TypeResolver;
0 36 1 type Ljava/lang/reflect/Type;
0 36 2 typeParameters [Ljava/lang/reflect/Type;
3 36 3 noParams Z
5 9 4 bindings Lcom/fasterxml/classmate/TypeBindings;
11 16 4 bindings Lcom/fasterxml/classmate/TypeBindings;
21 23 4 bindings Lcom/fasterxml/classmate/TypeBindings;
24 36 4 bindings Lcom/fasterxml/classmate/TypeBindings;
8 9 5 rawBase Ljava/lang/Class<*>;
15 16 5 rawBase Ljava/lang/Class<*>;
22 23 5 rawBase Ljava/lang/Class<*>;
28 36 5 rawBase Ljava/lang/Class<*>;
14 15 6 rt Lcom/fasterxml/classmate/ResolvedType;
18 22 6 rt Lcom/fasterxml/classmate/ResolvedType;
27 28 6 rt Lcom/fasterxml/classmate/ResolvedType;
29 36 6 len I
30 36 7 resolvedParams [Lcom/fasterxml/classmate/ResolvedType;
31 35 8 i I
MethodParameters:
Name Flags
type
typeParameters
public com.fasterxml.classmate.types.ResolvedArrayType arrayType(java.lang.reflect.Type);
descriptor: (Ljava/lang/reflect/Type;)Lcom/fasterxml/classmate/types/ResolvedArrayType;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokestatic com.fasterxml.classmate.TypeBindings.emptyBindings:()Lcom/fasterxml/classmate/TypeBindings;
aload 1
invokevirtual com.fasterxml.classmate.TypeResolver.resolve:(Lcom/fasterxml/classmate/TypeBindings;Ljava/lang/reflect/Type;)Lcom/fasterxml/classmate/ResolvedType;
astore 2
start local 2 1: aload 2
invokevirtual com.fasterxml.classmate.ResolvedType.getErasedType:()Ljava/lang/Class;
iconst_0
invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
astore 3
start local 3 2: new com.fasterxml.classmate.types.ResolvedArrayType
dup
aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic com.fasterxml.classmate.TypeBindings.emptyBindings:()Lcom/fasterxml/classmate/TypeBindings;
3: aload 2
4: invokespecial com.fasterxml.classmate.types.ResolvedArrayType.<init>:(Ljava/lang/Class;Lcom/fasterxml/classmate/TypeBindings;Lcom/fasterxml/classmate/ResolvedType;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/fasterxml/classmate/TypeResolver;
0 5 1 elementType Ljava/lang/reflect/Type;
1 5 2 resolvedElementType Lcom/fasterxml/classmate/ResolvedType;
2 5 3 emptyArray Ljava/lang/Object;
MethodParameters:
Name Flags
elementType
public com.fasterxml.classmate.ResolvedType resolve(com.fasterxml.classmate.TypeBindings, java.lang.reflect.Type);
descriptor: (Lcom/fasterxml/classmate/TypeBindings;Ljava/lang/reflect/Type;)Lcom/fasterxml/classmate/ResolvedType;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aconst_null
aload 2
aload 1
invokevirtual com.fasterxml.classmate.TypeResolver._fromAny:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/reflect/Type;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/fasterxml/classmate/TypeResolver;
0 1 1 typeBindings Lcom/fasterxml/classmate/TypeBindings;
0 1 2 jdkType Ljava/lang/reflect/Type;
MethodParameters:
Name Flags
typeBindings
jdkType
public com.fasterxml.classmate.ResolvedType resolveSubtype(com.fasterxml.classmate.ResolvedType, java.lang.Class<?>);
descriptor: (Lcom/fasterxml/classmate/ResolvedType;Ljava/lang/Class;)Lcom/fasterxml/classmate/ResolvedType;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=13, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual com.fasterxml.classmate.ResolvedType.getSelfReferencedType:()Lcom/fasterxml/classmate/ResolvedType;
astore 3
start local 3 1: aload 3
ifnull 3
2: aload 3
astore 1
3: StackMap locals: com.fasterxml.classmate.ResolvedType
StackMap stack:
aload 1
invokevirtual com.fasterxml.classmate.ResolvedType.getErasedType:()Ljava/lang/Class;
astore 4
start local 4 4: aload 4
aload 2
if_acmpne 6
5: aload 1
areturn
6: StackMap locals: java.lang.Class
StackMap stack:
aload 1
invokevirtual com.fasterxml.classmate.ResolvedType.canCreateSubtypes:()Z
ifne 8
7: new java.lang.UnsupportedOperationException
dup
new java.lang.StringBuilder
dup
ldc "Can not subtype primitive or array types (type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual com.fasterxml.classmate.ResolvedType.getFullDescription:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
aload 4
aload 2
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 12
9: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Can not sub-class "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual com.fasterxml.classmate.ResolvedType.getBriefDescription:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: ldc " into "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
11: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.Class.getTypeParameters:()[Ljava/lang/reflect/TypeVariable;
arraylength
istore 6
start local 6 13: iload 6
ifne 17
14: aconst_null
astore 7
start local 7 15: invokestatic com.fasterxml.classmate.TypeBindings.emptyBindings:()Lcom/fasterxml/classmate/TypeBindings;
astore 8
start local 8 16: goto 25
end local 8 end local 7 17: StackMap locals: com.fasterxml.classmate.TypeResolver com.fasterxml.classmate.ResolvedType java.lang.Class com.fasterxml.classmate.ResolvedType java.lang.Class top int
StackMap stack:
iload 6
anewarray com.fasterxml.classmate.types.TypePlaceHolder
astore 7
start local 7 18: iload 6
anewarray com.fasterxml.classmate.ResolvedType
astore 9
start local 9 19: iconst_0
istore 10
start local 10 20: goto 23
21: StackMap locals: com.fasterxml.classmate.TypeResolver com.fasterxml.classmate.ResolvedType java.lang.Class com.fasterxml.classmate.ResolvedType java.lang.Class top int com.fasterxml.classmate.types.TypePlaceHolder[] top com.fasterxml.classmate.ResolvedType[] int
StackMap stack:
aload 9
iload 10
aload 7
iload 10
new com.fasterxml.classmate.types.TypePlaceHolder
dup
iload 10
invokespecial com.fasterxml.classmate.types.TypePlaceHolder.<init>:(I)V
dup_x2
aastore
aastore
22: iinc 10 1
StackMap locals:
StackMap stack:
23: iload 10
iload 6
if_icmplt 21
end local 10 24: aload 2
aload 9
invokestatic com.fasterxml.classmate.TypeBindings.create:(Ljava/lang/Class;[Lcom/fasterxml/classmate/ResolvedType;)Lcom/fasterxml/classmate/TypeBindings;
astore 8
end local 9 start local 8 25: StackMap locals: com.fasterxml.classmate.TypeResolver com.fasterxml.classmate.ResolvedType java.lang.Class com.fasterxml.classmate.ResolvedType java.lang.Class top int com.fasterxml.classmate.types.TypePlaceHolder[] com.fasterxml.classmate.TypeBindings
StackMap stack:
aload 0
aconst_null
aload 2
aload 8
invokevirtual com.fasterxml.classmate.TypeResolver._fromClass:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/Class;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
astore 5
start local 5 26: aload 5
aload 4
invokevirtual com.fasterxml.classmate.ResolvedType.findSupertype:(Ljava/lang/Class;)Lcom/fasterxml/classmate/ResolvedType;
astore 9
start local 9 27: aload 9
ifnonnull 29
28: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Internal error: unable to locate supertype ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ") for type "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual com.fasterxml.classmate.ResolvedType.getBriefDescription:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
29: StackMap locals: com.fasterxml.classmate.TypeResolver com.fasterxml.classmate.ResolvedType java.lang.Class com.fasterxml.classmate.ResolvedType java.lang.Class com.fasterxml.classmate.ResolvedType int com.fasterxml.classmate.types.TypePlaceHolder[] com.fasterxml.classmate.TypeBindings com.fasterxml.classmate.ResolvedType
StackMap stack:
aload 0
aload 1
aload 9
invokevirtual com.fasterxml.classmate.TypeResolver._resolveTypePlaceholders:(Lcom/fasterxml/classmate/ResolvedType;Lcom/fasterxml/classmate/ResolvedType;)V
30: iload 6
ifne 32
31: aload 5
areturn
32: StackMap locals:
StackMap stack:
iload 6
anewarray com.fasterxml.classmate.ResolvedType
astore 10
start local 10 33: iconst_0
istore 11
start local 11 34: goto 42
35: StackMap locals: com.fasterxml.classmate.ResolvedType[] int
StackMap stack:
aload 7
iload 11
aaload
invokevirtual com.fasterxml.classmate.types.TypePlaceHolder.actualType:()Lcom/fasterxml/classmate/ResolvedType;
astore 12
start local 12 36: aload 12
ifnonnull 40
37: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Failed to find type parameter #"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 11
iconst_1
iadd
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
38: iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " for "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
39: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
40: StackMap locals: com.fasterxml.classmate.ResolvedType
StackMap stack:
aload 10
iload 11
aload 12
aastore
end local 12 41: iinc 11 1
StackMap locals:
StackMap stack:
42: iload 11
iload 6
if_icmplt 35
end local 11 43: aload 0
aload 2
aload 10
invokevirtual com.fasterxml.classmate.TypeResolver.resolve:(Ljava/lang/reflect/Type;[Ljava/lang/reflect/Type;)Lcom/fasterxml/classmate/ResolvedType;
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 44 0 this Lcom/fasterxml/classmate/TypeResolver;
0 44 1 supertype Lcom/fasterxml/classmate/ResolvedType;
0 44 2 subtype Ljava/lang/Class<*>;
1 44 3 refType Lcom/fasterxml/classmate/ResolvedType;
4 44 4 superclass Ljava/lang/Class<*>;
26 44 5 resolvedSubtype Lcom/fasterxml/classmate/ResolvedType;
13 44 6 paramCount I
15 17 7 placeholders [Lcom/fasterxml/classmate/types/TypePlaceHolder;
18 44 7 placeholders [Lcom/fasterxml/classmate/types/TypePlaceHolder;
16 17 8 tbForPlaceholders Lcom/fasterxml/classmate/TypeBindings;
25 44 8 tbForPlaceholders Lcom/fasterxml/classmate/TypeBindings;
19 25 9 resolvedParams [Lcom/fasterxml/classmate/ResolvedType;
20 24 10 i I
27 44 9 resolvedSupertype Lcom/fasterxml/classmate/ResolvedType;
33 44 10 typeParams [Lcom/fasterxml/classmate/ResolvedType;
34 43 11 i I
36 41 12 t Lcom/fasterxml/classmate/ResolvedType;
Exceptions:
throws java.lang.IllegalArgumentException, java.lang.UnsupportedOperationException
Signature: (Lcom/fasterxml/classmate/ResolvedType;Ljava/lang/Class<*>;)Lcom/fasterxml/classmate/ResolvedType;
MethodParameters:
Name Flags
supertype
subtype final
public static boolean isSelfReference(com.fasterxml.classmate.ResolvedType);
descriptor: (Lcom/fasterxml/classmate/ResolvedType;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof com.fasterxml.classmate.types.ResolvedRecursiveType
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 type Lcom/fasterxml/classmate/ResolvedType;
MethodParameters:
Name Flags
type
private com.fasterxml.classmate.ResolvedType _fromAny(com.fasterxml.classmate.util.ClassStack, java.lang.reflect.Type, com.fasterxml.classmate.TypeBindings);
descriptor: (Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/reflect/Type;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
instanceof java.lang.Class
ifeq 2
1: aload 0
aload 1
aload 2
checkcast java.lang.Class
aload 3
invokevirtual com.fasterxml.classmate.TypeResolver._fromClass:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/Class;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
areturn
2: StackMap locals:
StackMap stack:
aload 2
instanceof java.lang.reflect.ParameterizedType
ifeq 4
3: aload 0
aload 1
aload 2
checkcast java.lang.reflect.ParameterizedType
aload 3
invokevirtual com.fasterxml.classmate.TypeResolver._fromParamType:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/reflect/ParameterizedType;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
areturn
4: StackMap locals:
StackMap stack:
aload 2
instanceof com.fasterxml.classmate.ResolvedType
ifeq 6
5: aload 2
checkcast com.fasterxml.classmate.ResolvedType
areturn
6: StackMap locals:
StackMap stack:
aload 2
instanceof com.fasterxml.classmate.GenericType
ifeq 8
7: aload 0
aload 1
aload 2
checkcast com.fasterxml.classmate.GenericType
aload 3
invokevirtual com.fasterxml.classmate.TypeResolver._fromGenericType:(Lcom/fasterxml/classmate/util/ClassStack;Lcom/fasterxml/classmate/GenericType;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
areturn
8: StackMap locals:
StackMap stack:
aload 2
instanceof java.lang.reflect.GenericArrayType
ifeq 10
9: aload 0
aload 1
aload 2
checkcast java.lang.reflect.GenericArrayType
aload 3
invokevirtual com.fasterxml.classmate.TypeResolver._fromArrayType:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/reflect/GenericArrayType;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
areturn
10: StackMap locals:
StackMap stack:
aload 2
instanceof java.lang.reflect.TypeVariable
ifeq 12
11: aload 0
aload 1
aload 2
checkcast java.lang.reflect.TypeVariable
aload 3
invokevirtual com.fasterxml.classmate.TypeResolver._fromVariable:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/reflect/TypeVariable;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
areturn
12: StackMap locals:
StackMap stack:
aload 2
instanceof java.lang.reflect.WildcardType
ifeq 14
13: aload 0
aload 1
aload 2
checkcast java.lang.reflect.WildcardType
aload 3
invokevirtual com.fasterxml.classmate.TypeResolver._fromWildcard:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/reflect/WildcardType;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
areturn
14: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Unrecognized type class: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/fasterxml/classmate/TypeResolver;
0 15 1 context Lcom/fasterxml/classmate/util/ClassStack;
0 15 2 mainType Ljava/lang/reflect/Type;
0 15 3 typeBindings Lcom/fasterxml/classmate/TypeBindings;
MethodParameters:
Name Flags
context
mainType
typeBindings
private com.fasterxml.classmate.ResolvedType _fromClass(com.fasterxml.classmate.util.ClassStack, java.lang.Class<?>, com.fasterxml.classmate.TypeBindings);
descriptor: (Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/Class;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic com.fasterxml.classmate.TypeResolver._primitiveTypes:Ljava/util/HashMap;
new com.fasterxml.classmate.util.ClassKey
dup
aload 2
invokespecial com.fasterxml.classmate.util.ClassKey.<init>:(Ljava/lang/Class;)V
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.fasterxml.classmate.ResolvedType
astore 4
start local 4 1: aload 4
ifnull 3
2: aload 4
areturn
3: StackMap locals: com.fasterxml.classmate.ResolvedType
StackMap stack:
aload 1
ifnonnull 6
4: new com.fasterxml.classmate.util.ClassStack
dup
aload 2
invokespecial com.fasterxml.classmate.util.ClassStack.<init>:(Ljava/lang/Class;)V
astore 1
5: goto 12
6: StackMap locals:
StackMap stack:
aload 1
aload 2
invokevirtual com.fasterxml.classmate.util.ClassStack.find:(Ljava/lang/Class;)Lcom/fasterxml/classmate/util/ClassStack;
astore 5
start local 5 7: aload 5
ifnull 11
8: new com.fasterxml.classmate.types.ResolvedRecursiveType
dup
aload 2
aload 3
invokespecial com.fasterxml.classmate.types.ResolvedRecursiveType.<init>:(Ljava/lang/Class;Lcom/fasterxml/classmate/TypeBindings;)V
astore 6
start local 6 9: aload 5
aload 6
invokevirtual com.fasterxml.classmate.util.ClassStack.addSelfReference:(Lcom/fasterxml/classmate/types/ResolvedRecursiveType;)V
10: aload 6
areturn
end local 6 11: StackMap locals: com.fasterxml.classmate.util.ClassStack
StackMap stack:
aload 1
aload 2
invokevirtual com.fasterxml.classmate.util.ClassStack.child:(Ljava/lang/Class;)Lcom/fasterxml/classmate/util/ClassStack;
astore 1
end local 5 12: StackMap locals:
StackMap stack:
aload 3
invokevirtual com.fasterxml.classmate.TypeBindings.typeParameterArray:()[Lcom/fasterxml/classmate/ResolvedType;
astore 5
start local 5 13: aload 0
getfield com.fasterxml.classmate.TypeResolver._resolvedTypes:Lcom/fasterxml/classmate/util/ResolvedTypeCache;
aload 2
aload 5
invokevirtual com.fasterxml.classmate.util.ResolvedTypeCache.key:(Ljava/lang/Class;[Lcom/fasterxml/classmate/ResolvedType;)Lcom/fasterxml/classmate/util/ResolvedTypeKey;
astore 6
start local 6 14: aload 6
ifnonnull 17
15: aload 0
aload 1
aload 2
aload 3
invokevirtual com.fasterxml.classmate.TypeResolver._constructType:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/Class;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
astore 4
16: goto 21
17: StackMap locals: com.fasterxml.classmate.ResolvedType[] com.fasterxml.classmate.util.ResolvedTypeKey
StackMap stack:
aload 0
getfield com.fasterxml.classmate.TypeResolver._resolvedTypes:Lcom/fasterxml/classmate/util/ResolvedTypeCache;
aload 6
invokevirtual com.fasterxml.classmate.util.ResolvedTypeCache.find:(Lcom/fasterxml/classmate/util/ResolvedTypeKey;)Lcom/fasterxml/classmate/ResolvedType;
astore 4
18: aload 4
ifnonnull 21
19: aload 0
aload 1
aload 2
aload 3
invokevirtual com.fasterxml.classmate.TypeResolver._constructType:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/Class;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
astore 4
20: aload 0
getfield com.fasterxml.classmate.TypeResolver._resolvedTypes:Lcom/fasterxml/classmate/util/ResolvedTypeCache;
aload 6
aload 4
invokevirtual com.fasterxml.classmate.util.ResolvedTypeCache.put:(Lcom/fasterxml/classmate/util/ResolvedTypeKey;Lcom/fasterxml/classmate/ResolvedType;)V
21: StackMap locals:
StackMap stack:
aload 1
aload 4
invokevirtual com.fasterxml.classmate.util.ClassStack.resolveSelfReferences:(Lcom/fasterxml/classmate/ResolvedType;)V
22: aload 4
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lcom/fasterxml/classmate/TypeResolver;
0 23 1 context Lcom/fasterxml/classmate/util/ClassStack;
0 23 2 rawType Ljava/lang/Class<*>;
0 23 3 typeBindings Lcom/fasterxml/classmate/TypeBindings;
1 23 4 type Lcom/fasterxml/classmate/ResolvedType;
7 12 5 prev Lcom/fasterxml/classmate/util/ClassStack;
9 11 6 selfRef Lcom/fasterxml/classmate/types/ResolvedRecursiveType;
13 23 5 typeParameters [Lcom/fasterxml/classmate/ResolvedType;
14 23 6 key Lcom/fasterxml/classmate/util/ResolvedTypeKey;
Signature: (Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/Class<*>;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
MethodParameters:
Name Flags
context
rawType
typeBindings
private com.fasterxml.classmate.ResolvedType _fromGenericType(com.fasterxml.classmate.util.ClassStack, com.fasterxml.classmate.GenericType<?>, com.fasterxml.classmate.TypeBindings);
descriptor: (Lcom/fasterxml/classmate/util/ClassStack;Lcom/fasterxml/classmate/GenericType;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 3
invokevirtual com.fasterxml.classmate.TypeResolver._fromClass:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/Class;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
astore 4
start local 4 1: aload 4
ldc Lcom/fasterxml/classmate/GenericType;
invokevirtual com.fasterxml.classmate.ResolvedType.findSupertype:(Ljava/lang/Class;)Lcom/fasterxml/classmate/ResolvedType;
astore 5
start local 5 2: aload 5
ifnonnull 4
3: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Unparameterized GenericType instance ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: com.fasterxml.classmate.ResolvedType com.fasterxml.classmate.ResolvedType
StackMap stack:
aload 5
invokevirtual com.fasterxml.classmate.ResolvedType.getTypeBindings:()Lcom/fasterxml/classmate/TypeBindings;
astore 6
start local 6 5: aload 6
invokevirtual com.fasterxml.classmate.TypeBindings.typeParameterArray:()[Lcom/fasterxml/classmate/ResolvedType;
astore 7
start local 7 6: aload 7
arraylength
ifne 8
7: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Unparameterized GenericType instance ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: com.fasterxml.classmate.TypeBindings com.fasterxml.classmate.ResolvedType[]
StackMap stack:
aload 7
iconst_0
aaload
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/fasterxml/classmate/TypeResolver;
0 9 1 context Lcom/fasterxml/classmate/util/ClassStack;
0 9 2 generic Lcom/fasterxml/classmate/GenericType<*>;
0 9 3 typeBindings Lcom/fasterxml/classmate/TypeBindings;
1 9 4 type Lcom/fasterxml/classmate/ResolvedType;
2 9 5 genType Lcom/fasterxml/classmate/ResolvedType;
5 9 6 b Lcom/fasterxml/classmate/TypeBindings;
6 9 7 params [Lcom/fasterxml/classmate/ResolvedType;
Signature: (Lcom/fasterxml/classmate/util/ClassStack;Lcom/fasterxml/classmate/GenericType<*>;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
MethodParameters:
Name Flags
context
generic
typeBindings
private com.fasterxml.classmate.ResolvedType _constructType(com.fasterxml.classmate.util.ClassStack, java.lang.Class<?>, com.fasterxml.classmate.TypeBindings);
descriptor: (Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/Class;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual java.lang.Class.isArray:()Z
ifeq 3
1: aload 0
aload 1
aload 2
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
aload 3
invokevirtual com.fasterxml.classmate.TypeResolver._fromAny:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/reflect/Type;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
astore 4
start local 4 2: new com.fasterxml.classmate.types.ResolvedArrayType
dup
aload 2
aload 3
aload 4
invokespecial com.fasterxml.classmate.types.ResolvedArrayType.<init>:(Ljava/lang/Class;Lcom/fasterxml/classmate/TypeBindings;Lcom/fasterxml/classmate/ResolvedType;)V
areturn
end local 4 3: StackMap locals:
StackMap stack:
aload 3
invokevirtual com.fasterxml.classmate.TypeBindings.isEmpty:()Z
ifne 5
aload 2
invokevirtual java.lang.Class.getTypeParameters:()[Ljava/lang/reflect/TypeVariable;
arraylength
ifne 5
4: invokestatic com.fasterxml.classmate.TypeBindings.emptyBindings:()Lcom/fasterxml/classmate/TypeBindings;
astore 3
5: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.Class.isInterface:()Z
ifeq 9
6: new com.fasterxml.classmate.types.ResolvedInterfaceType
dup
aload 2
aload 3
7: aload 0
aload 1
aload 2
aload 3
invokevirtual com.fasterxml.classmate.TypeResolver._resolveSuperInterfaces:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/Class;Lcom/fasterxml/classmate/TypeBindings;)[Lcom/fasterxml/classmate/ResolvedType;
8: invokespecial com.fasterxml.classmate.types.ResolvedInterfaceType.<init>:(Ljava/lang/Class;Lcom/fasterxml/classmate/TypeBindings;[Lcom/fasterxml/classmate/ResolvedType;)V
areturn
9: StackMap locals:
StackMap stack:
new com.fasterxml.classmate.types.ResolvedObjectType
dup
aload 2
aload 3
10: aload 0
aload 1
aload 2
aload 3
invokevirtual com.fasterxml.classmate.TypeResolver._resolveSuperClass:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/Class;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
11: aload 0
aload 1
aload 2
aload 3
invokevirtual com.fasterxml.classmate.TypeResolver._resolveSuperInterfaces:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/Class;Lcom/fasterxml/classmate/TypeBindings;)[Lcom/fasterxml/classmate/ResolvedType;
12: invokespecial com.fasterxml.classmate.types.ResolvedObjectType.<init>:(Ljava/lang/Class;Lcom/fasterxml/classmate/TypeBindings;Lcom/fasterxml/classmate/ResolvedType;[Lcom/fasterxml/classmate/ResolvedType;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/fasterxml/classmate/TypeResolver;
0 13 1 context Lcom/fasterxml/classmate/util/ClassStack;
0 13 2 rawType Ljava/lang/Class<*>;
0 13 3 typeBindings Lcom/fasterxml/classmate/TypeBindings;
2 3 4 elementType Lcom/fasterxml/classmate/ResolvedType;
Signature: (Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/Class<*>;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
MethodParameters:
Name Flags
context
rawType
typeBindings
private com.fasterxml.classmate.ResolvedType[] _resolveSuperInterfaces(com.fasterxml.classmate.util.ClassStack, java.lang.Class<?>, com.fasterxml.classmate.TypeBindings);
descriptor: (Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/Class;Lcom/fasterxml/classmate/TypeBindings;)[Lcom/fasterxml/classmate/ResolvedType;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual java.lang.Class.getGenericInterfaces:()[Ljava/lang/reflect/Type;
astore 4
start local 4 1: aload 4
ifnull 2
aload 4
arraylength
ifne 3
2: StackMap locals: java.lang.reflect.Type[]
StackMap stack:
getstatic com.fasterxml.classmate.TypeResolver.NO_TYPES:[Lcom/fasterxml/classmate/ResolvedType;
areturn
3: StackMap locals:
StackMap stack:
aload 4
arraylength
istore 5
start local 5 4: iload 5
anewarray com.fasterxml.classmate.ResolvedType
astore 6
start local 6 5: iconst_0
istore 7
start local 7 6: goto 9
7: StackMap locals: int com.fasterxml.classmate.ResolvedType[] int
StackMap stack:
aload 6
iload 7
aload 0
aload 1
aload 4
iload 7
aaload
aload 3
invokevirtual com.fasterxml.classmate.TypeResolver._fromAny:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/reflect/Type;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
aastore
8: iinc 7 1
StackMap locals:
StackMap stack:
9: iload 7
iload 5
if_icmplt 7
end local 7 10: aload 6
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/fasterxml/classmate/TypeResolver;
0 11 1 context Lcom/fasterxml/classmate/util/ClassStack;
0 11 2 rawType Ljava/lang/Class<*>;
0 11 3 typeBindings Lcom/fasterxml/classmate/TypeBindings;
1 11 4 types [Ljava/lang/reflect/Type;
4 11 5 len I
5 11 6 resolved [Lcom/fasterxml/classmate/ResolvedType;
6 10 7 i I
Signature: (Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/Class<*>;Lcom/fasterxml/classmate/TypeBindings;)[Lcom/fasterxml/classmate/ResolvedType;
MethodParameters:
Name Flags
context
rawType
typeBindings
private com.fasterxml.classmate.ResolvedType _resolveSuperClass(com.fasterxml.classmate.util.ClassStack, java.lang.Class<?>, com.fasterxml.classmate.TypeBindings);
descriptor: (Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/Class;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual java.lang.Class.getGenericSuperclass:()Ljava/lang/reflect/Type;
astore 4
start local 4 1: aload 4
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: java.lang.reflect.Type
StackMap stack:
aload 0
aload 1
aload 4
aload 3
invokevirtual com.fasterxml.classmate.TypeResolver._fromAny:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/reflect/Type;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/fasterxml/classmate/TypeResolver;
0 4 1 context Lcom/fasterxml/classmate/util/ClassStack;
0 4 2 rawType Ljava/lang/Class<*>;
0 4 3 typeBindings Lcom/fasterxml/classmate/TypeBindings;
1 4 4 parent Ljava/lang/reflect/Type;
Signature: (Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/Class<*>;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
MethodParameters:
Name Flags
context
rawType
typeBindings
private com.fasterxml.classmate.ResolvedType _fromParamType(com.fasterxml.classmate.util.ClassStack, java.lang.reflect.ParameterizedType, com.fasterxml.classmate.TypeBindings);
descriptor: (Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/reflect/ParameterizedType;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokeinterface java.lang.reflect.ParameterizedType.getRawType:()Ljava/lang/reflect/Type;
checkcast java.lang.Class
astore 4
start local 4 1: aload 2
invokeinterface java.lang.reflect.ParameterizedType.getActualTypeArguments:()[Ljava/lang/reflect/Type;
astore 5
start local 5 2: aload 5
arraylength
istore 6
start local 6 3: iload 6
anewarray com.fasterxml.classmate.ResolvedType
astore 7
start local 7 4: iconst_0
istore 8
start local 8 5: goto 8
6: StackMap locals: com.fasterxml.classmate.TypeResolver com.fasterxml.classmate.util.ClassStack java.lang.reflect.ParameterizedType com.fasterxml.classmate.TypeBindings java.lang.Class java.lang.reflect.Type[] int com.fasterxml.classmate.ResolvedType[] int
StackMap stack:
aload 7
iload 8
aload 0
aload 1
aload 5
iload 8
aaload
aload 3
invokevirtual com.fasterxml.classmate.TypeResolver._fromAny:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/reflect/Type;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
aastore
7: iinc 8 1
StackMap locals:
StackMap stack:
8: iload 8
iload 6
if_icmplt 6
end local 8 9: aload 4
aload 7
invokestatic com.fasterxml.classmate.TypeBindings.create:(Ljava/lang/Class;[Lcom/fasterxml/classmate/ResolvedType;)Lcom/fasterxml/classmate/TypeBindings;
astore 8
start local 8 10: aload 0
aload 1
aload 4
aload 8
invokevirtual com.fasterxml.classmate.TypeResolver._fromClass:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/Class;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/fasterxml/classmate/TypeResolver;
0 11 1 context Lcom/fasterxml/classmate/util/ClassStack;
0 11 2 ptype Ljava/lang/reflect/ParameterizedType;
0 11 3 parentBindings Lcom/fasterxml/classmate/TypeBindings;
1 11 4 rawType Ljava/lang/Class<*>;
2 11 5 params [Ljava/lang/reflect/Type;
3 11 6 len I
4 11 7 types [Lcom/fasterxml/classmate/ResolvedType;
5 9 8 i I
10 11 8 newBindings Lcom/fasterxml/classmate/TypeBindings;
MethodParameters:
Name Flags
context
ptype
parentBindings
private com.fasterxml.classmate.ResolvedType _fromArrayType(com.fasterxml.classmate.util.ClassStack, java.lang.reflect.GenericArrayType, com.fasterxml.classmate.TypeBindings);
descriptor: (Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/reflect/GenericArrayType;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
invokeinterface java.lang.reflect.GenericArrayType.getGenericComponentType:()Ljava/lang/reflect/Type;
aload 3
invokevirtual com.fasterxml.classmate.TypeResolver._fromAny:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/reflect/Type;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
astore 4
start local 4 1: aload 4
invokevirtual com.fasterxml.classmate.ResolvedType.getErasedType:()Ljava/lang/Class;
iconst_0
invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
astore 5
start local 5 2: new com.fasterxml.classmate.types.ResolvedArrayType
dup
aload 5
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 3
aload 4
invokespecial com.fasterxml.classmate.types.ResolvedArrayType.<init>:(Ljava/lang/Class;Lcom/fasterxml/classmate/TypeBindings;Lcom/fasterxml/classmate/ResolvedType;)V
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/fasterxml/classmate/TypeResolver;
0 3 1 context Lcom/fasterxml/classmate/util/ClassStack;
0 3 2 arrayType Ljava/lang/reflect/GenericArrayType;
0 3 3 typeBindings Lcom/fasterxml/classmate/TypeBindings;
1 3 4 elementType Lcom/fasterxml/classmate/ResolvedType;
2 3 5 emptyArray Ljava/lang/Object;
MethodParameters:
Name Flags
context
arrayType
typeBindings
private com.fasterxml.classmate.ResolvedType _fromWildcard(com.fasterxml.classmate.util.ClassStack, java.lang.reflect.WildcardType, com.fasterxml.classmate.TypeBindings);
descriptor: (Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/reflect/WildcardType;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
invokeinterface java.lang.reflect.WildcardType.getUpperBounds:()[Ljava/lang/reflect/Type;
iconst_0
aaload
aload 3
invokevirtual com.fasterxml.classmate.TypeResolver._fromAny:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/reflect/Type;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/fasterxml/classmate/TypeResolver;
0 1 1 context Lcom/fasterxml/classmate/util/ClassStack;
0 1 2 wildType Ljava/lang/reflect/WildcardType;
0 1 3 typeBindings Lcom/fasterxml/classmate/TypeBindings;
MethodParameters:
Name Flags
context
wildType
typeBindings
private com.fasterxml.classmate.ResolvedType _fromVariable(com.fasterxml.classmate.util.ClassStack, java.lang.reflect.TypeVariable<?>, com.fasterxml.classmate.TypeBindings);
descriptor: (Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/reflect/TypeVariable;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokeinterface java.lang.reflect.TypeVariable.getName:()Ljava/lang/String;
astore 4
start local 4 1: aload 3
aload 4
invokevirtual com.fasterxml.classmate.TypeBindings.findBoundType:(Ljava/lang/String;)Lcom/fasterxml/classmate/ResolvedType;
astore 5
start local 5 2: aload 5
ifnull 4
3: aload 5
areturn
4: StackMap locals: java.lang.String com.fasterxml.classmate.ResolvedType
StackMap stack:
aload 3
aload 4
invokevirtual com.fasterxml.classmate.TypeBindings.hasUnbound:(Ljava/lang/String;)Z
ifeq 6
5: getstatic com.fasterxml.classmate.TypeResolver.sJavaLangObject:Lcom/fasterxml/classmate/types/ResolvedObjectType;
areturn
6: StackMap locals:
StackMap stack:
aload 3
aload 4
invokevirtual com.fasterxml.classmate.TypeBindings.withUnboundVariable:(Ljava/lang/String;)Lcom/fasterxml/classmate/TypeBindings;
astore 3
7: aload 2
invokeinterface java.lang.reflect.TypeVariable.getBounds:()[Ljava/lang/reflect/Type;
astore 6
start local 6 8: aload 0
aload 1
aload 6
iconst_0
aaload
aload 3
invokevirtual com.fasterxml.classmate.TypeResolver._fromAny:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/reflect/Type;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/fasterxml/classmate/TypeResolver;
0 9 1 context Lcom/fasterxml/classmate/util/ClassStack;
0 9 2 variable Ljava/lang/reflect/TypeVariable<*>;
0 9 3 typeBindings Lcom/fasterxml/classmate/TypeBindings;
1 9 4 name Ljava/lang/String;
2 9 5 type Lcom/fasterxml/classmate/ResolvedType;
8 9 6 bounds [Ljava/lang/reflect/Type;
Signature: (Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/reflect/TypeVariable<*>;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
MethodParameters:
Name Flags
context
variable
typeBindings
private void _resolveTypePlaceholders(com.fasterxml.classmate.ResolvedType, com.fasterxml.classmate.ResolvedType);
descriptor: (Lcom/fasterxml/classmate/ResolvedType;Lcom/fasterxml/classmate/ResolvedType;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual com.fasterxml.classmate.ResolvedType.getTypeParameters:()Ljava/util/List;
astore 3
start local 3 1: aload 2
invokevirtual com.fasterxml.classmate.ResolvedType.getTypeParameters:()Ljava/util/List;
astore 4
start local 4 2: iconst_0
istore 5
start local 5 3: aload 3
invokeinterface java.util.List.size:()I
istore 6
start local 6 4: goto 12
5: StackMap locals: com.fasterxml.classmate.TypeResolver com.fasterxml.classmate.ResolvedType com.fasterxml.classmate.ResolvedType java.util.List java.util.List int int
StackMap stack:
aload 3
iload 5
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.fasterxml.classmate.ResolvedType
astore 7
start local 7 6: aload 4
iload 5
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.fasterxml.classmate.ResolvedType
astore 8
start local 8 7: aload 0
aload 7
aload 8
invokevirtual com.fasterxml.classmate.TypeResolver._verifyAndResolve:(Lcom/fasterxml/classmate/ResolvedType;Lcom/fasterxml/classmate/ResolvedType;)Z
ifne 11
8: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Type parameter #"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 5
iconst_1
iadd
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " differs; expected "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: aload 7
invokevirtual com.fasterxml.classmate.ResolvedType.getBriefDescription:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", got "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual com.fasterxml.classmate.ResolvedType.getBriefDescription:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
10: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 8 end local 7 11: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
12: iload 5
iload 6
if_icmplt 5
end local 6 end local 5 13: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/fasterxml/classmate/TypeResolver;
0 14 1 sourceType Lcom/fasterxml/classmate/ResolvedType;
0 14 2 actualType Lcom/fasterxml/classmate/ResolvedType;
1 14 3 expectedTypes Ljava/util/List<Lcom/fasterxml/classmate/ResolvedType;>;
2 14 4 actualTypes Ljava/util/List<Lcom/fasterxml/classmate/ResolvedType;>;
3 13 5 i I
4 13 6 len I
6 11 7 exp Lcom/fasterxml/classmate/ResolvedType;
7 11 8 act Lcom/fasterxml/classmate/ResolvedType;
Exceptions:
throws java.lang.IllegalArgumentException
MethodParameters:
Name Flags
sourceType
actualType
private boolean _verifyAndResolve(com.fasterxml.classmate.ResolvedType, com.fasterxml.classmate.ResolvedType);
descriptor: (Lcom/fasterxml/classmate/ResolvedType;Lcom/fasterxml/classmate/ResolvedType;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof com.fasterxml.classmate.types.TypePlaceHolder
ifeq 3
1: aload 2
checkcast com.fasterxml.classmate.types.TypePlaceHolder
aload 1
invokevirtual com.fasterxml.classmate.types.TypePlaceHolder.actualType:(Lcom/fasterxml/classmate/ResolvedType;)V
2: iconst_1
ireturn
3: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.fasterxml.classmate.ResolvedType.getErasedType:()Ljava/lang/Class;
aload 2
invokevirtual com.fasterxml.classmate.ResolvedType.getErasedType:()Ljava/lang/Class;
if_acmpeq 5
4: iconst_0
ireturn
5: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.fasterxml.classmate.ResolvedType.getTypeParameters:()Ljava/util/List;
astore 3
start local 3 6: aload 2
invokevirtual com.fasterxml.classmate.ResolvedType.getTypeParameters:()Ljava/util/List;
astore 4
start local 4 7: iconst_0
istore 5
start local 5 8: aload 3
invokeinterface java.util.List.size:()I
istore 6
start local 6 9: goto 15
10: StackMap locals: com.fasterxml.classmate.TypeResolver com.fasterxml.classmate.ResolvedType com.fasterxml.classmate.ResolvedType java.util.List java.util.List int int
StackMap stack:
aload 3
iload 5
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.fasterxml.classmate.ResolvedType
astore 7
start local 7 11: aload 4
iload 5
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.fasterxml.classmate.ResolvedType
astore 8
start local 8 12: aload 0
aload 7
aload 8
invokevirtual com.fasterxml.classmate.TypeResolver._verifyAndResolve:(Lcom/fasterxml/classmate/ResolvedType;Lcom/fasterxml/classmate/ResolvedType;)Z
ifne 14
13: iconst_0
ireturn
end local 8 end local 7 14: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
15: iload 5
iload 6
if_icmplt 10
end local 6 end local 5 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/fasterxml/classmate/TypeResolver;
0 17 1 exp Lcom/fasterxml/classmate/ResolvedType;
0 17 2 act Lcom/fasterxml/classmate/ResolvedType;
6 17 3 expectedTypes Ljava/util/List<Lcom/fasterxml/classmate/ResolvedType;>;
7 17 4 actualTypes Ljava/util/List<Lcom/fasterxml/classmate/ResolvedType;>;
8 16 5 i I
9 16 6 len I
11 14 7 exp2 Lcom/fasterxml/classmate/ResolvedType;
12 14 8 act2 Lcom/fasterxml/classmate/ResolvedType;
MethodParameters:
Name Flags
exp
act
}
SourceFile: "TypeResolver.java"