public class org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch extends org.finos.legend.engine.language.pure.compiler.test.TestCompilationFromGrammar$TestCompilationFromGrammarTestSuite
{
public void <init>()
{
org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch v;
v := @this: org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch;
specialinvoke v.<org.finos.legend.engine.language.pure.compiler.test.TestCompilationFromGrammar$TestCompilationFromGrammarTestSuite: void <init>()>();
return;
}
public java.lang.String getDuplicatedElementTestCode()
{
org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch v;
v := @this: org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch;
return "Class anything::class {}\n###Mapping\nMapping anything::somethingelse ()\n###Pure\nClass anything::somethingelse\n{\n}\n";
}
public java.lang.String getDuplicatedElementTestExpectedErrorMessage()
{
org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch v;
v := @this: org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch;
return "COMPILATION error at [5:1-7:1]: Duplicated element \'anything::somethingelse\'";
}
public void testDatePropagationInGraphFetch()
{
org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch v;
java.util.function.BiFunction v;
org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.RootGraphFetchTree v;
org.eclipse.collections.api.factory.list.MutableListFactory v;
org.eclipse.collections.api.list.MutableList v, v, v, v, v, v, v;
org.eclipse.collections.api.RichIterable v, v, v, v, v, v;
org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.RootGraphFetchTree[] v;
org.eclipse.collections.api.tuple.Pair v;
boolean v;
java.util.Iterator v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.ConcreteFunctionDefinition v;
org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.PropertyGraphFetchTree v;
java.lang.Object v, v, v, v, v, v, v;
v := @this: org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch;
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch: org.eclipse.collections.api.tuple.Pair test(java.lang.String)>("###Pure\nClass <<temporal.businesstemporal>> main::Person\n{\n  name: String[1];\n  firm: main::Firm[1];\n}\n\nClass <<temporal.businesstemporal>> main::Firm\n{\n  name: String[1];\n}\n\nfunction main::walkTree(): String[*]\n{\n   main::Person.all(%2022-12-12)->graphFetch(#{main::Person{firm{name}}}#)->serialize(#{main::Person{firm{name}}}#)\n}\n");
v = interfaceinvoke v.<org.eclipse.collections.api.tuple.Pair: java.lang.Object getTwo()>();
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.ConcreteFunctionDefinition getConcreteFunctionDefinition(java.lang.String,org.finos.legend.engine.protocol.pure.v.model.SourceInformation)>("main::walkTree__String_MANY_", null);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.ConcreteFunctionDefinition: org.eclipse.collections.api.RichIterable _expressionSequence()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(0);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.SimpleFunctionExpression: org.eclipse.collections.api.RichIterable _parametersValues()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(1);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.InstanceValue: org.eclipse.collections.api.RichIterable _values()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(0);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.SimpleFunctionExpression: org.eclipse.collections.api.RichIterable _parametersValues()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(0);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.SimpleFunctionExpression: org.eclipse.collections.api.RichIterable _parametersValues()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(1);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.InstanceValue: org.eclipse.collections.api.RichIterable _values()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(0);
v = <org.eclipse.collections.api.factory.Lists: org.eclipse.collections.api.factory.list.MutableListFactory mutable>;
v = newarray (org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.RootGraphFetchTree)[2];
v[0] = v;
v[1] = v;
v = interfaceinvoke v.<org.eclipse.collections.api.factory.list.MutableListFactory: org.eclipse.collections.api.list.MutableList 'with'(java.lang.Object[])>(v);
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch: org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.PropertyGraphFetchTree propTree(org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.GraphFetchTree,java.lang.String)>(v, "firm");
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch: java.util.function.BiFunction assertSingleDateInPropertyTree()>();
interfaceinvoke v.<java.util.function.BiFunction: java.lang.Object apply(java.lang.Object,java.lang.Object)>(v, "2022-12-12");
goto label;
label:
return;
}
public void testDatePropagationInGraphFetchWithDateVariable()
{
org.eclipse.collections.api.list.MutableList v, v, v, v, v, v, v, v;
org.eclipse.collections.api.RichIterable v, v, v, v, v, v, v;
boolean v;
org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch v;
org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.RootGraphFetchTree v;
org.eclipse.collections.api.factory.list.MutableListFactory v;
org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.RootGraphFetchTree[] v;
java.lang.String v;
org.eclipse.collections.api.tuple.Pair v;
java.util.Iterator v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.ConcreteFunctionDefinition v;
org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.PropertyGraphFetchTree v;
java.lang.Object v, v, v, v, v, v, v, v;
v := @this: org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch;
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch: org.eclipse.collections.api.tuple.Pair test(java.lang.String)>("###Pure\nClass <<temporal.businesstemporal>> main::Person\n{\n  name: String[1];\n  firm: main::Firm[1];\n}\n\nClass <<temporal.businesstemporal>> main::Firm\n{\n  name: String[1];\n}\n\nfunction main::walkTree(bdate:DateTime[1]): String[*]\n{\n   main::Person.all($bdate)->graphFetch(#{main::Person{firm{name}}}#)->serialize(#{main::Person{firm{name}}}#)\n}\n");
v = interfaceinvoke v.<org.eclipse.collections.api.tuple.Pair: java.lang.Object getTwo()>();
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.ConcreteFunctionDefinition getConcreteFunctionDefinition(java.lang.String,org.finos.legend.engine.protocol.pure.v.model.SourceInformation)>("main::walkTree_DateTime_1__String_MANY_", null);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.ConcreteFunctionDefinition: org.eclipse.collections.api.RichIterable _expressionSequence()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(0);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.SimpleFunctionExpression: org.eclipse.collections.api.RichIterable _parametersValues()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(1);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.InstanceValue: org.eclipse.collections.api.RichIterable _values()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(0);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.SimpleFunctionExpression: org.eclipse.collections.api.RichIterable _parametersValues()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(0);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.SimpleFunctionExpression: org.eclipse.collections.api.RichIterable _parametersValues()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(1);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.InstanceValue: org.eclipse.collections.api.RichIterable _values()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(0);
v = <org.eclipse.collections.api.factory.Lists: org.eclipse.collections.api.factory.list.MutableListFactory mutable>;
v = newarray (org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.RootGraphFetchTree)[2];
v[0] = v;
v[1] = v;
v = interfaceinvoke v.<org.eclipse.collections.api.factory.list.MutableListFactory: org.eclipse.collections.api.list.MutableList 'with'(java.lang.Object[])>(v);
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch: org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.PropertyGraphFetchTree propTree(org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.GraphFetchTree,java.lang.String)>(v, "firm");
virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch: void assertPropertyTreeHasSufficientParameters(org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.PropertyGraphFetchTree)>(v);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.PropertyGraphFetchTree: org.eclipse.collections.api.RichIterable _parameters()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(0);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.VariableExpression: java.lang.String _name()>();
staticinvoke <org.junit.Assert: void assertEquals(java.lang.Object,java.lang.Object)>("bdate", v);
goto label;
label:
return;
}
public void testDatePropagationInGraphFetchChecked()
{
org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch v;
java.util.function.BiFunction v;
org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.RootGraphFetchTree v;
org.eclipse.collections.api.factory.list.MutableListFactory v;
org.eclipse.collections.api.list.MutableList v, v, v, v, v, v, v;
org.eclipse.collections.api.RichIterable v, v, v, v, v, v;
org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.RootGraphFetchTree[] v;
org.eclipse.collections.api.tuple.Pair v;
boolean v;
java.util.Iterator v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.ConcreteFunctionDefinition v;
org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.PropertyGraphFetchTree v;
java.lang.Object v, v, v, v, v, v, v;
v := @this: org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch;
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch: org.eclipse.collections.api.tuple.Pair test(java.lang.String)>("###Pure\nClass <<temporal.businesstemporal>> main::Person\n{\n  name: String[1];\n  firm: main::Firm[1];\n}\n\nClass <<temporal.businesstemporal>> main::Firm\n{\n  name: String[1];\n}\n\nfunction main::walkTree(): String[*]\n{\n   main::Person.all(%2022-12-12)->graphFetchChecked(#{main::Person{firm{name}}}#)->serialize(#{main::Person{firm{name}}}#)\n}\n");
v = interfaceinvoke v.<org.eclipse.collections.api.tuple.Pair: java.lang.Object getTwo()>();
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.ConcreteFunctionDefinition getConcreteFunctionDefinition(java.lang.String,org.finos.legend.engine.protocol.pure.v.model.SourceInformation)>("main::walkTree__String_MANY_", null);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.ConcreteFunctionDefinition: org.eclipse.collections.api.RichIterable _expressionSequence()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(0);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.SimpleFunctionExpression: org.eclipse.collections.api.RichIterable _parametersValues()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(1);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.InstanceValue: org.eclipse.collections.api.RichIterable _values()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(0);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.SimpleFunctionExpression: org.eclipse.collections.api.RichIterable _parametersValues()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(0);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.SimpleFunctionExpression: org.eclipse.collections.api.RichIterable _parametersValues()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(1);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.InstanceValue: org.eclipse.collections.api.RichIterable _values()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(0);
v = <org.eclipse.collections.api.factory.Lists: org.eclipse.collections.api.factory.list.MutableListFactory mutable>;
v = newarray (org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.RootGraphFetchTree)[2];
v[0] = v;
v[1] = v;
v = interfaceinvoke v.<org.eclipse.collections.api.factory.list.MutableListFactory: org.eclipse.collections.api.list.MutableList 'with'(java.lang.Object[])>(v);
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch: org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.PropertyGraphFetchTree propTree(org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.GraphFetchTree,java.lang.String)>(v, "firm");
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch: java.util.function.BiFunction assertSingleDateInPropertyTree()>();
interfaceinvoke v.<java.util.function.BiFunction: java.lang.Object apply(java.lang.Object,java.lang.Object)>(v, "2022-12-12");
goto label;
label:
return;
}
public void testDatePropagationInGraphFetchOnPropertyWithMissingDate()
{
org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch v;
java.util.function.BiFunction v;
org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.RootGraphFetchTree v;
org.eclipse.collections.api.factory.list.MutableListFactory v;
org.eclipse.collections.api.list.MutableList v, v, v, v, v, v, v;
org.eclipse.collections.api.RichIterable v, v, v, v, v, v;
org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.RootGraphFetchTree[] v;
org.eclipse.collections.api.tuple.Pair v;
boolean v;
java.util.Iterator v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.ConcreteFunctionDefinition v;
org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.PropertyGraphFetchTree v;
java.lang.Object v, v, v, v, v, v, v;
v := @this: org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch;
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch: org.eclipse.collections.api.tuple.Pair test(java.lang.String)>("###Pure\nClass <<temporal.businesstemporal>> main::Person\n{\n  name: String[1];\n  firm: main::Firm[1];\n}\n\nClass <<temporal.businesstemporal>> main::Firm\n{\n  name: String[1];\n  city: main::City[1];\n}\n\nClass <<temporal.businesstemporal>> main::City\n{\n  name: String[1];\n}\n\nfunction main::walkTree(): String[*]\n{\n   main::Person.all(%2022-12-12).firm->graphFetch(#{main::Firm{city{name}}}#)->serialize(#{main::Firm{city{name}}}#)\n}\n");
v = interfaceinvoke v.<org.eclipse.collections.api.tuple.Pair: java.lang.Object getTwo()>();
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.ConcreteFunctionDefinition getConcreteFunctionDefinition(java.lang.String,org.finos.legend.engine.protocol.pure.v.model.SourceInformation)>("main::walkTree__String_MANY_", null);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.ConcreteFunctionDefinition: org.eclipse.collections.api.RichIterable _expressionSequence()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(0);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.SimpleFunctionExpression: org.eclipse.collections.api.RichIterable _parametersValues()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(1);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.InstanceValue: org.eclipse.collections.api.RichIterable _values()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(0);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.SimpleFunctionExpression: org.eclipse.collections.api.RichIterable _parametersValues()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(0);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.SimpleFunctionExpression: org.eclipse.collections.api.RichIterable _parametersValues()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(1);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.InstanceValue: org.eclipse.collections.api.RichIterable _values()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(0);
v = <org.eclipse.collections.api.factory.Lists: org.eclipse.collections.api.factory.list.MutableListFactory mutable>;
v = newarray (org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.RootGraphFetchTree)[2];
v[0] = v;
v[1] = v;
v = interfaceinvoke v.<org.eclipse.collections.api.factory.list.MutableListFactory: org.eclipse.collections.api.list.MutableList 'with'(java.lang.Object[])>(v);
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch: org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.PropertyGraphFetchTree propTree(org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.GraphFetchTree,java.lang.String)>(v, "city");
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch: java.util.function.BiFunction assertSingleDateInPropertyTree()>();
interfaceinvoke v.<java.util.function.BiFunction: java.lang.Object apply(java.lang.Object,java.lang.Object)>(v, "2022-12-12");
goto label;
label:
return;
}
public void testDatePropagationInGraphFetchDeepWithDifferentDates()
{
java.util.function.BiFunction v, v;
org.eclipse.collections.api.list.MutableList v, v, v, v, v, v, v;
org.eclipse.collections.api.RichIterable v, v, v, v, v, v;
boolean v;
org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch v;
org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.RootGraphFetchTree v;
org.eclipse.collections.api.factory.list.MutableListFactory v;
org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.RootGraphFetchTree[] v;
org.eclipse.collections.api.tuple.Pair v;
java.util.Iterator v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.ConcreteFunctionDefinition v;
org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.PropertyGraphFetchTree v, v;
java.lang.Object v, v, v, v, v, v, v;
v := @this: org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch;
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch: org.eclipse.collections.api.tuple.Pair test(java.lang.String)>("###Pure\nClass <<temporal.businesstemporal>> main::Person\n{\n  name: String[1];\n  firm: main::Firm[1];\n}\n\nClass <<temporal.businesstemporal>> main::Firm\n{\n  name: String[1];\n  city: main::City[1];\n}\n\nClass <<temporal.businesstemporal>> main::City\n{\n  name: String[1];\n}\n\nfunction main::walkTree(): String[*]\n{\n   main::Person.all(%2022-12-12)->graphFetch(#{main::Person{firm(%2020-12-12T00:00:00){name,city{name}}}}#)->serialize(#{main::Person{firm(%2020-12-12T00:00:00){name,city{name}}}}#)\n}\n");
v = interfaceinvoke v.<org.eclipse.collections.api.tuple.Pair: java.lang.Object getTwo()>();
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.ConcreteFunctionDefinition getConcreteFunctionDefinition(java.lang.String,org.finos.legend.engine.protocol.pure.v.model.SourceInformation)>("main::walkTree__String_MANY_", null);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.ConcreteFunctionDefinition: org.eclipse.collections.api.RichIterable _expressionSequence()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(0);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.SimpleFunctionExpression: org.eclipse.collections.api.RichIterable _parametersValues()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(1);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.InstanceValue: org.eclipse.collections.api.RichIterable _values()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(0);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.SimpleFunctionExpression: org.eclipse.collections.api.RichIterable _parametersValues()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(0);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.SimpleFunctionExpression: org.eclipse.collections.api.RichIterable _parametersValues()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(1);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.InstanceValue: org.eclipse.collections.api.RichIterable _values()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(0);
v = <org.eclipse.collections.api.factory.Lists: org.eclipse.collections.api.factory.list.MutableListFactory mutable>;
v = newarray (org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.RootGraphFetchTree)[2];
v[0] = v;
v[1] = v;
v = interfaceinvoke v.<org.eclipse.collections.api.factory.list.MutableListFactory: org.eclipse.collections.api.list.MutableList 'with'(java.lang.Object[])>(v);
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch: org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.PropertyGraphFetchTree propTree(org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.GraphFetchTree,java.lang.String)>(v, "firm");
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch: java.util.function.BiFunction assertSingleDateInPropertyTree()>();
interfaceinvoke v.<java.util.function.BiFunction: java.lang.Object apply(java.lang.Object,java.lang.Object)>(v, "2020-12-12");
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch: org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.PropertyGraphFetchTree propTree(org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.GraphFetchTree,java.lang.String)>(v, "city");
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch: java.util.function.BiFunction assertSingleDateInPropertyTree()>();
interfaceinvoke v.<java.util.function.BiFunction: java.lang.Object apply(java.lang.Object,java.lang.Object)>(v, "2020-12-12");
goto label;
label:
return;
}
public void testMilestoningContextNotAllowedToPropagateFromEdgePointPropertyToNoArgMilestonedPropertyInGraphFetch()
{
org.eclipse.collections.api.list.MutableList v, v, v, v, v, v, v;
org.eclipse.collections.api.RichIterable v, v, v, v, v, v;
boolean v;
org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch v;
org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.RootGraphFetchTree v;
org.eclipse.collections.api.factory.list.MutableListFactory v;
java.util.function.Function v, v;
org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.RootGraphFetchTree[] v;
org.eclipse.collections.api.tuple.Pair v;
java.util.Iterator v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.ConcreteFunctionDefinition v;
org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.PropertyGraphFetchTree v, v;
java.lang.Object v, v, v, v, v, v, v;
v := @this: org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch;
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch: org.eclipse.collections.api.tuple.Pair test(java.lang.String)>("###Pure\nClass <<temporal.businesstemporal>> main::Person\n{\n  name: String[1];\n  firm: main::Firm[1];\n}\n\nClass <<temporal.businesstemporal>> main::Firm\n{\n  name: String[1];\n  city: main::City[1];\n}\n\nClass <<temporal.businesstemporal>> main::City\n{\n  name: String[1];\n}\n\nfunction main::walkTree(): String[*]\n{\n   main::Person.all(%2022-12-12)->graphFetch(#{main::Person{firmAllVersions{name,city{name}}}}#)->serialize(#{main::Person{firmAllVersions{name,city{name}}}}#)\n}\n");
v = interfaceinvoke v.<org.eclipse.collections.api.tuple.Pair: java.lang.Object getTwo()>();
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.ConcreteFunctionDefinition getConcreteFunctionDefinition(java.lang.String,org.finos.legend.engine.protocol.pure.v.model.SourceInformation)>("main::walkTree__String_MANY_", null);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.ConcreteFunctionDefinition: org.eclipse.collections.api.RichIterable _expressionSequence()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(0);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.SimpleFunctionExpression: org.eclipse.collections.api.RichIterable _parametersValues()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(1);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.InstanceValue: org.eclipse.collections.api.RichIterable _values()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(0);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.SimpleFunctionExpression: org.eclipse.collections.api.RichIterable _parametersValues()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(0);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.SimpleFunctionExpression: org.eclipse.collections.api.RichIterable _parametersValues()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(1);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.InstanceValue: org.eclipse.collections.api.RichIterable _values()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(0);
v = <org.eclipse.collections.api.factory.Lists: org.eclipse.collections.api.factory.list.MutableListFactory mutable>;
v = newarray (org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.RootGraphFetchTree)[2];
v[0] = v;
v[1] = v;
v = interfaceinvoke v.<org.eclipse.collections.api.factory.list.MutableListFactory: org.eclipse.collections.api.list.MutableList 'with'(java.lang.Object[])>(v);
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch: org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.PropertyGraphFetchTree propTree(org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.GraphFetchTree,java.lang.String)>(v, "firmAllVersions");
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch: java.util.function.Function assertNoDateInPropertyTree()>();
interfaceinvoke v.<java.util.function.Function: java.lang.Object apply(java.lang.Object)>(v);
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch: org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.PropertyGraphFetchTree propTree(org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.GraphFetchTree,java.lang.String)>(v, "city");
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch: java.util.function.Function assertNoDateInPropertyTree()>();
interfaceinvoke v.<java.util.function.Function: java.lang.Object apply(java.lang.Object)>(v);
goto label;
label:
return;
}
public void testDatePropagationInGraphFetchDeepWithFromAndSerialize()
{
java.util.function.BiFunction v, v;
org.eclipse.collections.api.list.MutableList v, v, v, v, v, v, v, v;
org.eclipse.collections.api.RichIterable v, v, v, v, v, v, v;
boolean v;
org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch v;
org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.RootGraphFetchTree v;
org.eclipse.collections.api.factory.list.MutableListFactory v;
org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.RootGraphFetchTree[] v;
org.eclipse.collections.api.tuple.Pair v;
java.util.Iterator v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.ConcreteFunctionDefinition v;
org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.PropertyGraphFetchTree v, v;
java.lang.Object v, v, v, v, v, v, v, v;
v := @this: org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch;
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch: org.eclipse.collections.api.tuple.Pair test(java.lang.String)>("###Pure\nClass <<temporal.businesstemporal>> main::Person\n{\n  name: String[1];\n  firm: main::Firm[1];\n}\n\nClass <<temporal.businesstemporal>> main::Firm\n{\n  name: String[1];\n  city: main::City[1];\n}\n\nClass <<temporal.businesstemporal>> main::City\n{\n  name: String[1];\n}\n\nfunction main::walkTree(): String[*]\n{\n   main::Person.all(%2022-12-12)       ->graphFetch(#{main::Person{firm(%2020-12-12T00:00:00){name,city{name}}}}#)       ->from(main::dummyMapping, main::dummyRuntime)        ->serialize(#{main::Person{firm(%2020-12-12T00:00:00){name,city{name}}}}#)\n}\n\n###Mapping\nMapping main::dummyMapping()\n\n###Runtime\nRuntime main::dummyRuntime\n{\n  mappings:\n  [\n    main::dummyMapping\n  ];\n  connections:\n  [\n  ];\n}");
v = interfaceinvoke v.<org.eclipse.collections.api.tuple.Pair: java.lang.Object getTwo()>();
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.ConcreteFunctionDefinition getConcreteFunctionDefinition(java.lang.String,org.finos.legend.engine.protocol.pure.v.model.SourceInformation)>("main::walkTree__String_MANY_", null);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.ConcreteFunctionDefinition: org.eclipse.collections.api.RichIterable _expressionSequence()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(0);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.SimpleFunctionExpression: org.eclipse.collections.api.RichIterable _parametersValues()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(1);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.InstanceValue: org.eclipse.collections.api.RichIterable _values()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(0);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.SimpleFunctionExpression: org.eclipse.collections.api.RichIterable _parametersValues()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(0);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.SimpleFunctionExpression: org.eclipse.collections.api.RichIterable _parametersValues()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(0);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.SimpleFunctionExpression: org.eclipse.collections.api.RichIterable _parametersValues()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(1);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.InstanceValue: org.eclipse.collections.api.RichIterable _values()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(0);
v = <org.eclipse.collections.api.factory.Lists: org.eclipse.collections.api.factory.list.MutableListFactory mutable>;
v = newarray (org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.RootGraphFetchTree)[2];
v[0] = v;
v[1] = v;
v = interfaceinvoke v.<org.eclipse.collections.api.factory.list.MutableListFactory: org.eclipse.collections.api.list.MutableList 'with'(java.lang.Object[])>(v);
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch: org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.PropertyGraphFetchTree propTree(org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.GraphFetchTree,java.lang.String)>(v, "firm");
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch: java.util.function.BiFunction assertSingleDateInPropertyTree()>();
interfaceinvoke v.<java.util.function.BiFunction: java.lang.Object apply(java.lang.Object,java.lang.Object)>(v, "2020-12-12");
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch: org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.PropertyGraphFetchTree propTree(org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.GraphFetchTree,java.lang.String)>(v, "city");
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch: java.util.function.BiFunction assertSingleDateInPropertyTree()>();
interfaceinvoke v.<java.util.function.BiFunction: java.lang.Object apply(java.lang.Object,java.lang.Object)>(v, "2020-12-12");
goto label;
label:
return;
}
public org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.PropertyGraphFetchTree propTree(org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.GraphFetchTree, java.lang.String)
{
org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.GraphFetchTree v;
org.eclipse.collections.api.RichIterable v;
org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch v;
org.eclipse.collections.api.block.predicate.Predicate v;
java.lang.Object v;
java.lang.String v;
v := @this: org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.GraphFetchTree;
v := @parameter: java.lang.String;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.GraphFetchTree: org.eclipse.collections.api.RichIterable _subTrees()>();
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch$lambda_propTree_3f5d516b_1__127: org.eclipse.collections.api.block.predicate.Predicate bootstrap$(java.lang.String)>(v);
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: java.lang.Object detect(org.eclipse.collections.api.block.predicate.Predicate)>(v);
return v;
}
java.util.function.Function assertNoDateInPropertyTree()
{
java.util.function.Function v;
org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch v;
v := @this: org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch;
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch$lambda_assertNoDateInPropertyTree_0__128: java.util.function.Function bootstrap$()>();
return v;
}
java.util.function.BiFunction assertSingleDateInPropertyTree()
{
org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch v;
java.util.function.BiFunction v;
v := @this: org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch;
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch$lambda_assertSingleDateInPropertyTree_1__129: java.util.function.BiFunction bootstrap$(org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch)>(v);
return v;
}
public void assertPropertyTreeHasSufficientParameters(org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.PropertyGraphFetchTree)
{
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty v, v;
org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch v;
org.eclipse.collections.api.RichIterable v, v, v, v;
int v, v, v, v;
boolean v, v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Type v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.generics.GenericType v;
org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.PropertyGraphFetchTree v;
java.lang.Object v;
v := @this: org.finos.legend.engine.language.pure.compiler.test.fromGrammar.TestMilestonedPropertyUsageInGraphFetch;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.PropertyGraphFetchTree;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.PropertyGraphFetchTree: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty _property()>();
v = v instanceof org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.Property;
if v == 0 goto label;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.PropertyGraphFetchTree: org.eclipse.collections.api.RichIterable _parameters()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: int size()>();
staticinvoke <org.junit.Assert: void assertEquals(long,long)>(v, 0L);
goto label;
label:
v = v instanceof org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.QualifiedProperty;
if v == 0 goto label;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.PropertyGraphFetchTree: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty _property()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.generics.GenericType _classifierGenericType()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.generics.GenericType: org.eclipse.collections.api.RichIterable _typeArguments()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: java.lang.Object getFirst()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.generics.GenericType: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Type _rawType()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.FunctionType: org.eclipse.collections.api.RichIterable _parameters()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: int size()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.graphFetch.PropertyGraphFetchTree: org.eclipse.collections.api.RichIterable _parameters()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: int size()>();
v = v + 1;
staticinvoke <org.junit.Assert: void assertEquals(long,long)>(v, v);
label:
return;
}
}