public class io.vertx.codegen.ClassModel extends java.lang.Object implements io.vertx.codegen.Model
{
public static final java.lang.String VERTX_READ_STREAM;
public static final java.lang.String VERTX_WRITE_STREAM;
public static final java.lang.String VERTX_ASYNC_RESULT;
public static final java.lang.String VERTX_HANDLER;
public static final java.lang.String JSON_OBJECT;
public static final java.lang.String JSON_ARRAY;
public static final java.lang.String VERTX;
public static final java.lang.String ITERABLE;
public static final java.lang.String ITERATOR;
public static final java.lang.String FUNCTION;
private static final java.util.logging.Logger logger;
private static final io.vertx.codegen.type.ClassTypeInfo ASYNC_RESULT_TYPE;
private static final io.vertx.codegen.type.ClassTypeInfo HANDLER_TYPE;
protected final javax.'annotation'.processing.ProcessingEnvironment env;
protected final io.vertx.codegen.type.AnnotationValueInfoFactory annotationValueInfoFactory;
protected final javax.'annotation'.processing.Messager messager;
protected final io.vertx.codegen.type.TypeMirrorFactory typeFactory;
protected final io.vertx.codegen.doc.Doc$Factory docFactory;
protected final javax.lang.model.element.TypeElement modelElt;
protected final javax.lang.model.util.Elements elementUtils;
protected final javax.lang.model.util.Types typeUtils;
protected boolean processed;
protected java.util.LinkedHashMap methods;
protected java.util.LinkedHashMap anyJavaTypeMethods;
protected java.util.Set futureMethods;
protected java.util.List constants;
protected java.util.Set collectedTypes;
protected java.util.Set importedTypes;
protected java.util.Set referencedTypes;
protected java.util.Set referencedDataObjectTypes;
protected java.util.Set referencedEnumTypes;
protected boolean concrete;
protected io.vertx.codegen.type.ClassTypeInfo type;
protected java.lang.String ifaceSimpleName;
protected java.lang.String ifaceFQCN;
protected java.lang.String ifacePackageName;
protected java.lang.String ifaceComment;
protected io.vertx.codegen.doc.Doc doc;
protected java.util.List superTypes;
protected io.vertx.codegen.type.TypeInfo concreteSuperType;
private java.util.List superTypeArguments;
protected java.util.List abstractSuperTypes;
protected io.vertx.codegen.type.TypeInfo handlerArg;
protected io.vertx.codegen.type.TypeInfo readStreamArg;
protected io.vertx.codegen.type.TypeInfo writeStreamArg;
protected io.vertx.codegen.type.TypeInfo iterableArg;
protected io.vertx.codegen.type.TypeInfo iteratorArg;
protected io.vertx.codegen.type.TypeInfo[] functionArgs;
protected java.util.Map methodMap;
protected java.util.Map methodAnnotationsMap;
protected java.util.List annotations;
protected boolean deprecated;
protected io.vertx.codegen.doc.Text deprecatedDesc;
public void <init>(javax.'annotation'.processing.ProcessingEnvironment, io.vertx.codegen.type.TypeMirrorFactory, javax.lang.model.element.TypeElement)
{
javax.lang.model.element.TypeElement v;
javax.lang.model.util.Elements v, v;
java.util.ArrayList v, v, v;
java.util.HashSet v, v, v, v, v, v;
java.util.LinkedHashMap v, v, v;
io.vertx.codegen.type.AnnotationValueInfoFactory v;
io.vertx.codegen.doc.Doc$Factory v;
javax.'annotation'.processing.Messager v, v;
boolean v;
io.vertx.codegen.type.TypeMirrorFactory v;
javax.lang.model.util.Types v, v;
io.vertx.codegen.ClassModel v;
java.lang.'annotation'.Annotation v;
javax.'annotation'.processing.ProcessingEnvironment v;
v := @this: io.vertx.codegen.ClassModel;
v := @parameter: javax.'annotation'.processing.ProcessingEnvironment;
v := @parameter: io.vertx.codegen.type.TypeMirrorFactory;
v := @parameter: javax.lang.model.element.TypeElement;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<io.vertx.codegen.ClassModel: boolean processed> = 0;
v = new java.util.LinkedHashMap;
specialinvoke v.<java.util.LinkedHashMap: void <init>()>();
v.<io.vertx.codegen.ClassModel: java.util.LinkedHashMap methods> = v;
v = new java.util.LinkedHashMap;
specialinvoke v.<java.util.LinkedHashMap: void <init>()>();
v.<io.vertx.codegen.ClassModel: java.util.LinkedHashMap anyJavaTypeMethods> = v;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v.<io.vertx.codegen.ClassModel: java.util.Set futureMethods> = v;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v.<io.vertx.codegen.ClassModel: java.util.List constants> = v;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v.<io.vertx.codegen.ClassModel: java.util.Set collectedTypes> = v;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v.<io.vertx.codegen.ClassModel: java.util.Set importedTypes> = v;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v.<io.vertx.codegen.ClassModel: java.util.Set referencedTypes> = v;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v.<io.vertx.codegen.ClassModel: java.util.Set referencedDataObjectTypes> = v;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v.<io.vertx.codegen.ClassModel: java.util.Set referencedEnumTypes> = v;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v.<io.vertx.codegen.ClassModel: java.util.List superTypes> = v;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v.<io.vertx.codegen.ClassModel: java.util.List abstractSuperTypes> = v;
v = new java.util.LinkedHashMap;
specialinvoke v.<java.util.LinkedHashMap: void <init>()>();
v.<io.vertx.codegen.ClassModel: java.util.Map methodAnnotationsMap> = v;
v = interfaceinvoke v.<javax.'annotation'.processing.ProcessingEnvironment: javax.lang.model.util.Elements getElementUtils()>();
v.<io.vertx.codegen.ClassModel: javax.lang.model.util.Elements elementUtils> = v;
v = interfaceinvoke v.<javax.'annotation'.processing.ProcessingEnvironment: javax.lang.model.util.Types getTypeUtils()>();
v.<io.vertx.codegen.ClassModel: javax.lang.model.util.Types typeUtils> = v;
v.<io.vertx.codegen.ClassModel: javax.'annotation'.processing.ProcessingEnvironment env> = v;
v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeMirrorFactory typeFactory> = v;
v = new io.vertx.codegen.doc.Doc$Factory;
v = interfaceinvoke v.<javax.'annotation'.processing.ProcessingEnvironment: javax.'annotation'.processing.Messager getMessager()>();
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.util.Elements elementUtils>;
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.util.Types typeUtils>;
specialinvoke v.<io.vertx.codegen.doc.Doc$Factory: void <init>(javax.'annotation'.processing.Messager,javax.lang.model.util.Elements,javax.lang.model.util.Types,io.vertx.codegen.type.TypeMirrorFactory,javax.lang.model.element.TypeElement)>(v, v, v, v, v);
v.<io.vertx.codegen.ClassModel: io.vertx.codegen.doc.Doc$Factory docFactory> = v;
v = interfaceinvoke v.<javax.'annotation'.processing.ProcessingEnvironment: javax.'annotation'.processing.Messager getMessager()>();
v.<io.vertx.codegen.ClassModel: javax.'annotation'.processing.Messager messager> = v;
v.<io.vertx.codegen.ClassModel: javax.lang.model.element.TypeElement modelElt> = v;
v = new io.vertx.codegen.type.AnnotationValueInfoFactory;
specialinvoke v.<io.vertx.codegen.type.AnnotationValueInfoFactory: void <init>(io.vertx.codegen.type.TypeMirrorFactory)>(v);
v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.AnnotationValueInfoFactory annotationValueInfoFactory> = v;
v = interfaceinvoke v.<javax.lang.model.element.TypeElement: java.lang.'annotation'.Annotation getAnnotation(java.lang.Class)>(class "Ljava/lang/Deprecated;");
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v.<io.vertx.codegen.ClassModel: boolean deprecated> = v;
return;
}
public java.lang.String getKind()
{
io.vertx.codegen.ClassModel v;
v := @this: io.vertx.codegen.ClassModel;
return "class";
}
public java.lang.String getFqn()
{
io.vertx.codegen.type.ClassTypeInfo v, v;
java.lang.String v;
io.vertx.codegen.ClassModel v;
v := @this: io.vertx.codegen.ClassModel;
v = v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.ClassTypeInfo type>;
v = virtualinvoke v.<io.vertx.codegen.type.ClassTypeInfo: io.vertx.codegen.type.ClassTypeInfo getRaw()>();
v = virtualinvoke v.<io.vertx.codegen.type.ClassTypeInfo: java.lang.String getName()>();
return v;
}
public javax.lang.model.element.TypeElement getElement()
{
javax.lang.model.element.TypeElement v;
io.vertx.codegen.ClassModel v;
v := @this: io.vertx.codegen.ClassModel;
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.element.TypeElement modelElt>;
return v;
}
public java.util.List getMethods()
{
java.util.LinkedHashMap v;
java.util.Collection v;
io.vertx.codegen.ClassModel v;
java.util.ArrayList v;
v := @this: io.vertx.codegen.ClassModel;
v = new java.util.ArrayList;
v = v.<io.vertx.codegen.ClassModel: java.util.LinkedHashMap methods>;
v = virtualinvoke v.<java.util.LinkedHashMap: java.util.Collection values()>();
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
return v;
}
public java.util.List getAnyJavaTypeMethods()
{
java.util.LinkedHashMap v;
java.util.Collection v;
io.vertx.codegen.ClassModel v;
java.util.ArrayList v;
v := @this: io.vertx.codegen.ClassModel;
v = new java.util.ArrayList;
v = v.<io.vertx.codegen.ClassModel: java.util.LinkedHashMap anyJavaTypeMethods>;
v = virtualinvoke v.<java.util.LinkedHashMap: java.util.Collection values()>();
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
return v;
}
public java.util.List getStaticMethods()
{
java.util.function.Predicate v;
java.util.Collection v;
io.vertx.codegen.ClassModel v;
java.util.LinkedHashMap v;
java.util.stream.Stream v, v;
java.lang.Object v;
java.util.stream.Collector v;
v := @this: io.vertx.codegen.ClassModel;
v = v.<io.vertx.codegen.ClassModel: java.util.LinkedHashMap methods>;
v = virtualinvoke v.<java.util.LinkedHashMap: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: java.util.stream.Stream stream()>();
v = staticinvoke <io.vertx.codegen.ClassModel$isStaticMethod__2932: java.util.function.Predicate bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toList()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
return v;
}
public java.util.List getInstanceMethods()
{
java.util.function.Predicate v;
java.util.Collection v;
io.vertx.codegen.ClassModel v;
java.util.LinkedHashMap v;
java.util.stream.Stream v, v;
java.lang.Object v;
java.util.stream.Collector v;
v := @this: io.vertx.codegen.ClassModel;
v = v.<io.vertx.codegen.ClassModel: java.util.LinkedHashMap methods>;
v = virtualinvoke v.<java.util.LinkedHashMap: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: java.util.stream.Stream stream()>();
v = staticinvoke <io.vertx.codegen.ClassModel$lambda_getInstanceMethods_0__2933: java.util.function.Predicate bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toList()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
return v;
}
public java.util.List getConstants()
{
java.util.List v;
io.vertx.codegen.ClassModel v;
v := @this: io.vertx.codegen.ClassModel;
v = v.<io.vertx.codegen.ClassModel: java.util.List constants>;
return v;
}
public boolean isConcrete()
{
io.vertx.codegen.ClassModel v;
boolean v;
v := @this: io.vertx.codegen.ClassModel;
v = v.<io.vertx.codegen.ClassModel: boolean concrete>;
return v;
}
public java.util.Set getImportedTypes()
{
java.util.Set v;
io.vertx.codegen.ClassModel v;
v := @this: io.vertx.codegen.ClassModel;
v = v.<io.vertx.codegen.ClassModel: java.util.Set importedTypes>;
return v;
}
public java.util.Set getReferencedTypes()
{
java.util.Set v;
io.vertx.codegen.ClassModel v;
v := @this: io.vertx.codegen.ClassModel;
v = v.<io.vertx.codegen.ClassModel: java.util.Set referencedTypes>;
return v;
}
public java.util.Set getReferencedDataObjectTypes()
{
java.util.Set v;
io.vertx.codegen.ClassModel v;
v := @this: io.vertx.codegen.ClassModel;
v = v.<io.vertx.codegen.ClassModel: java.util.Set referencedDataObjectTypes>;
return v;
}
public java.util.Set getReferencedEnumTypes()
{
java.util.Set v;
io.vertx.codegen.ClassModel v;
v := @this: io.vertx.codegen.ClassModel;
v = v.<io.vertx.codegen.ClassModel: java.util.Set referencedEnumTypes>;
return v;
}
public java.lang.String getIfaceSimpleName()
{
java.lang.String v;
io.vertx.codegen.ClassModel v;
v := @this: io.vertx.codegen.ClassModel;
v = v.<io.vertx.codegen.ClassModel: java.lang.String ifaceSimpleName>;
return v;
}
public java.lang.String getIfaceFQCN()
{
java.lang.String v;
io.vertx.codegen.ClassModel v;
v := @this: io.vertx.codegen.ClassModel;
v = v.<io.vertx.codegen.ClassModel: java.lang.String ifaceFQCN>;
return v;
}
public java.lang.String getIfacePackageName()
{
java.lang.String v;
io.vertx.codegen.ClassModel v;
v := @this: io.vertx.codegen.ClassModel;
v = v.<io.vertx.codegen.ClassModel: java.lang.String ifacePackageName>;
return v;
}
public java.lang.String getIfaceComment()
{
java.lang.String v;
io.vertx.codegen.ClassModel v;
v := @this: io.vertx.codegen.ClassModel;
v = v.<io.vertx.codegen.ClassModel: java.lang.String ifaceComment>;
return v;
}
public io.vertx.codegen.doc.Doc getDoc()
{
io.vertx.codegen.doc.Doc v;
io.vertx.codegen.ClassModel v;
v := @this: io.vertx.codegen.ClassModel;
v = v.<io.vertx.codegen.ClassModel: io.vertx.codegen.doc.Doc doc>;
return v;
}
public io.vertx.codegen.type.ClassTypeInfo getType()
{
io.vertx.codegen.type.ClassTypeInfo v;
io.vertx.codegen.ClassModel v;
v := @this: io.vertx.codegen.ClassModel;
v = v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.ClassTypeInfo type>;
return v;
}
public io.vertx.codegen.ModuleInfo getModule()
{
io.vertx.codegen.type.ClassTypeInfo v, v;
io.vertx.codegen.ModuleInfo v;
io.vertx.codegen.ClassModel v;
v := @this: io.vertx.codegen.ClassModel;
v = v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.ClassTypeInfo type>;
v = virtualinvoke v.<io.vertx.codegen.type.ClassTypeInfo: io.vertx.codegen.type.ClassTypeInfo getRaw()>();
v = virtualinvoke v.<io.vertx.codegen.type.ClassTypeInfo: io.vertx.codegen.ModuleInfo getModule()>();
return v;
}
public java.util.List getSuperTypes()
{
java.util.List v;
io.vertx.codegen.ClassModel v;
v := @this: io.vertx.codegen.ClassModel;
v = v.<io.vertx.codegen.ClassModel: java.util.List superTypes>;
return v;
}
public io.vertx.codegen.type.TypeInfo getConcreteSuperType()
{
io.vertx.codegen.ClassModel v;
io.vertx.codegen.type.TypeInfo v;
v := @this: io.vertx.codegen.ClassModel;
v = v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeInfo concreteSuperType>;
return v;
}
public java.util.List getAbstractSuperTypes()
{
java.util.List v;
io.vertx.codegen.ClassModel v;
v := @this: io.vertx.codegen.ClassModel;
v = v.<io.vertx.codegen.ClassModel: java.util.List abstractSuperTypes>;
return v;
}
public java.util.Map getMethodMap()
{
io.vertx.codegen.ClassModel v;
java.util.Map v;
v := @this: io.vertx.codegen.ClassModel;
v = v.<io.vertx.codegen.ClassModel: java.util.Map methodMap>;
return v;
}
public java.util.List getTypeParams()
{
io.vertx.codegen.type.ClassTypeInfo v, v;
java.util.List v;
io.vertx.codegen.ClassModel v;
v := @this: io.vertx.codegen.ClassModel;
v = v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.ClassTypeInfo type>;
v = virtualinvoke v.<io.vertx.codegen.type.ClassTypeInfo: io.vertx.codegen.type.ClassTypeInfo getRaw()>();
v = virtualinvoke v.<io.vertx.codegen.type.ClassTypeInfo: java.util.List getParams()>();
return v;
}
public java.util.List getSuperTypeArguments()
{
java.util.List v;
io.vertx.codegen.ClassModel v;
v := @this: io.vertx.codegen.ClassModel;
v = v.<io.vertx.codegen.ClassModel: java.util.List superTypeArguments>;
return v;
}
public java.util.List getAnnotations()
{
java.util.List v;
io.vertx.codegen.ClassModel v;
v := @this: io.vertx.codegen.ClassModel;
v = v.<io.vertx.codegen.ClassModel: java.util.List annotations>;
return v;
}
public java.util.Map getMethodAnnotations()
{
io.vertx.codegen.ClassModel v;
java.util.Map v;
v := @this: io.vertx.codegen.ClassModel;
v = v.<io.vertx.codegen.ClassModel: java.util.Map methodAnnotationsMap>;
return v;
}
private void sortMethodMap(java.util.Map)
{
java.util.Iterator v;
java.util.Collection v;
java.util.function.ToIntFunction v;
io.vertx.codegen.ClassModel v;
java.util.Map v;
java.lang.Object v;
java.util.Comparator v;
boolean v;
v := @this: io.vertx.codegen.ClassModel;
v := @parameter: java.util.Map;
v = interfaceinvoke v.<java.util.Map: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = staticinvoke <io.vertx.codegen.ClassModel$lambda_sortMethodMap_1__2934: java.util.function.ToIntFunction bootstrap$()>();
v = staticinvoke <java.util.Comparator: java.util.Comparator comparingInt(java.util.function.ToIntFunction)>(v);
interfaceinvoke v.<java.util.List: void sort(java.util.Comparator)>(v);
goto label;
label:
return;
}
private void determineApiTypes()
{
java.util.stream.Collector v, v, v, v;
java.util.function.Predicate v, v, v, v;
java.util.Set v, v, v, v;
io.vertx.codegen.ClassModel v;
java.util.stream.Stream v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.util.function.Function v, v, v, v, v, v, v;
java.lang.Object v, v, v, v;
v := @this: io.vertx.codegen.ClassModel;
v = v.<io.vertx.codegen.ClassModel: java.util.Set collectedTypes>;
v = interfaceinvoke v.<java.util.Set: java.util.stream.Stream stream()>();
v = staticinvoke <io.vertx.codegen.ClassModel$getRaw__2935: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <io.vertx.codegen.Helper: java.util.function.Function instanceOf(java.lang.Class)>(class "Lio/vertx/codegen/type/ClassTypeInfo;");
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream flatMap(java.util.function.Function)>(v);
v = staticinvoke <io.vertx.codegen.ClassModel$lambda_determineApiTypes_2__2936: java.util.function.Predicate bootstrap$(io.vertx.codegen.ClassModel)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toSet()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
v.<io.vertx.codegen.ClassModel: java.util.Set importedTypes> = v;
v = v.<io.vertx.codegen.ClassModel: java.util.Set collectedTypes>;
v = interfaceinvoke v.<java.util.Set: java.util.stream.Stream stream()>();
v = staticinvoke <io.vertx.codegen.ClassModel$getRaw__2937: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <io.vertx.codegen.Helper: java.util.function.Function instanceOf(java.lang.Class)>(class "Lio/vertx/codegen/type/ApiTypeInfo;");
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream flatMap(java.util.function.Function)>(v);
v = staticinvoke <io.vertx.codegen.ClassModel$lambda_determineApiTypes_3__2938: java.util.function.Predicate bootstrap$(io.vertx.codegen.ClassModel)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toSet()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
v.<io.vertx.codegen.ClassModel: java.util.Set referencedTypes> = v;
v = v.<io.vertx.codegen.ClassModel: java.util.Set collectedTypes>;
v = interfaceinvoke v.<java.util.Set: java.util.stream.Stream stream()>();
v = staticinvoke <io.vertx.codegen.ClassModel$getRaw__2939: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <io.vertx.codegen.ClassModel$isDataObjectHolder__2940: java.util.function.Predicate bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toSet()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
v.<io.vertx.codegen.ClassModel: java.util.Set referencedDataObjectTypes> = v;
v = v.<io.vertx.codegen.ClassModel: java.util.Set collectedTypes>;
v = interfaceinvoke v.<java.util.Set: java.util.stream.Stream stream()>();
v = staticinvoke <io.vertx.codegen.ClassModel$getRaw__2941: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <io.vertx.codegen.Helper: java.util.function.Function instanceOf(java.lang.Class)>(class "Lio/vertx/codegen/type/EnumTypeInfo;");
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream flatMap(java.util.function.Function)>(v);
v = staticinvoke <io.vertx.codegen.ClassModel$lambda_determineApiTypes_4__2942: java.util.function.Predicate bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toSet()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
v.<io.vertx.codegen.ClassModel: java.util.Set referencedEnumTypes> = v;
return;
}
public boolean process()
{
javax.lang.model.element.TypeElement v;
io.vertx.codegen.ClassModel v;
boolean v;
v := @this: io.vertx.codegen.ClassModel;
v = v.<io.vertx.codegen.ClassModel: boolean processed>;
if v != 0 goto label;
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.element.TypeElement modelElt>;
specialinvoke v.<io.vertx.codegen.ClassModel: void traverseType(javax.lang.model.element.Element)>(v);
specialinvoke v.<io.vertx.codegen.ClassModel: void determineApiTypes()>();
specialinvoke v.<io.vertx.codegen.ClassModel: void processTypeAnnotations()>();
specialinvoke v.<io.vertx.codegen.ClassModel: void logNonFutures()>();
v.<io.vertx.codegen.ClassModel: boolean processed> = 1;
return 1;
label:
return 0;
}
private void logNonFutures()
{
java.util.function.Predicate v, v;
java.util.Collection v;
io.vertx.codegen.ClassModel v;
java.util.LinkedHashMap v;
java.util.function.Consumer v;
java.util.stream.Stream v, v, v;
v := @this: io.vertx.codegen.ClassModel;
v = v.<io.vertx.codegen.ClassModel: java.util.LinkedHashMap methods>;
v = virtualinvoke v.<java.util.LinkedHashMap: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: java.util.stream.Stream stream()>();
v = staticinvoke <io.vertx.codegen.ClassModel$lambda_logNonFutures_5__2943: java.util.function.Predicate bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = staticinvoke <io.vertx.codegen.ClassModel$lambda_logNonFutures_6__2944: java.util.function.Predicate bootstrap$(io.vertx.codegen.ClassModel)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = staticinvoke <io.vertx.codegen.ClassModel$lambda_logNonFutures_7__2945: java.util.function.Consumer bootstrap$(io.vertx.codegen.ClassModel)>(v);
interfaceinvoke v.<java.util.stream.Stream: void forEach(java.util.function.Consumer)>(v);
return;
}
private void processTypeAnnotations()
{
javax.lang.model.element.TypeElement v;
java.util.function.Function v;
javax.lang.model.util.Elements v;
io.vertx.codegen.ClassModel v;
java.util.List v;
java.util.stream.Stream v, v;
io.vertx.codegen.type.AnnotationValueInfoFactory v;
java.lang.Object v;
java.util.stream.Collector v;
v := @this: io.vertx.codegen.ClassModel;
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.util.Elements elementUtils>;
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.element.TypeElement modelElt>;
v = interfaceinvoke v.<javax.lang.model.util.Elements: java.util.List getAllAnnotationMirrors(javax.lang.model.element.Element)>(v);
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.AnnotationValueInfoFactory annotationValueInfoFactory>;
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <io.vertx.codegen.ClassModel$processAnnotation__2946: java.util.function.Function bootstrap$(io.vertx.codegen.type.AnnotationValueInfoFactory)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toList()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
v.<io.vertx.codegen.ClassModel: java.util.List annotations> = v;
return;
}
private void traverseType(javax.lang.model.element.Element)
{
javax.lang.model.util.Elements v, v, v, v, v;
java.util.Map v, v;
java.util.stream.Collector v;
javax.lang.model.element.Element v, v;
java.util.stream.Stream v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
io.vertx.codegen.Signature v;
javax.lang.model.element.PackageElement v;
java.util.LinkedHashMap v, v, v, v, v;
io.vertx.codegen.type.ParameterizedTypeInfo v, v;
io.vertx.codegen.type.ClassTypeInfo v, v, v, v, v, v, v;
io.vertx.codegen.ParamInfo v;
int[] v, v, v;
io.vertx.codegen.type.ClassKind v, v, v;
java.util.LinkedHashMap[] v;
io.vertx.codegen.type.TypeInfo v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.util.Collection v, v, v;
io.vertx.codegen.ClassModel v;
javax.lang.model.type.TypeKind v, v;
java.lang.'annotation'.Annotation v, v;
java.util.function.Function v, v, v;
int v, v, v, v, v, v, v, v, v, v, v;
java.util.function.Consumer v, v, v, v, v;
javax.lang.model.type.TypeMirror v, v, v, v, v, v, v;
java.lang.Class v;
java.lang.Object v, v, v, v, v, v, v, v, v, v, v, v, v;
javax.lang.model.element.TypeElement v, v;
io.vertx.codegen.type.TypeMirrorFactory v, v, v, v;
java.util.Set v, v, v, v, v, v, v;
java.lang.Exception v;
io.vertx.codegen.doc.Doc v, v, v;
java.util.ArrayList v, v;
io.vertx.codegen.GenException v, v, v, v, v, v, v, v, v, v;
io.vertx.codegen.type.TypeInfo[] v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
io.vertx.codegen.doc.Doc$Factory v;
io.vertx.codegen.doc.Text v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.util.function.Predicate v, v, v, v, v;
javax.lang.model.util.Types v, v;
java.util.List v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.util.Optional v, v;
javax.lang.model.element.Name v, v, v;
java.util.Iterator v, v, v, v, v, v, v, v;
javax.lang.model.element.ElementKind v, v, v, v;
java.lang.IllegalArgumentException v;
v := @this: io.vertx.codegen.ClassModel;
v := @parameter: javax.lang.model.element.Element;
v = interfaceinvoke v.<javax.lang.model.element.Element: javax.lang.model.type.TypeMirror asType()>();
v = <io.vertx.codegen.ClassModel$1: int[] $SwitchMap$javax$lang$model$element$ElementKind>;
v = interfaceinvoke v.<javax.lang.model.element.Element: javax.lang.model.element.ElementKind getKind()>();
v = virtualinvoke v.<javax.lang.model.element.ElementKind: int ordinal()>();
v = v[v];
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
default: goto label;
};
label:
v = new io.vertx.codegen.GenException;
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("@VertxGen can only be used with interfaces or enums in \u0001");
specialinvoke v.<io.vertx.codegen.GenException: void <init>(javax.lang.model.element.Element,java.lang.String)>(v, v);
throw v;
label:
v = v.<io.vertx.codegen.ClassModel: java.lang.String ifaceFQCN>;
if v == null goto label;
v = new io.vertx.codegen.GenException;
specialinvoke v.<io.vertx.codegen.GenException: void <init>(javax.lang.model.element.Element,java.lang.String)>(v, "Can only have one interface per file");
throw v;
label:
v = v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeMirrorFactory typeFactory>;
v = virtualinvoke v.<io.vertx.codegen.type.TypeMirrorFactory: io.vertx.codegen.type.TypeInfo create(javax.lang.model.type.DeclaredType)>(v);
v = virtualinvoke v.<io.vertx.codegen.type.TypeInfo: io.vertx.codegen.type.ClassTypeInfo getRaw()>();
v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.ClassTypeInfo type> = v;
staticinvoke <io.vertx.codegen.Helper: void checkUnderModule(io.vertx.codegen.Model,java.lang.String)>(v, "@VertxGen");
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
v.<io.vertx.codegen.ClassModel: java.lang.String ifaceFQCN> = v;
v = interfaceinvoke v.<javax.lang.model.element.Element: javax.lang.model.element.Name getSimpleName()>();
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
v.<io.vertx.codegen.ClassModel: java.lang.String ifaceSimpleName> = v;
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.util.Elements elementUtils>;
v = interfaceinvoke v.<javax.lang.model.util.Elements: javax.lang.model.element.PackageElement getPackageOf(javax.lang.model.element.Element)>(v);
v = interfaceinvoke v.<javax.lang.model.element.PackageElement: javax.lang.model.element.Name getQualifiedName()>();
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
v.<io.vertx.codegen.ClassModel: java.lang.String ifacePackageName> = v;
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.util.Elements elementUtils>;
v = interfaceinvoke v.<javax.lang.model.util.Elements: java.lang.String getDocComment(javax.lang.model.element.Element)>(v);
v.<io.vertx.codegen.ClassModel: java.lang.String ifaceComment> = v;
v = v.<io.vertx.codegen.ClassModel: io.vertx.codegen.doc.Doc$Factory docFactory>;
v = virtualinvoke v.<io.vertx.codegen.doc.Doc$Factory: io.vertx.codegen.doc.Doc createDoc(javax.lang.model.element.Element)>(v);
v.<io.vertx.codegen.ClassModel: io.vertx.codegen.doc.Doc doc> = v;
v = v.<io.vertx.codegen.ClassModel: io.vertx.codegen.doc.Doc doc>;
if v == null goto label;
v = v.<io.vertx.codegen.ClassModel: io.vertx.codegen.doc.Doc doc>;
v = virtualinvoke v.<io.vertx.codegen.doc.Doc: java.util.List getBlockTags()>();
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <io.vertx.codegen.ClassModel$lambda_traverseType_8__2956: java.util.function.Predicate bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.Optional findFirst()>();
v = staticinvoke <io.vertx.codegen.ClassModel$lambda_traverseType_9__2957: java.util.function.Consumer bootstrap$(io.vertx.codegen.ClassModel)>(v);
virtualinvoke v.<java.util.Optional: void ifPresent(java.util.function.Consumer)>(v);
label:
v = v.<io.vertx.codegen.ClassModel: boolean deprecated>;
if v != 0 goto label;
v = v.<io.vertx.codegen.ClassModel: io.vertx.codegen.doc.Text deprecatedDesc>;
if v == null goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
v.<io.vertx.codegen.ClassModel: boolean deprecated> = v;
v = interfaceinvoke v.<javax.lang.model.element.Element: java.lang.'annotation'.Annotation getAnnotation(java.lang.Class)>(class "Lio/vertx/codegen/annotations/VertxGen;");
if v == null goto label;
v = interfaceinvoke v.<javax.lang.model.element.Element: java.lang.'annotation'.Annotation getAnnotation(java.lang.Class)>(class "Lio/vertx/codegen/annotations/VertxGen;");
v = interfaceinvoke v.<io.vertx.codegen.annotations.VertxGen: boolean concrete()>();
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
v.<io.vertx.codegen.ClassModel: boolean concrete> = v;
v = interfaceinvoke v.<javax.lang.model.type.DeclaredType: java.util.List getTypeArguments()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<javax.lang.model.type.TypeVariable: javax.lang.model.type.TypeMirror getUpperBound()>();
v = specialinvoke v.<io.vertx.codegen.ClassModel: boolean isObjectBound(javax.lang.model.type.TypeMirror)>(v);
if v != 0 goto label;
v = new io.vertx.codegen.GenException;
v = interfaceinvoke v.<javax.lang.model.type.TypeVariable: javax.lang.model.type.TypeMirror getUpperBound()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (javax.lang.model.type.TypeMirror)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Type variable bounds not supported \u0001");
specialinvoke v.<io.vertx.codegen.GenException: void <init>(javax.lang.model.element.Element,java.lang.String)>(v, v);
throw v;
label:
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.util.Types typeUtils>;
v = interfaceinvoke v.<javax.lang.model.util.Types: java.util.List directSupertypes(javax.lang.model.type.TypeMirror)>(v);
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<javax.lang.model.type.TypeMirror: java.lang.String toString()>();
v = class "Ljava/lang/Object;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
label:
v = v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeMirrorFactory typeFactory>;
v = virtualinvoke v.<io.vertx.codegen.type.TypeMirrorFactory: io.vertx.codegen.type.TypeInfo create(javax.lang.model.type.TypeMirror)>(v);
label:
goto label;
label:
v := @caughtexception;
v = new io.vertx.codegen.GenException;
v = virtualinvoke v.<java.lang.IllegalArgumentException: java.lang.String getMessage()>();
specialinvoke v.<io.vertx.codegen.GenException: void <init>(javax.lang.model.element.Element,java.lang.String)>(v, v);
throw v;
label:
v = <io.vertx.codegen.ClassModel$1: int[] $SwitchMap$io$vertx$codegen$type$ClassKind>;
v = virtualinvoke v.<io.vertx.codegen.type.TypeInfo: io.vertx.codegen.type.ClassKind getKind()>();
v = virtualinvoke v.<io.vertx.codegen.type.ClassKind: int ordinal()>();
v = v[v];
lookupswitch(v)
{
case 1: goto label;
default: goto label;
};
label:
v = v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeMirrorFactory typeFactory>;
v = virtualinvoke v.<io.vertx.codegen.type.TypeMirrorFactory: io.vertx.codegen.type.TypeInfo create(javax.lang.model.type.TypeMirror)>(v);
v = virtualinvoke v.<io.vertx.codegen.type.TypeInfo: io.vertx.codegen.type.ClassTypeInfo getRaw()>();
v = virtualinvoke v.<io.vertx.codegen.type.ApiTypeInfo: boolean isConcrete()>();
if v == 0 goto label;
v = v.<io.vertx.codegen.ClassModel: boolean concrete>;
if v == 0 goto label;
v = v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeInfo concreteSuperType>;
if v == null goto label;
v = new io.vertx.codegen.GenException;
specialinvoke v.<io.vertx.codegen.GenException: void <init>(javax.lang.model.element.Element,java.lang.String)>(v, "A concrete interface cannot extend more than one concrete interfaces");
throw v;
label:
v = new io.vertx.codegen.GenException;
specialinvoke v.<io.vertx.codegen.GenException: void <init>(javax.lang.model.element.Element,java.lang.String)>(v, "A abstract interface cannot extend a concrete interface");
throw v;
label:
v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeInfo concreteSuperType> = v;
goto label;
label:
v = v.<io.vertx.codegen.ClassModel: java.util.List abstractSuperTypes>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
v = v.<io.vertx.codegen.ClassModel: java.util.List superTypes>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
goto label;
label:
v := @caughtexception;
v = new io.vertx.codegen.GenException;
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
specialinvoke v.<io.vertx.codegen.GenException: void <init>(javax.lang.model.element.Element,java.lang.String)>(v, v);
throw v;
label:
v = v.<io.vertx.codegen.ClassModel: java.util.Set collectedTypes>;
virtualinvoke v.<io.vertx.codegen.type.TypeInfo: void collectImports(java.util.Collection)>(v);
goto label;
label:
v = v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeInfo concreteSuperType>;
if v == null goto label;
v = v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeInfo concreteSuperType>;
v = virtualinvoke v.<io.vertx.codegen.type.TypeInfo: boolean isParameterized()>();
if v == 0 goto label;
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.element.TypeElement modelElt>;
v = interfaceinvoke v.<javax.lang.model.element.TypeElement: javax.lang.model.type.TypeMirror asType()>();
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.util.Types typeUtils>;
v = interfaceinvoke v.<javax.lang.model.util.Types: java.util.List directSupertypes(javax.lang.model.type.TypeMirror)>(v);
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<javax.lang.model.type.TypeMirror: javax.lang.model.type.TypeKind getKind()>();
v = <javax.lang.model.type.TypeKind: javax.lang.model.type.TypeKind DECLARED>;
if v != v goto label;
v = interfaceinvoke v.<javax.lang.model.type.DeclaredType: javax.lang.model.element.Element asElement()>();
v = interfaceinvoke v.<javax.lang.model.element.TypeElement: javax.lang.model.element.Name getQualifiedName()>();
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
v = v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeInfo concreteSuperType>;
v = virtualinvoke v.<io.vertx.codegen.type.TypeInfo: io.vertx.codegen.type.ClassTypeInfo getRaw()>();
v = virtualinvoke v.<io.vertx.codegen.type.ClassTypeInfo: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = interfaceinvoke v.<javax.lang.model.element.TypeElement: java.util.List getTypeParameters()>();
v = interfaceinvoke v.<java.util.List: int size()>();
v = 0;
label:
if v >= v goto label;
v = interfaceinvoke v.<javax.lang.model.type.DeclaredType: java.util.List getTypeArguments()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeMirrorFactory typeFactory>;
v = virtualinvoke v.<io.vertx.codegen.type.TypeMirrorFactory: io.vertx.codegen.type.TypeInfo create(javax.lang.model.type.TypeMirror)>(v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = v + 1;
goto label;
label:
v.<io.vertx.codegen.ClassModel: java.util.List superTypeArguments> = v;
goto label;
label:
v = specialinvoke v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeInfo extractArg(java.lang.String,javax.lang.model.type.DeclaredType)>("io.vertx.core.Handler", v);
v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeInfo handlerArg> = v;
v = specialinvoke v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeInfo extractArg(java.lang.String,javax.lang.model.type.DeclaredType)>("io.vertx.core.streams.ReadStream", v);
v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeInfo readStreamArg> = v;
v = specialinvoke v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeInfo extractArg(java.lang.String,javax.lang.model.type.DeclaredType)>("io.vertx.core.streams.WriteStream", v);
v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeInfo writeStreamArg> = v;
v = specialinvoke v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeInfo extractArg(java.lang.String,javax.lang.model.type.DeclaredType)>("java.lang.Iterable", v);
v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeInfo iterableArg> = v;
v = specialinvoke v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeInfo extractArg(java.lang.String,javax.lang.model.type.DeclaredType)>("java.util.Iterator", v);
v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeInfo iteratorArg> = v;
v = specialinvoke v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeInfo[] extractArgs(java.lang.String,javax.lang.model.type.DeclaredType)>("java.util.function.Function", v);
v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeInfo[] functionArgs> = v;
v = interfaceinvoke v.<javax.lang.model.element.Element: java.util.List getEnclosedElements()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = staticinvoke <io.vertx.codegen.Helper: boolean isGenIgnore(javax.lang.model.element.Element)>(v);
if v != 0 goto label;
v = <io.vertx.codegen.ClassModel$1: int[] $SwitchMap$javax$lang$model$element$ElementKind>;
v = interfaceinvoke v.<javax.lang.model.element.Element: javax.lang.model.element.ElementKind getKind()>();
v = virtualinvoke v.<javax.lang.model.element.ElementKind: int ordinal()>();
v = v[v];
lookupswitch(v)
{
case 4: goto label;
case 5: goto label;
default: goto label;
};
label:
v = new io.vertx.codegen.GenException;
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("@VertxGen can only declare methods and not \u0001");
specialinvoke v.<io.vertx.codegen.GenException: void <init>(javax.lang.model.element.Element,java.lang.String)>(v, v);
throw v;
label:
v = interfaceinvoke v.<javax.lang.model.element.Element: javax.lang.model.element.ElementKind getKind()>();
v = <javax.lang.model.element.ElementKind: javax.lang.model.element.ElementKind INTERFACE>;
if v != v goto label;
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.util.Elements elementUtils>;
v = interfaceinvoke v.<javax.lang.model.util.Elements: javax.lang.model.element.TypeElement getTypeElement(java.lang.CharSequence)>("java.lang.Object");
v = interfaceinvoke v.<javax.lang.model.element.TypeElement: javax.lang.model.type.TypeMirror asType()>();
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.util.Elements elementUtils>;
v = interfaceinvoke v.<javax.lang.model.util.Elements: java.util.List getAllMembers(javax.lang.model.element.TypeElement)>(v);
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <io.vertx.codegen.ClassModel$lambda_traverseType_10__2947: java.util.function.Predicate bootstrap$(io.vertx.codegen.ClassModel,javax.lang.model.type.TypeMirror)>(v, v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = <io.vertx.codegen.Helper: java.util.function.Function FILTER_FIELD>;
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream flatMap(java.util.function.Function)>(v);
v = staticinvoke <io.vertx.codegen.ClassModel$lambda_traverseType_11__2948: java.util.function.Consumer bootstrap$(io.vertx.codegen.ClassModel)>(v);
interfaceinvoke v.<java.util.stream.Stream: void forEach(java.util.function.Consumer)>(v);
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.util.Elements elementUtils>;
v = interfaceinvoke v.<javax.lang.model.util.Elements: java.util.List getAllMembers(javax.lang.model.element.TypeElement)>(v);
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <io.vertx.codegen.ClassModel$lambda_traverseType_12__2949: java.util.function.Predicate bootstrap$(io.vertx.codegen.ClassModel,javax.lang.model.type.TypeMirror)>(v, v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = <io.vertx.codegen.Helper: java.util.function.Function FILTER_METHOD>;
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream flatMap(java.util.function.Function)>(v);
v = staticinvoke <io.vertx.codegen.ClassModel$lambda_traverseType_13__2950: java.util.function.Consumer bootstrap$(io.vertx.codegen.ClassModel)>(v);
interfaceinvoke v.<java.util.stream.Stream: void forEach(java.util.function.Consumer)>(v);
v = newarray (java.util.LinkedHashMap)[2];
v = v.<io.vertx.codegen.ClassModel: java.util.LinkedHashMap methods>;
v[0] = v;
v = v.<io.vertx.codegen.ClassModel: java.util.LinkedHashMap anyJavaTypeMethods>;
v[1] = v;
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = virtualinvoke v.<io.vertx.codegen.MethodInfo: java.util.List getParams()>();
v = interfaceinvoke v.<java.util.List: int size()>();
v = virtualinvoke v.<io.vertx.codegen.MethodInfo: boolean isUseFutures()>();
if v == 0 goto label;
if v <= 0 goto label;
v = virtualinvoke v.<io.vertx.codegen.MethodInfo: io.vertx.codegen.type.TypeInfo getCallbackType()>();
if v == null goto label;
v = virtualinvoke v.<io.vertx.codegen.type.TypeInfo: io.vertx.codegen.type.ClassKind getKind()>();
v = <io.vertx.codegen.type.ClassKind: io.vertx.codegen.type.ClassKind ASYNC_RESULT>;
if v != v goto label;
v = virtualinvoke v.<io.vertx.codegen.MethodInfo: java.util.Set getOwnerTypes()>();
v = v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.ClassTypeInfo type>;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
v = virtualinvoke v.<io.vertx.codegen.MethodInfo: java.util.Set getOwnerTypes()>();
v = interfaceinvoke v.<java.util.Set: int size()>();
if v != 1 goto label;
v = virtualinvoke v.<io.vertx.codegen.type.ParameterizedTypeInfo: io.vertx.codegen.type.TypeInfo getArg(int)>(0);
v = new io.vertx.codegen.GenException;
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = virtualinvoke v.<io.vertx.codegen.type.TypeInfo: java.lang.String getSimpleName()>();
v = virtualinvoke v.<io.vertx.codegen.type.TypeInfo: java.lang.String getSimpleName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Cannot use Handler<AsyncResult<\u0001>>, instead use a Future<\u0001> return");
specialinvoke v.<io.vertx.codegen.GenException: void <init>(javax.lang.model.element.Element,java.lang.String)>(v, v);
throw v;
label:
v = virtualinvoke v.<io.vertx.codegen.MethodInfo: io.vertx.codegen.type.TypeInfo getReturnType()>();
v = virtualinvoke v.<io.vertx.codegen.type.TypeInfo: boolean isParameterized()>();
if v == 0 goto label;
v = virtualinvoke v.<io.vertx.codegen.type.TypeInfo: io.vertx.codegen.type.ClassTypeInfo getRaw()>();
v = virtualinvoke v.<io.vertx.codegen.type.ClassTypeInfo: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("io.vertx.core.Future");
if v == 0 goto label;
v = virtualinvoke v.<io.vertx.codegen.type.ParameterizedTypeInfo: io.vertx.codegen.type.TypeInfo getArg(int)>(0);
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
v = new io.vertx.codegen.ParamInfo;
v = interfaceinvoke v.<java.util.List: int size()>();
v = new io.vertx.codegen.type.ParameterizedTypeInfo;
v = <io.vertx.codegen.ClassModel: io.vertx.codegen.type.ClassTypeInfo HANDLER_TYPE>;
v = new io.vertx.codegen.type.ParameterizedTypeInfo;
v = <io.vertx.codegen.ClassModel: io.vertx.codegen.type.ClassTypeInfo ASYNC_RESULT_TYPE>;
v = staticinvoke <java.util.Collections: java.util.List singletonList(java.lang.Object)>(v);
specialinvoke v.<io.vertx.codegen.type.ParameterizedTypeInfo: void <init>(io.vertx.codegen.type.ClassTypeInfo,boolean,java.util.List)>(v, 0, v);
v = staticinvoke <java.util.Collections: java.util.List singletonList(java.lang.Object)>(v);
specialinvoke v.<io.vertx.codegen.type.ParameterizedTypeInfo: void <init>(io.vertx.codegen.type.ClassTypeInfo,boolean,java.util.List)>(v, 0, v);
specialinvoke v.<io.vertx.codegen.ParamInfo: void <init>(int,java.lang.String,io.vertx.codegen.doc.Text,io.vertx.codegen.type.TypeInfo)>(v, "handler", null, v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = new io.vertx.codegen.Signature;
v = virtualinvoke v.<io.vertx.codegen.MethodInfo: java.lang.String getName()>();
specialinvoke v.<io.vertx.codegen.Signature: void <init>(java.lang.String,java.util.List)>(v, v);
v = interfaceinvoke v.<java.util.Map: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: java.util.stream.Stream stream()>();
v = staticinvoke <io.vertx.codegen.ClassModel$lambda_traverseType_14__2954: java.util.function.Predicate bootstrap$(io.vertx.codegen.MethodInfo)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = staticinvoke <io.vertx.codegen.ClassModel$lambda_traverseType_15__2955: java.util.function.Predicate bootstrap$(io.vertx.codegen.Signature)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.Optional findFirst()>();
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto label;
v = v.<io.vertx.codegen.ClassModel: java.util.Set futureMethods>;
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
interfaceinvoke v.<java.util.Iterator: void remove()>();
goto label;
label:
v = v.<io.vertx.codegen.ClassModel: java.util.LinkedHashMap methods>;
v = virtualinvoke v.<java.util.LinkedHashMap: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.stream.Stream stream()>();
v = v.<io.vertx.codegen.ClassModel: java.util.LinkedHashMap anyJavaTypeMethods>;
v = virtualinvoke v.<java.util.LinkedHashMap: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.stream.Stream stream()>();
v = staticinvoke <java.util.stream.Stream: java.util.stream.Stream concat(java.util.stream.Stream,java.util.stream.Stream)>(v, v);
v = staticinvoke <io.vertx.codegen.ClassModel$lambda_traverseType_16__2951: java.util.function.Consumer bootstrap$(io.vertx.codegen.ClassModel)>(v);
interfaceinvoke v.<java.util.stream.Stream: void forEach(java.util.function.Consumer)>(v);
v = v.<io.vertx.codegen.ClassModel: java.util.LinkedHashMap methods>;
v = virtualinvoke v.<java.util.LinkedHashMap: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: java.util.stream.Stream stream()>();
v = staticinvoke <io.vertx.codegen.ClassModel$getName__2952: java.util.function.Function bootstrap$()>();
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector groupingBy(java.util.function.Function)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
v.<io.vertx.codegen.ClassModel: java.util.Map methodMap> = v;
v = v.<io.vertx.codegen.ClassModel: java.util.Map methodMap>;
specialinvoke v.<io.vertx.codegen.ClassModel: void sortMethodMap(java.util.Map)>(v);
v = v.<io.vertx.codegen.ClassModel: java.util.Map methodMap>;
v = interfaceinvoke v.<java.util.Map: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = staticinvoke <io.vertx.codegen.ClassModel$checkMethod__2953: java.util.function.Consumer bootstrap$(io.vertx.codegen.ClassModel)>(v);
interfaceinvoke v.<java.util.List: void forEach(java.util.function.Consumer)>(v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<io.vertx.codegen.MethodInfo: boolean isStaticMethod()>();
v = virtualinvoke v.<io.vertx.codegen.MethodInfo: boolean isStaticMethod()>();
if v == v goto label;
v = new io.vertx.codegen.GenException;
v = virtualinvoke v.<io.vertx.codegen.MethodInfo: java.lang.String getName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Overloaded method \u cannot be both static and instance");
specialinvoke v.<io.vertx.codegen.GenException: void <init>(javax.lang.model.element.Element,java.lang.String)>(v, v);
throw v;
label:
return;
catch java.lang.IllegalArgumentException from label to label with label;
catch java.lang.Exception from label to label with label;
}
protected void checkParamType(javax.lang.model.element.ExecutableElement, io.vertx.codegen.type.TypeInfo, int, int, boolean)
{
io.vertx.codegen.type.TypeInfo v;
javax.lang.model.element.ExecutableElement v;
int v, v;
io.vertx.codegen.ClassModel v;
boolean v;
v := @this: io.vertx.codegen.ClassModel;
v := @parameter: javax.lang.model.element.ExecutableElement;
v := @parameter: io.vertx.codegen.type.TypeInfo;
v := @parameter: int;
v := @parameter: int;
v := @parameter: boolean;
staticinvoke <io.vertx.codegen.TypeValidator: void validateParamType(javax.lang.model.element.ExecutableElement,io.vertx.codegen.type.TypeInfo,boolean)>(v, v, v);
return;
}
protected void checkReturnType(javax.lang.model.element.ExecutableElement, io.vertx.codegen.type.TypeInfo, boolean)
{
io.vertx.codegen.type.TypeInfo v;
javax.lang.model.element.ExecutableElement v;
io.vertx.codegen.ClassModel v;
boolean v;
v := @this: io.vertx.codegen.ClassModel;
v := @parameter: javax.lang.model.element.ExecutableElement;
v := @parameter: io.vertx.codegen.type.TypeInfo;
v := @parameter: boolean;
staticinvoke <io.vertx.codegen.TypeValidator: void validateReturnType(javax.lang.model.element.ExecutableElement,io.vertx.codegen.type.TypeInfo,boolean)>(v, v, v);
return;
}
private io.vertx.codegen.type.TypeInfo extractArg(java.lang.String, javax.lang.model.type.DeclaredType)
{
io.vertx.codegen.type.TypeInfo[] v;
io.vertx.codegen.type.TypeInfo v;
javax.lang.model.type.DeclaredType v;
int v;
java.lang.String v;
io.vertx.codegen.ClassModel v;
v := @this: io.vertx.codegen.ClassModel;
v := @parameter: java.lang.String;
v := @parameter: javax.lang.model.type.DeclaredType;
v = specialinvoke v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeInfo[] extractArgs(java.lang.String,javax.lang.model.type.DeclaredType)>(v, v);
if v == null goto label;
v = lengthof v;
if v <= 0 goto label;
v = v[0];
goto label;
label:
v = null;
label:
return v;
}
private io.vertx.codegen.type.TypeInfo[] extractArgs(java.lang.String, javax.lang.model.type.DeclaredType)
{
javax.lang.model.element.TypeElement v;
javax.lang.model.util.Elements v;
io.vertx.codegen.type.TypeInfo[] v;
javax.lang.model.type.DeclaredType v;
int v, v, v;
java.lang.String v, v;
boolean v, v;
javax.lang.model.element.Name v;
io.vertx.codegen.type.TypeMirrorFactory v;
io.vertx.codegen.type.TypeInfo v;
javax.lang.model.element.Element v;
javax.lang.model.util.Types v, v, v;
io.vertx.codegen.ClassModel v;
javax.lang.model.type.TypeKind v, v;
java.util.List v;
javax.lang.model.type.TypeMirror v, v, v;
java.lang.Object v;
v := @this: io.vertx.codegen.ClassModel;
v := @parameter: java.lang.String;
v := @parameter: javax.lang.model.type.DeclaredType;
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.util.Elements elementUtils>;
v = interfaceinvoke v.<javax.lang.model.util.Elements: javax.lang.model.element.TypeElement getTypeElement(java.lang.CharSequence)>(v);
v = interfaceinvoke v.<javax.lang.model.element.TypeElement: javax.lang.model.type.TypeMirror asType()>();
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.util.Types typeUtils>;
v = interfaceinvoke v.<javax.lang.model.util.Types: javax.lang.model.type.TypeMirror erasure(javax.lang.model.type.TypeMirror)>(v);
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.util.Types typeUtils>;
v = interfaceinvoke v.<javax.lang.model.util.Types: boolean isSubtype(javax.lang.model.type.TypeMirror,javax.lang.model.type.TypeMirror)>(v, v);
if v == 0 goto label;
v = interfaceinvoke v.<javax.lang.model.element.TypeElement: java.util.List getTypeParameters()>();
v = interfaceinvoke v.<java.util.List: int size()>();
v = newarray (io.vertx.codegen.type.TypeInfo)[v];
v = 0;
label:
v = interfaceinvoke v.<java.util.List: int size()>();
if v >= v goto label;
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.util.Types typeUtils>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = staticinvoke <io.vertx.codegen.Helper: javax.lang.model.type.TypeMirror resolveTypeParameter(javax.lang.model.util.Types,javax.lang.model.type.DeclaredType,javax.lang.model.element.TypeParameterElement)>(v, v, v);
if v == null goto label;
v = interfaceinvoke v.<javax.lang.model.type.TypeMirror: javax.lang.model.type.TypeKind getKind()>();
v = <javax.lang.model.type.TypeKind: javax.lang.model.type.TypeKind DECLARED>;
if v != v goto label;
v = interfaceinvoke v.<javax.lang.model.type.DeclaredType: javax.lang.model.element.Element asElement()>();
v = interfaceinvoke v.<javax.lang.model.element.TypeElement: javax.lang.model.element.Name getQualifiedName()>();
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("io.vertx.core.AsyncResult");
if v == 0 goto label;
return null;
label:
v = v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeMirrorFactory typeFactory>;
v = virtualinvoke v.<io.vertx.codegen.type.TypeMirrorFactory: io.vertx.codegen.type.TypeInfo create(javax.lang.model.type.TypeMirror)>(v);
v[v] = v;
v = v + 1;
goto label;
label:
return v;
label:
return null;
}
private io.vertx.codegen.ConstantInfo fieldMethod(javax.lang.model.util.Types, javax.lang.model.element.VariableElement, boolean)
{
io.vertx.codegen.ConstantInfo v;
javax.lang.model.element.Modifier v;
javax.lang.model.element.VariableElement v;
java.lang.String v;
io.vertx.codegen.doc.Doc$Factory v;
boolean v, v;
javax.lang.model.element.Name v;
io.vertx.codegen.type.TypeMirrorFactory v;
io.vertx.codegen.type.TypeInfo v;
java.util.Set v;
javax.lang.model.util.Types v;
io.vertx.codegen.ClassModel v;
javax.lang.model.type.TypeMirror v, v;
io.vertx.codegen.doc.Doc v;
v := @this: io.vertx.codegen.ClassModel;
v := @parameter: javax.lang.model.util.Types;
v := @parameter: javax.lang.model.element.VariableElement;
v := @parameter: boolean;
v = interfaceinvoke v.<javax.lang.model.element.VariableElement: java.util.Set getModifiers()>();
v = <javax.lang.model.element.Modifier: javax.lang.model.element.Modifier PUBLIC>;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
return null;
label:
v = v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeMirrorFactory typeFactory>;
v = interfaceinvoke v.<javax.lang.model.element.VariableElement: javax.lang.model.type.TypeMirror asType()>();
v = virtualinvoke v.<io.vertx.codegen.type.TypeMirrorFactory: io.vertx.codegen.type.TypeInfo create(javax.lang.model.type.TypeMirror)>(v);
v = interfaceinvoke v.<javax.lang.model.element.VariableElement: javax.lang.model.type.TypeMirror asType()>();
staticinvoke <io.vertx.codegen.TypeValidator: void validateConstantType(javax.lang.model.util.Types,javax.lang.model.element.VariableElement,io.vertx.codegen.type.TypeInfo,javax.lang.model.type.TypeMirror,boolean)>(v, v, v, v, v);
v = v.<io.vertx.codegen.ClassModel: io.vertx.codegen.doc.Doc$Factory docFactory>;
v = virtualinvoke v.<io.vertx.codegen.doc.Doc$Factory: io.vertx.codegen.doc.Doc createDoc(javax.lang.model.element.Element)>(v);
v = new io.vertx.codegen.ConstantInfo;
v = interfaceinvoke v.<javax.lang.model.element.VariableElement: javax.lang.model.element.Name getSimpleName()>();
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
specialinvoke v.<io.vertx.codegen.ConstantInfo: void <init>(io.vertx.codegen.doc.Doc,java.lang.String,io.vertx.codegen.type.TypeInfo)>(v, v, v);
return v;
}
private io.vertx.codegen.MethodInfo createMethod(javax.lang.model.element.ExecutableElement, boolean)
{
javax.lang.model.util.Elements v, v, v, v, v, v;
javax.lang.model.element.Element v, v, v;
javax.tools.Diagnostic$Kind v;
java.util.stream.Stream v, v, v, v, v, v, v, v, v, v;
java.lang.Object[] v, v;
java.util.LinkedHashMap v;
io.vertx.codegen.type.ClassTypeInfo v, v, v;
javax.lang.model.element.AnnotationMirror v;
io.vertx.codegen.type.TypeUse v, v;
javax.lang.model.element.ExecutableElement[] v, v;
io.vertx.codegen.ParamInfo v;
io.vertx.codegen.type.ClassKind v, v, v, v, v, v;
javax.'annotation'.processing.Messager v;
io.vertx.codegen.type.TypeInfo v, v, v, v, v, v, v;
io.vertx.codegen.ClassModel v;
java.lang.'annotation'.Annotation v, v, v, v;
java.util.function.Function v, v, v, v, v;
java.util.HashSet v;
int v, v, v, v, v, v, v;
javax.lang.model.element.ExecutableElement v;
java.util.function.Consumer v, v;
javax.lang.model.type.TypeMirror v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.Object v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
io.vertx.codegen.MethodInfo v;
java.util.Comparator v;
javax.lang.model.element.Modifier v, v, v;
javax.lang.model.element.TypeElement v, v, v, v, v, v, v, v, v, v, v, v;
io.vertx.codegen.type.TypeMirrorFactory v, v, v, v, v, v;
java.util.Set v, v, v, v, v, v;
java.lang.Exception v, v, v;
io.vertx.codegen.doc.Doc v;
io.vertx.codegen.ModuleInfo v, v, v;
java.util.ArrayList v, v, v, v;
io.vertx.codegen.GenException v, v, v, v, v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v;
io.vertx.codegen.doc.Doc$Factory v;
io.vertx.codegen.doc.Text v, v, v, v, v, v, v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.util.function.Predicate v, v, v, v;
java.util.logging.Logger v;
javax.lang.model.util.Types v, v, v, v, v, v, v, v, v, v, v;
java.util.List v, v, v, v, v, v, v, v, v, v;
java.lang.StackTraceElement[] v;
java.util.Optional v, v;
java.util.HashMap v;
io.vertx.codegen.TypeParamInfo v;
javax.lang.model.element.Name v, v, v;
java.util.Iterator v, v, v, v, v;
javax.'annotation'.processing.ProcessingEnvironment v, v;
v := @this: io.vertx.codegen.ClassModel;
v := @parameter: javax.lang.model.element.ExecutableElement;
v := @parameter: boolean;
v = interfaceinvoke v.<javax.lang.model.element.ExecutableElement: java.util.Set getModifiers()>();
v = <javax.lang.model.element.Modifier: javax.lang.model.element.Modifier PUBLIC>;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
return null;
label:
v = interfaceinvoke v.<javax.lang.model.element.ExecutableElement: javax.lang.model.element.Element getEnclosingElement()>();
v = v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeMirrorFactory typeFactory>;
v = interfaceinvoke v.<javax.lang.model.element.TypeElement: javax.lang.model.type.TypeMirror asType()>();
v = virtualinvoke v.<io.vertx.codegen.type.TypeMirrorFactory: io.vertx.codegen.type.TypeInfo create(javax.lang.model.type.TypeMirror)>(v);
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.util.Types typeUtils>;
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.element.TypeElement modelElt>;
v = interfaceinvoke v.<javax.lang.model.element.TypeElement: javax.lang.model.type.TypeMirror asType()>();
v = interfaceinvoke v.<javax.lang.model.util.Types: javax.lang.model.type.TypeMirror asMemberOf(javax.lang.model.type.DeclaredType,javax.lang.model.element.Element)>(v, v);
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.element.TypeElement modelElt>;
v = virtualinvoke v.<java.lang.Object: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = virtualinvoke v.<io.vertx.codegen.type.TypeInfo: io.vertx.codegen.type.ClassKind getKind()>();
v = <io.vertx.codegen.type.ClassKind: io.vertx.codegen.type.ClassKind API>;
if v == v goto label;
v = virtualinvoke v.<io.vertx.codegen.type.TypeInfo: io.vertx.codegen.type.ClassKind getKind()>();
v = <io.vertx.codegen.type.ClassKind: io.vertx.codegen.type.ClassKind HANDLER>;
if v == v goto label;
return null;
label:
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.element.TypeElement modelElt>;
v = virtualinvoke v.<java.lang.Object: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = virtualinvoke v.<io.vertx.codegen.type.TypeInfo: io.vertx.codegen.type.ClassKind getKind()>();
v = <io.vertx.codegen.type.ClassKind: io.vertx.codegen.type.ClassKind API>;
if v != v goto label;
v = virtualinvoke v.<io.vertx.codegen.type.TypeInfo: io.vertx.codegen.type.ClassTypeInfo getRaw()>();
v = virtualinvoke v.<io.vertx.codegen.type.ApiTypeInfo: boolean isConcrete()>();
if v == 0 goto label;
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.util.Types typeUtils>;
v = interfaceinvoke v.<javax.lang.model.element.ExecutableElement: javax.lang.model.type.TypeMirror asType()>();
v = interfaceinvoke v.<javax.lang.model.util.Types: boolean isSameType(javax.lang.model.type.TypeMirror,javax.lang.model.type.TypeMirror)>(v, v);
if v == 0 goto label;
return null;
label:
v = v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeMirrorFactory typeFactory>;
v = interfaceinvoke v.<javax.lang.model.element.TypeElement: javax.lang.model.type.TypeMirror asType()>();
v = virtualinvoke v.<io.vertx.codegen.type.TypeMirrorFactory: io.vertx.codegen.type.TypeInfo create(javax.lang.model.type.TypeMirror)>(v);
v = virtualinvoke v.<io.vertx.codegen.type.TypeInfo: io.vertx.codegen.type.ClassTypeInfo getRaw()>();
v = <javax.lang.model.element.Modifier: javax.lang.model.element.Modifier DEFAULT>;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
v = <javax.lang.model.element.Modifier: javax.lang.model.element.Modifier STATIC>;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<io.vertx.codegen.ClassModel: boolean concrete>;
if v != 0 goto label;
v = new io.vertx.codegen.GenException;
specialinvoke v.<io.vertx.codegen.GenException: void <init>(javax.lang.model.element.Element,java.lang.String)>(v, "Abstract interface cannot declare static methods");
throw v;
label:
v = interfaceinvoke v.<javax.lang.model.element.ExecutableElement: java.lang.'annotation'.Annotation getAnnotation(java.lang.Class)>(class "Lio/vertx/codegen/annotations/CacheReturn;");
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = interfaceinvoke v.<javax.lang.model.element.ExecutableElement: java.util.List getTypeParameters()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<javax.lang.model.element.TypeParameterElement: java.util.List getBounds()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = specialinvoke v.<io.vertx.codegen.ClassModel: boolean isObjectBound(javax.lang.model.type.TypeMirror)>(v);
if v != 0 goto label;
v = new io.vertx.codegen.GenException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (javax.lang.model.type.TypeMirror)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Type parameter bound not supported \u0001");
specialinvoke v.<io.vertx.codegen.GenException: void <init>(javax.lang.model.element.Element,java.lang.String)>(v, v);
throw v;
label:
v = staticinvoke <io.vertx.codegen.TypeParamInfo: io.vertx.codegen.TypeParamInfo create(javax.lang.model.element.TypeParameterElement)>(v);
virtualinvoke v.<java.util.ArrayList: boolean add(java.lang.Object)>(v);
goto label;
label:
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v = new java.util.ArrayList;
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.element.TypeElement modelElt>;
v = staticinvoke <io.vertx.codegen.Helper: java.util.Set resolveAncestorTypes(javax.lang.model.element.TypeElement,boolean,boolean)>(v, 1, 1);
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
v = staticinvoke <io.vertx.codegen.ClassModel$lambda_createMethod_17__2958: java.util.Comparator bootstrap$(io.vertx.codegen.ClassModel)>(v);
staticinvoke <java.util.Collections: void sort(java.util.List,java.util.Comparator)>(v, v);
v = virtualinvoke v.<java.util.ArrayList: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<javax.lang.model.type.DeclaredType: javax.lang.model.element.Element asElement()>();
v = interfaceinvoke v.<javax.lang.model.element.TypeElement: java.lang.'annotation'.Annotation getAnnotation(java.lang.Class)>(class "Lio/vertx/codegen/annotations/VertxGen;");
if v == null goto label;
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.util.Elements elementUtils>;
v = interfaceinvoke v.<javax.lang.model.util.Elements: java.util.List getAllMembers(javax.lang.model.element.TypeElement)>(v);
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = <io.vertx.codegen.Helper: java.util.function.Function FILTER_METHOD>;
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream flatMap(java.util.function.Function)>(v);
v = staticinvoke <io.vertx.codegen.ClassModel$lambda_createMethod_18__2964: java.util.function.Predicate bootstrap$(io.vertx.codegen.ClassModel,javax.lang.model.element.ExecutableElement)>(v, v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = staticinvoke <io.vertx.codegen.ClassModel$lambda_createMethod_19__2965: java.util.function.Consumer bootstrap$(io.vertx.codegen.ClassModel,java.util.List,java.util.Set,javax.lang.model.element.TypeElement)>(v, v, v, v);
interfaceinvoke v.<java.util.stream.Stream: void forEach(java.util.function.Consumer)>(v);
goto label;
label:
v = interfaceinvoke v.<java.util.Set: boolean isEmpty()>();
if v == 0 goto label;
v = interfaceinvoke v.<javax.lang.model.element.ExecutableElement: javax.lang.model.element.Element getEnclosingElement()>();
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.util.Types typeUtils>;
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.element.TypeElement modelElt>;
v = interfaceinvoke v.<javax.lang.model.element.TypeElement: javax.lang.model.type.TypeMirror asType()>();
v = interfaceinvoke v.<javax.lang.model.element.Element: javax.lang.model.type.TypeMirror asType()>();
v = interfaceinvoke v.<javax.lang.model.util.Types: boolean isSameType(javax.lang.model.type.TypeMirror,javax.lang.model.type.TypeMirror)>(v, v);
if v == 0 goto label;
v = virtualinvoke v.<io.vertx.codegen.ClassModel: io.vertx.codegen.ModuleInfo getModule()>();
v = v.<io.vertx.codegen.ModuleInfo: boolean useFutures>;
goto label;
label:
v = v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeMirrorFactory typeFactory>;
v = interfaceinvoke v.<javax.lang.model.element.Element: javax.lang.model.type.TypeMirror asType()>();
v = virtualinvoke v.<io.vertx.codegen.type.TypeMirrorFactory: io.vertx.codegen.type.TypeInfo create(javax.lang.model.type.DeclaredType)>(v);
v = virtualinvoke v.<io.vertx.codegen.type.TypeInfo: io.vertx.codegen.type.ClassTypeInfo getRaw()>();
v = virtualinvoke v.<io.vertx.codegen.type.ClassTypeInfo: io.vertx.codegen.ModuleInfo getModule()>();
v = v.<io.vertx.codegen.ModuleInfo: boolean useFutures>;
goto label;
label:
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<io.vertx.codegen.type.ClassTypeInfo: io.vertx.codegen.ModuleInfo getModule()>();
v = v.<io.vertx.codegen.ModuleInfo: boolean useFutures>;
label:
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.util.Elements elementUtils>;
v = interfaceinvoke v.<javax.lang.model.util.Elements: java.lang.String getDocComment(javax.lang.model.element.Element)>(v);
v = v.<io.vertx.codegen.ClassModel: io.vertx.codegen.doc.Doc$Factory docFactory>;
v = virtualinvoke v.<io.vertx.codegen.doc.Doc$Factory: io.vertx.codegen.doc.Doc createDoc(javax.lang.model.element.Element)>(v);
v = null;
v = null;
if v == null goto label;
v = virtualinvoke v.<io.vertx.codegen.doc.Doc: java.util.List getBlockTags()>();
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <io.vertx.codegen.ClassModel$lambda_createMethod_20__2959: java.util.function.Predicate bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = staticinvoke <io.vertx.codegen.ClassModel$init__2960: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <io.vertx.codegen.ClassModel$lambda_createMethod_21__2961: java.util.function.Consumer bootstrap$(java.util.Map)>(v);
interfaceinvoke v.<java.util.stream.Stream: void forEach(java.util.function.Consumer)>(v);
v = virtualinvoke v.<io.vertx.codegen.doc.Doc: java.util.List getBlockTags()>();
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <io.vertx.codegen.ClassModel$lambda_createMethod_22__2962: java.util.function.Predicate bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.Optional findFirst()>();
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto label;
v = new io.vertx.codegen.doc.Text;
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
v = virtualinvoke v.<io.vertx.codegen.doc.Tag: java.lang.String getValue()>();
v = staticinvoke <io.vertx.codegen.Helper: java.lang.String normalizeWhitespaces(java.lang.String)>(v);
specialinvoke v.<io.vertx.codegen.doc.Text: void <init>(java.lang.String)>(v);
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.util.Elements elementUtils>;
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.util.Types typeUtils>;
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.element.TypeElement modelElt>;
v = staticinvoke <io.vertx.codegen.doc.Token: java.util.function.Function tagMapper(javax.lang.model.util.Elements,javax.lang.model.util.Types,javax.lang.model.element.TypeElement)>(v, v, v);
v = virtualinvoke v.<io.vertx.codegen.doc.Text: io.vertx.codegen.doc.Text map(java.util.function.Function)>(v);
label:
v = virtualinvoke v.<io.vertx.codegen.doc.Doc: java.util.List getBlockTags()>();
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <io.vertx.codegen.ClassModel$lambda_createMethod_23__2963: java.util.function.Predicate bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.Optional findFirst()>();
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto label;
v = new io.vertx.codegen.doc.Text;
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
v = virtualinvoke v.<io.vertx.codegen.doc.Tag: java.lang.String getValue()>();
v = staticinvoke <io.vertx.codegen.Helper: java.lang.String normalizeWhitespaces(java.lang.String)>(v);
specialinvoke v.<io.vertx.codegen.doc.Text: void <init>(java.lang.String)>(v);
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.util.Elements elementUtils>;
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.util.Types typeUtils>;
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.element.TypeElement modelElt>;
v = staticinvoke <io.vertx.codegen.doc.Token: java.util.function.Function tagMapper(javax.lang.model.util.Elements,javax.lang.model.util.Types,javax.lang.model.element.TypeElement)>(v, v, v);
v = virtualinvoke v.<io.vertx.codegen.doc.Text: io.vertx.codegen.doc.Text map(java.util.function.Function)>(v);
label:
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = interfaceinvoke v.<javax.lang.model.element.ExecutableElement: javax.lang.model.type.TypeMirror asType()>();
v = interfaceinvoke v.<javax.lang.model.element.ExecutableElement: java.util.List getParameters()>();
v = 0;
label:
v = interfaceinvoke v.<java.util.List: int size()>();
if v >= v goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = interfaceinvoke v.<javax.lang.model.type.ExecutableType: java.util.List getParameterTypes()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = v.<io.vertx.codegen.ClassModel: javax.'annotation'.processing.ProcessingEnvironment env>;
v = newarray (javax.lang.model.element.ExecutableElement)[0];
v = interfaceinvoke v.<java.util.List: java.lang.Object[] toArray(java.lang.Object[])>(v);
v = staticinvoke <io.vertx.codegen.type.TypeUse: io.vertx.codegen.type.TypeUse createParamTypeUse(javax.'annotation'.processing.ProcessingEnvironment,javax.lang.model.element.ExecutableElement[],int)>(v, v, v);
label:
v = v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeMirrorFactory typeFactory>;
v = virtualinvoke v.<io.vertx.codegen.type.TypeMirrorFactory: io.vertx.codegen.type.TypeInfo create(io.vertx.codegen.type.TypeUse,javax.lang.model.type.TypeMirror)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = new io.vertx.codegen.GenException;
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
specialinvoke v.<io.vertx.codegen.GenException: void <init>(javax.lang.model.element.Element,java.lang.String)>(v, v);
v = virtualinvoke v.<java.lang.Exception: java.lang.StackTraceElement[] getStackTrace()>();
virtualinvoke v.<io.vertx.codegen.GenException: void setStackTrace(java.lang.StackTraceElement[])>(v);
throw v;
label:
v = interfaceinvoke v.<javax.lang.model.element.VariableElement: javax.lang.model.element.Name getSimpleName()>();
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
v = new io.vertx.codegen.doc.Text;
specialinvoke v.<io.vertx.codegen.doc.Text: void <init>(java.lang.String)>(v);
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.util.Elements elementUtils>;
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.util.Types typeUtils>;
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.element.TypeElement modelElt>;
v = staticinvoke <io.vertx.codegen.doc.Token: java.util.function.Function tagMapper(javax.lang.model.util.Elements,javax.lang.model.util.Types,javax.lang.model.element.TypeElement)>(v, v, v);
v = virtualinvoke v.<io.vertx.codegen.doc.Text: io.vertx.codegen.doc.Text map(java.util.function.Function)>(v);
goto label;
label:
v = null;
label:
v = v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeMirrorFactory typeFactory>;
v = interfaceinvoke v.<javax.lang.model.type.ExecutableType: java.util.List getParameterTypes()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = virtualinvoke v.<io.vertx.codegen.type.TypeMirrorFactory: io.vertx.codegen.type.TypeInfo create(io.vertx.codegen.type.TypeUse,javax.lang.model.type.TypeMirror)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = new io.vertx.codegen.GenException;
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
specialinvoke v.<io.vertx.codegen.GenException: void <init>(javax.lang.model.element.Element,java.lang.String)>(v, v);
throw v;
label:
v = new io.vertx.codegen.ParamInfo;
specialinvoke v.<io.vertx.codegen.ParamInfo: void <init>(int,java.lang.String,io.vertx.codegen.doc.Text,io.vertx.codegen.type.TypeInfo,io.vertx.codegen.type.TypeInfo)>(v, v, v, v, v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = v + 1;
goto label;
label:
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.util.Elements elementUtils>;
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.util.Types typeUtils>;
v = staticinvoke <io.vertx.codegen.Helper: javax.lang.model.element.AnnotationMirror resolveMethodAnnotation(java.lang.Class,javax.lang.model.util.Elements,javax.lang.model.util.Types,javax.lang.model.element.TypeElement,javax.lang.model.element.ExecutableElement)>(class "Lio/vertx/codegen/annotations/Fluent;", v, v, v, v);
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
if v == 0 goto label;
v = 1;
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.util.Types typeUtils>;
v = interfaceinvoke v.<javax.lang.model.element.TypeElement: javax.lang.model.type.TypeMirror asType()>();
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.element.TypeElement modelElt>;
v = interfaceinvoke v.<javax.lang.model.element.TypeElement: javax.lang.model.type.TypeMirror asType()>();
v = interfaceinvoke v.<javax.lang.model.util.Types: boolean isSameType(javax.lang.model.type.TypeMirror,javax.lang.model.type.TypeMirror)>(v, v);
if v != 0 goto label;
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.element.TypeElement modelElt>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (javax.lang.model.element.TypeElement,javax.lang.model.element.ExecutableElement,javax.lang.model.element.TypeElement)>(v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Interface \u does not redeclare the @Fluent return type  of method \u declared by \u0001");
v = v.<io.vertx.codegen.ClassModel: javax.'annotation'.processing.Messager messager>;
v = <javax.tools.Diagnostic$Kind: javax.tools.Diagnostic$Kind WARNING>;
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.element.TypeElement modelElt>;
interfaceinvoke v.<javax.'annotation'.processing.Messager: void printMessage(javax.tools.Diagnostic$Kind,java.lang.CharSequence,javax.lang.model.element.Element,javax.lang.model.element.AnnotationMirror)>(v, v, v, v);
v = <io.vertx.codegen.ClassModel: java.util.logging.Logger logger>;
virtualinvoke v.<java.util.logging.Logger: void warning(java.lang.String)>(v);
goto label;
label:
v = interfaceinvoke v.<javax.lang.model.element.ExecutableElement: javax.lang.model.type.TypeMirror getReturnType()>();
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.util.Types typeUtils>;
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.element.TypeElement modelElt>;
v = interfaceinvoke v.<javax.lang.model.element.TypeElement: javax.lang.model.type.TypeMirror asType()>();
v = interfaceinvoke v.<javax.lang.model.util.Types: boolean isAssignable(javax.lang.model.type.TypeMirror,javax.lang.model.type.TypeMirror)>(v, v);
if v != 0 goto label;
v = new io.vertx.codegen.GenException;
specialinvoke v.<io.vertx.codegen.GenException: void <init>(javax.lang.model.element.Element,java.lang.String)>(v, "Methods marked with @Fluent must have a return type that extends the type");
throw v;
label:
v = v.<io.vertx.codegen.ClassModel: javax.'annotation'.processing.ProcessingEnvironment env>;
v = interfaceinvoke v.<java.util.List: int size()>();
v = newarray (javax.lang.model.element.ExecutableElement)[v];
v = interfaceinvoke v.<java.util.List: java.lang.Object[] toArray(java.lang.Object[])>(v);
v = staticinvoke <io.vertx.codegen.type.TypeUse: io.vertx.codegen.type.TypeUse createReturnTypeUse(javax.'annotation'.processing.ProcessingEnvironment,javax.lang.model.element.ExecutableElement[])>(v, v);
label:
v = v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeMirrorFactory typeFactory>;
v = interfaceinvoke v.<javax.lang.model.type.ExecutableType: javax.lang.model.type.TypeMirror getReturnType()>();
v = virtualinvoke v.<io.vertx.codegen.type.TypeMirrorFactory: io.vertx.codegen.type.TypeInfo create(io.vertx.codegen.type.TypeUse,javax.lang.model.type.TypeMirror)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = new io.vertx.codegen.GenException;
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
specialinvoke v.<io.vertx.codegen.GenException: void <init>(javax.lang.model.element.Element,java.lang.String)>(v, v);
virtualinvoke v.<io.vertx.codegen.GenException: java.lang.Throwable initCause(java.lang.Throwable)>(v);
throw v;
label:
v = v.<io.vertx.codegen.ClassModel: java.util.Set collectedTypes>;
virtualinvoke v.<io.vertx.codegen.type.TypeInfo: void collectImports(java.util.Collection)>(v);
if v == 0 goto label;
v = virtualinvoke v.<io.vertx.codegen.type.TypeInfo: boolean isVoid()>();
if v == 0 goto label;
v = new io.vertx.codegen.GenException;
specialinvoke v.<io.vertx.codegen.GenException: void <init>(javax.lang.model.element.Element,java.lang.String)>(v, "void method can\'t be marked with @CacheReturn");
throw v;
label:
v = interfaceinvoke v.<javax.lang.model.element.ExecutableElement: java.lang.'annotation'.Annotation getAnnotation(java.lang.Class)>(class "Ljava/lang/Deprecated;");
if v != null goto label;
v = v.<io.vertx.codegen.ClassModel: io.vertx.codegen.doc.Text deprecatedDesc>;
if v == null goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = interfaceinvoke v.<javax.lang.model.element.ExecutableElement: java.lang.'annotation'.Annotation getAnnotation(java.lang.Class)>(class "Ljava/lang/Override;");
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = interfaceinvoke v.<javax.lang.model.element.ExecutableElement: javax.lang.model.element.Name getSimpleName()>();
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
v = virtualinvoke v.<io.vertx.codegen.ClassModel: io.vertx.codegen.MethodInfo createMethodInfo(java.util.Set,java.lang.String,java.lang.String,io.vertx.codegen.doc.Doc,io.vertx.codegen.type.TypeInfo,io.vertx.codegen.doc.Text,boolean,boolean,java.util.List,javax.lang.model.element.ExecutableElement,boolean,boolean,java.util.ArrayList,javax.lang.model.element.TypeElement,boolean,io.vertx.codegen.doc.Text,boolean,boolean)>(v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v);
v = v.<io.vertx.codegen.ClassModel: java.util.LinkedHashMap methods>;
v = virtualinvoke v.<java.util.LinkedHashMap: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = virtualinvoke v.<io.vertx.codegen.MethodInfo: java.lang.String getName()>();
v = interfaceinvoke v.<javax.lang.model.element.ExecutableElement: javax.lang.model.element.Name getSimpleName()>();
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = interfaceinvoke v.<javax.lang.model.element.ExecutableElement: javax.lang.model.type.TypeMirror asType()>();
v = interfaceinvoke v.<javax.lang.model.element.ExecutableElement: javax.lang.model.type.TypeMirror asType()>();
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.util.Types typeUtils>;
v = interfaceinvoke v.<javax.lang.model.util.Types: boolean isSubsignature(javax.lang.model.type.ExecutableType,javax.lang.model.type.ExecutableType)>(v, v);
if v == 0 goto label;
v = v.<io.vertx.codegen.ClassModel: javax.lang.model.util.Types typeUtils>;
v = interfaceinvoke v.<javax.lang.model.util.Types: boolean isSubsignature(javax.lang.model.type.ExecutableType,javax.lang.model.type.ExecutableType)>(v, v);
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = virtualinvoke v.<io.vertx.codegen.MethodInfo: java.util.Set getOwnerTypes()>();
v = virtualinvoke v.<io.vertx.codegen.MethodInfo: java.util.Set getOwnerTypes()>();
interfaceinvoke v.<java.util.Set: boolean addAll(java.util.Collection)>(v);
return null;
label:
v = interfaceinvoke v.<java.util.Set: int size()>();
if v != 1 goto label;
v = virtualinvoke v.<io.vertx.codegen.MethodInfo: java.util.List getParams()>();
v = 0;
label:
v = interfaceinvoke v.<java.util.List: int size()>();
if v >= v goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = virtualinvoke v.<io.vertx.codegen.ParamInfo: io.vertx.codegen.type.TypeInfo getType()>();
v = interfaceinvoke v.<java.util.List: int size()>();
virtualinvoke v.<io.vertx.codegen.ClassModel: void checkParamType(javax.lang.model.element.ExecutableElement,io.vertx.codegen.type.TypeInfo,int,int,boolean)>(v, v, v, v, v);
v = v + 1;
goto label;
label:
return v;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
}
protected io.vertx.codegen.MethodInfo createMethodInfo(java.util.Set, java.lang.String, java.lang.String, io.vertx.codegen.doc.Doc, io.vertx.codegen.type.TypeInfo, io.vertx.codegen.doc.Text, boolean, boolean, java.util.List, javax.lang.model.element.ExecutableElement, boolean, boolean, java.util.ArrayList, javax.lang.model.element.TypeElement, boolean, io.vertx.codegen.doc.Text, boolean, boolean)
{
javax.lang.model.element.TypeElement v;
java.util.ArrayList v;
io.vertx.codegen.doc.Text v, v;
java.lang.String v, v;
boolean v, v, v, v, v, v, v;
io.vertx.codegen.type.TypeInfo v;
javax.lang.model.element.ExecutableElement v;
java.util.Set v;
io.vertx.codegen.ClassModel v;
java.util.List v;
io.vertx.codegen.doc.Doc v;
io.vertx.codegen.MethodInfo v;
v := @this: io.vertx.codegen.ClassModel;
v := @parameter: java.util.Set;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: io.vertx.codegen.doc.Doc;
v := @parameter: io.vertx.codegen.type.TypeInfo;
v := @parameter: io.vertx.codegen.doc.Text;
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: java.util.List;
v := @parameter: javax.lang.model.element.ExecutableElement;
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: java.util.ArrayList;
v := @parameter: javax.lang.model.element.TypeElement;
v := @parameter: boolean;
v := @parameter: io.vertx.codegen.doc.Text;
v := @parameter: boolean;
v := @parameter: boolean;
v = new io.vertx.codegen.MethodInfo;
specialinvoke v.<io.vertx.codegen.MethodInfo: void <init>(java.util.Set,java.lang.String,io.vertx.codegen.type.TypeInfo,io.vertx.codegen.doc.Text,boolean,boolean,java.util.List,java.lang.String,io.vertx.codegen.doc.Doc,boolean,boolean,java.util.List,boolean,io.vertx.codegen.doc.Text,boolean,boolean)>(v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v);
return v;
}
protected void checkMethod(io.vertx.codegen.MethodInfo)
{
io.vertx.codegen.MethodInfo v;
io.vertx.codegen.ClassModel v;
v := @this: io.vertx.codegen.ClassModel;
v := @parameter: io.vertx.codegen.MethodInfo;
return;
}
private boolean isObjectBound(javax.lang.model.type.TypeMirror)
{
io.vertx.codegen.ClassModel v;
javax.lang.model.type.TypeKind v, v;
javax.lang.model.type.TypeMirror v;
java.lang.Class v;
java.lang.String v, v;
boolean v, v;
v := @this: io.vertx.codegen.ClassModel;
v := @parameter: javax.lang.model.type.TypeMirror;
v = interfaceinvoke v.<javax.lang.model.type.TypeMirror: javax.lang.model.type.TypeKind getKind()>();
v = <javax.lang.model.type.TypeKind: javax.lang.model.type.TypeKind DECLARED>;
if v != v goto label;
v = interfaceinvoke v.<javax.lang.model.type.TypeMirror: java.lang.String toString()>();
v = class "Ljava/lang/Object;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public boolean isDeprecated()
{
io.vertx.codegen.ClassModel v;
boolean v;
v := @this: io.vertx.codegen.ClassModel;
v = v.<io.vertx.codegen.ClassModel: boolean deprecated>;
return v;
}
public io.vertx.codegen.doc.Text getDeprecatedDesc()
{
io.vertx.codegen.doc.Text v;
io.vertx.codegen.ClassModel v;
v := @this: io.vertx.codegen.ClassModel;
v = v.<io.vertx.codegen.ClassModel: io.vertx.codegen.doc.Text deprecatedDesc>;
return v;
}
public java.util.Map getVars()
{
io.vertx.codegen.doc.Text v;
java.util.Map v, v, v;
java.lang.Boolean v, v;
java.lang.String v, v, v, v;
boolean v, v;
io.vertx.codegen.type.ClassTypeInfo v;
io.vertx.codegen.type.TypeInfo v, v;
java.util.Set v, v, v, v;
io.vertx.codegen.ClassModel v;
java.util.List v, v, v, v, v, v, v, v;
io.vertx.codegen.doc.Doc v;
v := @this: io.vertx.codegen.ClassModel;
v = specialinvoke v.<io.vertx.codegen.Model: java.util.Map getVars()>();
v = virtualinvoke v.<io.vertx.codegen.ClassModel: java.util.Set getImportedTypes()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("importedTypes", v);
v = virtualinvoke v.<io.vertx.codegen.ClassModel: boolean isConcrete()>();
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("concrete", v);
v = virtualinvoke v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.ClassTypeInfo getType()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("type", v);
v = virtualinvoke v.<io.vertx.codegen.ClassModel: java.lang.String getIfacePackageName()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("ifacePackageName", v);
v = virtualinvoke v.<io.vertx.codegen.ClassModel: java.lang.String getIfaceSimpleName()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("ifaceSimpleName", v);
v = virtualinvoke v.<io.vertx.codegen.ClassModel: java.lang.String getIfaceFQCN()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("ifaceFQCN", v);
v = virtualinvoke v.<io.vertx.codegen.ClassModel: java.lang.String getIfaceComment()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("ifaceComment", v);
v = v.<io.vertx.codegen.ClassModel: io.vertx.codegen.doc.Doc doc>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("doc", v);
v = virtualinvoke v.<io.vertx.codegen.ClassModel: java.util.List getMethods()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("methods", v);
v = virtualinvoke v.<io.vertx.codegen.ClassModel: java.util.List getConstants()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("constants", v);
v = virtualinvoke v.<io.vertx.codegen.ClassModel: java.util.Set getReferencedTypes()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("referencedTypes", v);
v = virtualinvoke v.<io.vertx.codegen.ClassModel: java.util.List getSuperTypes()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("superTypes", v);
v = virtualinvoke v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeInfo getConcreteSuperType()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("concreteSuperType", v);
v = virtualinvoke v.<io.vertx.codegen.ClassModel: java.util.List getAbstractSuperTypes()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("abstractSuperTypes", v);
v = virtualinvoke v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeInfo getHandlerArg()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("handlerType", v);
v = virtualinvoke v.<io.vertx.codegen.ClassModel: java.util.Map getMethodMap()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("methodsByName", v);
v = virtualinvoke v.<io.vertx.codegen.ClassModel: java.util.List getAnnotations()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("classAnnotations", v);
v = virtualinvoke v.<io.vertx.codegen.ClassModel: java.util.Map getMethodAnnotations()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("annotationsByMethodName", v);
v = virtualinvoke v.<io.vertx.codegen.ClassModel: java.util.Set getReferencedDataObjectTypes()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("referencedDataObjectTypes", v);
v = virtualinvoke v.<io.vertx.codegen.ClassModel: java.util.Set getReferencedEnumTypes()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("referencedEnumTypes", v);
v = virtualinvoke v.<io.vertx.codegen.ClassModel: java.util.List getTypeParams()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("typeParams", v);
v = virtualinvoke v.<io.vertx.codegen.ClassModel: java.util.List getInstanceMethods()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("instanceMethods", v);
v = virtualinvoke v.<io.vertx.codegen.ClassModel: java.util.List getStaticMethods()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("staticMethods", v);
v = virtualinvoke v.<io.vertx.codegen.ClassModel: boolean isDeprecated()>();
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("deprecated", v);
v = virtualinvoke v.<io.vertx.codegen.ClassModel: io.vertx.codegen.doc.Text getDeprecatedDesc()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("deprecatedDesc", v);
return v;
}
public boolean isHandler()
{
io.vertx.codegen.ClassModel v;
boolean v;
io.vertx.codegen.type.TypeInfo v;
v := @this: io.vertx.codegen.ClassModel;
v = v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeInfo handlerArg>;
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public io.vertx.codegen.type.TypeInfo getHandlerArg()
{
io.vertx.codegen.ClassModel v;
io.vertx.codegen.type.TypeInfo v;
v := @this: io.vertx.codegen.ClassModel;
v = v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeInfo handlerArg>;
return v;
}
public boolean isReadStream()
{
io.vertx.codegen.ClassModel v;
boolean v;
io.vertx.codegen.type.TypeInfo v;
v := @this: io.vertx.codegen.ClassModel;
v = v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeInfo readStreamArg>;
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public io.vertx.codegen.type.TypeInfo getReadStreamArg()
{
io.vertx.codegen.ClassModel v;
io.vertx.codegen.type.TypeInfo v;
v := @this: io.vertx.codegen.ClassModel;
v = v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeInfo readStreamArg>;
return v;
}
public boolean isWriteStream()
{
io.vertx.codegen.ClassModel v;
boolean v;
io.vertx.codegen.type.TypeInfo v;
v := @this: io.vertx.codegen.ClassModel;
v = v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeInfo writeStreamArg>;
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public io.vertx.codegen.type.TypeInfo getWriteStreamArg()
{
io.vertx.codegen.ClassModel v;
io.vertx.codegen.type.TypeInfo v;
v := @this: io.vertx.codegen.ClassModel;
v = v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeInfo writeStreamArg>;
return v;
}
public boolean isIterable()
{
io.vertx.codegen.ClassModel v;
boolean v;
io.vertx.codegen.type.TypeInfo v;
v := @this: io.vertx.codegen.ClassModel;
v = v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeInfo iterableArg>;
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public io.vertx.codegen.type.TypeInfo getIterableArg()
{
io.vertx.codegen.ClassModel v;
io.vertx.codegen.type.TypeInfo v;
v := @this: io.vertx.codegen.ClassModel;
v = v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeInfo iterableArg>;
return v;
}
public boolean isIterator()
{
io.vertx.codegen.ClassModel v;
boolean v;
io.vertx.codegen.type.TypeInfo v;
v := @this: io.vertx.codegen.ClassModel;
v = v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeInfo iteratorArg>;
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public io.vertx.codegen.type.TypeInfo getIteratorArg()
{
io.vertx.codegen.ClassModel v;
io.vertx.codegen.type.TypeInfo v;
v := @this: io.vertx.codegen.ClassModel;
v = v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeInfo iteratorArg>;
return v;
}
public boolean isFunction()
{
io.vertx.codegen.type.TypeInfo[] v;
io.vertx.codegen.ClassModel v;
boolean v;
v := @this: io.vertx.codegen.ClassModel;
v = v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeInfo[] functionArgs>;
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public io.vertx.codegen.type.TypeInfo[] getFunctionArgs()
{
io.vertx.codegen.type.TypeInfo[] v;
io.vertx.codegen.ClassModel v;
v := @this: io.vertx.codegen.ClassModel;
v = v.<io.vertx.codegen.ClassModel: io.vertx.codegen.type.TypeInfo[] functionArgs>;
return v;
}
static void <clinit>()
{
io.vertx.codegen.type.ClassTypeInfo v, v;
io.vertx.codegen.TypeParamInfo$Class[] v, v;
java.util.logging.Logger v;
io.vertx.codegen.TypeParamInfo$Class v, v;
java.util.List v, v;
java.lang.Class v;
java.lang.String v;
io.vertx.codegen.type.ClassKind v, v;
v = class "Lio/vertx/codegen/ClassModel;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = staticinvoke <java.util.logging.Logger: java.util.logging.Logger getLogger(java.lang.String)>(v);
<io.vertx.codegen.ClassModel: java.util.logging.Logger logger> = v;
v = new io.vertx.codegen.type.ClassTypeInfo;
v = <io.vertx.codegen.type.ClassKind: io.vertx.codegen.type.ClassKind ASYNC_RESULT>;
v = newarray (io.vertx.codegen.TypeParamInfo$Class)[1];
v = new io.vertx.codegen.TypeParamInfo$Class;
specialinvoke v.<io.vertx.codegen.TypeParamInfo$Class: void <init>(java.lang.String,int,java.lang.String)>("io.vertx.core.AsyncResult", 0, "T");
v[0] = v;
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
specialinvoke v.<io.vertx.codegen.type.ClassTypeInfo: void <init>(io.vertx.codegen.type.ClassKind,java.lang.String,io.vertx.codegen.ModuleInfo,boolean,java.util.List,io.vertx.codegen.type.DataObjectInfo)>(v, "io.vertx.core.AsyncResult", null, 0, v, null);
<io.vertx.codegen.ClassModel: io.vertx.codegen.type.ClassTypeInfo ASYNC_RESULT_TYPE> = v;
v = new io.vertx.codegen.type.ClassTypeInfo;
v = <io.vertx.codegen.type.ClassKind: io.vertx.codegen.type.ClassKind HANDLER>;
v = newarray (io.vertx.codegen.TypeParamInfo$Class)[1];
v = new io.vertx.codegen.TypeParamInfo$Class;
specialinvoke v.<io.vertx.codegen.TypeParamInfo$Class: void <init>(java.lang.String,int,java.lang.String)>("io.vertx.core.Handler", 0, "T");
v[0] = v;
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
specialinvoke v.<io.vertx.codegen.type.ClassTypeInfo: void <init>(io.vertx.codegen.type.ClassKind,java.lang.String,io.vertx.codegen.ModuleInfo,boolean,java.util.List,io.vertx.codegen.type.DataObjectInfo)>(v, "io.vertx.core.Handler", null, 0, v, null);
<io.vertx.codegen.ClassModel: io.vertx.codegen.type.ClassTypeInfo HANDLER_TYPE> = v;
return;
}
}