public class org.finos.legend.engine.external.language.java.runtime.compiler.SourceCodeHelper extends java.lang.Object
{
public static final java.lang.String VALID_CLASS;
public static final java.lang.String INVALID_CLASS;
public void <init>()
{
org.finos.legend.engine.external.language.java.runtime.compiler.SourceCodeHelper v;
v := @this: org.finos.legend.engine.external.language.java.runtime.compiler.SourceCodeHelper;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static javax.tools.JavaFileObject loadSourceCode(java.lang.String)
{
java.net.URL v;
java.net.URISyntaxException v;
java.lang.RuntimeException v;
org.finos.legend.engine.external.language.java.runtime.compiler.SourceCodeHelper$1 v;
java.lang.String v, v;
java.net.URI v;
javax.tools.JavaFileObject$Kind v;
v := @parameter: java.lang.String;
v = staticinvoke <org.finos.legend.engine.external.language.java.runtime.compiler.SourceCodeHelper: java.net.URL getSourceCodeURL(java.lang.String)>(v);
v = staticinvoke <org.finos.legend.engine.external.language.java.runtime.compiler.SourceCodeHelper: java.lang.String loadSourceCodeContent(java.net.URL)>(v);
label:
v = virtualinvoke v.<java.net.URL: java.net.URI toURI()>();
label:
goto label;
label:
v := @caughtexception;
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
v = new org.finos.legend.engine.external.language.java.runtime.compiler.SourceCodeHelper$1;
v = <javax.tools.JavaFileObject$Kind: javax.tools.JavaFileObject$Kind SOURCE>;
specialinvoke v.<org.finos.legend.engine.external.language.java.runtime.compiler.SourceCodeHelper$1: void <init>(java.net.URI,javax.tools.JavaFileObject$Kind,java.lang.String)>(v, v, v);
return v;
catch java.net.URISyntaxException from label to label with label;
}
public static java.lang.String loadSourceCodeContent(java.lang.String)
{
java.lang.String v, v;
java.net.URL v;
v := @parameter: java.lang.String;
v = staticinvoke <org.finos.legend.engine.external.language.java.runtime.compiler.SourceCodeHelper: java.net.URL getSourceCodeURL(java.lang.String)>(v);
v = staticinvoke <org.finos.legend.engine.external.language.java.runtime.compiler.SourceCodeHelper: java.lang.String loadSourceCodeContent(java.net.URL)>(v);
return v;
}
private static java.net.URL getSourceCodeURL(java.lang.String)
{
java.net.URL v;
java.lang.RuntimeException v;
java.lang.Thread v;
java.lang.ClassLoader v;
java.lang.String v, v, v, v;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: java.lang.String replace(char,char)>(46, 47);
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 = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
v = virtualinvoke v.<java.lang.Thread: java.lang.ClassLoader getContextClassLoader()>();
v = virtualinvoke v.<java.lang.ClassLoader: java.net.URL getResource(java.lang.String)>(v);
if v != null goto label;
v = new java.lang.RuntimeException;
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[])>("Cannot find source: \u0001");
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>(v);
throw v;
label:
return v;
}
private static java.lang.String loadSourceCodeContent(java.net.URL)
{
java.lang.Throwable v;
java.net.URL v;
java.io.IOException v;
java.io.InputStreamReader v;
java.io.UncheckedIOException v;
int v, v;
char[] v;
java.lang.StringBuilder v;
java.lang.String v;
java.io.InputStream v;
v := @parameter: java.net.URL;
label:
v = new java.io.InputStreamReader;
v = virtualinvoke v.<java.net.URL: java.io.InputStream openStream()>();
specialinvoke v.<java.io.InputStreamReader: void <init>(java.io.InputStream)>(v);
label:
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = newarray (char)[8096];
label:
v = virtualinvoke v.<java.io.Reader: int read(char[])>(v);
v = (int) -1;
if v == v goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char[],int,int)>(v, 0, v);
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
label:
virtualinvoke v.<java.io.Reader: void close()>();
label:
return v;
label:
v := @caughtexception;
throw v;
label:
v := @caughtexception;
v = new java.io.UncheckedIOException;
specialinvoke v.<java.io.UncheckedIOException: void <init>(java.io.IOException)>(v);
throw v;
catch java.lang.Throwable from label to label with label;
catch java.io.IOException from label to label with label;
}
}