public class io.vertx.codegen.CodeGen extends java.lang.Object
{
private static final java.util.List PROVIDERS;
private static final java.util.logging.Logger logger;
static final java.util.Map loaderMap;
private final java.util.Map models;
private final java.util.Set all;
private final java.util.HashMap modules;
private final javax.'annotation'.processing.ProcessingEnvironment env;
private final javax.lang.model.util.Elements elementUtils;
private final javax.lang.model.util.Types typeUtils;
private final io.vertx.codegen.type.TypeMirrorFactory tmf;
private final java.util.List converters;
public void <init>(javax.'annotation'.processing.ProcessingEnvironment)
{
io.vertx.codegen.type.TypeMirrorFactory v;
java.util.HashMap v, v;
javax.lang.model.util.Types v, v;
javax.lang.model.util.Elements v, v;
java.util.ArrayList v;
java.util.HashSet v;
javax.'annotation'.processing.ProcessingEnvironment v;
io.vertx.codegen.CodeGen v;
v := @this: io.vertx.codegen.CodeGen;
v := @parameter: javax.'annotation'.processing.ProcessingEnvironment;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v.<io.vertx.codegen.CodeGen: java.util.Map models> = v;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v.<io.vertx.codegen.CodeGen: java.util.Set all> = v;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v.<io.vertx.codegen.CodeGen: java.util.HashMap modules> = v;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v.<io.vertx.codegen.CodeGen: java.util.List converters> = v;
v.<io.vertx.codegen.CodeGen: javax.'annotation'.processing.ProcessingEnvironment env> = v;
v = interfaceinvoke v.<javax.'annotation'.processing.ProcessingEnvironment: javax.lang.model.util.Elements getElementUtils()>();
v.<io.vertx.codegen.CodeGen: javax.lang.model.util.Elements elementUtils> = v;
v = interfaceinvoke v.<javax.'annotation'.processing.ProcessingEnvironment: javax.lang.model.util.Types getTypeUtils()>();
v.<io.vertx.codegen.CodeGen: javax.lang.model.util.Types typeUtils> = v;
v = new io.vertx.codegen.type.TypeMirrorFactory;
v = v.<io.vertx.codegen.CodeGen: javax.lang.model.util.Elements elementUtils>;
v = v.<io.vertx.codegen.CodeGen: javax.lang.model.util.Types typeUtils>;
specialinvoke v.<io.vertx.codegen.type.TypeMirrorFactory: void <init>(javax.lang.model.util.Elements,javax.lang.model.util.Types)>(v, v);
v.<io.vertx.codegen.CodeGen: io.vertx.codegen.type.TypeMirrorFactory tmf> = v;
return;
}
public void init(javax.'annotation'.processing.RoundEnvironment, java.lang.ClassLoader)
{
java.util.function.Function v, v;
java.util.Map v;
io.vertx.codegen.CodeGen v;
java.util.function.Predicate v, v;
java.util.Set v, v;
java.util.function.Consumer v, v, v;
java.util.List v;
java.util.stream.Stream v, v, v, v, v, v;
javax.'annotation'.processing.RoundEnvironment v;
javax.'annotation'.processing.ProcessingEnvironment v;
java.lang.ClassLoader v;
v := @this: io.vertx.codegen.CodeGen;
v := @parameter: javax.'annotation'.processing.RoundEnvironment;
v := @parameter: java.lang.ClassLoader;
v = <io.vertx.codegen.CodeGen: java.util.Map loaderMap>;
v = v.<io.vertx.codegen.CodeGen: javax.'annotation'.processing.ProcessingEnvironment env>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = staticinvoke <io.vertx.codegen.CodeGen$lambda_init_2__2878: java.util.function.Predicate bootstrap$(io.vertx.codegen.CodeGen)>(v);
v = v.<io.vertx.codegen.CodeGen: java.util.List converters>;
v = staticinvoke <io.vertx.codegen.CodeGen$lambda_init_3__2879: java.util.function.Consumer bootstrap$(io.vertx.codegen.CodeGen)>(v);
interfaceinvoke v.<java.util.List: void forEach(java.util.function.Consumer)>(v);
v = interfaceinvoke v.<javax.'annotation'.processing.RoundEnvironment: java.util.Set getRootElements()>();
v = interfaceinvoke v.<java.util.Set: java.util.stream.Stream stream()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = staticinvoke <io.vertx.codegen.CodeGen$lambda_init_4__2880: 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.CodeGen$lambda_init_5__2881: 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.CodeGen$lambda_init_8__2882: java.util.function.Consumer bootstrap$(io.vertx.codegen.CodeGen)>(v);
interfaceinvoke v.<java.util.stream.Stream: void forEach(java.util.function.Consumer)>(v);
v = interfaceinvoke v.<javax.'annotation'.processing.RoundEnvironment: java.util.Set getElementsAnnotatedWith(java.lang.Class)>(class "Lio/vertx/codegen/annotations/ModuleGen;");
v = interfaceinvoke v.<java.util.Set: java.util.stream.Stream stream()>();
v = staticinvoke <io.vertx.codegen.CodeGen$lambda_init_9__2883: 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.CodeGen$lambda_init_10__2884: java.util.function.Consumer bootstrap$(io.vertx.codegen.CodeGen)>(v);
interfaceinvoke v.<java.util.stream.Stream: void forEach(java.util.function.Consumer)>(v);
return;
}
private io.vertx.codegen.CodeGen$Resolved resolveMember(javax.lang.model.element.Element, javax.lang.model.type.TypeMirror, java.lang.String)
{
java.util.function.Function v;
java.util.function.Supplier v;
io.vertx.codegen.GenException v;
java.lang.String v;
io.vertx.codegen.CodeGen v;
java.util.function.Predicate v;
javax.lang.model.element.Element v, v;
javax.lang.model.type.TypeKind v, v;
java.util.List v;
javax.lang.model.type.TypeMirror v;
java.util.stream.Stream v, v;
java.util.Optional v, v;
java.lang.Object v;
v := @this: io.vertx.codegen.CodeGen;
v := @parameter: javax.lang.model.element.Element;
v := @parameter: javax.lang.model.type.TypeMirror;
v := @parameter: java.lang.String;
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.Element: java.util.List getEnclosedElements()>();
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <io.vertx.codegen.CodeGen$lambda_resolveMember_11__2885: 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 = interfaceinvoke v.<java.util.stream.Stream: java.util.Optional findFirst()>();
v = staticinvoke <io.vertx.codegen.CodeGen$lambda_resolveMember_12__2886: java.util.function.Function bootstrap$(io.vertx.codegen.CodeGen,javax.lang.model.type.DeclaredType)>(v, v);
v = virtualinvoke v.<java.util.Optional: java.util.Optional map(java.util.function.Function)>(v);
v = staticinvoke <io.vertx.codegen.CodeGen$lambda_resolveMember_13__2887: java.util.function.Supplier bootstrap$(javax.lang.model.element.Element,java.lang.String,javax.lang.model.type.TypeMirror)>(v, v, v);
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElseThrow(java.util.function.Supplier)>(v);
return 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, "Only declared element are supported");
throw v;
}
private void processConverter(javax.lang.model.element.TypeElement, javax.lang.model.type.TypeMirror, java.util.List, javax.lang.model.type.ExecutableType)
{
io.vertx.codegen.MapperKind v, v;
io.vertx.codegen.type.MapperInfo v, v;
javax.lang.model.element.TypeElement v, v;
javax.lang.model.util.Elements v;
io.vertx.codegen.type.ClassKind v, v, v, v;
boolean v, v, v, v, v, v, v;
io.vertx.codegen.type.TypeMirrorFactory v, v, v, v;
io.vertx.codegen.type.TypeInfo v, v;
javax.lang.model.util.Types v, v;
java.util.List v, v, v, v;
io.vertx.codegen.GenException v, v, v, v, v;
int v, v;
java.lang.String v, v, v, v, v, v, v;
io.vertx.codegen.CodeGen v;
javax.lang.model.element.Name v, v;
javax.lang.model.type.ExecutableType v;
javax.lang.model.type.TypeMirror v, v;
java.lang.Object v;
v := @this: io.vertx.codegen.CodeGen;
v := @parameter: javax.lang.model.element.TypeElement;
v := @parameter: javax.lang.model.type.TypeMirror;
v := @parameter: java.util.List;
v := @parameter: javax.lang.model.type.ExecutableType;
v = interfaceinvoke v.<javax.lang.model.type.ExecutableType: java.util.List getParameterTypes()>();
v = interfaceinvoke v.<java.util.List: int size()>();
if v >= 1 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, "Annotated method mapper cannot have empty arguments");
throw v;
label:
v = interfaceinvoke v.<javax.lang.model.type.ExecutableType: java.util.List getParameterTypes()>();
v = interfaceinvoke v.<java.util.List: int size()>();
if v <= 1 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, "Annotated method mapper must have one argument");
throw v;
label:
v = interfaceinvoke v.<javax.lang.model.type.ExecutableType: java.util.List getParameterTypes()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = interfaceinvoke v.<javax.lang.model.type.TypeMirror: java.lang.String toString()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("java.lang.CharSequence");
if v == 0 goto label;
v = v.<io.vertx.codegen.CodeGen: 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.String");
v = interfaceinvoke v.<javax.lang.model.element.TypeElement: javax.lang.model.type.TypeMirror asType()>();
label:
v = interfaceinvoke v.<javax.lang.model.type.ExecutableType: javax.lang.model.type.TypeMirror getReturnType()>();
v = interfaceinvoke v.<javax.lang.model.type.TypeMirror: java.lang.String toString()>();
v = staticinvoke <io.vertx.codegen.type.ClassKind: io.vertx.codegen.type.ClassKind getKind(java.lang.String,boolean)>(v, 0);
v = interfaceinvoke v.<javax.lang.model.type.TypeMirror: java.lang.String toString()>();
v = staticinvoke <io.vertx.codegen.type.ClassKind: io.vertx.codegen.type.ClassKind getKind(java.lang.String,boolean)>(v, 0);
v = v.<io.vertx.codegen.type.ClassKind: boolean json>;
if v != 0 goto label;
v = v.<io.vertx.codegen.type.ClassKind: boolean basic>;
if v != 0 goto label;
v = <io.vertx.codegen.type.ClassKind: io.vertx.codegen.type.ClassKind OBJECT>;
if v != v goto label;
label:
v = new io.vertx.codegen.type.MapperInfo;
specialinvoke v.<io.vertx.codegen.type.MapperInfo: void <init>()>();
v = interfaceinvoke v.<javax.lang.model.element.TypeElement: javax.lang.model.element.Name getQualifiedName()>();
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
virtualinvoke v.<io.vertx.codegen.type.MapperInfo: void setQualifiedName(java.lang.String)>(v);
v = v.<io.vertx.codegen.CodeGen: io.vertx.codegen.type.TypeMirrorFactory tmf>;
v = virtualinvoke v.<io.vertx.codegen.type.TypeMirrorFactory: io.vertx.codegen.type.TypeInfo create(javax.lang.model.type.TypeMirror)>(v);
virtualinvoke v.<io.vertx.codegen.type.MapperInfo: void setTargetType(io.vertx.codegen.type.TypeInfo)>(v);
virtualinvoke v.<io.vertx.codegen.type.MapperInfo: void setSelectors(java.util.List)>(v);
v = <io.vertx.codegen.MapperKind: io.vertx.codegen.MapperKind STATIC_METHOD>;
virtualinvoke v.<io.vertx.codegen.type.MapperInfo: void setKind(io.vertx.codegen.MapperKind)>(v);
v = v.<io.vertx.codegen.CodeGen: 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 = new io.vertx.codegen.GenException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (javax.lang.model.type.ExecutableType,javax.lang.model.type.TypeMirror)>(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 return should be the same or extend \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.CodeGen: io.vertx.codegen.type.TypeMirrorFactory tmf>;
virtualinvoke v.<io.vertx.codegen.type.TypeMirrorFactory: void addDataObjectDeserializer(javax.lang.model.element.Element,javax.lang.model.type.TypeMirror,io.vertx.codegen.type.MapperInfo)>(v, v, v);
goto label;
label:
v = v.<io.vertx.codegen.type.ClassKind: boolean json>;
if v != 0 goto label;
v = v.<io.vertx.codegen.type.ClassKind: boolean basic>;
if v != 0 goto label;
v = <io.vertx.codegen.type.ClassKind: io.vertx.codegen.type.ClassKind OBJECT>;
if v != v goto label;
label:
v = new io.vertx.codegen.type.MapperInfo;
specialinvoke v.<io.vertx.codegen.type.MapperInfo: void <init>()>();
v = interfaceinvoke v.<javax.lang.model.element.TypeElement: javax.lang.model.element.Name getQualifiedName()>();
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
virtualinvoke v.<io.vertx.codegen.type.MapperInfo: void setQualifiedName(java.lang.String)>(v);
v = v.<io.vertx.codegen.CodeGen: io.vertx.codegen.type.TypeMirrorFactory tmf>;
v = virtualinvoke v.<io.vertx.codegen.type.TypeMirrorFactory: io.vertx.codegen.type.TypeInfo create(javax.lang.model.type.TypeMirror)>(v);
virtualinvoke v.<io.vertx.codegen.type.MapperInfo: void setTargetType(io.vertx.codegen.type.TypeInfo)>(v);
virtualinvoke v.<io.vertx.codegen.type.MapperInfo: void setSelectors(java.util.List)>(v);
v = <io.vertx.codegen.MapperKind: io.vertx.codegen.MapperKind STATIC_METHOD>;
virtualinvoke v.<io.vertx.codegen.type.MapperInfo: void setKind(io.vertx.codegen.MapperKind)>(v);
v = v.<io.vertx.codegen.CodeGen: 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 = new io.vertx.codegen.GenException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (javax.lang.model.type.ExecutableType,javax.lang.model.type.TypeMirror)>(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 parameter should be the same or be a super type of \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.CodeGen: io.vertx.codegen.type.TypeMirrorFactory tmf>;
virtualinvoke v.<io.vertx.codegen.type.TypeMirrorFactory: void addDataObjectSerializer(javax.lang.model.element.Element,javax.lang.model.type.TypeMirror,io.vertx.codegen.type.MapperInfo)>(v, v, v);
goto label;
label:
v = new io.vertx.codegen.GenException;
specialinvoke v.<io.vertx.codegen.GenException: void <init>(javax.lang.model.element.Element,java.lang.String)>(v, "Mapper method does not declare a JSON type");
throw v;
label:
return;
}
public void registerConverter(io.vertx.codegen.CodeGen$Converter)
{
java.util.List v;
io.vertx.codegen.CodeGen$Converter v;
io.vertx.codegen.CodeGen v;
v := @this: io.vertx.codegen.CodeGen;
v := @parameter: io.vertx.codegen.CodeGen$Converter;
v = v.<io.vertx.codegen.CodeGen: java.util.List converters>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
return;
}
public transient void registerConverter(java.lang.String, java.lang.String, java.lang.String[])
{
java.util.List v, v;
java.lang.String[] v;
java.lang.String v, v;
io.vertx.codegen.CodeGen$Converter v;
io.vertx.codegen.CodeGen v;
v := @this: io.vertx.codegen.CodeGen;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String[];
v = v.<io.vertx.codegen.CodeGen: java.util.List converters>;
v = new io.vertx.codegen.CodeGen$Converter;
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
specialinvoke v.<io.vertx.codegen.CodeGen$Converter: void <init>(java.lang.String,java.lang.String,java.util.List)>(v, v, v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
return;
}
public java.util.stream.Stream getModels()
{
java.util.Iterator v;
java.util.Collection v, v;
java.util.stream.Stream v, v, v, v, v, v;
java.util.Map v;
java.lang.Object v;
io.vertx.codegen.CodeGen v;
boolean v;
v := @this: io.vertx.codegen.CodeGen;
v = staticinvoke <java.util.stream.Stream: java.util.stream.Stream empty()>();
v = v.<io.vertx.codegen.CodeGen: java.util.Map models>;
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 = interfaceinvoke v.<java.util.Map: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: 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);
goto label;
label:
v = specialinvoke v.<io.vertx.codegen.CodeGen: java.util.stream.Stream getModuleModels()>();
v = specialinvoke v.<io.vertx.codegen.CodeGen: java.util.stream.Stream getPackageModels()>();
v = staticinvoke <java.util.stream.Stream: java.util.stream.Stream concat(java.util.stream.Stream,java.util.stream.Stream)>(v, v);
v = staticinvoke <java.util.stream.Stream: java.util.stream.Stream concat(java.util.stream.Stream,java.util.stream.Stream)>(v, v);
return v;
}
private java.util.stream.Stream getPackageModels()
{
java.util.Set v;
java.util.function.Function v, v;
javax.lang.model.util.Elements v;
java.util.stream.Stream v, v, v, v;
io.vertx.codegen.CodeGen v;
v := @this: io.vertx.codegen.CodeGen;
v = v.<io.vertx.codegen.CodeGen: java.util.Set all>;
v = interfaceinvoke v.<java.util.Set: java.util.stream.Stream stream()>();
v = v.<io.vertx.codegen.CodeGen: javax.lang.model.util.Elements elementUtils>;
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <io.vertx.codegen.CodeGen$getPackageOf__2888: java.util.function.Function bootstrap$(javax.lang.model.util.Elements)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream distinct()>();
v = staticinvoke <io.vertx.codegen.CodeGen$lambda_getPackageModels_15__2889: java.util.function.Function bootstrap$(io.vertx.codegen.CodeGen)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
return v;
}
private java.util.stream.Stream getModuleModels()
{
java.util.stream.Stream v, v;
java.util.Set v;
java.util.HashMap v;
java.util.function.Function v;
io.vertx.codegen.CodeGen v;
v := @this: io.vertx.codegen.CodeGen;
v = v.<io.vertx.codegen.CodeGen: java.util.HashMap modules>;
v = virtualinvoke v.<java.util.HashMap: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.stream.Stream stream()>();
v = staticinvoke <io.vertx.codegen.CodeGen$lambda_getModuleModels_17__2890: java.util.function.Function bootstrap$(io.vertx.codegen.CodeGen)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
return v;
}
public io.vertx.codegen.ModuleModel getModuleModel(java.lang.String)
{
io.vertx.codegen.ModuleModel v;
java.lang.Object v;
java.util.HashMap v;
java.lang.String v;
javax.lang.model.util.Types v;
javax.lang.model.util.Elements v;
io.vertx.codegen.CodeGen v;
v := @this: io.vertx.codegen.CodeGen;
v := @parameter: java.lang.String;
v = v.<io.vertx.codegen.CodeGen: java.util.HashMap modules>;
v = virtualinvoke v.<java.util.HashMap: java.lang.Object get(java.lang.Object)>(v);
v = new io.vertx.codegen.ModuleModel;
v = v.<io.vertx.codegen.CodeGen: javax.lang.model.util.Elements elementUtils>;
v = v.<io.vertx.codegen.CodeGen: javax.lang.model.util.Types typeUtils>;
specialinvoke v.<io.vertx.codegen.ModuleModel: void <init>(javax.lang.model.util.Elements,javax.lang.model.util.Types,javax.lang.model.element.PackageElement)>(v, v, v);
return v;
}
public io.vertx.codegen.PackageModel getPackageModel(java.lang.String)
{
java.util.function.Predicate v;
java.util.function.Function v;
java.util.stream.Stream v, v;
java.util.Optional v, v;
java.lang.Object v;
java.lang.String v;
io.vertx.codegen.CodeGen v;
v := @this: io.vertx.codegen.CodeGen;
v := @parameter: java.lang.String;
v = specialinvoke v.<io.vertx.codegen.CodeGen: java.util.stream.Stream getPackageModels()>();
v = staticinvoke <io.vertx.codegen.CodeGen$lambda_getPackageModel_18__2891: 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 = interfaceinvoke v.<java.util.stream.Stream: java.util.Optional findFirst()>();
v = staticinvoke <io.vertx.codegen.CodeGen$getValue__2892: java.util.function.Function bootstrap$()>();
v = virtualinvoke v.<java.util.Optional: java.util.Optional map(java.util.function.Function)>(v);
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElse(java.lang.Object)>(null);
return v;
}
public io.vertx.codegen.Model getModel(java.lang.String, java.lang.String)
{
java.lang.IllegalArgumentException v, v;
java.util.Map v;
java.lang.Object v, v, v;
java.lang.String v, v, v, v;
io.vertx.codegen.CodeGen v;
v := @this: io.vertx.codegen.CodeGen;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = v.<io.vertx.codegen.CodeGen: java.util.Map models>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = new java.lang.IllegalArgumentException;
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[])>("Source for \u not found");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = new java.lang.IllegalArgumentException;
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[])>("Source for \u not found");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
return v;
}
public io.vertx.codegen.ClassModel getClassModel(java.lang.String)
{
io.vertx.codegen.Model v;
java.lang.String v;
io.vertx.codegen.CodeGen v;
v := @this: io.vertx.codegen.CodeGen;
v := @parameter: java.lang.String;
v = virtualinvoke v.<io.vertx.codegen.CodeGen: io.vertx.codegen.Model getModel(java.lang.String,java.lang.String)>(v, "class");
return v;
}
public io.vertx.codegen.EnumModel getEnumModel(java.lang.String)
{
io.vertx.codegen.Model v;
java.lang.String v;
io.vertx.codegen.CodeGen v;
v := @this: io.vertx.codegen.CodeGen;
v := @parameter: java.lang.String;
v = virtualinvoke v.<io.vertx.codegen.CodeGen: io.vertx.codegen.Model getModel(java.lang.String,java.lang.String)>(v, "enum");
return v;
}
public io.vertx.codegen.DataObjectModel getDataObjectModel(java.lang.String)
{
io.vertx.codegen.Model v;
java.lang.String v;
io.vertx.codegen.CodeGen v;
v := @this: io.vertx.codegen.CodeGen;
v := @parameter: java.lang.String;
v = virtualinvoke v.<io.vertx.codegen.CodeGen: io.vertx.codegen.Model getModel(java.lang.String,java.lang.String)>(v, "dataObject");
return v;
}
static void <clinit>()
{
java.util.Iterator v;
java.util.ServiceLoader v;
java.util.logging.Logger v;
java.lang.Exception v;
java.util.ArrayList v;
io.vertx.codegen.ModelProvider v, v, v;
java.lang.Class v, v;
java.lang.Object v;
java.lang.ClassLoader v;
java.lang.String v;
java.util.WeakHashMap v;
boolean v;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = <io.vertx.codegen.ModelProvider: io.vertx.codegen.ModelProvider CLASS>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = <io.vertx.codegen.ModelProvider: io.vertx.codegen.ModelProvider DATA_OBJECT>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = <io.vertx.codegen.ModelProvider: io.vertx.codegen.ModelProvider ENUM>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
v = class "Lio/vertx/codegen/ModelProvider;";
v = virtualinvoke v.<java.lang.Class: java.lang.ClassLoader getClassLoader()>();
v = staticinvoke <java.util.ServiceLoader: java.util.ServiceLoader load(java.lang.Class,java.lang.ClassLoader)>(class "Lio/vertx/codegen/ModelProvider;", v);
v = virtualinvoke v.<java.util.ServiceLoader: 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()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v := @caughtexception;
virtualinvoke v.<java.lang.Exception: void printStackTrace()>();
label:
<io.vertx.codegen.CodeGen: java.util.List PROVIDERS> = v;
v = class "Lio/vertx/codegen/CodeGen;";
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.CodeGen: java.util.logging.Logger logger> = v;
v = new java.util.WeakHashMap;
specialinvoke v.<java.util.WeakHashMap: void <init>()>();
<io.vertx.codegen.CodeGen: java.util.Map loaderMap> = v;
return;
catch java.lang.Exception from label to label with label;
}
}