public abstract class org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava extends org.finos.legend.pure.m.tests.AbstractPureTestWithCoreCompiled
{
public void <init>()
{
org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava v;
v := @this: org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava;
specialinvoke v.<org.finos.legend.pure.m.tests.AbstractPureTestWithCoreCompiled: void <init>()>();
return;
}
public void deleteTestSources()
{
org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava v;
org.finos.legend.pure.m.serialization.runtime.PureRuntime v, v;
v := @this: org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava;
v = <org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava: org.finos.legend.pure.m.serialization.runtime.PureRuntime runtime>;
virtualinvoke v.<org.finos.legend.pure.m.serialization.runtime.PureRuntime: void delete(java.lang.String)>("fromString.pure");
v = <org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava: org.finos.legend.pure.m.serialization.runtime.PureRuntime runtime>;
virtualinvoke v.<org.finos.legend.pure.m.serialization.runtime.PureRuntime: org.finos.legend.pure.m.SourceMutation compile()>();
return;
}
public void testCompileEmpty()
{
java.lang.String[] v;
org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava v;
v := @this: org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava;
v = newarray (java.lang.String)[3];
v[0] = "let emptyResult = compileJava([]->cast(@JavaSource), []);";
v[1] = "assert($emptyResult.successful, |\'expected successful compilation\');";
v[2] = "assert($emptyResult.errors->isEmpty(), |$emptyResult.errors->joinStrings(\'expected no errors, got: \\\'\', \'\\\', \\\'\', \'\\\'\'));";
specialinvoke v.<org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava: void compileAndExecute(java.lang.String[])>(v);
return;
}
public void testCompileAndExecuteEmpty()
{
java.lang.String[] v;
org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava v;
v := @this: org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava;
v = newarray (java.lang.String)[5];
v[0] = "let emptyResult = compileAndExecuteJava([]->cast(@JavaSource), [], ^ExecutionConfiguration(class=\'not.a.real.Cls\', method=\'none\'));";
v[1] = "assert($emptyResult.compilationResult.successful, |\'expected successful compilation\');";
v[2] = "assert(!$emptyResult.executionResult->toOne().successful, |\'expected failed execution\');";
v[3] = "assert($emptyResult.executionResult.error->toOne()->startsWith(\'java.lang.ClassNotFoundException: not.a.real.Cls\'), |\'unexpected error: \' + $emptyResult.executionResult.error->toOne());";
v[4] = "assert($emptyResult.executionResult.returnValue->isEmpty(), |\'unexpected returnValue: \' + $emptyResult.executionResult.returnValue->toOne()->toString());";
specialinvoke v.<org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava: void compileAndExecute(java.lang.String[])>(v);
return;
}
public void testCompileInvalidJava()
{
java.lang.String[] v;
org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava v;
int v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v;
v := @this: org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava;
v = staticinvoke <org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava: java.lang.String loadSourceCodeEscaped(java.lang.String)>("org.finos.legend.engine.external.language.java.runtime.compiler.shared.InvalidJavaClass");
v = "org.finos.legend.engine.external.language.java.runtime.compiler.shared.InvalidJavaClass";
v = virtualinvoke v.<java.lang.String: int lastIndexOf(int)>(46);
v = "org.finos.legend.engine.external.language.java.runtime.compiler.shared.InvalidJavaClass";
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
v = "org.finos.legend.engine.external.language.java.runtime.compiler.shared.InvalidJavaClass";
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = staticinvoke <java.lang.System: java.lang.String lineSeparator()>();
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>("\n", "\\n");
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>("\r", "\\r");
v = newarray (java.lang.String)[4];
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String)>(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[])>("let invalidResult = compileJava(^JavaSource(package=\'\u0001\', name=\'\u0001\', content=\'\u0001\'), []);");
v[0] = v;
v[1] = "assert(false == $invalidResult.successful, |\'expected unsuccessful compilation\');";
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[])>("let expectedErrors = [\'/org/finos/legend/engine/external/language/java/runtime/compiler/shared/InvalidJavaClass.java:28:13\u0001cannot assign a value to final variable name\', \'/org/finos/legend/engine/external/language/java/runtime/compiler/shared/InvalidJavaClass.java:28:21\u0001incompatible types: java.lang.Integer cannot be converted to java.lang.String\'];");
v[2] = v;
v[3] = "assert($expectedErrors == $invalidResult.errors, |\'expected: \' + $expectedErrors->map(x | $x->toRepresentation())->joinStrings(\'[\', \', \', \']\') + \'\\nactual: \' + $invalidResult.errors->map(x | $x->toRepresentation())->joinStrings(\'[\', \', \', \']\'));";
specialinvoke v.<org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava: void compileAndExecute(java.lang.String[])>(v);
return;
}
public void testCompileAndExecuteInvalidJava()
{
java.lang.String[] v;
org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava v;
int v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v;
v := @this: org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava;
v = staticinvoke <org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava: java.lang.String loadSourceCodeEscaped(java.lang.String)>("org.finos.legend.engine.external.language.java.runtime.compiler.shared.InvalidJavaClass");
v = "org.finos.legend.engine.external.language.java.runtime.compiler.shared.InvalidJavaClass";
v = virtualinvoke v.<java.lang.String: int lastIndexOf(int)>(46);
v = "org.finos.legend.engine.external.language.java.runtime.compiler.shared.InvalidJavaClass";
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
v = "org.finos.legend.engine.external.language.java.runtime.compiler.shared.InvalidJavaClass";
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = staticinvoke <java.lang.System: java.lang.String lineSeparator()>();
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>("\n", "\\n");
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>("\r", "\\r");
v = newarray (java.lang.String)[5];
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String)>(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[])>("let invalidResult = compileAndExecuteJava(^JavaSource(package=\'\u0001\', name=\'\u0001\', content=\'\u0001\'), [], ^ExecutionConfiguration(class=\'org.finos.legend.engine.external.language.java.runtime.compiler.shared.InvalidJavaClass\', method=\'main\'));");
v[0] = v;
v[1] = "assert(false == $invalidResult.compilationResult.successful, |\'expected unsuccessful compilation\');";
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[])>("let expectedErrors = [\'/org/finos/legend/engine/external/language/java/runtime/compiler/shared/InvalidJavaClass.java:28:13\u0001cannot assign a value to final variable name\', \'/org/finos/legend/engine/external/language/java/runtime/compiler/shared/InvalidJavaClass.java:28:21\u0001incompatible types: java.lang.Integer cannot be converted to java.lang.String\'];");
v[2] = v;
v[3] = "assert($expectedErrors == $invalidResult.compilationResult.errors, |\'expected: \' + $expectedErrors->map(x | $x->toRepresentation())->joinStrings(\'[\', \', \', \']\') + \'\\nactual: \' + $invalidResult.compilationResult.errors->map(x | $x->toRepresentation())->joinStrings(\'[\', \', \', \']\'));";
v[4] = "assert($invalidResult.executionResult->isEmpty(), |\'expected empty execution result, got: \' + $invalidResult.executionResult->toOne()->toString());";
specialinvoke v.<org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava: void compileAndExecute(java.lang.String[])>(v);
return;
}
public void testCompileValidJava()
{
java.lang.String[] v;
org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava v;
int v, v;
java.lang.String v, v, v, v, v, v, v;
v := @this: org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava;
v = staticinvoke <org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava: java.lang.String loadSourceCodeEscaped(java.lang.String)>("org.finos.legend.engine.external.language.java.runtime.compiler.shared.ValidJavaClass");
v = "org.finos.legend.engine.external.language.java.runtime.compiler.shared.ValidJavaClass";
v = virtualinvoke v.<java.lang.String: int lastIndexOf(int)>(46);
v = "org.finos.legend.engine.external.language.java.runtime.compiler.shared.ValidJavaClass";
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
v = "org.finos.legend.engine.external.language.java.runtime.compiler.shared.ValidJavaClass";
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = newarray (java.lang.String)[3];
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String)>(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[])>("let validResult = compileJava(^JavaSource(package=\'\u0001\', name=\'\u0001\', content=\'\u0001\'), []);");
v[0] = v;
v[1] = "assert($validResult.successful, |\'expected successful compilation\');";
v[2] = "assert($validResult.errors->isEmpty(), |$validResult.errors->joinStrings(\'expected no errors, got: \\\'\', \'\\\', \\\'\', \'\\\'\'));";
specialinvoke v.<org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava: void compileAndExecute(java.lang.String[])>(v);
return;
}
public void testCompileAndExecuteValidJavaExecuteSuccess_Void()
{
java.lang.String[] v;
org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava v;
int v, v;
java.lang.String v, v, v, v, v, v, v;
v := @this: org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava;
v = staticinvoke <org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava: java.lang.String loadSourceCodeEscaped(java.lang.String)>("org.finos.legend.engine.external.language.java.runtime.compiler.shared.ValidJavaClass");
v = "org.finos.legend.engine.external.language.java.runtime.compiler.shared.ValidJavaClass";
v = virtualinvoke v.<java.lang.String: int lastIndexOf(int)>(46);
v = "org.finos.legend.engine.external.language.java.runtime.compiler.shared.ValidJavaClass";
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
v = "org.finos.legend.engine.external.language.java.runtime.compiler.shared.ValidJavaClass";
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = newarray (java.lang.String)[7];
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String)>(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[])>("let validResult = compileAndExecuteJava(^JavaSource(package=\'\u0001\', name=\'\u0001\', content=\'\u0001\'), [], ^ExecutionConfiguration(class=\'org.finos.legend.engine.external.language.java.runtime.compiler.shared.ValidJavaClass\', method=\'succeed\'));");
v[0] = v;
v[1] = "assert($validResult.compilationResult.successful, |\'expected successful compilation\');";
v[2] = "assert($validResult.compilationResult.errors->isEmpty(), |$validResult.compilationResult.errors->joinStrings(\'expected no errors, got: \\\'\', \'\\\', \\\'\', \'\\\'\'));";
v[3] = "assert(!$validResult.executionResult->isEmpty(), |\'expected non-empty execution result\');";
v[4] = "assert($validResult.executionResult->toOne().successful, |\'expected successful execution\');";
v[5] = "assert($validResult.executionResult->toOne().error->isEmpty(), |\'expected no execution error, got: \' + $validResult.executionResult->toOne().error->toOne());";
v[6] = "assert($validResult.executionResult->toOne().returnValue == ^JavaNull(), |\'unexpected return value, got: \' + $validResult.executionResult->toOne().returnValue->toOne()->toString());";
specialinvoke v.<org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava: void compileAndExecute(java.lang.String[])>(v);
return;
}
public void testCompileAndExecuteValidJavaExecuteSuccess_String()
{
java.lang.String[] v;
org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava v;
int v, v;
java.lang.String v, v, v, v, v, v, v;
v := @this: org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava;
v = staticinvoke <org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava: java.lang.String loadSourceCodeEscaped(java.lang.String)>("org.finos.legend.engine.external.language.java.runtime.compiler.shared.ValidJavaClass");
v = "org.finos.legend.engine.external.language.java.runtime.compiler.shared.ValidJavaClass";
v = virtualinvoke v.<java.lang.String: int lastIndexOf(int)>(46);
v = "org.finos.legend.engine.external.language.java.runtime.compiler.shared.ValidJavaClass";
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
v = "org.finos.legend.engine.external.language.java.runtime.compiler.shared.ValidJavaClass";
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = newarray (java.lang.String)[7];
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String)>(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[])>("let validResult = compileAndExecuteJava(^JavaSource(package=\'\u0001\', name=\'\u0001\', content=\'\u0001\'), [], ^ExecutionConfiguration(class=\'org.finos.legend.engine.external.language.java.runtime.compiler.shared.ValidJavaClass\', method=\'succeedReturnString\'));");
v[0] = v;
v[1] = "assert($validResult.compilationResult.successful, |\'expected successful compilation\');";
v[2] = "assert($validResult.compilationResult.errors->isEmpty(), |$validResult.compilationResult.errors->joinStrings(\'expected no errors, got: \\\'\', \'\\\', \\\'\', \'\\\'\'));";
v[3] = "assert(!$validResult.executionResult->isEmpty(), |\'expected non-empty execution result\');";
v[4] = "assert($validResult.executionResult->toOne().successful, |\'expected successful execution\');";
v[5] = "assert($validResult.executionResult->toOne().error->isEmpty(), |\'expected no execution error, got: \' + $validResult.executionResult->toOne().error->toOne());";
v[6] = "assert($validResult.executionResult->toOne().returnValue == ^JavaObject(class=\'java.lang.String\', string=\'the quick brown fox jumps over the lazy dog\'), |\'unexpected return value, got: \' + $validResult.executionResult->toOne().returnValue->toOne()->toString());";
specialinvoke v.<org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava: void compileAndExecute(java.lang.String[])>(v);
return;
}
public void testCompileAndExecuteValidJavaExecuteSuccess_Integer()
{
java.lang.String[] v;
org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava v;
int v, v;
java.lang.String v, v, v, v, v, v, v;
v := @this: org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava;
v = staticinvoke <org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava: java.lang.String loadSourceCodeEscaped(java.lang.String)>("org.finos.legend.engine.external.language.java.runtime.compiler.shared.ValidJavaClass");
v = "org.finos.legend.engine.external.language.java.runtime.compiler.shared.ValidJavaClass";
v = virtualinvoke v.<java.lang.String: int lastIndexOf(int)>(46);
v = "org.finos.legend.engine.external.language.java.runtime.compiler.shared.ValidJavaClass";
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
v = "org.finos.legend.engine.external.language.java.runtime.compiler.shared.ValidJavaClass";
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = newarray (java.lang.String)[7];
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String)>(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[])>("let validResult = compileAndExecuteJava(^JavaSource(package=\'\u0001\', name=\'\u0001\', content=\'\u0001\'), [], ^ExecutionConfiguration(class=\'org.finos.legend.engine.external.language.java.runtime.compiler.shared.ValidJavaClass\', method=\'succeedReturnInt\'));");
v[0] = v;
v[1] = "assert($validResult.compilationResult.successful, |\'expected successful compilation\');";
v[2] = "assert($validResult.compilationResult.errors->isEmpty(), |$validResult.compilationResult.errors->joinStrings(\'expected no errors, got: \\\'\', \'\\\', \\\'\', \'\\\'\'));";
v[3] = "assert(!$validResult.executionResult->isEmpty(), |\'expected non-empty execution result\');";
v[4] = "assert($validResult.executionResult->toOne().successful, |\'expected successful execution\');";
v[5] = "assert($validResult.executionResult->toOne().error->isEmpty(), |\'expected no execution error, got: \' + $validResult.executionResult->toOne().error->toOne());";
v[6] = "assert($validResult.executionResult->toOne().returnValue == ^JavaObject(class=\'java.lang.Integer\', string=\'4\'), |\'unexpected return value, got: \' + $validResult.executionResult->toOne().returnValue->toOne()->toString());";
specialinvoke v.<org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava: void compileAndExecute(java.lang.String[])>(v);
return;
}
public void testCompileAndExecuteValidJavaExecuteSuccess_StringArray()
{
java.lang.String[] v;
org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava v;
int v, v;
java.lang.String v, v, v, v, v, v, v;
v := @this: org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava;
v = staticinvoke <org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava: java.lang.String loadSourceCodeEscaped(java.lang.String)>("org.finos.legend.engine.external.language.java.runtime.compiler.shared.ValidJavaClass");
v = "org.finos.legend.engine.external.language.java.runtime.compiler.shared.ValidJavaClass";
v = virtualinvoke v.<java.lang.String: int lastIndexOf(int)>(46);
v = "org.finos.legend.engine.external.language.java.runtime.compiler.shared.ValidJavaClass";
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
v = "org.finos.legend.engine.external.language.java.runtime.compiler.shared.ValidJavaClass";
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = newarray (java.lang.String)[7];
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String)>(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[])>("let validResult = compileAndExecuteJava(^JavaSource(package=\'\u0001\', name=\'\u0001\', content=\'\u0001\'), [], ^ExecutionConfiguration(class=\'org.finos.legend.engine.external.language.java.runtime.compiler.shared.ValidJavaClass\', method=\'succeedReturnArray\'));");
v[0] = v;
v[1] = "assert($validResult.compilationResult.successful, |\'expected successful compilation\');";
v[2] = "assert($validResult.compilationResult.errors->isEmpty(), |$validResult.compilationResult.errors->joinStrings(\'expected no errors, got: \\\'\', \'\\\', \\\'\', \'\\\'\'));";
v[3] = "assert(!$validResult.executionResult->isEmpty(), |\'expected non-empty execution result\');";
v[4] = "assert($validResult.executionResult->toOne().successful, |\'expected successful execution\');";
v[5] = "assert($validResult.executionResult->toOne().error->isEmpty(), |\'expected no execution error, got: \' + $validResult.executionResult->toOne().error->toOne());";
v[6] = "assert($validResult.executionResult->toOne().returnValue == ^JavaArray(componentType=\'java.lang.String\', values=[^JavaObject(class=\'java.lang.String\', string=\'the quick\'), ^JavaObject(class=\'java.lang.String\', string=\'brown fox\'), ^JavaObject(class=\'java.lang.String\', string=\'jumps over\'), ^JavaObject(class=\'java.lang.String\', string=\'the lazy dog\')]), |\'unexpected return value, got: \' + $validResult.executionResult->toOne().returnValue->toOne()->toString());";
specialinvoke v.<org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava: void compileAndExecute(java.lang.String[])>(v);
return;
}
public void testCompileAndExecuteValidJavaExecuteSuccess_IntArray()
{
java.lang.String[] v;
org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava v;
int v, v;
java.lang.String v, v, v, v, v, v, v;
v := @this: org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava;
v = staticinvoke <org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava: java.lang.String loadSourceCodeEscaped(java.lang.String)>("org.finos.legend.engine.external.language.java.runtime.compiler.shared.ValidJavaClass");
v = "org.finos.legend.engine.external.language.java.runtime.compiler.shared.ValidJavaClass";
v = virtualinvoke v.<java.lang.String: int lastIndexOf(int)>(46);
v = "org.finos.legend.engine.external.language.java.runtime.compiler.shared.ValidJavaClass";
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
v = "org.finos.legend.engine.external.language.java.runtime.compiler.shared.ValidJavaClass";
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = newarray (java.lang.String)[7];
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String)>(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[])>("let validResult = compileAndExecuteJava(^JavaSource(package=\'\u0001\', name=\'\u0001\', content=\'\u0001\'), [], ^ExecutionConfiguration(class=\'org.finos.legend.engine.external.language.java.runtime.compiler.shared.ValidJavaClass\', method=\'succeedReturnIntArray\'));");
v[0] = v;
v[1] = "assert($validResult.compilationResult.successful, |\'expected successful compilation\');";
v[2] = "assert($validResult.compilationResult.errors->isEmpty(), |$validResult.compilationResult.errors->joinStrings(\'expected no errors, got: \\\'\', \'\\\', \\\'\', \'\\\'\'));";
v[3] = "assert(!$validResult.executionResult->isEmpty(), |\'expected non-empty execution result\');";
v[4] = "assert($validResult.executionResult->toOne().successful, |\'expected successful execution\');";
v[5] = "assert($validResult.executionResult->toOne().error->isEmpty(), |\'expected no execution error, got: \' + $validResult.executionResult->toOne().error->toOne());";
v[6] = "assert($validResult.executionResult->toOne().returnValue == ^JavaArray(componentType=\'int\', values=[^JavaPrimitive(type=\'int\', value=\'9\'), ^JavaPrimitive(type=\'int\', value=\'9\'), ^JavaPrimitive(type=\'int\', value=\'10\'), ^JavaPrimitive(type=\'int\', value=\'12\')]), |\'unexpected return value, got: \' + $validResult.executionResult->toOne().returnValue->toOne()->toString());";
specialinvoke v.<org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava: void compileAndExecute(java.lang.String[])>(v);
return;
}
public void testCompileAndExecuteValidJavaExecuteSuccess_StringList()
{
java.lang.String[] v;
org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava v;
int v, v;
java.lang.String v, v, v, v, v, v, v;
v := @this: org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava;
v = staticinvoke <org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava: java.lang.String loadSourceCodeEscaped(java.lang.String)>("org.finos.legend.engine.external.language.java.runtime.compiler.shared.ValidJavaClass");
v = "org.finos.legend.engine.external.language.java.runtime.compiler.shared.ValidJavaClass";
v = virtualinvoke v.<java.lang.String: int lastIndexOf(int)>(46);
v = "org.finos.legend.engine.external.language.java.runtime.compiler.shared.ValidJavaClass";
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
v = "org.finos.legend.engine.external.language.java.runtime.compiler.shared.ValidJavaClass";
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = newarray (java.lang.String)[7];
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String)>(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[])>("let validResult = compileAndExecuteJava(^JavaSource(package=\'\u0001\', name=\'\u0001\', content=\'\u0001\'), [], ^ExecutionConfiguration(class=\'org.finos.legend.engine.external.language.java.runtime.compiler.shared.ValidJavaClass\', method=\'succeedReturnList\'));");
v[0] = v;
v[1] = "assert($validResult.compilationResult.successful, |\'expected successful compilation\');";
v[2] = "assert($validResult.compilationResult.errors->isEmpty(), |$validResult.compilationResult.errors->joinStrings(\'expected no errors, got: \\\'\', \'\\\', \\\'\', \'\\\'\'));";
v[3] = "assert(!$validResult.executionResult->isEmpty(), |\'expected non-empty execution result\');";
v[4] = "assert($validResult.executionResult->toOne().successful, |\'expected successful execution\');";
v[5] = "assert($validResult.executionResult->toOne().error->isEmpty(), |\'expected no execution error, got: \' + $validResult.executionResult->toOne().error->toOne());";
v[6] = "assert($validResult.executionResult->toOne().returnValue == ^JavaIterable(class=\'java.util.Arrays$ArrayList\', values=[^JavaObject(class=\'java.lang.String\', string=\'the quick\'), ^JavaObject(class=\'java.lang.String\', string=\'brown fox\'), ^JavaObject(class=\'java.lang.String\', string=\'jumps over\'), ^JavaObject(class=\'java.lang.String\', string=\'the lazy dog\')]), |\'unexpected return value, got: \' + $validResult.executionResult->toOne().returnValue->toOne()->toString());";
specialinvoke v.<org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava: void compileAndExecute(java.lang.String[])>(v);
return;
}
public void testCompileAndExecuteValidJavaExecuteSuccess_Map()
{
java.lang.String[] v;
org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava v;
int v, v;
java.lang.String v, v, v, v, v, v, v;
v := @this: org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava;
v = staticinvoke <org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava: java.lang.String loadSourceCodeEscaped(java.lang.String)>("org.finos.legend.engine.external.language.java.runtime.compiler.shared.ValidJavaClass");
v = "org.finos.legend.engine.external.language.java.runtime.compiler.shared.ValidJavaClass";
v = virtualinvoke v.<java.lang.String: int lastIndexOf(int)>(46);
v = "org.finos.legend.engine.external.language.java.runtime.compiler.shared.ValidJavaClass";
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
v = "org.finos.legend.engine.external.language.java.runtime.compiler.shared.ValidJavaClass";
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = newarray (java.lang.String)[34];
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String)>(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[])>("let validResult = compileAndExecuteJava(^JavaSource(package=\'\u0001\', name=\'\u0001\', content=\'\u0001\'), [], ^ExecutionConfiguration(class=\'org.finos.legend.engine.external.language.java.runtime.compiler.shared.ValidJavaClass\', method=\'succeedReturnMap\'));");
v[0] = v;
v[1] = "assert($validResult.compilationResult.successful, |\'expected successful compilation\');";
v[2] = "assert($validResult.compilationResult.errors->isEmpty(), |$validResult.compilationResult.errors->joinStrings(\'expected no errors, got: \\\'\', \'\\\', \\\'\', \'\\\'\'));";
v[3] = "assert(!$validResult.executionResult->isEmpty(), |\'expected non-empty execution result\');";
v[4] = "assert($validResult.executionResult->toOne().successful, |\'expected successful execution\');";
v[5] = "assert($validResult.executionResult->toOne().error->isEmpty(), |\'expected no execution error, got: \' + $validResult.executionResult->toOne().error->toOne());";
v[6] = "assert($validResult.executionResult->toOne().returnValue == ^JavaMap(class=\'java.util.HashMap\', keyValuePairs=[";
v[7] = "    pair(^JavaObject(class=\'java.lang.Character\', string=\'a\'), ^JavaIterable(class=\'java.util.ArrayList\', values=[^JavaObject(class=\'java.lang.Integer\', string=\'36\')])),";
v[8] = "    pair(^JavaObject(class=\'java.lang.Character\', string=\'b\'), ^JavaIterable(class=\'java.util.ArrayList\', values=[^JavaObject(class=\'java.lang.Integer\', string=\'10\')])),";
v[9] = "    pair(^JavaObject(class=\'java.lang.Character\', string=\'c\'), ^JavaIterable(class=\'java.util.ArrayList\', values=[^JavaObject(class=\'java.lang.Integer\', string=\'7\')])),";
v[10] = "    pair(^JavaObject(class=\'java.lang.Character\', string=\'d\'), ^JavaIterable(class=\'java.util.ArrayList\', values=[^JavaObject(class=\'java.lang.Integer\', string=\'40\')])),";
v[11] = "    pair(^JavaObject(class=\'java.lang.Character\', string=\'e\'), ^JavaIterable(class=\'java.util.ArrayList\', values=[^JavaObject(class=\'java.lang.Integer\', string=\'2\'), ^JavaObject(class=\'java.lang.Integer\', string=\'28\'), ^JavaObject(class=\'java.lang.Integer\', string=\'33\')])),";
v[12] = "    pair(^JavaObject(class=\'java.lang.Character\', string=\'f\'), ^JavaIterable(class=\'java.util.ArrayList\', values=[^JavaObject(class=\'java.lang.Integer\', string=\'16\')])),";
v[13] = "    pair(^JavaObject(class=\'java.lang.Character\', string=\'g\'), ^JavaIterable(class=\'java.util.ArrayList\', values=[^JavaObject(class=\'java.lang.Integer\', string=\'42\')])),";
v[14] = "    pair(^JavaObject(class=\'java.lang.Character\', string=\'h\'), ^JavaIterable(class=\'java.util.ArrayList\', values=[^JavaObject(class=\'java.lang.Integer\', string=\'1\'), ^JavaObject(class=\'java.lang.Integer\', string=\'32\')])),";
v[15] = "    pair(^JavaObject(class=\'java.lang.Character\', string=\'i\'), ^JavaIterable(class=\'java.util.ArrayList\', values=[^JavaObject(class=\'java.lang.Integer\', string=\'6\')])),";
v[16] = "    pair(^JavaObject(class=\'java.lang.Character\', string=\'j\'), ^JavaIterable(class=\'java.util.ArrayList\', values=[^JavaObject(class=\'java.lang.Integer\', string=\'20\')])),";
v[17] = "    pair(^JavaObject(class=\'java.lang.Character\', string=\'k\'), ^JavaIterable(class=\'java.util.ArrayList\', values=[^JavaObject(class=\'java.lang.Integer\', string=\'8\')])),";
v[18] = "    pair(^JavaObject(class=\'java.lang.Character\', string=\'l\'), ^JavaIterable(class=\'java.util.ArrayList\', values=[^JavaObject(class=\'java.lang.Integer\', string=\'35\')])),";
v[19] = "    pair(^JavaObject(class=\'java.lang.Character\', string=\'m\'), ^JavaIterable(class=\'java.util.ArrayList\', values=[^JavaObject(class=\'java.lang.Integer\', string=\'22\')])),";
v[20] = "    pair(^JavaObject(class=\'java.lang.Character\', string=\'n\'), ^JavaIterable(class=\'java.util.ArrayList\', values=[^JavaObject(class=\'java.lang.Integer\', string=\'14\')])),";
v[21] = "    pair(^JavaObject(class=\'java.lang.Character\', string=\'o\'), ^JavaIterable(class=\'java.util.ArrayList\', values=[^JavaObject(class=\'java.lang.Integer\', string=\'12\'), ^JavaObject(class=\'java.lang.Integer\', string=\'17\'), ^JavaObject(class=\'java.lang.Integer\', string=\'26\'), ^JavaObject(class=\'java.lang.Integer\', string=\'41\')])),";
v[22] = "    pair(^JavaObject(class=\'java.lang.Character\', string=\'p\'), ^JavaIterable(class=\'java.util.ArrayList\', values=[^JavaObject(class=\'java.lang.Integer\', string=\'23\')])),";
v[23] = "    pair(^JavaObject(class=\'java.lang.Character\', string=\'q\'), ^JavaIterable(class=\'java.util.ArrayList\', values=[^JavaObject(class=\'java.lang.Integer\', string=\'4\')])),";
v[24] = "    pair(^JavaObject(class=\'java.lang.Character\', string=\'r\'), ^JavaIterable(class=\'java.util.ArrayList\', values=[^JavaObject(class=\'java.lang.Integer\', string=\'11\'), ^JavaObject(class=\'java.lang.Integer\', string=\'29\')])),";
v[25] = "    pair(^JavaObject(class=\'java.lang.Character\', string=\'s\'), ^JavaIterable(class=\'java.util.ArrayList\', values=[^JavaObject(class=\'java.lang.Integer\', string=\'24\')])),";
v[26] = "    pair(^JavaObject(class=\'java.lang.Character\', string=\'t\'), ^JavaIterable(class=\'java.util.ArrayList\', values=[^JavaObject(class=\'java.lang.Integer\', string=\'0\'), ^JavaObject(class=\'java.lang.Integer\', string=\'31\')])),";
v[27] = "    pair(^JavaObject(class=\'java.lang.Character\', string=\'u\'), ^JavaIterable(class=\'java.util.ArrayList\', values=[^JavaObject(class=\'java.lang.Integer\', string=\'5\'), ^JavaObject(class=\'java.lang.Integer\', string=\'21\')])),";
v[28] = "    pair(^JavaObject(class=\'java.lang.Character\', string=\'v\'), ^JavaIterable(class=\'java.util.ArrayList\', values=[^JavaObject(class=\'java.lang.Integer\', string=\'27\')])),";
v[29] = "    pair(^JavaObject(class=\'java.lang.Character\', string=\'w\'), ^JavaIterable(class=\'java.util.ArrayList\', values=[^JavaObject(class=\'java.lang.Integer\', string=\'13\')])),";
v[30] = "    pair(^JavaObject(class=\'java.lang.Character\', string=\'x\'), ^JavaIterable(class=\'java.util.ArrayList\', values=[^JavaObject(class=\'java.lang.Integer\', string=\'18\')])),";
v[31] = "    pair(^JavaObject(class=\'java.lang.Character\', string=\'y\'), ^JavaIterable(class=\'java.util.ArrayList\', values=[^JavaObject(class=\'java.lang.Integer\', string=\'38\')])),";
v[32] = "    pair(^JavaObject(class=\'java.lang.Character\', string=\'z\'), ^JavaIterable(class=\'java.util.ArrayList\', values=[^JavaObject(class=\'java.lang.Integer\', string=\'37\')]))";
v[33] = "]), |\'unexpected return value, got: \' + $validResult.executionResult->toOne().returnValue->toOne()->toString());";
specialinvoke v.<org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava: void compileAndExecute(java.lang.String[])>(v);
return;
}
public void testCompileAndExecuteValidJavaExecuteFailure()
{
java.lang.String[] v;
org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava v;
int v, v;
java.lang.String v, v, v, v, v, v, v;
v := @this: org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava;
v = staticinvoke <org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava: java.lang.String loadSourceCodeEscaped(java.lang.String)>("org.finos.legend.engine.external.language.java.runtime.compiler.shared.ValidJavaClass");
v = "org.finos.legend.engine.external.language.java.runtime.compiler.shared.ValidJavaClass";
v = virtualinvoke v.<java.lang.String: int lastIndexOf(int)>(46);
v = "org.finos.legend.engine.external.language.java.runtime.compiler.shared.ValidJavaClass";
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
v = "org.finos.legend.engine.external.language.java.runtime.compiler.shared.ValidJavaClass";
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = newarray (java.lang.String)[8];
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String)>(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[])>("let validResult = compileAndExecuteJava(^JavaSource(package=\'\u0001\', name=\'\u0001\', content=\'\u0001\'), [], ^ExecutionConfiguration(class=\'org.finos.legend.engine.external.language.java.runtime.compiler.shared.ValidJavaClass\', method=\'fail\'));");
v[0] = v;
v[1] = "assert($validResult.compilationResult.successful, |\'expected successful compilation\');";
v[2] = "assert($validResult.compilationResult.errors->isEmpty(), |$validResult.compilationResult.errors->joinStrings(\'expected no errors, got: \\\'\', \'\\\', \\\'\', \'\\\'\'));";
v[3] = "assert(!$validResult.executionResult->isEmpty(), |\'expected non-empty execution result\');";
v[4] = "assert(!$validResult.executionResult->toOne().successful, |\'expected unsuccessful execution\');";
v[5] = "assert(!$validResult.executionResult->toOne().error->isEmpty(), |\'expected an execution error\');";
v[6] = "assert($validResult.executionResult->toOne().error->toOne()->contains(\'Caused by: java.lang.RuntimeException: Oh no! A failure!\'), |\'unexpected execution error: \' + $validResult.executionResult->toOne().error->toOne());";
v[7] = "assert($validResult.executionResult->toOne().returnValue->isEmpty(), |\'unexpected execution return value: \' + $validResult.executionResult->toOne().returnValue->toOne()->toString());";
specialinvoke v.<org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava: void compileAndExecute(java.lang.String[])>(v);
return;
}
private transient void compileAndExecute(java.lang.String[])
{
java.lang.Throwable v, v, v;
java.lang.String[] v;
java.lang.String v, v, v, v;
org.finos.legend.pure.m.exception.PureCompilationException v;
org.finos.legend.pure.m.serialization.runtime.PureRuntime v;
org.finos.legend.pure.m.coreinstance.SourceInformation v, v;
org.finos.legend.pure.m.serialization.grammar.antlr.PureParserException v;
org.finos.legend.pure.m.coreinstance.CoreInstance v;
org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava v;
org.eclipse.collections.api.list.ImmutableList v;
org.finos.legend.pure.m.execution.Console v;
org.eclipse.collections.api.factory.list.ImmutableListFactory v;
org.finos.legend.pure.m.execution.FunctionExecution v, v;
v := @this: org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava;
v := @parameter: java.lang.String[];
v = staticinvoke <org.eclipse.collections.impl.utility.ArrayIterate: java.lang.String makeString(java.lang.Object[],java.lang.String,java.lang.String,java.lang.String)>(v, "import meta::external::language::java::compiler::*;\n\nfunction test():Any[*]\n{\n    ", "\n    ", "\n}");
label:
staticinvoke <org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava: org.finos.legend.pure.m.SourceMutation compileTestSource(java.lang.String,java.lang.String)>("fromString.pure", v);
label:
goto label;
label:
v := @caughtexception;
v = new org.finos.legend.pure.m.serialization.grammar.antlr.PureParserException;
v = virtualinvoke v.<org.finos.legend.pure.m.serialization.grammar.antlr.PureParserException: org.finos.legend.pure.m.coreinstance.SourceInformation getSourceInformation()>();
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 parsing:\n\u0001");
specialinvoke v.<org.finos.legend.pure.m.serialization.grammar.antlr.PureParserException: void <init>(org.finos.legend.pure.m.coreinstance.SourceInformation,java.lang.String,java.lang.Throwable)>(v, v, v);
throw v;
label:
v := @caughtexception;
v = new org.finos.legend.pure.m.exception.PureCompilationException;
v = virtualinvoke v.<org.finos.legend.pure.m.exception.PureCompilationException: org.finos.legend.pure.m.coreinstance.SourceInformation getSourceInformation()>();
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 compiling:\n\u0001");
specialinvoke v.<org.finos.legend.pure.m.exception.PureCompilationException: void <init>(org.finos.legend.pure.m.coreinstance.SourceInformation,java.lang.String,java.lang.Throwable)>(v, v, v);
throw v;
label:
v = <org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava: org.finos.legend.pure.m.serialization.runtime.PureRuntime runtime>;
v = virtualinvoke v.<org.finos.legend.pure.m.serialization.runtime.PureRuntime: org.finos.legend.pure.m.coreinstance.CoreInstance getFunction(java.lang.String)>("test():Any[*]");
v = <org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava: org.finos.legend.pure.m.execution.FunctionExecution functionExecution>;
v = interfaceinvoke v.<org.finos.legend.pure.m.execution.FunctionExecution: org.finos.legend.pure.m.execution.Console getConsole()>();
interfaceinvoke v.<org.finos.legend.pure.m.execution.Console: void clear()>();
label:
v = <org.finos.legend.engine.external.language.java.runtime.compiler.AbstractTestCompileAndExecuteJava: org.finos.legend.pure.m.execution.FunctionExecution functionExecution>;
v = <org.eclipse.collections.api.factory.Lists: org.eclipse.collections.api.factory.list.ImmutableListFactory immutable>;
v = interfaceinvoke v.<org.eclipse.collections.api.factory.list.ImmutableListFactory: org.eclipse.collections.api.list.ImmutableList empty()>();
interfaceinvoke v.<org.finos.legend.pure.m.execution.FunctionExecution: org.finos.legend.pure.m.coreinstance.CoreInstance start(org.finos.legend.pure.m.coreinstance.CoreInstance,org.eclipse.collections.api.list.ListIterable)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<org.finos.legend.pure.m.exception.PureAssertFailException: java.lang.String getMessage()>();
staticinvoke <org.junit.Assert: void fail(java.lang.String)>(v);
label:
return;
catch org.finos.legend.pure.m.serialization.grammar.antlr.PureParserException from label to label with label;
catch org.finos.legend.pure.m.exception.PureCompilationException from label to label with label;
catch org.finos.legend.pure.m.exception.PureAssertFailException from label to label with label;
}
protected static org.finos.legend.pure.m.serialization.filesystem.usercodestorage.MutableRepositoryCodeStorage getCodeStorage()
{
java.lang.Object[] v;
org.finos.legend.pure.m.serialization.filesystem.repository.CodeRepositorySet$Builder v, v;
java.lang.String[] v;
org.finos.legend.pure.m.serialization.filesystem.repository.CodeRepositorySet v, v;
org.finos.legend.pure.m.serialization.filesystem.usercodestorage.classpath.ClassLoaderCodeStorage v;
org.eclipse.collections.api.RichIterable v, v;
org.finos.legend.pure.m.serialization.filesystem.usercodestorage.composite.CompositeCodeStorage v;
v = staticinvoke <org.finos.legend.pure.m.serialization.filesystem.repository.CodeRepositorySet: org.finos.legend.pure.m.serialization.filesystem.repository.CodeRepositorySet$Builder newBuilder()>();
v = staticinvoke <org.finos.legend.pure.m.serialization.filesystem.repository.CodeRepositoryProviderHelper: org.eclipse.collections.api.RichIterable findCodeRepositories(boolean)>(1);
v = virtualinvoke v.<org.finos.legend.pure.m.serialization.filesystem.repository.CodeRepositorySet$Builder: org.finos.legend.pure.m.serialization.filesystem.repository.CodeRepositorySet$Builder withCodeRepositories(java.lang.Iterable)>(v);
v = virtualinvoke v.<org.finos.legend.pure.m.serialization.filesystem.repository.CodeRepositorySet$Builder: org.finos.legend.pure.m.serialization.filesystem.repository.CodeRepositorySet build()>();
v = newarray (java.lang.String)[1];
v[0] = "core_external_language_java_compiler";
v = virtualinvoke v.<org.finos.legend.pure.m.serialization.filesystem.repository.CodeRepositorySet: org.finos.legend.pure.m.serialization.filesystem.repository.CodeRepositorySet subset(java.lang.String[])>(v);
v = new org.finos.legend.pure.m.serialization.filesystem.usercodestorage.composite.CompositeCodeStorage;
v = newarray (org.finos.legend.pure.m.serialization.filesystem.usercodestorage.RepositoryCodeStorage)[1];
v = new org.finos.legend.pure.m.serialization.filesystem.usercodestorage.classpath.ClassLoaderCodeStorage;
v = virtualinvoke v.<org.finos.legend.pure.m.serialization.filesystem.repository.CodeRepositorySet: org.eclipse.collections.api.RichIterable getRepositories()>();
specialinvoke v.<org.finos.legend.pure.m.serialization.filesystem.usercodestorage.classpath.ClassLoaderCodeStorage: void <init>(java.lang.Iterable)>(v);
v[0] = v;
specialinvoke v.<org.finos.legend.pure.m.serialization.filesystem.usercodestorage.composite.CompositeCodeStorage: void <init>(org.finos.legend.pure.m.serialization.filesystem.usercodestorage.RepositoryCodeStorage[])>(v);
return v;
}
private static java.lang.String loadSourceCodeEscaped(java.lang.String)
{
java.lang.String v, v, v, v, v;
v := @parameter: java.lang.String;
v = staticinvoke <org.finos.legend.engine.external.language.java.runtime.compiler.SourceCodeHelper: java.lang.String loadSourceCodeContent(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>("\\", "\\\\");
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>("\'", "\\\'");
v = virtualinvoke v.<java.lang.String: java.lang.String replaceAll(java.lang.String,java.lang.String)>("\\R", "\\\\n");
return v;
}
}