public class io.vertx.codegen.DataObjectModel extends java.lang.Object implements io.vertx.codegen.Model
{
private static final int CTOR_NO_ARG;
private static final int CTOR_JSON_OBJECT;
private static final int CTOR_STRING;
private final javax.lang.model.util.Elements elementUtils;
private final javax.lang.model.util.Types typeUtils;
private final io.vertx.codegen.doc.Doc$Factory docFactory;
private final io.vertx.codegen.type.TypeMirrorFactory typeFactory;
private final javax.lang.model.element.TypeElement modelElt;
private final java.util.Map propertyMap;
private final java.util.Set superTypes;
private final java.util.Set abstractSuperTypes;
private final java.util.Set importedTypes;
private final io.vertx.codegen.type.AnnotationValueInfoFactory annotationValueInfoFactory;
private boolean processed;
private boolean concrete;
private boolean isClass;
private boolean generateConverter;
private boolean inheritConverter;
private boolean publicConverter;
private java.lang.String base64Type;
private int constructors;
private boolean deprecated;
private io.vertx.codegen.doc.Text deprecatedDesc;
private io.vertx.codegen.type.ClassTypeInfo superType;
private io.vertx.codegen.type.ClassTypeInfo type;
private io.vertx.codegen.doc.Doc doc;
private boolean hasToJsonMethod;
private boolean hasDecodeStaticMethod;
private java.util.List annotations;
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.LinkedHashMap v;
io.vertx.codegen.type.AnnotationValueInfoFactory v;
io.vertx.codegen.doc.Doc$Factory v;
java.util.LinkedHashSet v, v, v;
javax.'annotation'.processing.Messager v;
boolean v;
io.vertx.codegen.type.TypeMirrorFactory v;
io.vertx.codegen.DataObjectModel v;
javax.lang.model.util.Types v, v;
java.lang.'annotation'.Annotation v;
javax.'annotation'.processing.ProcessingEnvironment v;
v := @this: io.vertx.codegen.DataObjectModel;
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 = new java.util.LinkedHashMap;
specialinvoke v.<java.util.LinkedHashMap: void <init>()>();
v.<io.vertx.codegen.DataObjectModel: java.util.Map propertyMap> = v;
v = new java.util.LinkedHashSet;
specialinvoke v.<java.util.LinkedHashSet: void <init>()>();
v.<io.vertx.codegen.DataObjectModel: java.util.Set superTypes> = v;
v = new java.util.LinkedHashSet;
specialinvoke v.<java.util.LinkedHashSet: void <init>()>();
v.<io.vertx.codegen.DataObjectModel: java.util.Set abstractSuperTypes> = v;
v = new java.util.LinkedHashSet;
specialinvoke v.<java.util.LinkedHashSet: void <init>()>();
v.<io.vertx.codegen.DataObjectModel: java.util.Set importedTypes> = v;
v = interfaceinvoke v.<javax.'annotation'.processing.ProcessingEnvironment: javax.lang.model.util.Elements getElementUtils()>();
v.<io.vertx.codegen.DataObjectModel: javax.lang.model.util.Elements elementUtils> = v;
v = interfaceinvoke v.<javax.'annotation'.processing.ProcessingEnvironment: javax.lang.model.util.Types getTypeUtils()>();
v.<io.vertx.codegen.DataObjectModel: javax.lang.model.util.Types typeUtils> = v;
v.<io.vertx.codegen.DataObjectModel: 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.DataObjectModel: javax.lang.model.util.Elements elementUtils>;
v = v.<io.vertx.codegen.DataObjectModel: 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.DataObjectModel: io.vertx.codegen.doc.Doc$Factory docFactory> = v;
v.<io.vertx.codegen.DataObjectModel: 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.DataObjectModel: 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.DataObjectModel: boolean deprecated> = v;
return;
}
public java.lang.String getKind()
{
io.vertx.codegen.DataObjectModel v;
v := @this: io.vertx.codegen.DataObjectModel;
return "dataObject";
}
public javax.lang.model.element.Element getElement()
{
javax.lang.model.element.TypeElement v;
io.vertx.codegen.DataObjectModel v;
v := @this: io.vertx.codegen.DataObjectModel;
v = v.<io.vertx.codegen.DataObjectModel: javax.lang.model.element.TypeElement modelElt>;
return v;
}
public java.lang.String getFqn()
{
io.vertx.codegen.type.ClassTypeInfo v;
io.vertx.codegen.DataObjectModel v;
java.lang.String v;
v := @this: io.vertx.codegen.DataObjectModel;
v = v.<io.vertx.codegen.DataObjectModel: io.vertx.codegen.type.ClassTypeInfo type>;
v = virtualinvoke v.<io.vertx.codegen.type.ClassTypeInfo: java.lang.String getName()>();
return v;
}
public io.vertx.codegen.type.ClassTypeInfo getType()
{
io.vertx.codegen.type.ClassTypeInfo v;
io.vertx.codegen.DataObjectModel v;
v := @this: io.vertx.codegen.DataObjectModel;
v = v.<io.vertx.codegen.DataObjectModel: io.vertx.codegen.type.ClassTypeInfo type>;
return v;
}
public io.vertx.codegen.doc.Doc getDoc()
{
io.vertx.codegen.DataObjectModel v;
io.vertx.codegen.doc.Doc v;
v := @this: io.vertx.codegen.DataObjectModel;
v = v.<io.vertx.codegen.DataObjectModel: io.vertx.codegen.doc.Doc doc>;
return v;
}
public boolean isAbstract()
{
io.vertx.codegen.DataObjectModel v;
boolean v, v;
v := @this: io.vertx.codegen.DataObjectModel;
v = v.<io.vertx.codegen.DataObjectModel: boolean concrete>;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public boolean isConcrete()
{
io.vertx.codegen.DataObjectModel v;
boolean v;
v := @this: io.vertx.codegen.DataObjectModel;
v = v.<io.vertx.codegen.DataObjectModel: boolean concrete>;
return v;
}
public java.util.Set getImportedTypes()
{
java.util.Set v;
io.vertx.codegen.DataObjectModel v;
v := @this: io.vertx.codegen.DataObjectModel;
v = v.<io.vertx.codegen.DataObjectModel: java.util.Set importedTypes>;
return v;
}
public java.util.Map getPropertyMap()
{
io.vertx.codegen.DataObjectModel v;
java.util.Map v;
v := @this: io.vertx.codegen.DataObjectModel;
v = v.<io.vertx.codegen.DataObjectModel: java.util.Map propertyMap>;
return v;
}
public java.util.List getAnnotations()
{
java.util.List v;
io.vertx.codegen.DataObjectModel v;
v := @this: io.vertx.codegen.DataObjectModel;
v = v.<io.vertx.codegen.DataObjectModel: java.util.List annotations>;
return v;
}
public io.vertx.codegen.type.ClassTypeInfo getSuperType()
{
io.vertx.codegen.type.ClassTypeInfo v;
io.vertx.codegen.DataObjectModel v;
v := @this: io.vertx.codegen.DataObjectModel;
v = v.<io.vertx.codegen.DataObjectModel: io.vertx.codegen.type.ClassTypeInfo superType>;
return v;
}
public java.util.Set getAbstractSuperTypes()
{
java.util.Set v;
io.vertx.codegen.DataObjectModel v;
v := @this: io.vertx.codegen.DataObjectModel;
v = v.<io.vertx.codegen.DataObjectModel: java.util.Set abstractSuperTypes>;
return v;
}
public java.util.Set getSuperTypes()
{
java.util.Set v;
io.vertx.codegen.DataObjectModel v;
v := @this: io.vertx.codegen.DataObjectModel;
v = v.<io.vertx.codegen.DataObjectModel: java.util.Set superTypes>;
return v;
}
public io.vertx.codegen.ModuleInfo getModule()
{
io.vertx.codegen.type.ClassTypeInfo v, v;
io.vertx.codegen.DataObjectModel v;
io.vertx.codegen.ModuleInfo v;
v := @this: io.vertx.codegen.DataObjectModel;
v = v.<io.vertx.codegen.DataObjectModel: 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 boolean isClass()
{
io.vertx.codegen.DataObjectModel v;
boolean v;
v := @this: io.vertx.codegen.DataObjectModel;
v = v.<io.vertx.codegen.DataObjectModel: boolean isClass>;
return v;
}
public boolean getGenerateConverter()
{
io.vertx.codegen.DataObjectModel v;
boolean v;
v := @this: io.vertx.codegen.DataObjectModel;
v = v.<io.vertx.codegen.DataObjectModel: boolean generateConverter>;
return v;
}
public boolean getInheritConverter()
{
io.vertx.codegen.DataObjectModel v;
boolean v;
v := @this: io.vertx.codegen.DataObjectModel;
v = v.<io.vertx.codegen.DataObjectModel: boolean inheritConverter>;
return v;
}
public boolean isPublicConverter()
{
io.vertx.codegen.DataObjectModel v;
boolean v;
v := @this: io.vertx.codegen.DataObjectModel;
v = v.<io.vertx.codegen.DataObjectModel: boolean publicConverter>;
return v;
}
public java.lang.String getBase64Type()
{
io.vertx.codegen.DataObjectModel v;
java.lang.String v;
v := @this: io.vertx.codegen.DataObjectModel;
v = v.<io.vertx.codegen.DataObjectModel: java.lang.String base64Type>;
return v;
}
public boolean isSerializable()
{
io.vertx.codegen.type.ClassTypeInfo v, v;
io.vertx.codegen.type.DataObjectInfo v;
io.vertx.codegen.DataObjectModel v;
boolean v, v, v;
v := @this: io.vertx.codegen.DataObjectModel;
v = v.<io.vertx.codegen.DataObjectModel: io.vertx.codegen.type.ClassTypeInfo type>;
v = virtualinvoke v.<io.vertx.codegen.type.ClassTypeInfo: boolean isDataObjectHolder()>();
if v == 0 goto label;
v = v.<io.vertx.codegen.DataObjectModel: io.vertx.codegen.type.ClassTypeInfo type>;
v = virtualinvoke v.<io.vertx.codegen.type.ClassTypeInfo: io.vertx.codegen.type.DataObjectInfo getDataObject()>();
v = virtualinvoke v.<io.vertx.codegen.type.DataObjectInfo: boolean isSerializable()>();
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public boolean isDeserializable()
{
io.vertx.codegen.type.ClassTypeInfo v, v;
io.vertx.codegen.type.DataObjectInfo v;
io.vertx.codegen.DataObjectModel v;
boolean v, v, v;
v := @this: io.vertx.codegen.DataObjectModel;
v = v.<io.vertx.codegen.DataObjectModel: io.vertx.codegen.type.ClassTypeInfo type>;
v = virtualinvoke v.<io.vertx.codegen.type.ClassTypeInfo: boolean isDataObjectHolder()>();
if v == 0 goto label;
v = v.<io.vertx.codegen.DataObjectModel: io.vertx.codegen.type.ClassTypeInfo type>;
v = virtualinvoke v.<io.vertx.codegen.type.ClassTypeInfo: io.vertx.codegen.type.DataObjectInfo getDataObject()>();
v = virtualinvoke v.<io.vertx.codegen.type.DataObjectInfo: boolean isDeserializable()>();
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public boolean hasToJsonMethod()
{
io.vertx.codegen.DataObjectModel v;
boolean v;
v := @this: io.vertx.codegen.DataObjectModel;
v = v.<io.vertx.codegen.DataObjectModel: boolean hasToJsonMethod>;
return v;
}
public boolean hasEmptyConstructor()
{
io.vertx.codegen.DataObjectModel v;
int v, v;
boolean v;
v := @this: io.vertx.codegen.DataObjectModel;
v = v.<io.vertx.codegen.DataObjectModel: int constructors>;
v = v & 1;
if v != 1 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public boolean hasJsonConstructor()
{
io.vertx.codegen.DataObjectModel v;
int v, v;
boolean v;
v := @this: io.vertx.codegen.DataObjectModel;
v = v.<io.vertx.codegen.DataObjectModel: int constructors>;
v = v & 2;
if v != 2 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public boolean hasStringConstructor()
{
io.vertx.codegen.DataObjectModel v;
int v, v;
boolean v;
v := @this: io.vertx.codegen.DataObjectModel;
v = v.<io.vertx.codegen.DataObjectModel: int constructors>;
v = v & 4;
if v != 4 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public boolean hasDecodeStaticMethod()
{
io.vertx.codegen.DataObjectModel v;
boolean v;
v := @this: io.vertx.codegen.DataObjectModel;
v = v.<io.vertx.codegen.DataObjectModel: boolean hasDecodeStaticMethod>;
return v;
}
public boolean isDeprecated()
{
io.vertx.codegen.DataObjectModel v;
boolean v;
v := @this: io.vertx.codegen.DataObjectModel;
v = v.<io.vertx.codegen.DataObjectModel: boolean deprecated>;
return v;
}
public io.vertx.codegen.doc.Text getDeprecatedDesc()
{
io.vertx.codegen.DataObjectModel v;
io.vertx.codegen.doc.Text v;
v := @this: io.vertx.codegen.DataObjectModel;
v = v.<io.vertx.codegen.DataObjectModel: io.vertx.codegen.doc.Text deprecatedDesc>;
return v;
}
public java.util.Map getVars()
{
io.vertx.codegen.doc.Text v;
java.util.Map v, v;
boolean v, v, v, v, v, v, v, v, v, v, v, v;
java.util.Collection v;
java.util.Set v, v, v;
io.vertx.codegen.doc.Doc v;
java.lang.Boolean v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.String v;
io.vertx.codegen.type.ClassTypeInfo v, v;
io.vertx.codegen.DataObjectModel v;
v := @this: io.vertx.codegen.DataObjectModel;
v = specialinvoke v.<io.vertx.codegen.Model: java.util.Map getVars()>();
v = v.<io.vertx.codegen.DataObjectModel: io.vertx.codegen.type.ClassTypeInfo type>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("type", v);
v = v.<io.vertx.codegen.DataObjectModel: io.vertx.codegen.doc.Doc doc>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("doc", v);
v = v.<io.vertx.codegen.DataObjectModel: boolean generateConverter>;
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)>("generateConverter", v);
v = v.<io.vertx.codegen.DataObjectModel: boolean inheritConverter>;
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)>("inheritConverter", v);
v = v.<io.vertx.codegen.DataObjectModel: boolean publicConverter>;
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)>("publicConverter", v);
v = v.<io.vertx.codegen.DataObjectModel: java.lang.String base64Type>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("base64Type", v);
v = v.<io.vertx.codegen.DataObjectModel: boolean concrete>;
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 = v.<io.vertx.codegen.DataObjectModel: boolean isClass>;
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)>("isClass", v);
v = v.<io.vertx.codegen.DataObjectModel: java.util.Map propertyMap>;
v = interfaceinvoke v.<java.util.Map: java.util.Collection values()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("properties", v);
v = v.<io.vertx.codegen.DataObjectModel: java.util.Set importedTypes>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("importedTypes", v);
v = v.<io.vertx.codegen.DataObjectModel: java.util.Set superTypes>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("superTypes", v);
v = v.<io.vertx.codegen.DataObjectModel: io.vertx.codegen.type.ClassTypeInfo superType>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("superType", v);
v = v.<io.vertx.codegen.DataObjectModel: java.util.Set abstractSuperTypes>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("abstractSuperTypes", v);
v = v.<io.vertx.codegen.DataObjectModel: boolean hasToJsonMethod>;
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)>("hasToJsonMethod", v);
v = virtualinvoke v.<io.vertx.codegen.DataObjectModel: boolean hasEmptyConstructor()>();
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)>("hasEmptyConstructor", v);
v = virtualinvoke v.<io.vertx.codegen.DataObjectModel: boolean hasJsonConstructor()>();
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)>("hasJsonConstructor", v);
v = virtualinvoke v.<io.vertx.codegen.DataObjectModel: boolean hasStringConstructor()>();
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)>("hasStringConstructor", v);
v = virtualinvoke v.<io.vertx.codegen.DataObjectModel: boolean isSerializable()>();
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)>("serializable", v);
v = virtualinvoke v.<io.vertx.codegen.DataObjectModel: boolean isDeserializable()>();
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)>("deserializable", v);
v = v.<io.vertx.codegen.DataObjectModel: boolean deprecated>;
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.DataObjectModel: 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 process()
{
io.vertx.codegen.DataObjectModel v;
javax.lang.model.element.ElementKind v, v, v, v;
javax.lang.model.element.TypeElement v, v, v, v;
io.vertx.codegen.GenException v;
java.lang.String v;
boolean v;
v := @this: io.vertx.codegen.DataObjectModel;
v = v.<io.vertx.codegen.DataObjectModel: boolean processed>;
if v != 0 goto label;
v = v.<io.vertx.codegen.DataObjectModel: javax.lang.model.element.TypeElement modelElt>;
v = interfaceinvoke v.<javax.lang.model.element.TypeElement: 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.DataObjectModel: javax.lang.model.element.TypeElement modelElt>;
v = interfaceinvoke v.<javax.lang.model.element.TypeElement: javax.lang.model.element.ElementKind getKind()>();
v = <javax.lang.model.element.ElementKind: javax.lang.model.element.ElementKind CLASS>;
if v != v goto label;
label:
specialinvoke v.<io.vertx.codegen.DataObjectModel: void traverse()>();
specialinvoke v.<io.vertx.codegen.DataObjectModel: void processTypeAnnotations()>();
specialinvoke v.<io.vertx.codegen.DataObjectModel: void processImportedTypes()>();
v.<io.vertx.codegen.DataObjectModel: boolean processed> = 1;
return 1;
label:
v = new io.vertx.codegen.GenException;
v = v.<io.vertx.codegen.DataObjectModel: javax.lang.model.element.TypeElement modelElt>;
v = v.<io.vertx.codegen.DataObjectModel: javax.lang.model.element.TypeElement modelElt>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (javax.lang.model.element.TypeElement)>(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[])>("Data object \u must be an interface or a class");
specialinvoke v.<io.vertx.codegen.GenException: void <init>(javax.lang.model.element.Element,java.lang.String)>(v, v);
throw v;
label:
return 0;
}
private void traverse()
{
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, v;
javax.lang.model.util.Elements v;
byte v;
javax.lang.model.element.Modifier[] v;
java.util.Map v, v;
io.vertx.codegen.type.TypeMirrorFactory v, v, v, v;
java.util.Set v, v, v, v, v, v;
javax.lang.model.element.Element v, v;
java.util.stream.Stream v, v, v, v, v;
io.vertx.codegen.doc.Doc v, v, v;
io.vertx.codegen.ModuleInfo v;
java.lang.ClassCastException v;
java.util.ArrayList v, v;
io.vertx.codegen.GenException v, v, v, v;
java.lang.String v, v, v, v, v, v;
io.vertx.codegen.doc.Doc$Factory v;
io.vertx.codegen.type.ClassTypeInfo v;
int[] v;
io.vertx.codegen.type.ClassKind v, v, v, v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.util.function.Predicate v, v;
io.vertx.codegen.type.TypeInfo v, v, v, v;
java.util.Collection v;
javax.lang.model.util.Types v;
java.util.List v, v, v, v, v, v, v;
java.lang.'annotation'.Annotation v, v, v;
java.util.Optional v;
java.util.function.Function v;
int v, v, v, v;
javax.lang.model.element.Name v, v;
io.vertx.codegen.DataObjectModel v;
java.util.Iterator v;
javax.lang.model.element.ElementKind v, v, v;
java.util.function.Consumer v, v, v;
javax.lang.model.type.TypeMirror v, v, v, v, v, v;
java.lang.Object v, v;
java.util.Comparator v;
v := @this: io.vertx.codegen.DataObjectModel;
v = v.<io.vertx.codegen.DataObjectModel: javax.lang.model.element.TypeElement modelElt>;
v = interfaceinvoke v.<javax.lang.model.element.TypeElement: java.lang.'annotation'.Annotation getAnnotation(java.lang.Class)>(class "Lio/vertx/codegen/annotations/DataObject;");
v = interfaceinvoke v.<io.vertx.codegen.annotations.DataObject: boolean generateConverter()>();
v.<io.vertx.codegen.DataObjectModel: boolean generateConverter> = v;
v = interfaceinvoke v.<io.vertx.codegen.annotations.DataObject: boolean publicConverter()>();
v.<io.vertx.codegen.DataObjectModel: boolean publicConverter> = v;
v = interfaceinvoke v.<io.vertx.codegen.annotations.DataObject: boolean inheritConverter()>();
v.<io.vertx.codegen.DataObjectModel: boolean inheritConverter> = v;
v = interfaceinvoke v.<io.vertx.codegen.annotations.DataObject: java.lang.String base64Type()>();
v.<io.vertx.codegen.DataObjectModel: java.lang.String base64Type> = v;
v = v.<io.vertx.codegen.DataObjectModel: java.lang.String base64Type>;
if v != null goto label;
v = new io.vertx.codegen.GenException;
v = v.<io.vertx.codegen.DataObjectModel: javax.lang.model.element.TypeElement modelElt>;
specialinvoke v.<io.vertx.codegen.GenException: void <init>(javax.lang.model.element.Element,java.lang.String)>(v, "Data object base type cannot be null");
throw v;
label:
v = v.<io.vertx.codegen.DataObjectModel: java.lang.String base64Type>;
v = -1;
v = virtualinvoke v.<java.lang.String: int hashCode()>();
lookupswitch(v)
{
case -1856179776: goto label;
case 0: goto label;
case 93508654: goto label;
default: goto label;
};
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("");
if v == 0 goto label;
v = 0;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("basic");
if v == 0 goto label;
v = 1;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("base64url");
if v == 0 goto label;
v = 2;
label:
tableswitch(v)
{
case 0: goto label;
case 1: goto label;
case 2: goto label;
default: goto label;
};
label:
v = new io.vertx.codegen.GenException;
v = v.<io.vertx.codegen.DataObjectModel: javax.lang.model.element.TypeElement modelElt>;
v = v.<io.vertx.codegen.DataObjectModel: java.lang.String base64Type>;
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[])>("Data object base unsupported type: \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.DataObjectModel: javax.lang.model.element.TypeElement modelElt>;
v = interfaceinvoke v.<javax.lang.model.element.TypeElement: javax.lang.model.element.ElementKind getKind()>();
v = <javax.lang.model.element.ElementKind: javax.lang.model.element.ElementKind CLASS>;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
v.<io.vertx.codegen.DataObjectModel: boolean isClass> = v;
v = v.<io.vertx.codegen.DataObjectModel: boolean isClass>;
if v == 0 goto label;
v = v.<io.vertx.codegen.DataObjectModel: javax.lang.model.element.TypeElement modelElt>;
v = interfaceinvoke v.<javax.lang.model.element.TypeElement: java.util.Set getModifiers()>();
v = <javax.lang.model.element.Modifier: javax.lang.model.element.Modifier ABSTRACT>;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v.<io.vertx.codegen.DataObjectModel: boolean concrete> = v;
label:
v = v.<io.vertx.codegen.DataObjectModel: io.vertx.codegen.type.TypeMirrorFactory typeFactory>;
v = v.<io.vertx.codegen.DataObjectModel: javax.lang.model.element.TypeElement modelElt>;
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.<io.vertx.codegen.DataObjectModel: io.vertx.codegen.type.ClassTypeInfo type> = v;
label:
goto label;
label:
v := @caughtexception;
v = new io.vertx.codegen.GenException;
v = v.<io.vertx.codegen.DataObjectModel: javax.lang.model.element.TypeElement modelElt>;
specialinvoke v.<io.vertx.codegen.GenException: void <init>(javax.lang.model.element.Element,java.lang.String)>(v, "Data object must be a plain java class with no type parameters");
throw v;
label:
staticinvoke <io.vertx.codegen.Helper: void checkUnderModule(io.vertx.codegen.Model,java.lang.String)>(v, "@VertxGen");
v = v.<io.vertx.codegen.DataObjectModel: io.vertx.codegen.doc.Doc$Factory docFactory>;
v = v.<io.vertx.codegen.DataObjectModel: javax.lang.model.element.TypeElement modelElt>;
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.DataObjectModel: io.vertx.codegen.doc.Doc doc> = v;
v = v.<io.vertx.codegen.DataObjectModel: io.vertx.codegen.doc.Doc doc>;
if v == null goto label;
v = v.<io.vertx.codegen.DataObjectModel: 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.DataObjectModel$lambda_traverse_0__2855: 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.DataObjectModel$lambda_traverse_1__2856: java.util.function.Consumer bootstrap$(io.vertx.codegen.DataObjectModel)>(v);
virtualinvoke v.<java.util.Optional: void ifPresent(java.util.function.Consumer)>(v);
label:
v = virtualinvoke v.<io.vertx.codegen.DataObjectModel: io.vertx.codegen.ModuleInfo getModule()>();
if v != null goto label;
v = new io.vertx.codegen.GenException;
v = v.<io.vertx.codegen.DataObjectModel: javax.lang.model.element.TypeElement modelElt>;
specialinvoke v.<io.vertx.codegen.GenException: void <init>(javax.lang.model.element.Element,java.lang.String)>(v, "Data object must have an ancestor package annotated with @ModuleGen");
throw v;
label:
v = v.<io.vertx.codegen.DataObjectModel: javax.lang.model.element.TypeElement modelElt>;
v = interfaceinvoke v.<javax.lang.model.element.TypeElement: java.util.List getInterfaces()>();
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <io.vertx.codegen.DataObjectModel$lambda_traverse_2__2850: 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.DataObjectModel$lambda_traverse_3__2851: java.util.function.Function bootstrap$(io.vertx.codegen.DataObjectModel)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = v.<io.vertx.codegen.DataObjectModel: java.util.Set abstractSuperTypes>;
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <io.vertx.codegen.DataObjectModel$add__2852: java.util.function.Consumer bootstrap$(java.util.Set)>(v);
interfaceinvoke v.<java.util.stream.Stream: void forEach(java.util.function.Consumer)>(v);
v = v.<io.vertx.codegen.DataObjectModel: java.util.Set superTypes>;
v = v.<io.vertx.codegen.DataObjectModel: java.util.Set abstractSuperTypes>;
interfaceinvoke v.<java.util.Set: boolean addAll(java.util.Collection)>(v);
v = v.<io.vertx.codegen.DataObjectModel: javax.lang.model.element.TypeElement modelElt>;
v = interfaceinvoke v.<javax.lang.model.element.TypeElement: javax.lang.model.type.TypeMirror getSuperclass()>();
v = v instanceof javax.lang.model.type.DeclaredType;
if v == 0 goto label;
v = interfaceinvoke v.<javax.lang.model.type.DeclaredType: javax.lang.model.element.Element asElement()>();
v = interfaceinvoke v.<javax.lang.model.element.Element: java.lang.'annotation'.Annotation getAnnotation(java.lang.Class)>(class "Lio/vertx/codegen/annotations/DataObject;");
if v == null goto label;
v = v.<io.vertx.codegen.DataObjectModel: 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.<io.vertx.codegen.DataObjectModel: io.vertx.codegen.type.ClassTypeInfo superType> = v;
v = v.<io.vertx.codegen.DataObjectModel: java.util.Set superTypes>;
v = v.<io.vertx.codegen.DataObjectModel: io.vertx.codegen.type.ClassTypeInfo superType>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
label:
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = v.<io.vertx.codegen.DataObjectModel: javax.lang.model.util.Elements elementUtils>;
v = v.<io.vertx.codegen.DataObjectModel: javax.lang.model.element.TypeElement modelElt>;
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.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 = <io.vertx.codegen.DataObjectModel$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 1: goto label;
case 2: goto label;
default: goto label;
};
label:
specialinvoke v.<io.vertx.codegen.DataObjectModel: void processConstructor(javax.lang.model.element.ExecutableElement)>(v);
goto label;
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.<java.lang.String: boolean equals(java.lang.Object)>("toJson");
if v == 0 goto label;
v = interfaceinvoke v.<javax.lang.model.element.ExecutableElement: java.util.List getParameters()>();
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
v = v.<io.vertx.codegen.DataObjectModel: io.vertx.codegen.type.TypeMirrorFactory typeFactory>;
v = interfaceinvoke v.<javax.lang.model.element.ExecutableElement: javax.lang.model.type.TypeMirror getReturnType()>();
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.ClassKind getKind()>();
v = <io.vertx.codegen.type.ClassKind: io.vertx.codegen.type.ClassKind JSON_OBJECT>;
if v != v goto label;
v.<io.vertx.codegen.DataObjectModel: boolean hasToJsonMethod> = 1;
label:
v = interfaceinvoke v.<javax.lang.model.element.ExecutableElement: javax.lang.model.element.Name getSimpleName()>();
v = interfaceinvoke v.<javax.lang.model.element.Name: boolean contentEquals(java.lang.CharSequence)>("decode");
if v == 0 goto label;
v = interfaceinvoke v.<javax.lang.model.element.ExecutableElement: java.util.Set getModifiers()>();
v = newarray (javax.lang.model.element.Modifier)[2];
v = <javax.lang.model.element.Modifier: javax.lang.model.element.Modifier STATIC>;
v[0] = v;
v = <javax.lang.model.element.Modifier: javax.lang.model.element.Modifier PUBLIC>;
v[1] = v;
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
v = interfaceinvoke v.<java.util.Set: boolean containsAll(java.util.Collection)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<javax.lang.model.element.ExecutableElement: java.util.List getParameters()>();
v = interfaceinvoke v.<java.util.List: int size()>();
if v != 1 goto label;
v = v.<io.vertx.codegen.DataObjectModel: io.vertx.codegen.type.TypeMirrorFactory typeFactory>;
v = interfaceinvoke v.<javax.lang.model.element.ExecutableElement: java.util.List getParameters()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
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 = virtualinvoke v.<io.vertx.codegen.type.TypeInfo: io.vertx.codegen.type.ClassKind getKind()>();
v = <io.vertx.codegen.type.ClassKind: io.vertx.codegen.type.ClassKind JSON_OBJECT>;
if v != v goto label;
v = v.<io.vertx.codegen.DataObjectModel: javax.lang.model.util.Types typeUtils>;
v = interfaceinvoke v.<javax.lang.model.element.ExecutableElement: javax.lang.model.type.TypeMirror getReturnType()>();
v = v.<io.vertx.codegen.DataObjectModel: 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.<io.vertx.codegen.DataObjectModel: boolean hasDecodeStaticMethod> = 1;
label:
v = interfaceinvoke v.<javax.lang.model.element.ExecutableElement: java.lang.'annotation'.Annotation getAnnotation(java.lang.Class)>(class "Lio/vertx/codegen/annotations/GenIgnore;");
if v != null goto label;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
specialinvoke v.<io.vertx.codegen.DataObjectModel: void processMethods(java.util.List)>(v);
v = new java.util.ArrayList;
v = v.<io.vertx.codegen.DataObjectModel: java.util.Map propertyMap>;
v = interfaceinvoke v.<java.util.Map: java.util.Collection values()>();
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
v = staticinvoke <io.vertx.codegen.DataObjectModel$lambda_traverse_4__2853: java.util.Comparator bootstrap$()>();
staticinvoke <java.util.Collections: void sort(java.util.List,java.util.Comparator)>(v, v);
v = v.<io.vertx.codegen.DataObjectModel: java.util.Map propertyMap>;
interfaceinvoke v.<java.util.Map: void clear()>();
v = staticinvoke <io.vertx.codegen.DataObjectModel$lambda_traverse_5__2854: java.util.function.Consumer bootstrap$(io.vertx.codegen.DataObjectModel)>(v);
virtualinvoke v.<java.util.ArrayList: void forEach(java.util.function.Consumer)>(v);
return;
catch java.lang.ClassCastException from label to label with label;
}
private void processTypeAnnotations()
{
io.vertx.codegen.DataObjectModel v;
javax.lang.model.element.TypeElement v;
java.util.function.Function v;
javax.lang.model.util.Elements 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.DataObjectModel;
v = v.<io.vertx.codegen.DataObjectModel: javax.lang.model.util.Elements elementUtils>;
v = v.<io.vertx.codegen.DataObjectModel: 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.DataObjectModel: io.vertx.codegen.type.AnnotationValueInfoFactory annotationValueInfoFactory>;
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <io.vertx.codegen.DataObjectModel$processAnnotation__2857: 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.DataObjectModel: java.util.List annotations> = v;
return;
}
private void processImportedTypes()
{
java.util.Map v;
java.lang.String v, v;
java.util.stream.Collector v;
boolean v, v, v;
io.vertx.codegen.type.ClassTypeInfo v;
io.vertx.codegen.DataObjectModel v;
java.util.Iterator v, v;
io.vertx.codegen.type.TypeInfo v;
java.util.Collection v;
java.util.Set v, v, v, v;
java.util.stream.Stream v;
java.lang.Object v, v, v;
v := @this: io.vertx.codegen.DataObjectModel;
v = v.<io.vertx.codegen.DataObjectModel: java.util.Map propertyMap>;
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 = v.<io.vertx.codegen.PropertyInfo: io.vertx.codegen.type.TypeInfo type>;
v = v.<io.vertx.codegen.DataObjectModel: java.util.Set importedTypes>;
virtualinvoke v.<io.vertx.codegen.type.TypeInfo: void collectImports(java.util.Collection)>(v);
goto label;
label:
v = v.<io.vertx.codegen.DataObjectModel: java.util.Set importedTypes>;
v = v.<io.vertx.codegen.DataObjectModel: java.util.Set superTypes>;
v = interfaceinvoke v.<java.util.Set: java.util.stream.Stream stream()>();
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);
interfaceinvoke v.<java.util.Set: boolean addAll(java.util.Collection)>(v);
v = v.<io.vertx.codegen.DataObjectModel: java.util.Set importedTypes>;
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 = virtualinvoke v.<io.vertx.codegen.type.ClassTypeInfo: java.lang.String getPackageName()>();
v = v.<io.vertx.codegen.DataObjectModel: io.vertx.codegen.type.ClassTypeInfo type>;
v = virtualinvoke v.<io.vertx.codegen.type.ClassTypeInfo: java.lang.String getPackageName()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
interfaceinvoke v.<java.util.Iterator: void remove()>();
goto label;
label:
return;
}
private void processConstructor(javax.lang.model.element.ExecutableElement)
{
javax.lang.model.element.Modifier v;
javax.lang.model.element.TypeElement v;
int[] v;
int v, v, v, v, v, v, v, v, v;
io.vertx.codegen.type.ClassKind v;
boolean v, v, v;
io.vertx.codegen.type.TypeMirrorFactory v;
io.vertx.codegen.DataObjectModel v;
io.vertx.codegen.type.TypeInfo v;
javax.lang.model.element.ExecutableElement v;
java.util.Set v;
javax.lang.model.element.Element v;
java.util.List v;
javax.lang.model.type.TypeMirror v;
java.lang.Object v;
v := @this: io.vertx.codegen.DataObjectModel;
v := @parameter: javax.lang.model.element.ExecutableElement;
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;
v = interfaceinvoke v.<javax.lang.model.element.ExecutableElement: javax.lang.model.element.Element getEnclosingElement()>();
v = v.<io.vertx.codegen.DataObjectModel: javax.lang.model.element.TypeElement modelElt>;
v = interfaceinvoke v.<javax.lang.model.element.Element: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<javax.lang.model.element.ExecutableElement: java.util.List getParameters()>();
v = interfaceinvoke v.<java.util.List: int size()>();
if v != 1 goto label;
v = v.<io.vertx.codegen.DataObjectModel: io.vertx.codegen.type.TypeMirrorFactory typeFactory>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
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 = v instanceof io.vertx.codegen.type.ClassTypeInfo;
if v == 0 goto label;
v = <io.vertx.codegen.DataObjectModel$1: int[] $SwitchMap$io$vertx$codegen$type$ClassKind>;
v = virtualinvoke v.<io.vertx.codegen.type.ClassTypeInfo: 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;
case 2: goto label;
default: goto label;
};
label:
v = v.<io.vertx.codegen.DataObjectModel: int constructors>;
v = v | 2;
v.<io.vertx.codegen.DataObjectModel: int constructors> = v;
goto label;
label:
v = v.<io.vertx.codegen.DataObjectModel: int constructors>;
v = v | 4;
v.<io.vertx.codegen.DataObjectModel: int constructors> = v;
goto label;
label:
if v != 0 goto label;
v = v.<io.vertx.codegen.DataObjectModel: int constructors>;
v = v | 1;
v.<io.vertx.codegen.DataObjectModel: int constructors> = v;
label:
return;
}
private void processMethods(java.util.List)
{
javax.lang.model.element.Modifier v, v;
javax.lang.model.util.Elements v, v, v, v;
java.util.stream.Collector v;
java.util.Set v, v, v, v, v;
javax.lang.model.element.Element v, v, v;
java.util.stream.Stream v, v, v;
io.vertx.codegen.GenException v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v;
java.util.function.BiFunction v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.util.function.Predicate v;
javax.lang.model.type.TypeKind v, v, v, v, v, v;
java.util.List v, v, v, v, v, v, v, v, v, v;
java.util.HashMap v, v, v, v;
java.util.function.Function v;
java.util.HashSet v;
int v, v, v, v, v, v;
javax.lang.model.element.Name v, v, v;
io.vertx.codegen.DataObjectModel v;
java.util.Iterator v, v;
char v, v, v;
javax.lang.model.type.TypeMirror v, v, v;
java.lang.Object v, v, v, v, v, v, v, v, v;
v := @this: io.vertx.codegen.DataObjectModel;
v := @parameter: java.util.List;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = staticinvoke <io.vertx.codegen.DataObjectModel$lambda_processMethods_6__2858: java.util.function.BiFunction bootstrap$()>();
label:
v = interfaceinvoke v.<java.util.List: int size()>();
if v <= 0 goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object remove(int)>(0);
v = interfaceinvoke v.<javax.lang.model.element.ExecutableElement: javax.lang.model.element.Element getEnclosingElement()>();
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)>("java.lang.Object");
if v != 0 goto label;
v = interfaceinvoke v.<javax.lang.model.element.ExecutableElement: java.util.Set getModifiers()>();
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 = 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;
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 startsWith(java.lang.String)>("get");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
if v <= 3 goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(3);
v = staticinvoke <java.lang.Character: boolean isUpperCase(char)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<javax.lang.model.element.ExecutableElement: java.util.List getParameters()>();
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
v = interfaceinvoke v.<javax.lang.model.element.ExecutableElement: javax.lang.model.type.TypeMirror getReturnType()>();
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 VOID>;
if v == v goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(3);
v = staticinvoke <io.vertx.codegen.Helper: java.lang.String normalizePropertyName(java.lang.String)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = v.<io.vertx.codegen.DataObjectModel: javax.lang.model.util.Elements elementUtils>;
v = interfaceinvoke v.<javax.lang.model.util.Elements: java.util.List getAllAnnotationMirrors(javax.lang.model.element.Element)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object merge(java.lang.Object,java.lang.Object,java.util.function.BiFunction)>(v, v, v);
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("is");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
if v <= 2 goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(2);
v = staticinvoke <java.lang.Character: boolean isUpperCase(char)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<javax.lang.model.element.ExecutableElement: java.util.List getParameters()>();
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
v = interfaceinvoke v.<javax.lang.model.element.ExecutableElement: javax.lang.model.type.TypeMirror getReturnType()>();
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 VOID>;
if v == v goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(2);
v = staticinvoke <io.vertx.codegen.Helper: java.lang.String normalizePropertyName(java.lang.String)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = v.<io.vertx.codegen.DataObjectModel: javax.lang.model.util.Elements elementUtils>;
v = interfaceinvoke v.<javax.lang.model.util.Elements: java.util.List getAllAnnotationMirrors(javax.lang.model.element.Element)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object merge(java.lang.Object,java.lang.Object,java.util.function.BiFunction)>(v, v, v);
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("set");
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("add");
if v == 0 goto label;
label:
v = virtualinvoke v.<java.lang.String: int length()>();
if v <= 3 goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(3);
v = staticinvoke <java.lang.Character: boolean isUpperCase(char)>(v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, 3);
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(3);
v = staticinvoke <io.vertx.codegen.Helper: java.lang.String normalizePropertyName(java.lang.String)>(v);
v = interfaceinvoke v.<javax.lang.model.element.ExecutableElement: java.util.List getParameters()>();
v = interfaceinvoke v.<java.util.List: int size()>();
v = "add";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean endsWith(java.lang.String)>("s");
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, "Option adder name must not terminate with \'s\' char");
throw v;
label:
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[])>("\u0001s");
v = interfaceinvoke v.<javax.lang.model.element.ExecutableElement: java.util.List getParameters()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = interfaceinvoke v.<javax.lang.model.element.VariableElement: javax.lang.model.type.TypeMirror asType()>();
if v == 1 goto label;
if v != 2 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)>("java.lang.String");
if v == 0 goto label;
label:
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = v.<io.vertx.codegen.DataObjectModel: javax.lang.model.util.Elements elementUtils>;
v = interfaceinvoke v.<javax.lang.model.util.Elements: java.util.List getAllAnnotationMirrors(javax.lang.model.element.Element)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object merge(java.lang.Object,java.lang.Object,java.util.function.BiFunction)>(v, v, v);
goto label;
label:
if v != 1 goto label;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = v.<io.vertx.codegen.DataObjectModel: javax.lang.model.util.Elements elementUtils>;
v = interfaceinvoke v.<javax.lang.model.util.Elements: java.util.List getAllAnnotationMirrors(javax.lang.model.element.Element)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object merge(java.lang.Object,java.lang.Object,java.util.function.BiFunction)>(v, v, v);
goto label;
label:
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
interfaceinvoke v.<java.util.Set: boolean addAll(java.util.Collection)>(v);
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
interfaceinvoke v.<java.util.Set: boolean addAll(java.util.Collection)>(v);
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
interfaceinvoke v.<java.util.Set: boolean addAll(java.util.Collection)>(v);
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 = virtualinvoke v.<io.vertx.codegen.DataObjectModel: javax.lang.model.element.Element getElement()>();
v = interfaceinvoke v.<javax.lang.model.element.Element: java.util.List getEnclosedElements()>();
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <io.vertx.codegen.DataObjectModel$lambda_processMethods_7__2859: java.util.function.Predicate bootstrap$(java.lang.String)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = staticinvoke <io.vertx.codegen.DataObjectModel$lambda_processMethods_8__2860: java.util.function.Function bootstrap$(io.vertx.codegen.DataObjectModel)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream flatMap(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 = interfaceinvoke v.<java.util.List: int size()>();
if v <= 0 goto label;
interfaceinvoke v.<java.util.Map: java.lang.Object merge(java.lang.Object,java.lang.Object,java.util.function.BiFunction)>(v, v, v);
goto label;
label:
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: java.lang.Object get(java.lang.Object)>(v);
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
specialinvoke v.<io.vertx.codegen.DataObjectModel: void processMethod(java.lang.String,javax.lang.model.element.ExecutableElement,javax.lang.model.element.ExecutableElement,javax.lang.model.element.ExecutableElement,java.util.List)>(v, v, v, v, v);
goto label;
label:
return;
}
private void processMethod(java.lang.String, javax.lang.model.element.ExecutableElement, javax.lang.model.element.ExecutableElement, javax.lang.model.element.ExecutableElement, java.util.List)
{
javax.lang.model.util.Elements v;
io.vertx.codegen.type.DataObjectInfo v;
io.vertx.codegen.type.AnnotationValueInfoFactory v;
java.util.Map v;
javax.lang.model.element.Element v;
java.util.stream.Stream v, v, v, v, v, v, v, v;
java.lang.Object[] v;
javax.lang.model.element.ExecutableElement[] v;
int[] v, v, v;
io.vertx.codegen.type.ClassKind v, v, v;
io.vertx.codegen.type.TypeInfo v, v, v, v, v;
java.lang.'annotation'.Annotation v, v, v, v;
io.vertx.codegen.PropertyKind v, v, v, v, v, v;
java.util.function.Function v, v, v, v;
int v, v, v, v, v, v, v, v;
java.lang.Boolean v, v;
io.vertx.codegen.DataObjectModel v;
javax.lang.model.element.ExecutableElement v, v, v;
java.util.function.Consumer v;
javax.lang.model.type.TypeMirror v, v, v, v;
java.lang.Class v;
java.lang.Object 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;
io.vertx.codegen.doc.Doc v;
java.util.ArrayList v;
io.vertx.codegen.GenException v, v, v, v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
io.vertx.codegen.doc.Doc$Factory v, v;
io.vertx.codegen.doc.Text 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;
io.vertx.codegen.PropertyInfo v;
java.util.function.Predicate v, v, v;
javax.lang.model.util.Types 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 := @this: io.vertx.codegen.DataObjectModel;
v := @parameter: java.lang.String;
v := @parameter: javax.lang.model.element.ExecutableElement;
v := @parameter: javax.lang.model.element.ExecutableElement;
v := @parameter: javax.lang.model.element.ExecutableElement;
v := @parameter: java.util.List;
v = null;
v = 0;
if v == null goto label;
v = interfaceinvoke v.<javax.lang.model.element.ExecutableElement: java.util.List getParameters()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = interfaceinvoke v.<javax.lang.model.element.VariableElement: javax.lang.model.type.TypeMirror asType()>();
v = v.<io.vertx.codegen.DataObjectModel: 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.ClassKind getKind()>();
v = staticinvoke <io.vertx.codegen.PropertyKind: io.vertx.codegen.PropertyKind forType(io.vertx.codegen.type.ClassKind)>(v);
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 = 1;
goto label;
label:
v = 0;
label:
v = 0 | v;
v = <io.vertx.codegen.DataObjectModel$1: int[] $SwitchMap$io$vertx$codegen$PropertyKind>;
v = virtualinvoke v.<io.vertx.codegen.PropertyKind: int ordinal()>();
v = v[v];
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
default: goto label;
};
label:
v = virtualinvoke v.<io.vertx.codegen.type.ParameterizedTypeInfo: java.util.List getArgs()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = interfaceinvoke v.<javax.lang.model.type.DeclaredType: java.util.List getTypeArguments()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
goto label;
label:
v = virtualinvoke v.<io.vertx.codegen.type.ParameterizedTypeInfo: java.util.List getArgs()>();
interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
v = interfaceinvoke v.<javax.lang.model.type.DeclaredType: java.util.List getTypeArguments()>();
interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
label:
if v == null goto label;
v = interfaceinvoke v.<javax.lang.model.element.ExecutableElement: javax.lang.model.type.TypeMirror getReturnType()>();
v = v.<io.vertx.codegen.DataObjectModel: 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.ClassKind getKind()>();
v = staticinvoke <io.vertx.codegen.PropertyKind: io.vertx.codegen.PropertyKind forType(io.vertx.codegen.type.ClassKind)>(v);
v = v;
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 = 1;
goto label;
label:
v = 0;
label:
v = v | v;
v = <io.vertx.codegen.DataObjectModel$1: int[] $SwitchMap$io$vertx$codegen$PropertyKind>;
v = virtualinvoke v.<io.vertx.codegen.PropertyKind: int ordinal()>();
v = v[v];
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
default: goto label;
};
label:
v = virtualinvoke v.<io.vertx.codegen.type.ParameterizedTypeInfo: java.util.List getArgs()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = interfaceinvoke v.<javax.lang.model.type.DeclaredType: java.util.List getTypeArguments()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
goto label;
label:
v = virtualinvoke v.<io.vertx.codegen.type.ParameterizedTypeInfo: java.util.List getArgs()>();
interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
v = interfaceinvoke v.<javax.lang.model.type.DeclaredType: java.util.List getTypeArguments()>();
interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
label:
if v == null goto label;
if v == v goto label;
v = new io.vertx.codegen.GenException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,io.vertx.codegen.PropertyKind,io.vertx.codegen.PropertyKind)>(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[])>("\u getter \u does not match the setter \u0001");
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.type.TypeInfo: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = new io.vertx.codegen.GenException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,io.vertx.codegen.type.TypeInfo,io.vertx.codegen.type.TypeInfo)>(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[])>("\u getter type \u does not match the setter type \u0001");
specialinvoke v.<io.vertx.codegen.GenException: void <init>(javax.lang.model.element.Element,java.lang.String)>(v, v);
throw v;
label:
v = v;
v = v;
v = v;
label:
if v == null goto label;
v = v;
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 = 1;
goto label;
label:
v = 0;
label:
v = v | v;
v = interfaceinvoke v.<javax.lang.model.element.ExecutableElement: java.util.List getParameters()>();
v = interfaceinvoke v.<java.util.List: int size()>();
lookupswitch(v)
{
case 1: goto label;
case 2: goto label;
default: goto label;
};
label:
v = interfaceinvoke v.<javax.lang.model.element.ExecutableElement: java.util.List getParameters()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = interfaceinvoke v.<javax.lang.model.element.VariableElement: javax.lang.model.type.TypeMirror asType()>();
v = v.<io.vertx.codegen.DataObjectModel: 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);
if v == null goto label;
v = <io.vertx.codegen.PropertyKind: io.vertx.codegen.PropertyKind LIST>;
if v == v goto label;
v = <io.vertx.codegen.PropertyKind: io.vertx.codegen.PropertyKind SET>;
if v == v goto label;
v = new io.vertx.codegen.GenException;
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[])>("\u0001adder does not correspond to non list/set");
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.type.TypeInfo: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = new io.vertx.codegen.GenException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,io.vertx.codegen.type.TypeInfo,io.vertx.codegen.type.TypeInfo)>(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[])>("\u adder type \u  does not match the property type \u0001");
specialinvoke v.<io.vertx.codegen.GenException: void <init>(javax.lang.model.element.Element,java.lang.String)>(v, v);
throw v;
label:
v = v;
v = <io.vertx.codegen.PropertyKind: io.vertx.codegen.PropertyKind LIST>;
goto label;
label:
v = interfaceinvoke v.<javax.lang.model.element.ExecutableElement: java.util.List getParameters()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
v = interfaceinvoke v.<javax.lang.model.element.VariableElement: javax.lang.model.type.TypeMirror asType()>();
v = v.<io.vertx.codegen.DataObjectModel: 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);
if v == null goto label;
v = <io.vertx.codegen.PropertyKind: io.vertx.codegen.PropertyKind MAP>;
if v == v goto label;
v = new io.vertx.codegen.GenException;
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[])>("\u0001adder does not correspond to non map");
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.type.TypeInfo: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = new io.vertx.codegen.GenException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,io.vertx.codegen.type.TypeInfo,io.vertx.codegen.type.TypeInfo)>(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[])>("\u adder type \u  does not match the property type \u0001");
specialinvoke v.<io.vertx.codegen.GenException: void <init>(javax.lang.model.element.Element,java.lang.String)>(v, v);
throw v;
label:
v = v;
v = <io.vertx.codegen.PropertyKind: io.vertx.codegen.PropertyKind MAP>;
label:
v = <io.vertx.codegen.DataObjectModel$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];
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
case 4: goto label;
case 5: goto label;
case 6: goto label;
case 7: goto label;
case 8: goto label;
case 9: goto label;
default: goto label;
};
label:
v = <io.vertx.codegen.PropertyKind: io.vertx.codegen.PropertyKind VALUE>;
if v != v goto label;
return;
label:
v = 1;
goto label;
label:
v = virtualinvoke v.<io.vertx.codegen.type.TypeInfo: java.lang.String getName()>();
v = class "Ljava/time/Instant;";
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 = virtualinvoke v.<io.vertx.codegen.type.TypeInfo: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("io.vertx.core.buffer.Buffer");
if v != 0 goto label;
v = virtualinvoke v.<io.vertx.codegen.type.TypeInfo: boolean isDataObjectHolder()>();
if v == 0 goto label;
v = virtualinvoke v.<io.vertx.codegen.type.TypeInfo: io.vertx.codegen.type.DataObjectInfo getDataObject()>();
v = virtualinvoke v.<io.vertx.codegen.type.DataObjectInfo: boolean isSerializable()>();
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
v = v;
goto label;
label:
return;
label:
v = 0;
v = null;
v = newarray (javax.lang.model.element.ExecutableElement)[3];
v[0] = v;
v[1] = v;
v[2] = 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()>();
if v == null goto label;
v = staticinvoke <io.vertx.codegen.DataObjectModel$lambda_processMethod_12__2864: java.util.function.Function bootstrap$(io.vertx.codegen.DataObjectModel,javax.lang.model.element.ExecutableElement)>(v, v);
if v != null goto label;
v = v.<io.vertx.codegen.DataObjectModel: 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);
if v != null goto label;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(0);
v = interfaceinvoke v.<java.util.function.Function: java.lang.Object apply(java.lang.Object)>(v);
v = v.<io.vertx.codegen.DataObjectModel: io.vertx.codegen.doc.Doc$Factory docFactory>;
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <io.vertx.codegen.DataObjectModel$createDoc__2866: java.util.function.Function bootstrap$(io.vertx.codegen.doc.Doc$Factory)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <io.vertx.codegen.DataObjectModel$lambda_processMethod_13__2867: 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: java.lang.Object orElse(java.lang.Object)>(null);
label:
if v != 0 goto label;
v = interfaceinvoke v.<javax.lang.model.element.ExecutableElement: javax.lang.model.element.Element getEnclosingElement()>();
v = v.<io.vertx.codegen.DataObjectModel: javax.lang.model.element.TypeElement modelElt>;
v = interfaceinvoke v.<javax.lang.model.element.Element: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(1);
v = interfaceinvoke v.<java.util.function.Function: java.lang.Object apply(java.lang.Object)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream limit(long)>(1L);
v = staticinvoke <io.vertx.codegen.DataObjectModel$lambda_processMethod_14__2865: 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.lang.Object[] toArray()>();
v = lengthof v;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
goto label;
label:
v = interfaceinvoke v.<javax.lang.model.element.Element: java.lang.'annotation'.Annotation getAnnotation(java.lang.Class)>(class "Lio/vertx/codegen/annotations/DataObject;");
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
goto label;
label:
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
if v == null goto label;
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = v.<io.vertx.codegen.DataObjectModel: io.vertx.codegen.type.AnnotationValueInfoFactory annotationValueInfoFactory>;
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <io.vertx.codegen.DataObjectModel$processAnnotation__2862: 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);
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <io.vertx.codegen.DataObjectModel$add__2863: java.util.function.Consumer bootstrap$(java.util.List)>(v);
interfaceinvoke v.<java.util.stream.Stream: void forEach(java.util.function.Consumer)>(v);
label:
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.DataObjectModel$lambda_processMethod_15__2861: 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.DataObjectModel: javax.lang.model.util.Elements elementUtils>;
v = v.<io.vertx.codegen.DataObjectModel: javax.lang.model.util.Types typeUtils>;
v = v.<io.vertx.codegen.DataObjectModel: 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 io.vertx.codegen.PropertyInfo;
v = v;
v = v;
if v == null goto 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()>();
goto label;
label:
v = null;
label:
if v == null goto 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()>();
goto label;
label:
v = null;
label:
if v == null goto 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()>();
goto label;
label:
v = null;
label:
specialinvoke v.<io.vertx.codegen.PropertyInfo: void <init>(boolean,java.lang.String,io.vertx.codegen.doc.Doc,io.vertx.codegen.type.TypeInfo,java.lang.String,java.lang.String,java.lang.String,java.util.List,io.vertx.codegen.PropertyKind,boolean,boolean,io.vertx.codegen.doc.Text)>(v, v, v, v, v, v, v, v, v, v, v, v);
v = v.<io.vertx.codegen.DataObjectModel: java.util.Map propertyMap>;
v = v.<io.vertx.codegen.PropertyInfo: java.lang.String name>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
return;
}
}