public class io.vertx.codegen.type.TypeMirrorFactory
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.vertx.codegen.type.TypeMirrorFactory
super_class: java.lang.Object
{
private static final io.vertx.codegen.ModuleInfo VERTX_CORE_MOD;
descriptor: Lio/vertx/codegen/ModuleInfo;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final io.vertx.codegen.type.ClassTypeInfo JSON_OBJECT;
descriptor: Lio/vertx/codegen/type/ClassTypeInfo;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final io.vertx.codegen.type.ClassTypeInfo JSON_ARRAY;
descriptor: Lio/vertx/codegen/type/ClassTypeInfo;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final io.vertx.codegen.type.ClassTypeInfo STRING;
descriptor: Lio/vertx/codegen/type/ClassTypeInfo;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
final javax.lang.model.util.Elements elementUtils;
descriptor: Ljavax/lang/model/util/Elements;
flags: (0x0010) ACC_FINAL
final javax.lang.model.util.Types typeUtils;
descriptor: Ljavax/lang/model/util/Types;
flags: (0x0010) ACC_FINAL
final java.util.Map<java.lang.String, io.vertx.codegen.type.MapperInfo> serializers;
descriptor: Ljava/util/Map;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Lio/vertx/codegen/type/MapperInfo;>;
final java.util.Map<java.lang.String, io.vertx.codegen.type.MapperInfo> deserializers;
descriptor: Ljava/util/Map;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Lio/vertx/codegen/type/MapperInfo;>;
private static volatile int[] $SWITCH_TABLE$javax$lang$model$type$TypeKind;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=8, locals=0, args_size=0
0: new io.vertx.codegen.ModuleInfo
dup
ldc "io.vertx.core"
ldc "vertx"
ldc "io.vertx"
invokespecial io.vertx.codegen.ModuleInfo.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
putstatic io.vertx.codegen.type.TypeMirrorFactory.VERTX_CORE_MOD:Lio/vertx/codegen/ModuleInfo;
1: new io.vertx.codegen.type.ClassTypeInfo
dup
getstatic io.vertx.codegen.type.ClassKind.JSON_OBJECT:Lio/vertx/codegen/type/ClassKind;
ldc "io.vertx.core.json.JsonObject"
getstatic io.vertx.codegen.type.TypeMirrorFactory.VERTX_CORE_MOD:Lio/vertx/codegen/ModuleInfo;
iconst_0
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
aconst_null
invokespecial io.vertx.codegen.type.ClassTypeInfo.<init>:(Lio/vertx/codegen/type/ClassKind;Ljava/lang/String;Lio/vertx/codegen/ModuleInfo;ZLjava/util/List;Lio/vertx/codegen/type/DataObjectInfo;)V
putstatic io.vertx.codegen.type.TypeMirrorFactory.JSON_OBJECT:Lio/vertx/codegen/type/ClassTypeInfo;
2: new io.vertx.codegen.type.ClassTypeInfo
dup
getstatic io.vertx.codegen.type.ClassKind.JSON_ARRAY:Lio/vertx/codegen/type/ClassKind;
ldc "io.vertx.core.json.JsonArray"
getstatic io.vertx.codegen.type.TypeMirrorFactory.VERTX_CORE_MOD:Lio/vertx/codegen/ModuleInfo;
iconst_0
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
aconst_null
invokespecial io.vertx.codegen.type.ClassTypeInfo.<init>:(Lio/vertx/codegen/type/ClassKind;Ljava/lang/String;Lio/vertx/codegen/ModuleInfo;ZLjava/util/List;Lio/vertx/codegen/type/DataObjectInfo;)V
putstatic io.vertx.codegen.type.TypeMirrorFactory.JSON_ARRAY:Lio/vertx/codegen/type/ClassTypeInfo;
3: new io.vertx.codegen.type.ClassTypeInfo
dup
getstatic io.vertx.codegen.type.ClassKind.STRING:Lio/vertx/codegen/type/ClassKind;
ldc "java.lang.String"
aconst_null
iconst_0
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
aconst_null
invokespecial io.vertx.codegen.type.ClassTypeInfo.<init>:(Lio/vertx/codegen/type/ClassKind;Ljava/lang/String;Lio/vertx/codegen/ModuleInfo;ZLjava/util/List;Lio/vertx/codegen/type/DataObjectInfo;)V
putstatic io.vertx.codegen.type.TypeMirrorFactory.STRING:Lio/vertx/codegen/type/ClassTypeInfo;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(javax.lang.model.util.Elements, javax.lang.model.util.Types);
descriptor: (Ljavax/lang/model/util/Elements;Ljavax/lang/model/util/Types;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield io.vertx.codegen.type.TypeMirrorFactory.serializers:Ljava/util/Map;
2: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield io.vertx.codegen.type.TypeMirrorFactory.deserializers:Ljava/util/Map;
3: aload 0
aload 1
putfield io.vertx.codegen.type.TypeMirrorFactory.elementUtils:Ljavax/lang/model/util/Elements;
4: aload 0
aload 2
putfield io.vertx.codegen.type.TypeMirrorFactory.typeUtils:Ljavax/lang/model/util/Types;
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/vertx/codegen/type/TypeMirrorFactory;
0 6 1 elementUtils Ljavax/lang/model/util/Elements;
0 6 2 typeUtils Ljavax/lang/model/util/Types;
MethodParameters:
Name Flags
elementUtils
typeUtils
public void addDataObjectDeserializer(javax.lang.model.element.Element, javax.lang.model.type.TypeMirror, io.vertx.codegen.type.MapperInfo);
descriptor: (Ljavax/lang/model/element/Element;Ljavax/lang/model/type/TypeMirror;Lio/vertx/codegen/type/MapperInfo;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokeinterface javax.lang.model.type.TypeMirror.toString:()Ljava/lang/String;
astore 4
start local 4 1: aload 0
getfield io.vertx.codegen.type.TypeMirrorFactory.serializers:Ljava/util/Map;
aload 4
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 3
aload 0
getfield io.vertx.codegen.type.TypeMirrorFactory.serializers:Ljava/util/Map;
aload 4
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.vertx.codegen.type.MapperInfo
invokevirtual io.vertx.codegen.type.MapperInfo.getJsonType:()Lio/vertx/codegen/type/TypeInfo;
aload 3
invokevirtual io.vertx.codegen.type.MapperInfo.getJsonType:()Lio/vertx/codegen/type/TypeInfo;
invokevirtual io.vertx.codegen.type.TypeInfo.equals:(Ljava/lang/Object;)Z
ifne 3
2: new io.vertx.codegen.GenException
dup
aload 1
ldc "Mapper cannot declare mixed JSON types"
invokespecial io.vertx.codegen.GenException.<init>:(Ljavax/lang/model/element/Element;Ljava/lang/String;)V
athrow
3: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield io.vertx.codegen.type.TypeMirrorFactory.deserializers:Ljava/util/Map;
aload 4
aload 3
invokeinterface java.util.Map.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/vertx/codegen/type/TypeMirrorFactory;
0 5 1 elt Ljavax/lang/model/element/Element;
0 5 2 dataObjectType Ljavax/lang/model/type/TypeMirror;
0 5 3 mapper Lio/vertx/codegen/type/MapperInfo;
1 5 4 key Ljava/lang/String;
MethodParameters:
Name Flags
elt
dataObjectType
mapper
public void addDataObjectSerializer(javax.lang.model.element.Element, javax.lang.model.type.TypeMirror, io.vertx.codegen.type.MapperInfo);
descriptor: (Ljavax/lang/model/element/Element;Ljavax/lang/model/type/TypeMirror;Lio/vertx/codegen/type/MapperInfo;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokeinterface javax.lang.model.type.TypeMirror.toString:()Ljava/lang/String;
astore 4
start local 4 1: aload 0
getfield io.vertx.codegen.type.TypeMirrorFactory.deserializers:Ljava/util/Map;
aload 4
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 3
aload 0
getfield io.vertx.codegen.type.TypeMirrorFactory.deserializers:Ljava/util/Map;
aload 4
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.vertx.codegen.type.MapperInfo
invokevirtual io.vertx.codegen.type.MapperInfo.getJsonType:()Lio/vertx/codegen/type/TypeInfo;
aload 3
invokevirtual io.vertx.codegen.type.MapperInfo.getJsonType:()Lio/vertx/codegen/type/TypeInfo;
invokevirtual io.vertx.codegen.type.TypeInfo.equals:(Ljava/lang/Object;)Z
ifne 3
2: new io.vertx.codegen.GenException
dup
aload 1
new java.lang.StringBuilder
dup
ldc "Mapper cannot declare mixed JSON types "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield io.vertx.codegen.type.TypeMirrorFactory.deserializers:Ljava/util/Map;
aload 4
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.vertx.codegen.type.MapperInfo
invokevirtual io.vertx.codegen.type.MapperInfo.getJsonType:()Lio/vertx/codegen/type/TypeInfo;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual io.vertx.codegen.type.MapperInfo.getJsonType:()Lio/vertx/codegen/type/TypeInfo;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial io.vertx.codegen.GenException.<init>:(Ljavax/lang/model/element/Element;Ljava/lang/String;)V
athrow
3: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield io.vertx.codegen.type.TypeMirrorFactory.serializers:Ljava/util/Map;
aload 4
aload 3
invokeinterface java.util.Map.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/vertx/codegen/type/TypeMirrorFactory;
0 5 1 elt Ljavax/lang/model/element/Element;
0 5 2 dataObjectType Ljavax/lang/model/type/TypeMirror;
0 5 3 mapper Lio/vertx/codegen/type/MapperInfo;
1 5 4 key Ljava/lang/String;
MethodParameters:
Name Flags
elt
dataObjectType
mapper
public io.vertx.codegen.type.TypeInfo create(javax.lang.model.type.TypeMirror);
descriptor: (Ljavax/lang/model/type/TypeMirror;)Lio/vertx/codegen/type/TypeInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aconst_null
aload 1
invokevirtual io.vertx.codegen.type.TypeMirrorFactory.create:(Lio/vertx/codegen/type/TypeUse;Ljavax/lang/model/type/TypeMirror;)Lio/vertx/codegen/type/TypeInfo;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/codegen/type/TypeMirrorFactory;
0 1 1 type Ljavax/lang/model/type/TypeMirror;
MethodParameters:
Name Flags
type
public io.vertx.codegen.type.TypeInfo create(io.vertx.codegen.type.TypeUse, javax.lang.model.type.TypeMirror);
descriptor: (Lio/vertx/codegen/type/TypeUse;Ljavax/lang/model/type/TypeMirror;)Lio/vertx/codegen/type/TypeInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: invokestatic io.vertx.codegen.type.TypeMirrorFactory.$SWITCH_TABLE$javax$lang$model$type$TypeKind:()[I
aload 2
invokeinterface javax.lang.model.type.TypeMirror.getKind:()Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
iaload
tableswitch { // 1 - 15
1: 3
2: 3
3: 3
4: 3
5: 3
6: 3
7: 3
8: 3
9: 1
10: 8
11: 8
12: 7
13: 2
14: 2
15: 6
default: 8
}
1: StackMap locals:
StackMap stack:
getstatic io.vertx.codegen.type.VoidTypeInfo.INSTANCE:Lio/vertx/codegen/type/TypeInfo;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
checkcast javax.lang.model.type.DeclaredType
invokevirtual io.vertx.codegen.type.TypeMirrorFactory.create:(Lio/vertx/codegen/type/TypeUse;Ljavax/lang/model/type/DeclaredType;)Lio/vertx/codegen/type/TypeInfo;
areturn
3: StackMap locals:
StackMap stack:
aload 1
ifnull 5
aload 1
invokevirtual io.vertx.codegen.type.TypeUse.isNullable:()Z
ifeq 5
4: new java.lang.IllegalArgumentException
dup
ldc "Primitive types cannot be annotated with @Nullable"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
getstatic io.vertx.codegen.type.PrimitiveTypeInfo.PRIMITIVES:Ljava/util/HashMap;
aload 2
invokeinterface javax.lang.model.type.TypeMirror.getKind:()Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.name:()Ljava/lang/String;
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.vertx.codegen.type.TypeInfo
areturn
6: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
checkcast javax.lang.model.type.TypeVariable
invokevirtual io.vertx.codegen.type.TypeMirrorFactory.create:(Lio/vertx/codegen/type/TypeUse;Ljavax/lang/model/type/TypeVariable;)Lio/vertx/codegen/type/TypeVariableInfo;
areturn
7: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
checkcast javax.lang.model.type.ArrayType
invokevirtual io.vertx.codegen.type.TypeMirrorFactory.create:(Lio/vertx/codegen/type/TypeUse;Ljavax/lang/model/type/ArrayType;)Lio/vertx/codegen/type/ArrayTypeInfo;
areturn
8: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Illegal type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " of kind "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokeinterface javax.lang.model.type.TypeMirror.getKind:()Ljavax/lang/model/type/TypeKind;
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 Lio/vertx/codegen/type/TypeMirrorFactory;
0 9 1 use Lio/vertx/codegen/type/TypeUse;
0 9 2 type Ljavax/lang/model/type/TypeMirror;
MethodParameters:
Name Flags
use
type
public io.vertx.codegen.type.TypeInfo create(javax.lang.model.type.DeclaredType);
descriptor: (Ljavax/lang/model/type/DeclaredType;)Lio/vertx/codegen/type/TypeInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aconst_null
aload 1
invokevirtual io.vertx.codegen.type.TypeMirrorFactory.create:(Lio/vertx/codegen/type/TypeUse;Ljavax/lang/model/type/DeclaredType;)Lio/vertx/codegen/type/TypeInfo;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/codegen/type/TypeMirrorFactory;
0 1 1 type Ljavax/lang/model/type/DeclaredType;
MethodParameters:
Name Flags
type
public io.vertx.codegen.type.TypeInfo create(io.vertx.codegen.type.TypeUse, javax.lang.model.type.DeclaredType);
descriptor: (Lio/vertx/codegen/type/TypeUse;Ljavax/lang/model/type/DeclaredType;)Lio/vertx/codegen/type/TypeInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_1
invokevirtual io.vertx.codegen.type.TypeMirrorFactory.create:(Lio/vertx/codegen/type/TypeUse;Ljavax/lang/model/type/DeclaredType;Z)Lio/vertx/codegen/type/TypeInfo;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/codegen/type/TypeMirrorFactory;
0 1 1 use Lio/vertx/codegen/type/TypeUse;
0 1 2 type Ljavax/lang/model/type/DeclaredType;
MethodParameters:
Name Flags
use
type
public io.vertx.codegen.type.TypeInfo create(io.vertx.codegen.type.TypeUse, javax.lang.model.type.DeclaredType, boolean);
descriptor: (Lio/vertx/codegen/type/TypeUse;Ljavax/lang/model/type/DeclaredType;Z)Lio/vertx/codegen/type/TypeInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=25, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnull 1
aload 1
invokevirtual io.vertx.codegen.type.TypeUse.isNullable:()Z
ifeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 4
start local 4 3: aload 2
invokeinterface javax.lang.model.type.DeclaredType.asElement:()Ljavax/lang/model/element/Element;
checkcast javax.lang.model.element.TypeElement
astore 5
start local 5 4: aload 0
getfield io.vertx.codegen.type.TypeMirrorFactory.elementUtils:Ljavax/lang/model/util/Elements;
aload 5
invokeinterface javax.lang.model.util.Elements.getPackageOf:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/PackageElement;
astore 6
start local 6 5: aload 0
getfield io.vertx.codegen.type.TypeMirrorFactory.elementUtils:Ljavax/lang/model/util/Elements;
aload 6
invokestatic io.vertx.codegen.ModuleInfo.resolve:(Ljavax/lang/model/util/Elements;Ljavax/lang/model/element/PackageElement;)Lio/vertx/codegen/ModuleInfo;
astore 7
start local 7 6: aload 5
invokeinterface javax.lang.model.element.TypeElement.getQualifiedName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
astore 8
start local 8 7: aload 5
invokeinterface javax.lang.model.element.TypeElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
pop
8: aload 5
ldc Lio/vertx/codegen/annotations/ProxyGen;
invokeinterface javax.lang.model.element.TypeElement.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnull 9
iconst_1
goto 10
StackMap locals: io.vertx.codegen.type.TypeMirrorFactory io.vertx.codegen.type.TypeUse javax.lang.model.type.DeclaredType int int javax.lang.model.element.TypeElement javax.lang.model.element.PackageElement io.vertx.codegen.ModuleInfo java.lang.String
StackMap stack:
9: iconst_0
StackMap locals:
StackMap stack: int
10: istore 9
start local 9 11: aload 5
invokeinterface javax.lang.model.element.TypeElement.getKind:()Ljavax/lang/model/element/ElementKind;
getstatic javax.lang.model.element.ElementKind.ENUM:Ljavax/lang/model/element/ElementKind;
if_acmpne 22
12: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 10
start local 10 13: aload 5
invokeinterface javax.lang.model.element.TypeElement.getEnclosedElements:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 12
goto 17
StackMap locals: io.vertx.codegen.type.TypeMirrorFactory io.vertx.codegen.type.TypeUse javax.lang.model.type.DeclaredType int int javax.lang.model.element.TypeElement javax.lang.model.element.PackageElement io.vertx.codegen.ModuleInfo java.lang.String int java.util.ArrayList top java.util.Iterator
StackMap stack:
14: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.Element
astore 11
start local 11 15: aload 11
invokeinterface javax.lang.model.element.Element.getKind:()Ljavax/lang/model/element/ElementKind;
getstatic javax.lang.model.element.ElementKind.ENUM_CONSTANT:Ljavax/lang/model/element/ElementKind;
if_acmpne 17
16: aload 10
aload 11
invokeinterface javax.lang.model.element.Element.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 11 17: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
18: aload 5
ldc Lio/vertx/codegen/annotations/VertxGen;
invokeinterface javax.lang.model.element.TypeElement.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnull 19
iconst_1
goto 20
StackMap locals: io.vertx.codegen.type.TypeMirrorFactory io.vertx.codegen.type.TypeUse javax.lang.model.type.DeclaredType int int javax.lang.model.element.TypeElement javax.lang.model.element.PackageElement io.vertx.codegen.ModuleInfo java.lang.String int java.util.ArrayList
StackMap stack:
19: iconst_0
StackMap locals:
StackMap stack: int
20: istore 11
start local 11 21: new io.vertx.codegen.type.EnumTypeInfo
dup
aload 8
iload 11
aload 10
aload 7
iload 4
invokespecial io.vertx.codegen.type.EnumTypeInfo.<init>:(Ljava/lang/String;ZLjava/util/List;Lio/vertx/codegen/ModuleInfo;Z)V
areturn
end local 11 end local 10 22: StackMap locals:
StackMap stack:
aload 8
aload 5
ldc Lio/vertx/codegen/annotations/VertxGen;
invokeinterface javax.lang.model.element.TypeElement.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnull 23
iconst_1
goto 24
StackMap locals:
StackMap stack: java.lang.String
23: iconst_0
StackMap locals: io.vertx.codegen.type.TypeMirrorFactory io.vertx.codegen.type.TypeUse javax.lang.model.type.DeclaredType int int javax.lang.model.element.TypeElement javax.lang.model.element.PackageElement io.vertx.codegen.ModuleInfo java.lang.String int
StackMap stack: java.lang.String int
24: invokestatic io.vertx.codegen.type.ClassKind.getKind:(Ljava/lang/String;Z)Lio/vertx/codegen/type/ClassKind;
astore 10
start local 10 25: aload 2
invokeinterface javax.lang.model.type.DeclaredType.getTypeArguments:()Ljava/util/List;
astore 11
start local 11 26: iload 3
ifeq 39
aload 11
invokeinterface java.util.List.size:()I
ifle 39
27: new java.util.ArrayList
dup
aload 11
invokeinterface java.util.List.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 12
start local 12 28: iconst_0
istore 13
start local 13 29: goto 36
30: StackMap locals: io.vertx.codegen.type.TypeMirrorFactory io.vertx.codegen.type.TypeUse javax.lang.model.type.DeclaredType int int javax.lang.model.element.TypeElement javax.lang.model.element.PackageElement io.vertx.codegen.ModuleInfo java.lang.String int io.vertx.codegen.type.ClassKind java.util.List java.util.List int
StackMap stack:
aload 1
ifnull 31
aload 1
aload 8
iload 13
invokevirtual io.vertx.codegen.type.TypeUse.getArg:(Ljava/lang/String;I)Lio/vertx/codegen/type/TypeUse;
goto 32
StackMap locals:
StackMap stack:
31: aconst_null
StackMap locals:
StackMap stack: io.vertx.codegen.type.TypeUse
32: astore 14
start local 14 33: aload 0
aload 14
aload 11
iload 13
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast javax.lang.model.type.TypeMirror
invokevirtual io.vertx.codegen.type.TypeMirrorFactory.create:(Lio/vertx/codegen/type/TypeUse;Ljavax/lang/model/type/TypeMirror;)Lio/vertx/codegen/type/TypeInfo;
astore 15
start local 15 34: aload 12
aload 15
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 15 end local 14 35: iinc 13 1
StackMap locals:
StackMap stack:
36: iload 13
aload 11
invokeinterface java.util.List.size:()I
if_icmplt 30
end local 13 37: aload 0
aconst_null
aload 2
invokeinterface javax.lang.model.type.DeclaredType.asElement:()Ljavax/lang/model/element/Element;
invokeinterface javax.lang.model.element.Element.asType:()Ljavax/lang/model/type/TypeMirror;
checkcast javax.lang.model.type.DeclaredType
iconst_0
invokevirtual io.vertx.codegen.type.TypeMirrorFactory.create:(Lio/vertx/codegen/type/TypeUse;Ljavax/lang/model/type/DeclaredType;Z)Lio/vertx/codegen/type/TypeInfo;
checkcast io.vertx.codegen.type.ClassTypeInfo
astore 13
start local 13 38: new io.vertx.codegen.type.ParameterizedTypeInfo
dup
aload 13
iload 4
aload 12
invokespecial io.vertx.codegen.type.ParameterizedTypeInfo.<init>:(Lio/vertx/codegen/type/ClassTypeInfo;ZLjava/util/List;)V
areturn
end local 13 end local 12 39: StackMap locals:
StackMap stack:
aload 10
getstatic io.vertx.codegen.type.ClassKind.BOXED_PRIMITIVE:Lio/vertx/codegen/type/ClassKind;
if_acmpne 44
40: getstatic io.vertx.codegen.type.ClassTypeInfo.PRIMITIVES:Ljava/util/HashMap;
aload 8
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.vertx.codegen.type.ClassTypeInfo
astore 12
start local 12 41: iload 4
ifeq 91
42: new io.vertx.codegen.type.ClassTypeInfo
dup
aload 12
getfield io.vertx.codegen.type.ClassTypeInfo.kind:Lio/vertx/codegen/type/ClassKind;
aload 12
getfield io.vertx.codegen.type.ClassTypeInfo.name:Ljava/lang/String;
aload 12
getfield io.vertx.codegen.type.ClassTypeInfo.module:Lio/vertx/codegen/ModuleInfo;
iconst_1
aload 12
getfield io.vertx.codegen.type.ClassTypeInfo.params:Ljava/util/List;
aconst_null
invokespecial io.vertx.codegen.type.ClassTypeInfo.<init>:(Lio/vertx/codegen/type/ClassKind;Ljava/lang/String;Lio/vertx/codegen/ModuleInfo;ZLjava/util/List;Lio/vertx/codegen/type/DataObjectInfo;)V
astore 12
43: goto 91
end local 12 44: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.codegen.type.TypeMirrorFactory.serializers:Ljava/util/Map;
aload 8
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.vertx.codegen.type.MapperInfo
astore 13
start local 13 45: aload 0
getfield io.vertx.codegen.type.TypeMirrorFactory.deserializers:Ljava/util/Map;
aload 8
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.vertx.codegen.type.MapperInfo
astore 14
start local 14 46: aconst_null
astore 15
start local 15 47: aload 5
ldc Lio/vertx/codegen/annotations/DataObject;
invokeinterface javax.lang.model.element.TypeElement.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnull 70
48: aload 0
getfield io.vertx.codegen.type.TypeMirrorFactory.elementUtils:Ljavax/lang/model/util/Elements;
aload 5
invokestatic io.vertx.codegen.Helper.getAnnotatedDataObjectAnnotatedSerializationType:(Ljavax/lang/model/util/Elements;Ljavax/lang/model/element/TypeElement;)Lio/vertx/codegen/type/ClassKind;
astore 16
start local 16 49: aload 0
getfield io.vertx.codegen.type.TypeMirrorFactory.elementUtils:Ljavax/lang/model/util/Elements;
aload 0
getfield io.vertx.codegen.type.TypeMirrorFactory.typeUtils:Ljavax/lang/model/util/Types;
aload 5
invokestatic io.vertx.codegen.Helper.getAnnotatedDataObjectDeserialisationType:(Ljavax/lang/model/util/Elements;Ljavax/lang/model/util/Types;Ljavax/lang/model/element/TypeElement;)Lio/vertx/codegen/type/ClassKind;
astore 17
start local 17 50: aload 13
ifnonnull 60
aload 16
ifnull 60
51: new io.vertx.codegen.type.MapperInfo
dup
invokespecial io.vertx.codegen.type.MapperInfo.<init>:()V
astore 13
52: aload 13
aload 8
invokevirtual io.vertx.codegen.type.MapperInfo.setQualifiedName:(Ljava/lang/String;)V
53: aload 13
getstatic io.vertx.codegen.MapperKind.SELF:Lio/vertx/codegen/MapperKind;
invokevirtual io.vertx.codegen.type.MapperInfo.setKind:(Lio/vertx/codegen/MapperKind;)V
54: aload 16
getstatic io.vertx.codegen.type.ClassKind.JSON_OBJECT:Lio/vertx/codegen/type/ClassKind;
if_acmpne 58
55: aload 13
getstatic io.vertx.codegen.type.TypeMirrorFactory.JSON_OBJECT:Lio/vertx/codegen/type/ClassTypeInfo;
invokevirtual io.vertx.codegen.type.MapperInfo.setTargetType:(Lio/vertx/codegen/type/TypeInfo;)V
56: aload 13
ldc "toJson"
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
invokevirtual io.vertx.codegen.type.MapperInfo.setSelectors:(Ljava/util/List;)V
57: goto 60
58: StackMap locals: io.vertx.codegen.type.TypeMirrorFactory io.vertx.codegen.type.TypeUse javax.lang.model.type.DeclaredType int int javax.lang.model.element.TypeElement javax.lang.model.element.PackageElement io.vertx.codegen.ModuleInfo java.lang.String int io.vertx.codegen.type.ClassKind java.util.List top io.vertx.codegen.type.MapperInfo io.vertx.codegen.type.MapperInfo io.vertx.codegen.type.DataObjectInfo io.vertx.codegen.type.ClassKind io.vertx.codegen.type.ClassKind
StackMap stack:
aload 13
getstatic io.vertx.codegen.type.TypeMirrorFactory.STRING:Lio/vertx/codegen/type/ClassTypeInfo;
invokevirtual io.vertx.codegen.type.MapperInfo.setTargetType:(Lio/vertx/codegen/type/TypeInfo;)V
59: aload 13
ldc "toJson"
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
invokevirtual io.vertx.codegen.type.MapperInfo.setSelectors:(Ljava/util/List;)V
60: StackMap locals:
StackMap stack:
aload 14
ifnonnull 68
aload 17
ifnull 68
61: new io.vertx.codegen.type.MapperInfo
dup
invokespecial io.vertx.codegen.type.MapperInfo.<init>:()V
astore 14
62: aload 14
aload 8
invokevirtual io.vertx.codegen.type.MapperInfo.setQualifiedName:(Ljava/lang/String;)V
63: aload 14
getstatic io.vertx.codegen.MapperKind.SELF:Lio/vertx/codegen/MapperKind;
invokevirtual io.vertx.codegen.type.MapperInfo.setKind:(Lio/vertx/codegen/MapperKind;)V
64: aload 17
getstatic io.vertx.codegen.type.ClassKind.JSON_OBJECT:Lio/vertx/codegen/type/ClassKind;
if_acmpne 67
65: aload 14
getstatic io.vertx.codegen.type.TypeMirrorFactory.JSON_OBJECT:Lio/vertx/codegen/type/ClassTypeInfo;
invokevirtual io.vertx.codegen.type.MapperInfo.setTargetType:(Lio/vertx/codegen/type/TypeInfo;)V
66: goto 68
67: StackMap locals:
StackMap stack:
aload 14
getstatic io.vertx.codegen.type.TypeMirrorFactory.STRING:Lio/vertx/codegen/type/ClassTypeInfo;
invokevirtual io.vertx.codegen.type.MapperInfo.setTargetType:(Lio/vertx/codegen/type/TypeInfo;)V
68: StackMap locals:
StackMap stack:
new io.vertx.codegen.type.DataObjectInfo
dup
iconst_1
aload 13
aload 14
invokespecial io.vertx.codegen.type.DataObjectInfo.<init>:(ZLio/vertx/codegen/type/MapperInfo;Lio/vertx/codegen/type/MapperInfo;)V
astore 15
end local 17 end local 16 69: goto 72
StackMap locals:
StackMap stack:
70: aload 13
ifnonnull 71
aload 14
ifnull 72
71: StackMap locals:
StackMap stack:
new io.vertx.codegen.type.DataObjectInfo
dup
iconst_0
aload 13
aload 14
invokespecial io.vertx.codegen.type.DataObjectInfo.<init>:(ZLio/vertx/codegen/type/MapperInfo;Lio/vertx/codegen/type/MapperInfo;)V
astore 15
72: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual io.vertx.codegen.type.TypeMirrorFactory.createTypeParams:(Ljavax/lang/model/type/DeclaredType;)Ljava/util/List;
astore 16
start local 16 73: aload 10
getstatic io.vertx.codegen.type.ClassKind.API:Lio/vertx/codegen/type/ClassKind;
if_acmpne 90
74: aload 5
ldc Lio/vertx/codegen/annotations/VertxGen;
invokeinterface javax.lang.model.element.TypeElement.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast io.vertx.codegen.annotations.VertxGen
astore 17
start local 17 75: aconst_null
astore 18
start local 18 76: aload 0
getfield io.vertx.codegen.type.TypeMirrorFactory.elementUtils:Ljavax/lang/model/util/Elements;
ldc "io.vertx.core.Handler"
invokeinterface javax.lang.model.util.Elements.getTypeElement:(Ljava/lang/CharSequence;)Ljavax/lang/model/element/TypeElement;
astore 19
start local 19 77: aload 19
invokeinterface javax.lang.model.element.TypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
astore 20
start local 20 78: aload 0
getfield io.vertx.codegen.type.TypeMirrorFactory.typeUtils:Ljavax/lang/model/util/Types;
aload 20
invokeinterface javax.lang.model.util.Types.erasure:(Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/type/TypeMirror;
astore 21
start local 21 79: aload 0
getfield io.vertx.codegen.type.TypeMirrorFactory.typeUtils:Ljavax/lang/model/util/Types;
aload 2
aload 21
invokeinterface javax.lang.model.util.Types.isSubtype:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
ifeq 88
80: aload 0
getfield io.vertx.codegen.type.TypeMirrorFactory.typeUtils:Ljavax/lang/model/util/Types;
aload 2
aload 19
invokeinterface javax.lang.model.element.TypeElement.getTypeParameters:()Ljava/util/List;
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast javax.lang.model.element.TypeParameterElement
invokestatic io.vertx.codegen.Helper.resolveTypeParameter:(Ljavax/lang/model/util/Types;Ljavax/lang/model/type/DeclaredType;Ljavax/lang/model/element/TypeParameterElement;)Ljavax/lang/model/type/TypeMirror;
astore 22
start local 22 81: aload 22
invokeinterface javax.lang.model.type.TypeMirror.getKind:()Ljavax/lang/model/type/TypeKind;
getstatic javax.lang.model.type.TypeKind.DECLARED:Ljavax/lang/model/type/TypeKind;
if_acmpne 87
82: aload 22
checkcast javax.lang.model.type.DeclaredType
astore 23
start local 23 83: aload 23
invokeinterface javax.lang.model.type.DeclaredType.asElement:()Ljavax/lang/model/element/Element;
checkcast javax.lang.model.element.TypeElement
astore 24
start local 24 84: aload 24
invokeinterface javax.lang.model.element.TypeElement.getQualifiedName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
ldc "io.vertx.core.AsyncResult"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 88
85: aload 0
aload 22
invokevirtual io.vertx.codegen.type.TypeMirrorFactory.create:(Ljavax/lang/model/type/TypeMirror;)Lio/vertx/codegen/type/TypeInfo;
astore 18
end local 24 end local 23 86: goto 88
87: StackMap locals: io.vertx.codegen.type.TypeMirrorFactory io.vertx.codegen.type.TypeUse javax.lang.model.type.DeclaredType int int javax.lang.model.element.TypeElement javax.lang.model.element.PackageElement io.vertx.codegen.ModuleInfo java.lang.String int io.vertx.codegen.type.ClassKind java.util.List top io.vertx.codegen.type.MapperInfo io.vertx.codegen.type.MapperInfo io.vertx.codegen.type.DataObjectInfo java.util.List io.vertx.codegen.annotations.VertxGen io.vertx.codegen.type.TypeInfo javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror
StackMap stack:
aload 0
aload 22
invokevirtual io.vertx.codegen.type.TypeMirrorFactory.create:(Ljavax/lang/model/type/TypeMirror;)Lio/vertx/codegen/type/TypeInfo;
astore 18
end local 22 88: StackMap locals:
StackMap stack:
new io.vertx.codegen.type.ApiTypeInfo
dup
aload 8
aload 17
invokeinterface io.vertx.codegen.annotations.VertxGen.concrete:()Z
aload 16
aload 18
aload 7
iload 4
iload 9
aload 15
invokespecial io.vertx.codegen.type.ApiTypeInfo.<init>:(Ljava/lang/String;ZLjava/util/List;Lio/vertx/codegen/type/TypeInfo;Lio/vertx/codegen/ModuleInfo;ZZLio/vertx/codegen/type/DataObjectInfo;)V
astore 12
end local 21 end local 20 end local 19 end local 18 end local 17 start local 12 89: goto 91
end local 12 90: StackMap locals: io.vertx.codegen.type.TypeMirrorFactory io.vertx.codegen.type.TypeUse javax.lang.model.type.DeclaredType int int javax.lang.model.element.TypeElement javax.lang.model.element.PackageElement io.vertx.codegen.ModuleInfo java.lang.String int io.vertx.codegen.type.ClassKind java.util.List top io.vertx.codegen.type.MapperInfo io.vertx.codegen.type.MapperInfo io.vertx.codegen.type.DataObjectInfo java.util.List
StackMap stack:
new io.vertx.codegen.type.ClassTypeInfo
dup
aload 10
aload 8
aload 7
iload 4
aload 16
aload 15
invokespecial io.vertx.codegen.type.ClassTypeInfo.<init>:(Lio/vertx/codegen/type/ClassKind;Ljava/lang/String;Lio/vertx/codegen/ModuleInfo;ZLjava/util/List;Lio/vertx/codegen/type/DataObjectInfo;)V
astore 12
end local 16 end local 15 end local 14 end local 13 start local 12 91: StackMap locals: io.vertx.codegen.type.TypeMirrorFactory io.vertx.codegen.type.TypeUse javax.lang.model.type.DeclaredType int int javax.lang.model.element.TypeElement javax.lang.model.element.PackageElement io.vertx.codegen.ModuleInfo java.lang.String int io.vertx.codegen.type.ClassKind java.util.List io.vertx.codegen.type.ClassTypeInfo
StackMap stack:
aload 12
areturn
end local 12 end local 11 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 92 0 this Lio/vertx/codegen/type/TypeMirrorFactory;
0 92 1 use Lio/vertx/codegen/type/TypeUse;
0 92 2 type Ljavax/lang/model/type/DeclaredType;
0 92 3 checkTypeArgs Z
3 92 4 nullable Z
4 92 5 elt Ljavax/lang/model/element/TypeElement;
5 92 6 pkgElt Ljavax/lang/model/element/PackageElement;
6 92 7 module Lio/vertx/codegen/ModuleInfo;
7 92 8 fqcn Ljava/lang/String;
11 92 9 proxyGen Z
13 22 10 values Ljava/util/ArrayList<Ljava/lang/String;>;
15 17 11 enclosedElt Ljavax/lang/model/element/Element;
21 22 11 gen Z
25 92 10 kind Lio/vertx/codegen/type/ClassKind;
26 92 11 typeArgs Ljava/util/List<+Ljavax/lang/model/type/TypeMirror;>;
28 39 12 typeArguments Ljava/util/List<Lio/vertx/codegen/type/TypeInfo;>;
29 37 13 i I
33 35 14 argUse Lio/vertx/codegen/type/TypeUse;
34 35 15 typeArgDesc Lio/vertx/codegen/type/TypeInfo;
38 39 13 raw Lio/vertx/codegen/type/ClassTypeInfo;
41 44 12 raw Lio/vertx/codegen/type/ClassTypeInfo;
89 90 12 raw Lio/vertx/codegen/type/ClassTypeInfo;
91 92 12 raw Lio/vertx/codegen/type/ClassTypeInfo;
45 91 13 serializer Lio/vertx/codegen/type/MapperInfo;
46 91 14 deserializer Lio/vertx/codegen/type/MapperInfo;
47 91 15 dataObject Lio/vertx/codegen/type/DataObjectInfo;
49 69 16 serializable Lio/vertx/codegen/type/ClassKind;
50 69 17 deserializable Lio/vertx/codegen/type/ClassKind;
73 91 16 typeParams Ljava/util/List<Lio/vertx/codegen/TypeParamInfo$Class;>;
75 89 17 genAnn Lio/vertx/codegen/annotations/VertxGen;
76 89 18 handlerArg Lio/vertx/codegen/type/TypeInfo;
77 89 19 parameterizedElt Ljavax/lang/model/element/TypeElement;
78 89 20 parameterizedType Ljavax/lang/model/type/TypeMirror;
79 89 21 rawType Ljavax/lang/model/type/TypeMirror;
81 88 22 resolved Ljavax/lang/model/type/TypeMirror;
83 86 23 dt Ljavax/lang/model/type/DeclaredType;
84 86 24 a Ljavax/lang/model/element/TypeElement;
MethodParameters:
Name Flags
use
type
checkTypeArgs
public io.vertx.codegen.type.TypeVariableInfo create(io.vertx.codegen.type.TypeUse, javax.lang.model.type.TypeVariable);
descriptor: (Lio/vertx/codegen/type/TypeUse;Ljavax/lang/model/type/TypeVariable;)Lio/vertx/codegen/type/TypeVariableInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokeinterface javax.lang.model.type.TypeVariable.asElement:()Ljavax/lang/model/element/Element;
checkcast javax.lang.model.element.TypeParameterElement
astore 3
start local 3 1: aload 3
invokestatic io.vertx.codegen.TypeParamInfo.create:(Ljavax/lang/model/element/TypeParameterElement;)Lio/vertx/codegen/TypeParamInfo;
astore 4
start local 4 2: new io.vertx.codegen.type.TypeVariableInfo
dup
aload 4
aload 1
ifnull 3
aload 1
invokevirtual io.vertx.codegen.type.TypeUse.isNullable:()Z
ifeq 3
iconst_1
goto 4
StackMap locals: io.vertx.codegen.type.TypeMirrorFactory io.vertx.codegen.type.TypeUse javax.lang.model.type.TypeVariable javax.lang.model.element.TypeParameterElement io.vertx.codegen.TypeParamInfo
StackMap stack: new 2 new 2 io.vertx.codegen.TypeParamInfo
3: iconst_0
StackMap locals: io.vertx.codegen.type.TypeMirrorFactory io.vertx.codegen.type.TypeUse javax.lang.model.type.TypeVariable javax.lang.model.element.TypeParameterElement io.vertx.codegen.TypeParamInfo
StackMap stack: new 2 new 2 io.vertx.codegen.TypeParamInfo int
4: aload 3
invokeinterface javax.lang.model.element.TypeParameterElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
invokespecial io.vertx.codegen.type.TypeVariableInfo.<init>:(Lio/vertx/codegen/TypeParamInfo;ZLjava/lang/String;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/vertx/codegen/type/TypeMirrorFactory;
0 5 1 use Lio/vertx/codegen/type/TypeUse;
0 5 2 type Ljavax/lang/model/type/TypeVariable;
1 5 3 elt Ljavax/lang/model/element/TypeParameterElement;
2 5 4 param Lio/vertx/codegen/TypeParamInfo;
MethodParameters:
Name Flags
use
type
public io.vertx.codegen.type.ArrayTypeInfo create(io.vertx.codegen.type.TypeUse, javax.lang.model.type.ArrayType);
descriptor: (Lio/vertx/codegen/type/TypeUse;Ljavax/lang/model/type/ArrayType;)Lio/vertx/codegen/type/ArrayTypeInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokeinterface javax.lang.model.type.ArrayType.getComponentType:()Ljavax/lang/model/type/TypeMirror;
astore 3
start local 3 1: new io.vertx.codegen.type.ArrayTypeInfo
dup
aload 0
aload 3
invokevirtual io.vertx.codegen.type.TypeMirrorFactory.create:(Ljavax/lang/model/type/TypeMirror;)Lio/vertx/codegen/type/TypeInfo;
aload 1
ifnull 2
aload 1
invokevirtual io.vertx.codegen.type.TypeUse.isNullable:()Z
ifeq 2
iconst_1
goto 3
StackMap locals: io.vertx.codegen.type.TypeMirrorFactory io.vertx.codegen.type.TypeUse javax.lang.model.type.ArrayType javax.lang.model.type.TypeMirror
StackMap stack: new 1 new 1 io.vertx.codegen.type.TypeInfo
2: iconst_0
StackMap locals: io.vertx.codegen.type.TypeMirrorFactory io.vertx.codegen.type.TypeUse javax.lang.model.type.ArrayType javax.lang.model.type.TypeMirror
StackMap stack: new 1 new 1 io.vertx.codegen.type.TypeInfo int
3: invokespecial io.vertx.codegen.type.ArrayTypeInfo.<init>:(Lio/vertx/codegen/type/TypeInfo;Z)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/codegen/type/TypeMirrorFactory;
0 4 1 use Lio/vertx/codegen/type/TypeUse;
0 4 2 type Ljavax/lang/model/type/ArrayType;
1 4 3 componentType Ljavax/lang/model/type/TypeMirror;
MethodParameters:
Name Flags
use
type
private java.util.List<io.vertx.codegen.TypeParamInfo$Class> createTypeParams(javax.lang.model.type.DeclaredType);
descriptor: (Ljavax/lang/model/type/DeclaredType;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 1: aload 1
invokeinterface javax.lang.model.type.DeclaredType.asElement:()Ljavax/lang/model/element/Element;
checkcast javax.lang.model.element.TypeElement
astore 3
start local 3 2: aload 3
invokeinterface javax.lang.model.element.TypeElement.getTypeParameters:()Ljava/util/List;
astore 4
start local 4 3: iconst_0
istore 5
start local 5 4: goto 8
5: StackMap locals: io.vertx.codegen.type.TypeMirrorFactory javax.lang.model.type.DeclaredType java.util.List javax.lang.model.element.TypeElement java.util.List int
StackMap stack:
aload 4
iload 5
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast javax.lang.model.element.TypeParameterElement
astore 6
start local 6 6: aload 2
new io.vertx.codegen.TypeParamInfo$Class
dup
aload 3
invokeinterface javax.lang.model.element.TypeElement.getQualifiedName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
iload 5
aload 6
invokeinterface javax.lang.model.element.TypeParameterElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
invokespecial io.vertx.codegen.TypeParamInfo$Class.<init>:(Ljava/lang/String;ILjava/lang/String;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 6 7: iinc 5 1
StackMap locals:
StackMap stack:
8: iload 5
aload 4
invokeinterface java.util.List.size:()I
if_icmplt 5
end local 5 9: aload 2
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lio/vertx/codegen/type/TypeMirrorFactory;
0 10 1 type Ljavax/lang/model/type/DeclaredType;
1 10 2 typeParams Ljava/util/List<Lio/vertx/codegen/TypeParamInfo$Class;>;
2 10 3 elt Ljavax/lang/model/element/TypeElement;
3 10 4 typeParamElts Ljava/util/List<+Ljavax/lang/model/element/TypeParameterElement;>;
4 9 5 index I
6 7 6 typeParamElt Ljavax/lang/model/element/TypeParameterElement;
Signature: (Ljavax/lang/model/type/DeclaredType;)Ljava/util/List<Lio/vertx/codegen/TypeParamInfo$Class;>;
MethodParameters:
Name Flags
type
static int[] $SWITCH_TABLE$javax$lang$model$type$TypeKind();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic io.vertx.codegen.type.TypeMirrorFactory.$SWITCH_TABLE$javax$lang$model$type$TypeKind:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic javax.lang.model.type.TypeKind.values:()[Ljavax/lang/model/type/TypeKind;
arraylength
newarray 10
astore 0
2: aload 0
getstatic javax.lang.model.type.TypeKind.ARRAY:Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
bipush 12
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic javax.lang.model.type.TypeKind.BOOLEAN:Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
iconst_1
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic javax.lang.model.type.TypeKind.BYTE:Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
iconst_2
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic javax.lang.model.type.TypeKind.CHAR:Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
bipush 6
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic javax.lang.model.type.TypeKind.DECLARED:Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
bipush 13
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic javax.lang.model.type.TypeKind.DOUBLE:Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
bipush 8
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic javax.lang.model.type.TypeKind.ERROR:Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
bipush 14
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic javax.lang.model.type.TypeKind.EXECUTABLE:Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
bipush 18
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic javax.lang.model.type.TypeKind.FLOAT:Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
bipush 7
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
getstatic javax.lang.model.type.TypeKind.INT:Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
iconst_4
iastore
30: goto 32
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
31: pop
StackMap locals:
StackMap stack:
32: aload 0
getstatic javax.lang.model.type.TypeKind.INTERSECTION:Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
bipush 21
iastore
33: goto 35
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
34: pop
StackMap locals:
StackMap stack:
35: aload 0
getstatic javax.lang.model.type.TypeKind.LONG:Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
iconst_5
iastore
36: goto 38
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
37: pop
StackMap locals:
StackMap stack:
38: aload 0
getstatic javax.lang.model.type.TypeKind.NONE:Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
bipush 10
iastore
39: goto 41
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
40: pop
StackMap locals:
StackMap stack:
41: aload 0
getstatic javax.lang.model.type.TypeKind.NULL:Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
bipush 11
iastore
42: goto 44
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
43: pop
StackMap locals:
StackMap stack:
44: aload 0
getstatic javax.lang.model.type.TypeKind.OTHER:Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
bipush 19
iastore
45: goto 47
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
46: pop
StackMap locals:
StackMap stack:
47: aload 0
getstatic javax.lang.model.type.TypeKind.PACKAGE:Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
bipush 17
iastore
48: goto 50
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
49: pop
StackMap locals:
StackMap stack:
50: aload 0
getstatic javax.lang.model.type.TypeKind.SHORT:Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
iconst_3
iastore
51: goto 53
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
52: pop
StackMap locals:
StackMap stack:
53: aload 0
getstatic javax.lang.model.type.TypeKind.TYPEVAR:Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
bipush 15
iastore
54: goto 56
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
55: pop
StackMap locals:
StackMap stack:
56: aload 0
getstatic javax.lang.model.type.TypeKind.UNION:Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
bipush 20
iastore
57: goto 59
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
58: pop
StackMap locals:
StackMap stack:
59: aload 0
getstatic javax.lang.model.type.TypeKind.VOID:Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
bipush 9
iastore
60: goto 62
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
61: pop
StackMap locals:
StackMap stack:
62: aload 0
getstatic javax.lang.model.type.TypeKind.WILDCARD:Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
bipush 16
iastore
63: goto 65
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
64: pop
StackMap locals:
StackMap stack:
65: aload 0
dup
putstatic io.vertx.codegen.type.TypeMirrorFactory.$SWITCH_TABLE$javax$lang$model$type$TypeKind:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
23 24 25 Class java.lang.NoSuchFieldError
26 27 28 Class java.lang.NoSuchFieldError
29 30 31 Class java.lang.NoSuchFieldError
32 33 34 Class java.lang.NoSuchFieldError
35 36 37 Class java.lang.NoSuchFieldError
38 39 40 Class java.lang.NoSuchFieldError
41 42 43 Class java.lang.NoSuchFieldError
44 45 46 Class java.lang.NoSuchFieldError
47 48 49 Class java.lang.NoSuchFieldError
50 51 52 Class java.lang.NoSuchFieldError
53 54 55 Class java.lang.NoSuchFieldError
56 57 58 Class java.lang.NoSuchFieldError
59 60 61 Class java.lang.NoSuchFieldError
62 63 64 Class java.lang.NoSuchFieldError
}
SourceFile: "TypeMirrorFactory.java"
InnerClasses:
public Class = io.vertx.codegen.TypeParamInfo$Class of io.vertx.codegen.TypeParamInfo