class io.vertx.codegen.TypeValidator
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: io.vertx.codegen.TypeValidator
super_class: java.lang.Object
{
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/codegen/TypeValidator;
static void validateParamType(javax.lang.model.element.ExecutableElement, io.vertx.codegen.type.TypeInfo, boolean);
descriptor: (Ljavax/lang/model/element/ExecutableElement;Lio/vertx/codegen/type/TypeInfo;Z)V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iconst_1
iconst_0
iconst_1
iload 2
invokestatic io.vertx.codegen.TypeValidator.isValidNonCallableType:(Ljavax/lang/model/element/Element;Lio/vertx/codegen/type/TypeInfo;ZZZZ)Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic io.vertx.codegen.TypeValidator.isValidClassTypeParam:(Ljavax/lang/model/element/ExecutableElement;Lio/vertx/codegen/type/TypeInfo;)Z
ifeq 4
3: return
4: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
invokestatic io.vertx.codegen.TypeValidator.isValidHandlerType:(Ljavax/lang/model/element/Element;Lio/vertx/codegen/type/TypeInfo;Z)Z
ifeq 6
5: return
6: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
invokestatic io.vertx.codegen.TypeValidator.isValidFunctionType:(Ljavax/lang/model/element/Element;Lio/vertx/codegen/type/TypeInfo;Z)Z
ifeq 8
7: return
8: StackMap locals:
StackMap stack:
new io.vertx.codegen.GenException
dup
aload 0
new java.lang.StringBuilder
dup
ldc "type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " is not legal for use for a parameter in code generation"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)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
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 elem Ljavax/lang/model/element/ExecutableElement;
0 9 1 typeInfo Lio/vertx/codegen/type/TypeInfo;
0 9 2 allowAnyJavaType Z
MethodParameters:
Name Flags
elem
typeInfo
allowAnyJavaType
static void validateReturnType(javax.lang.model.element.ExecutableElement, io.vertx.codegen.type.TypeInfo, boolean);
descriptor: (Ljavax/lang/model/element/ExecutableElement;Lio/vertx/codegen/type/TypeInfo;Z)V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual io.vertx.codegen.type.TypeInfo.isVoid:()Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
aload 1
iconst_0
iconst_1
iconst_1
iload 2
invokestatic io.vertx.codegen.TypeValidator.isValidNonCallableType:(Ljavax/lang/model/element/Element;Lio/vertx/codegen/type/TypeInfo;ZZZZ)Z
ifeq 4
3: return
4: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
invokestatic io.vertx.codegen.TypeValidator.isValidHandlerType:(Ljavax/lang/model/element/Element;Lio/vertx/codegen/type/TypeInfo;Z)Z
ifeq 6
5: return
6: StackMap locals:
StackMap stack:
new io.vertx.codegen.GenException
dup
aload 0
new java.lang.StringBuilder
dup
ldc "type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " is not legal for use for a return type in code generation"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)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
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 elem Ljavax/lang/model/element/ExecutableElement;
0 7 1 type Lio/vertx/codegen/type/TypeInfo;
0 7 2 allowAnyJavaType Z
MethodParameters:
Name Flags
elem
type
allowAnyJavaType
static void validateConstantType(javax.lang.model.element.VariableElement, io.vertx.codegen.type.TypeInfo, javax.lang.model.type.TypeMirror, boolean);
descriptor: (Ljavax/lang/model/element/VariableElement;Lio/vertx/codegen/type/TypeInfo;Ljavax/lang/model/type/TypeMirror;Z)V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iconst_0
iconst_1
iconst_1
iload 3
invokestatic io.vertx.codegen.TypeValidator.isValidNonCallableType:(Ljavax/lang/model/element/Element;Lio/vertx/codegen/type/TypeInfo;ZZZZ)Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
new io.vertx.codegen.GenException
dup
aload 0
new java.lang.StringBuilder
dup
ldc "type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " is not legal for use for a constant type in code generation"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)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
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 elem Ljavax/lang/model/element/VariableElement;
0 3 1 type Lio/vertx/codegen/type/TypeInfo;
0 3 2 typeMirror Ljavax/lang/model/type/TypeMirror;
0 3 3 allowAnyJavaType Z
MethodParameters:
Name Flags
elem
type
typeMirror
allowAnyJavaType
private static boolean isValidNonCallableType(javax.lang.model.element.Element, io.vertx.codegen.type.TypeInfo, boolean, boolean, boolean, boolean);
descriptor: (Ljavax/lang/model/element/Element;Lio/vertx/codegen/type/TypeInfo;ZZZZ)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 1
invokevirtual io.vertx.codegen.type.TypeInfo.isDataObjectHolder:()Z
ifeq 11
1: aload 1
invokevirtual io.vertx.codegen.type.TypeInfo.getDataObject:()Lio/vertx/codegen/type/DataObjectInfo;
astore 6
start local 6 2: iload 2
ifeq 6
aload 6
invokevirtual io.vertx.codegen.type.DataObjectInfo.isDeserializable:()Z
ifne 6
3: aload 6
invokevirtual io.vertx.codegen.type.DataObjectInfo.isAnnotated:()Z
ifeq 5
4: new io.vertx.codegen.GenException
dup
aload 0
new java.lang.StringBuilder
dup
ldc "annotated @DataObject "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " requires a JSON constructor"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)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
5: StackMap locals: io.vertx.codegen.type.DataObjectInfo
StackMap stack:
new io.vertx.codegen.GenException
dup
aload 0
new java.lang.StringBuilder
dup
ldc "type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " requires a JSON deserializer method"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)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
6: StackMap locals:
StackMap stack:
iload 3
ifeq 10
aload 6
invokevirtual io.vertx.codegen.type.DataObjectInfo.isSerializable:()Z
ifne 10
7: aload 6
invokevirtual io.vertx.codegen.type.DataObjectInfo.isAnnotated:()Z
ifeq 9
8: new io.vertx.codegen.GenException
dup
aload 0
new java.lang.StringBuilder
dup
ldc "annotated @DataObject "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " requires a toJson() method"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)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
9: StackMap locals:
StackMap stack:
new io.vertx.codegen.GenException
dup
aload 0
new java.lang.StringBuilder
dup
ldc "type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " requires a JSON serializer method"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)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
10: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 6 11: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.vertx.codegen.type.TypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
getstatic io.vertx.codegen.type.ClassKind.VOID:Lio/vertx/codegen/type/ClassKind;
if_acmpne 13
12: iconst_1
ireturn
13: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.vertx.codegen.type.TypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
getfield io.vertx.codegen.type.ClassKind.basic:Z
ifeq 15
14: iconst_1
ireturn
15: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.vertx.codegen.type.TypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
getfield io.vertx.codegen.type.ClassKind.json:Z
ifeq 17
16: iconst_1
ireturn
17: StackMap locals:
StackMap stack:
aload 1
invokestatic io.vertx.codegen.TypeValidator.isValidEnum:(Lio/vertx/codegen/type/TypeInfo;)Z
ifeq 19
18: iconst_1
ireturn
19: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.vertx.codegen.type.TypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
getstatic io.vertx.codegen.type.ClassKind.THROWABLE:Lio/vertx/codegen/type/ClassKind;
if_acmpne 21
20: iconst_1
ireturn
21: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.vertx.codegen.type.TypeInfo.isVariable:()Z
ifeq 23
22: iconst_1
ireturn
23: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.vertx.codegen.type.TypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
getstatic io.vertx.codegen.type.ClassKind.OBJECT:Lio/vertx/codegen/type/ClassKind;
if_acmpne 25
24: iconst_1
ireturn
25: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 5
invokestatic io.vertx.codegen.TypeValidator.isValidFutureType:(Ljavax/lang/model/element/Element;Lio/vertx/codegen/type/TypeInfo;Z)Z
ifeq 27
26: iconst_1
ireturn
27: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 4
iload 5
invokestatic io.vertx.codegen.TypeValidator.isValidVertxGenInterface:(Ljavax/lang/model/element/Element;Lio/vertx/codegen/type/TypeInfo;ZZ)Z
ifeq 29
28: iconst_1
ireturn
29: StackMap locals:
StackMap stack:
aload 1
iload 5
invokestatic io.vertx.codegen.TypeValidator.isValidOtherType:(Lio/vertx/codegen/type/TypeInfo;Z)Z
ifeq 31
30: iconst_1
ireturn
31: StackMap locals:
StackMap stack:
iload 4
ifeq 33
aload 0
aload 1
iload 5
invokestatic io.vertx.codegen.TypeValidator.isValidContainer:(Ljavax/lang/model/element/Element;Lio/vertx/codegen/type/TypeInfo;Z)Z
ifeq 33
32: iconst_1
ireturn
33: StackMap locals:
StackMap stack:
iconst_0
ireturn
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 34 0 elem Ljavax/lang/model/element/Element;
0 34 1 type Lio/vertx/codegen/type/TypeInfo;
0 34 2 isParam Z
0 34 3 isReturn Z
0 34 4 allowParameterized Z
0 34 5 allowAnyJavaType Z
2 11 6 dataObject Lio/vertx/codegen/type/DataObjectInfo;
MethodParameters:
Name Flags
elem
type
isParam
isReturn
allowParameterized
allowAnyJavaType
private static boolean isValidEnum(io.vertx.codegen.type.TypeInfo);
descriptor: (Lio/vertx/codegen/type/TypeInfo;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual io.vertx.codegen.type.TypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
getstatic io.vertx.codegen.type.ClassKind.ENUM:Lio/vertx/codegen/type/ClassKind;
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 info Lio/vertx/codegen/type/TypeInfo;
MethodParameters:
Name Flags
info
private static boolean isValidClassTypeParam(javax.lang.model.element.ExecutableElement, io.vertx.codegen.type.TypeInfo);
descriptor: (Ljavax/lang/model/element/ExecutableElement;Lio/vertx/codegen/type/TypeInfo;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual io.vertx.codegen.type.TypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
getstatic io.vertx.codegen.type.ClassKind.CLASS_TYPE:Lio/vertx/codegen/type/ClassKind;
if_acmpne 10
aload 1
invokevirtual io.vertx.codegen.type.TypeInfo.isParameterized:()Z
ifeq 10
1: aload 1
checkcast io.vertx.codegen.type.ParameterizedTypeInfo
astore 2
start local 2 2: aload 2
iconst_0
invokevirtual io.vertx.codegen.type.ParameterizedTypeInfo.getArg:(I)Lio/vertx/codegen/type/TypeInfo;
astore 3
start local 3 3: aload 3
invokevirtual io.vertx.codegen.type.TypeInfo.isVariable:()Z
ifeq 10
4: aload 3
checkcast io.vertx.codegen.type.TypeVariableInfo
astore 4
start local 4 5: aload 0
invokeinterface javax.lang.model.element.ExecutableElement.getTypeParameters:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 9
StackMap locals: javax.lang.model.element.ExecutableElement io.vertx.codegen.type.TypeInfo io.vertx.codegen.type.ParameterizedTypeInfo io.vertx.codegen.type.TypeInfo io.vertx.codegen.type.TypeVariableInfo top java.util.Iterator
StackMap stack:
6: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.TypeParameterElement
astore 5
start local 5 7: aload 5
invokeinterface javax.lang.model.element.TypeParameterElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
aload 4
invokevirtual io.vertx.codegen.type.TypeVariableInfo.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
8: iconst_1
ireturn
end local 5 9: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
end local 4 end local 3 end local 2 10: StackMap locals: javax.lang.model.element.ExecutableElement io.vertx.codegen.type.TypeInfo
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 elem Ljavax/lang/model/element/ExecutableElement;
0 11 1 type Lio/vertx/codegen/type/TypeInfo;
2 10 2 parameterized Lio/vertx/codegen/type/ParameterizedTypeInfo;
3 10 3 arg Lio/vertx/codegen/type/TypeInfo;
5 10 4 variable Lio/vertx/codegen/type/TypeVariableInfo;
7 9 5 typeParamElt Ljavax/lang/model/element/TypeParameterElement;
MethodParameters:
Name Flags
elem
type
private static boolean isValidContainer(javax.lang.model.element.Element, io.vertx.codegen.type.TypeInfo, boolean);
descriptor: (Ljavax/lang/model/element/Element;Lio/vertx/codegen/type/TypeInfo;Z)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 1
iconst_3
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/util/List;
aastore
dup
iconst_1
ldc Ljava/util/Set;
aastore
dup
iconst_2
ldc Ljava/util/Map;
aastore
invokestatic io.vertx.codegen.TypeValidator.rawTypeIs:(Lio/vertx/codegen/type/TypeInfo;[Ljava/lang/Class;)Z
ifeq 8
2: aload 1
checkcast io.vertx.codegen.type.ParameterizedTypeInfo
astore 4
start local 4 3: aload 1
invokevirtual io.vertx.codegen.type.TypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
getstatic io.vertx.codegen.type.ClassKind.MAP:Lio/vertx/codegen/type/ClassKind;
if_acmpeq 6
4: aload 4
invokevirtual io.vertx.codegen.type.ParameterizedTypeInfo.getArgs:()Ljava/util/List;
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast io.vertx.codegen.type.TypeInfo
astore 3
5: goto 8
StackMap locals: io.vertx.codegen.type.TypeInfo io.vertx.codegen.type.ParameterizedTypeInfo
StackMap stack:
6: aload 4
invokevirtual io.vertx.codegen.type.ParameterizedTypeInfo.getArgs:()Ljava/util/List;
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast io.vertx.codegen.type.TypeInfo
invokevirtual io.vertx.codegen.type.TypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
getstatic io.vertx.codegen.type.ClassKind.STRING:Lio/vertx/codegen/type/ClassKind;
if_acmpne 8
7: aload 4
invokevirtual io.vertx.codegen.type.ParameterizedTypeInfo.getArgs:()Ljava/util/List;
iconst_1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast io.vertx.codegen.type.TypeInfo
astore 3
end local 4 8: StackMap locals:
StackMap stack:
aload 3
ifnull 9
aload 0
aload 3
iload 2
invokestatic io.vertx.codegen.TypeValidator.isValidContainerComponent:(Ljavax/lang/model/element/Element;Lio/vertx/codegen/type/TypeInfo;Z)Z
ifeq 9
iconst_1
ireturn
StackMap locals:
StackMap stack:
9: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 elem Ljavax/lang/model/element/Element;
0 10 1 type Lio/vertx/codegen/type/TypeInfo;
0 10 2 allowAnyJavaType Z
1 10 3 argument Lio/vertx/codegen/type/TypeInfo;
3 8 4 parameterizedType Lio/vertx/codegen/type/ParameterizedTypeInfo;
MethodParameters:
Name Flags
elem
type
allowAnyJavaType
private static boolean isValidContainerComponent(javax.lang.model.element.Element, io.vertx.codegen.type.TypeInfo, boolean);
descriptor: (Ljavax/lang/model/element/Element;Lio/vertx/codegen/type/TypeInfo;Z)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iconst_1
iconst_1
iconst_0
iload 2
invokestatic io.vertx.codegen.TypeValidator.isValidNonCallableType:(Ljavax/lang/model/element/Element;Lio/vertx/codegen/type/TypeInfo;ZZZZ)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 elem Ljavax/lang/model/element/Element;
0 1 1 arg Lio/vertx/codegen/type/TypeInfo;
0 1 2 allowAnyJavaType Z
MethodParameters:
Name Flags
elem
arg
allowAnyJavaType
private static boolean isValidVertxGenTypeArgument(javax.lang.model.element.Element, io.vertx.codegen.type.TypeInfo, boolean);
descriptor: (Ljavax/lang/model/element/Element;Lio/vertx/codegen/type/TypeInfo;Z)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iconst_0
iconst_0
iconst_1
iload 2
invokestatic io.vertx.codegen.TypeValidator.isValidNonCallableType:(Ljavax/lang/model/element/Element;Lio/vertx/codegen/type/TypeInfo;ZZZZ)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 elem Ljavax/lang/model/element/Element;
0 1 1 arg Lio/vertx/codegen/type/TypeInfo;
0 1 2 allowAnyJavaType Z
MethodParameters:
Name Flags
elem
arg
allowAnyJavaType
private static boolean isValidOtherType(io.vertx.codegen.type.TypeInfo, boolean);
descriptor: (Lio/vertx/codegen/type/TypeInfo;Z)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifeq 1
aload 0
invokevirtual io.vertx.codegen.type.TypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
getstatic io.vertx.codegen.type.ClassKind.OTHER:Lio/vertx/codegen/type/ClassKind;
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 type Lio/vertx/codegen/type/TypeInfo;
0 2 1 allowAnyJavaType Z
MethodParameters:
Name Flags
type
allowAnyJavaType
private static boolean isValidVertxGenInterface(javax.lang.model.element.Element, io.vertx.codegen.type.TypeInfo, boolean, boolean);
descriptor: (Ljavax/lang/model/element/Element;Lio/vertx/codegen/type/TypeInfo;ZZ)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual io.vertx.codegen.type.TypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
getstatic io.vertx.codegen.type.ClassKind.API:Lio/vertx/codegen/type/ClassKind;
if_acmpne 11
1: aload 1
invokevirtual io.vertx.codegen.type.TypeInfo.isParameterized:()Z
ifeq 10
2: aload 1
checkcast io.vertx.codegen.type.ParameterizedTypeInfo
astore 4
start local 4 3: iload 2
ifeq 9
4: aload 4
5: invokevirtual io.vertx.codegen.type.ParameterizedTypeInfo.getArgs:()Ljava/util/List;
6: invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
7: aload 0
iload 3
invokedynamic test(Ljavax/lang/model/element/Element;Z)Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
io/vertx/codegen/TypeValidator.lambda$0(Ljavax/lang/model/element/Element;ZLio/vertx/codegen/type/TypeInfo;)Z (6)
(Lio/vertx/codegen/type/TypeInfo;)Z
invokeinterface java.util.stream.Stream.noneMatch:(Ljava/util/function/Predicate;)Z
ifeq 9
8: iconst_1
ireturn
StackMap locals: io.vertx.codegen.type.ParameterizedTypeInfo
StackMap stack:
9: iconst_0
ireturn
end local 4 10: StackMap locals:
StackMap stack:
iconst_1
ireturn
11: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 elem Ljavax/lang/model/element/Element;
0 12 1 type Lio/vertx/codegen/type/TypeInfo;
0 12 2 allowParameterized Z
0 12 3 allowAnyJavaType Z
3 10 4 parameterized Lio/vertx/codegen/type/ParameterizedTypeInfo;
MethodParameters:
Name Flags
elem
type
allowParameterized
allowAnyJavaType
private static boolean isValidFutureType(javax.lang.model.element.Element, io.vertx.codegen.type.TypeInfo, boolean);
descriptor: (Ljavax/lang/model/element/Element;Lio/vertx/codegen/type/TypeInfo;Z)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual io.vertx.codegen.type.TypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
getstatic io.vertx.codegen.type.ClassKind.FUTURE:Lio/vertx/codegen/type/ClassKind;
if_acmpne 7
1: aload 1
checkcast io.vertx.codegen.type.ParameterizedTypeInfo
astore 3
start local 3 2: aload 3
3: invokevirtual io.vertx.codegen.type.ParameterizedTypeInfo.getArgs:()Ljava/util/List;
4: invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
5: aload 0
iload 2
invokedynamic test(Ljavax/lang/model/element/Element;Z)Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
io/vertx/codegen/TypeValidator.lambda$1(Ljavax/lang/model/element/Element;ZLio/vertx/codegen/type/TypeInfo;)Z (6)
(Lio/vertx/codegen/type/TypeInfo;)Z
invokeinterface java.util.stream.Stream.allMatch:(Ljava/util/function/Predicate;)Z
6: ireturn
end local 3 7: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 elem Ljavax/lang/model/element/Element;
0 8 1 type Lio/vertx/codegen/type/TypeInfo;
0 8 2 allowAnyJavaType Z
2 7 3 parameterized Lio/vertx/codegen/type/ParameterizedTypeInfo;
MethodParameters:
Name Flags
elem
type
allowAnyJavaType
private static boolean isValidFunctionType(javax.lang.model.element.Element, io.vertx.codegen.type.TypeInfo, boolean);
descriptor: (Ljavax/lang/model/element/Element;Lio/vertx/codegen/type/TypeInfo;Z)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual io.vertx.codegen.type.TypeInfo.getErased:()Lio/vertx/codegen/type/TypeInfo;
invokevirtual io.vertx.codegen.type.TypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
getstatic io.vertx.codegen.type.ClassKind.FUNCTION:Lio/vertx/codegen/type/ClassKind;
if_acmpne 5
1: aload 1
checkcast io.vertx.codegen.type.ParameterizedTypeInfo
invokevirtual io.vertx.codegen.type.ParameterizedTypeInfo.getArgs:()Ljava/util/List;
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast io.vertx.codegen.type.TypeInfo
astore 3
start local 3 2: aload 0
aload 3
iload 2
invokestatic io.vertx.codegen.TypeValidator.isValidCallbackValueType:(Ljavax/lang/model/element/Element;Lio/vertx/codegen/type/TypeInfo;Z)Z
ifeq 5
3: aload 1
checkcast io.vertx.codegen.type.ParameterizedTypeInfo
invokevirtual io.vertx.codegen.type.ParameterizedTypeInfo.getArgs:()Ljava/util/List;
iconst_1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast io.vertx.codegen.type.TypeInfo
astore 4
start local 4 4: aload 0
aload 4
iconst_1
iconst_0
iconst_1
iload 2
invokestatic io.vertx.codegen.TypeValidator.isValidNonCallableType:(Ljavax/lang/model/element/Element;Lio/vertx/codegen/type/TypeInfo;ZZZZ)Z
ireturn
end local 4 end local 3 5: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 elem Ljavax/lang/model/element/Element;
0 6 1 typeInfo Lio/vertx/codegen/type/TypeInfo;
0 6 2 allowAnyJavaType Z
2 5 3 paramType Lio/vertx/codegen/type/TypeInfo;
4 5 4 returnType Lio/vertx/codegen/type/TypeInfo;
MethodParameters:
Name Flags
elem
typeInfo
allowAnyJavaType
private static boolean isValidHandlerType(javax.lang.model.element.Element, io.vertx.codegen.type.TypeInfo, boolean);
descriptor: (Ljavax/lang/model/element/Element;Lio/vertx/codegen/type/TypeInfo;Z)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual io.vertx.codegen.type.TypeInfo.getErased:()Lio/vertx/codegen/type/TypeInfo;
invokevirtual io.vertx.codegen.type.TypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
getstatic io.vertx.codegen.type.ClassKind.HANDLER:Lio/vertx/codegen/type/ClassKind;
if_acmpne 8
1: aload 1
checkcast io.vertx.codegen.type.ParameterizedTypeInfo
invokevirtual io.vertx.codegen.type.ParameterizedTypeInfo.getArgs:()Ljava/util/List;
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast io.vertx.codegen.type.TypeInfo
astore 3
start local 3 2: aload 0
aload 3
iload 2
invokestatic io.vertx.codegen.TypeValidator.isValidCallbackValueType:(Ljavax/lang/model/element/Element;Lio/vertx/codegen/type/TypeInfo;Z)Z
ifeq 4
3: iconst_1
ireturn
4: StackMap locals: io.vertx.codegen.type.TypeInfo
StackMap stack:
aload 3
invokevirtual io.vertx.codegen.type.TypeInfo.getErased:()Lio/vertx/codegen/type/TypeInfo;
invokevirtual io.vertx.codegen.type.TypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
getstatic io.vertx.codegen.type.ClassKind.ASYNC_RESULT:Lio/vertx/codegen/type/ClassKind;
if_acmpne 8
aload 3
invokevirtual io.vertx.codegen.type.TypeInfo.isNullable:()Z
ifne 8
5: aload 3
checkcast io.vertx.codegen.type.ParameterizedTypeInfo
invokevirtual io.vertx.codegen.type.ParameterizedTypeInfo.getArgs:()Ljava/util/List;
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast io.vertx.codegen.type.TypeInfo
astore 4
start local 4 6: aload 0
aload 4
iload 2
invokestatic io.vertx.codegen.TypeValidator.isValidCallbackValueType:(Ljavax/lang/model/element/Element;Lio/vertx/codegen/type/TypeInfo;Z)Z
ifeq 8
7: iconst_1
ireturn
end local 4 end local 3 8: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 elem Ljavax/lang/model/element/Element;
0 9 1 type Lio/vertx/codegen/type/TypeInfo;
0 9 2 allowAnyJavaType Z
2 8 3 eventType Lio/vertx/codegen/type/TypeInfo;
6 8 4 resultType Lio/vertx/codegen/type/TypeInfo;
MethodParameters:
Name Flags
elem
type
allowAnyJavaType
private static boolean isValidCallbackValueType(javax.lang.model.element.Element, io.vertx.codegen.type.TypeInfo, boolean);
descriptor: (Ljavax/lang/model/element/Element;Lio/vertx/codegen/type/TypeInfo;Z)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iconst_0
iconst_1
iconst_1
iload 2
invokestatic io.vertx.codegen.TypeValidator.isValidNonCallableType:(Ljavax/lang/model/element/Element;Lio/vertx/codegen/type/TypeInfo;ZZZZ)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 elem Ljavax/lang/model/element/Element;
0 1 1 type Lio/vertx/codegen/type/TypeInfo;
0 1 2 allowAnyJavaType Z
MethodParameters:
Name Flags
elem
type
allowAnyJavaType
private static boolean rawTypeIs(io.vertx.codegen.type.TypeInfo, java.lang.Class<?>[]);
descriptor: (Lio/vertx/codegen/type/TypeInfo;[Ljava/lang/Class;)Z
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=2, locals=7, args_size=2
start local 0 start local 1 0: aload 0
instanceof io.vertx.codegen.type.ParameterizedTypeInfo
ifeq 8
1: aload 0
invokevirtual io.vertx.codegen.type.TypeInfo.getRaw:()Lio/vertx/codegen/type/ClassTypeInfo;
invokevirtual io.vertx.codegen.type.ClassTypeInfo.getName:()Ljava/lang/String;
astore 2
start local 2 2: aload 1
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 7
StackMap locals: io.vertx.codegen.type.TypeInfo java.lang.Class[] java.lang.String top int int java.lang.Class[]
StackMap stack:
3: aload 6
iload 4
aaload
astore 3
start local 3 4: aload 2
aload 3
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 6
5: iconst_1
ireturn
end local 3 6: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
iload 5
if_icmplt 3
end local 2 8: StackMap locals: io.vertx.codegen.type.TypeInfo java.lang.Class[]
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 type Lio/vertx/codegen/type/TypeInfo;
0 9 1 classes [Ljava/lang/Class;
2 8 2 rawClassName Ljava/lang/String;
4 6 3 c Ljava/lang/Class<*>;
Signature: (Lio/vertx/codegen/type/TypeInfo;[Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
type
classes
private static boolean lambda$0(javax.lang.model.element.Element, boolean, io.vertx.codegen.type.TypeInfo);
descriptor: (Ljavax/lang/model/element/Element;ZLio/vertx/codegen/type/TypeInfo;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 2 0: aload 0
aload 2
iload 1
invokestatic io.vertx.codegen.TypeValidator.isValidVertxGenTypeArgument:(Ljavax/lang/model/element/Element;Lio/vertx/codegen/type/TypeInfo;Z)Z
ifeq 1
aload 2
invokevirtual io.vertx.codegen.type.TypeInfo.isNullable:()Z
ifne 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 2 LocalVariableTable:
Start End Slot Name Signature
0 3 2 arg Lio/vertx/codegen/type/TypeInfo;
private static boolean lambda$1(javax.lang.model.element.Element, boolean, io.vertx.codegen.type.TypeInfo);
descriptor: (Ljavax/lang/model/element/Element;ZLio/vertx/codegen/type/TypeInfo;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 2 0: aload 0
aload 2
iload 1
invokestatic io.vertx.codegen.TypeValidator.isValidCallbackValueType:(Ljavax/lang/model/element/Element;Lio/vertx/codegen/type/TypeInfo;Z)Z
ireturn
end local 2 LocalVariableTable:
Start End Slot Name Signature
0 1 2 arg Lio/vertx/codegen/type/TypeInfo;
}
SourceFile: "TypeValidator.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles