public class org.finos.legend.engine.ide.api.concept.GetConcept extends java.lang.Object implements org.finos.legend.engine.ide.session.SimpleFunction
{
public void <init>()
{
org.finos.legend.engine.ide.api.concept.GetConcept v;
v := @this: org.finos.legend.engine.ide.api.concept.GetConcept;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public void run(org.finos.legend.engine.ide.session.PureSession, org.json.simple.JSONObject, org.json.simple.JSONArray, javax.servlet.http.HttpServletResponse, java.io.OutputStream) throws java.lang.Exception
{
byte[] v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.finos.legend.pure.m.serialization.runtime.cache.PureGraphCache v, v;
org.finos.legend.engine.ide.session.PureSession v;
org.finos.legend.pure.m.serialization.runtime.PureRuntime v;
java.lang.Throwable v, v;
org.finos.legend.engine.ide.api.concept.GetConcept v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.finos.legend.pure.m.coreinstance.SourceInformation v;
org.finos.legend.pure.m.coreinstance.CoreInstance v;
org.finos.legend.pure.m.serialization.runtime.Source v, v;
org.finos.legend.pure.m.navigation.ProcessorSupport v;
org.finos.legend.engine.ide.helpers.response.IDEResponse v;
boolean v, v, v, v, v;
org.json.simple.JSONObject v;
org.finos.legend.pure.m.serialization.runtime.cache.CacheState v, v;
org.json.simple.JSONArray v;
int v, v, v, v;
java.io.OutputStream v;
javax.servlet.http.HttpServletResponse v;
java.lang.Object v, v, v;
v := @this: org.finos.legend.engine.ide.api.concept.GetConcept;
v := @parameter: org.finos.legend.engine.ide.session.PureSession;
v := @parameter: org.json.simple.JSONObject;
v := @parameter: org.json.simple.JSONArray;
v := @parameter: javax.servlet.http.HttpServletResponse;
v := @parameter: java.io.OutputStream;
v = null;
v = "";
v = virtualinvoke v.<org.finos.legend.engine.ide.session.PureSession: org.finos.legend.pure.m.serialization.runtime.PureRuntime getPureRuntime()>();
v = virtualinvoke v.<org.finos.legend.pure.m.serialization.runtime.PureRuntime: org.finos.legend.pure.m.navigation.ProcessorSupport getProcessorSupport()>();
v = virtualinvoke v.<org.json.simple.JSONObject: java.lang.Object get(java.lang.Object)>("file");
v = virtualinvoke v.<org.finos.legend.pure.m.serialization.runtime.PureRuntime: org.finos.legend.pure.m.serialization.runtime.Source getSourceById(java.lang.String)>(v);
v = virtualinvoke v.<org.finos.legend.pure.m.serialization.runtime.Source: boolean isCompiled()>();
if v != 0 goto label;
label:
virtualinvoke v.<org.finos.legend.pure.m.serialization.runtime.PureRuntime: org.finos.legend.pure.m.SourceMutation compile()>();
label:
goto label;
label:
v := @caughtexception;
v = v;
v = staticinvoke <org.finos.legend.engine.ide.helpers.response.ExceptionTranslation: org.finos.legend.engine.ide.helpers.response.IDEResponse pureExceptionToJson(org.finos.legend.engine.ide.session.PureSession,org.finos.legend.pure.m.exception.PureException,java.io.ByteArrayOutputStream)>(v, v, null);
v = virtualinvoke v.<org.finos.legend.engine.ide.helpers.response.IDEResponse: java.lang.String getText()>();
v = staticinvoke <org.json.simple.JSONValue: java.lang.String escape(java.lang.String)>(v);
v = virtualinvoke v.<org.finos.legend.pure.m.serialization.runtime.Source: boolean isCompiled()>();
if v != 0 goto label;
throw v;
label:
v = virtualinvoke v.<org.json.simple.JSONObject: java.lang.Object get(java.lang.Object)>("line");
v = virtualinvoke v.<org.json.simple.JSONObject: java.lang.Object get(java.lang.Object)>("column");
v = virtualinvoke v.<java.lang.Long: int intValue()>();
v = virtualinvoke v.<java.lang.Long: int intValue()>();
v = virtualinvoke v.<org.finos.legend.pure.m.serialization.runtime.Source: org.finos.legend.pure.m.coreinstance.CoreInstance navigate(int,int,org.finos.legend.pure.m.navigation.ProcessorSupport)>(v, v, v);
if null == v goto label;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.CoreInstance: org.finos.legend.pure.m.coreinstance.SourceInformation getSourceInformation()>();
if null != v goto label;
if null != v goto label;
v = "Navigation is not supported yet for this element!";
goto label;
label:
v = 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[])>("{\"error\":true,\"text\":\"\u0001\"");
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
virtualinvoke v.<java.io.OutputStream: void write(byte[])>(v);
v = ",\"compiler\":\"\"";
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
virtualinvoke v.<java.io.OutputStream: void write(byte[])>(v);
v = virtualinvoke v.<org.finos.legend.pure.m.serialization.runtime.PureRuntime: org.finos.legend.pure.m.serialization.runtime.cache.PureGraphCache getCache()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.serialization.runtime.cache.PureGraphCache: org.finos.legend.pure.m.serialization.runtime.cache.CacheState getCacheState()>();
v = virtualinvoke v.<org.finos.legend.pure.m.serialization.runtime.cache.CacheState: boolean isCached()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (boolean)>(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[])>(",\"cached\":\u0001");
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
virtualinvoke v.<java.io.OutputStream: void write(byte[])>(v);
if null == v goto label;
v = ",\"exceptionType\":\"Parser error\"";
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
virtualinvoke v.<java.io.OutputStream: void write(byte[])>(v);
label:
v = "}";
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
virtualinvoke v.<java.io.OutputStream: void write(byte[])>(v);
goto label;
label:
v = virtualinvoke v.<org.finos.legend.pure.m.coreinstance.SourceInformation: java.lang.String getSourceId()>();
v = virtualinvoke v.<org.finos.legend.pure.m.serialization.runtime.PureRuntime: org.finos.legend.pure.m.serialization.runtime.Source getSourceById(java.lang.String)>(v);
if null != v goto label;
v = "";
goto label;
label:
v = 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[])>("{\"text\":\"\u0001\"");
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
virtualinvoke v.<java.io.OutputStream: void write(byte[])>(v);
v = ",\"compiler\":\"\"";
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
virtualinvoke v.<java.io.OutputStream: void write(byte[])>(v);
v = virtualinvoke v.<org.finos.legend.pure.m.coreinstance.SourceInformation: java.lang.String getSourceId()>();
v = virtualinvoke v.<org.finos.legend.pure.m.coreinstance.SourceInformation: int getLine()>();
v = virtualinvoke v.<org.finos.legend.pure.m.coreinstance.SourceInformation: int getColumn()>();
v = virtualinvoke v.<org.finos.legend.pure.m.serialization.runtime.Source: boolean isImmutable()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,int,int,boolean)>(v, 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[])>(",\"jumpTo\":{\"source\":\"\u0001\", \"line\":\u, \"column\":\u, \"RO\":\"\u0001\"}");
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
virtualinvoke v.<java.io.OutputStream: void write(byte[])>(v);
v = virtualinvoke v.<org.finos.legend.pure.m.serialization.runtime.PureRuntime: org.finos.legend.pure.m.serialization.runtime.cache.PureGraphCache getCache()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.serialization.runtime.cache.PureGraphCache: org.finos.legend.pure.m.serialization.runtime.cache.CacheState getCacheState()>();
v = virtualinvoke v.<org.finos.legend.pure.m.serialization.runtime.cache.CacheState: boolean isCached()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (boolean)>(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[])>(",\"cached\":\u0001");
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
virtualinvoke v.<java.io.OutputStream: void write(byte[])>(v);
if null == v goto label;
v = ",\"exceptionType\":\"Parser error\"";
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
virtualinvoke v.<java.io.OutputStream: void write(byte[])>(v);
label:
v = "}";
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
virtualinvoke v.<java.io.OutputStream: void write(byte[])>(v);
goto label;
label:
if null != v goto label;
v = "Navigation is not supported yet for this element!";
goto label;
label:
v = 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[])>("{\"error\":true,\"text\":\"\u0001\"");
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
virtualinvoke v.<java.io.OutputStream: void write(byte[])>(v);
v = ",\"compiler\":\"\"";
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
virtualinvoke v.<java.io.OutputStream: void write(byte[])>(v);
if null == v goto label;
v = ",\"exceptionType\":\"Parser error\"";
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
virtualinvoke v.<java.io.OutputStream: void write(byte[])>(v);
label:
v = "}";
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
virtualinvoke v.<java.io.OutputStream: void write(byte[])>(v);
label:
return;
catch org.finos.legend.pure.m.exception.PureException from label to label with label;
}
}