public class io.vertx.codegen.Compiler extends java.lang.Object
{
private javax.'annotation'.processing.Processor processor;
private javax.tools.DiagnosticListener diagnosticListener;
private java.util.List options;
private java.io.File classOutput;
private java.io.File sourceOutput;
private static java.io.File createTempDir() throws java.io.IOException
{
java.nio.file.Path v;
java.nio.file.attribute.FileAttribute[] v;
java.io.File v;
v = newarray (java.nio.file.attribute.FileAttribute)[0];
v = staticinvoke <java.nio.file.Files: java.nio.file.Path createTempDirectory(java.lang.String,java.nio.file.attribute.FileAttribute[])>("codegen", v);
v = interfaceinvoke v.<java.nio.file.Path: java.io.File toFile()>();
virtualinvoke v.<java.io.File: void deleteOnExit()>();
return v;
}
public void <init>(javax.'annotation'.processing.Processor)
{
io.vertx.codegen.Compiler v;
javax.'annotation'.processing.Processor v;
javax.tools.DiagnosticCollector v;
v := @this: io.vertx.codegen.Compiler;
v := @parameter: javax.'annotation'.processing.Processor;
v = new javax.tools.DiagnosticCollector;
specialinvoke v.<javax.tools.DiagnosticCollector: void <init>()>();
specialinvoke v.<io.vertx.codegen.Compiler: void <init>(javax.'annotation'.processing.Processor,javax.tools.DiagnosticListener)>(v, v);
return;
}
public void <init>(javax.'annotation'.processing.Processor, javax.tools.DiagnosticListener)
{
io.vertx.codegen.Compiler v;
javax.tools.DiagnosticListener v;
javax.'annotation'.processing.Processor v;
java.util.ArrayList v;
v := @this: io.vertx.codegen.Compiler;
v := @parameter: javax.'annotation'.processing.Processor;
v := @parameter: javax.tools.DiagnosticListener;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v.<io.vertx.codegen.Compiler: java.util.List options> = v;
v.<io.vertx.codegen.Compiler: javax.'annotation'.processing.Processor processor> = v;
v.<io.vertx.codegen.Compiler: javax.tools.DiagnosticListener diagnosticListener> = v;
return;
}
public void <init>()
{
io.vertx.codegen.Compiler v;
v := @this: io.vertx.codegen.Compiler;
specialinvoke v.<io.vertx.codegen.Compiler: void <init>(javax.'annotation'.processing.Processor)>(null);
return;
}
public javax.'annotation'.processing.Processor getProcessor()
{
io.vertx.codegen.Compiler v;
javax.'annotation'.processing.Processor v;
v := @this: io.vertx.codegen.Compiler;
v = v.<io.vertx.codegen.Compiler: javax.'annotation'.processing.Processor processor>;
return v;
}
public io.vertx.codegen.Compiler addOption(java.lang.String)
{
java.util.List v;
java.lang.String v;
io.vertx.codegen.Compiler v;
v := @this: io.vertx.codegen.Compiler;
v := @parameter: java.lang.String;
v = v.<io.vertx.codegen.Compiler: java.util.List options>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
return v;
}
public java.io.File getClassOutput()
{
io.vertx.codegen.Compiler v;
java.io.File v;
v := @this: io.vertx.codegen.Compiler;
v = v.<io.vertx.codegen.Compiler: java.io.File classOutput>;
return v;
}
public void setClassOutput(java.io.File)
{
io.vertx.codegen.Compiler v;
java.io.File v;
v := @this: io.vertx.codegen.Compiler;
v := @parameter: java.io.File;
v.<io.vertx.codegen.Compiler: java.io.File classOutput> = v;
return;
}
public java.io.File getSourceOutput()
{
io.vertx.codegen.Compiler v;
java.io.File v;
v := @this: io.vertx.codegen.Compiler;
v = v.<io.vertx.codegen.Compiler: java.io.File sourceOutput>;
return v;
}
public void setSourceOutput(java.io.File)
{
io.vertx.codegen.Compiler v;
java.io.File v;
v := @this: io.vertx.codegen.Compiler;
v := @parameter: java.io.File;
v.<io.vertx.codegen.Compiler: java.io.File sourceOutput> = v;
return;
}
public transient boolean compile(java.lang.Class[]) throws java.lang.Exception
{
java.util.List v;
io.vertx.codegen.Compiler v;
java.lang.Class[] v;
boolean v;
v := @this: io.vertx.codegen.Compiler;
v := @parameter: java.lang.Class[];
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
v = virtualinvoke v.<io.vertx.codegen.Compiler: boolean compile(java.util.List)>(v);
return v;
}
public boolean compile(java.util.List) throws java.lang.Exception
{
java.lang.Throwable v, v;
java.lang.IllegalStateException v;
java.lang.Object[] v;
java.util.Scanner v, v;
java.util.ArrayList v;
int v;
java.lang.String v, v, v, v, v, v, v;
boolean v, v;
java.io.PrintStream v;
io.vertx.codegen.Compiler v;
java.util.Iterator v;
java.io.FileOutputStream v;
java.io.File v, v;
java.util.List v;
java.lang.Object v;
java.lang.ClassLoader v;
java.io.File[] v;
java.io.InputStream v;
v := @this: io.vertx.codegen.Compiler;
v := @parameter: java.util.List;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getCanonicalName()>();
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>(".", "/");
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[])>("\u.java");
v = virtualinvoke v.<java.lang.Class: java.lang.ClassLoader getClassLoader()>();
v = virtualinvoke v.<java.lang.ClassLoader: java.io.InputStream getResourceAsStream(java.lang.String)>(v);
if v != null goto label;
v = new java.lang.IllegalStateException;
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[])>("Can\'t find source on classpath: \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = new java.util.Scanner;
specialinvoke v.<java.util.Scanner: void <init>(java.io.InputStream,java.lang.String)>(v, "UTF-8");
v = virtualinvoke v.<java.util.Scanner: java.util.Scanner useDelimiter(java.lang.String)>("\\A");
label:
v = virtualinvoke v.<java.util.Scanner: java.lang.String next()>();
label:
virtualinvoke v.<java.util.Scanner: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String)>("java.io.tmpdir");
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001/\u0001");
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<java.io.File: java.io.File getParentFile()>();
virtualinvoke v.<java.io.File: boolean mkdirs()>();
v = new java.io.PrintStream;
v = new java.io.FileOutputStream;
specialinvoke v.<java.io.FileOutputStream: void <init>(java.lang.String)>(v);
specialinvoke v.<java.io.PrintStream: void <init>(java.io.OutputStream)>(v);
label:
virtualinvoke v.<java.io.PrintStream: void print(java.lang.String)>(v);
label:
virtualinvoke v.<java.io.PrintStream: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
virtualinvoke v.<java.util.ArrayList: boolean add(java.lang.Object)>(v);
goto label;
label:
v = virtualinvoke v.<java.util.ArrayList: int size()>();
v = newarray (java.io.File)[v];
v = virtualinvoke v.<java.util.ArrayList: java.lang.Object[] toArray(java.lang.Object[])>(v);
v = virtualinvoke v.<io.vertx.codegen.Compiler: boolean compile(java.io.File[])>(v);
return v;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public transient boolean compile(java.io.File[]) throws java.lang.Exception
{
java.lang.Throwable v, v, v;
io.vertx.codegen.Compiler$NullWriter v;
java.lang.Iterable v;
java.lang.Boolean v;
boolean v, v;
javax.tools.StandardLocation v, v;
io.vertx.codegen.Compiler v;
javax.tools.JavaCompiler v;
java.lang.RuntimeException v;
javax.'annotation'.processing.Processor v;
java.io.File v, v, v, v, v, v;
javax.tools.JavaCompiler$CompilationTask v;
javax.tools.StandardJavaFileManager v;
java.util.List v, v, v, v;
javax.tools.DiagnosticListener v, v;
java.io.File[] v;
v := @this: io.vertx.codegen.Compiler;
v := @parameter: java.io.File[];
v = staticinvoke <javax.tools.ToolProvider: javax.tools.JavaCompiler getSystemJavaCompiler()>();
v = v.<io.vertx.codegen.Compiler: javax.tools.DiagnosticListener diagnosticListener>;
v = interfaceinvoke v.<javax.tools.JavaCompiler: javax.tools.StandardJavaFileManager getStandardFileManager(javax.tools.DiagnosticListener,java.util.Locale,java.nio.charset.Charset)>(v, null, null);
v = v.<io.vertx.codegen.Compiler: java.io.File classOutput>;
if v != null goto label;
v = staticinvoke <io.vertx.codegen.Compiler: java.io.File createTempDir()>();
v.<io.vertx.codegen.Compiler: java.io.File classOutput> = v;
label:
v = v.<io.vertx.codegen.Compiler: java.io.File sourceOutput>;
if v != null goto label;
v = staticinvoke <io.vertx.codegen.Compiler: java.io.File createTempDir()>();
v.<io.vertx.codegen.Compiler: java.io.File sourceOutput> = v;
label:
v = <javax.tools.StandardLocation: javax.tools.StandardLocation CLASS_OUTPUT>;
v = v.<io.vertx.codegen.Compiler: java.io.File classOutput>;
v = staticinvoke <java.util.Collections: java.util.List singletonList(java.lang.Object)>(v);
interfaceinvoke v.<javax.tools.StandardJavaFileManager: void setLocation(javax.tools.JavaFileManager$Location,java.lang.Iterable)>(v, v);
v = <javax.tools.StandardLocation: javax.tools.StandardLocation SOURCE_OUTPUT>;
v = v.<io.vertx.codegen.Compiler: java.io.File sourceOutput>;
v = staticinvoke <java.util.Collections: java.util.List singletonList(java.lang.Object)>(v);
interfaceinvoke v.<javax.tools.StandardJavaFileManager: void setLocation(javax.tools.JavaFileManager$Location,java.lang.Iterable)>(v, v);
v = interfaceinvoke v.<javax.tools.StandardJavaFileManager: java.lang.Iterable getJavaFileObjects(java.io.File[])>(v);
v = new io.vertx.codegen.Compiler$NullWriter;
specialinvoke v.<io.vertx.codegen.Compiler$NullWriter: void <init>()>();
v = v.<io.vertx.codegen.Compiler: javax.tools.DiagnosticListener diagnosticListener>;
v = v.<io.vertx.codegen.Compiler: java.util.List options>;
v = interfaceinvoke v.<javax.tools.JavaCompiler: javax.tools.JavaCompiler$CompilationTask getTask(java.io.Writer,javax.tools.JavaFileManager,javax.tools.DiagnosticListener,java.lang.Iterable,java.lang.Iterable,java.lang.Iterable)>(v, v, v, v, null, v);
v = v.<io.vertx.codegen.Compiler: javax.'annotation'.processing.Processor processor>;
v = staticinvoke <java.util.Collections: java.util.List singletonList(java.lang.Object)>(v);
interfaceinvoke v.<javax.tools.JavaCompiler$CompilationTask: void setProcessors(java.lang.Iterable)>(v);
label:
v = interfaceinvoke v.<javax.tools.JavaCompiler$CompilationTask: java.lang.Boolean call()>();
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
label:
return v;
label:
v := @caughtexception;
v = virtualinvoke v.<java.lang.RuntimeException: java.lang.Throwable getCause()>();
if v == null goto label;
v = virtualinvoke v.<java.lang.RuntimeException: java.lang.Throwable getCause()>();
v = v instanceof java.lang.RuntimeException;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.RuntimeException: java.lang.Throwable getCause()>();
throw v;
label:
throw v;
catch java.lang.RuntimeException from label to label with label;
}
}