public class org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationHelper extends java.lang.Object
{
private static final java.lang.String ALL_VERSIONS_IN_RANGE_PROPERTY_NAME_SUFFIX;
private static final java.lang.String ALL_VERSIONS_PROPERTY_NAME_SUFFIX;
private static final org.eclipse.collections.api.list.ImmutableList MILESTONING_DATE_SOURCE_TYPES;
public void <init>()
{
org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationHelper v;
v := @this: org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationHelper;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static boolean isGetAllFunctionWithMilestoningContext(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.SimpleFunctionExpression)
{
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.SimpleFunctionExpression v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.Function v, v;
java.lang.String v, v, v, v, v, v;
boolean v, v, v, v;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.SimpleFunctionExpression;
v = "getAll";
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.SimpleFunctionExpression: java.lang.String _functionName()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = "getAll_Class_1__Date_1__T_MANY_";
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.SimpleFunctionExpression: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.Function _func()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.Function: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = "getAll_Class_1__Date_1__Date_1__T_MANY_";
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.SimpleFunctionExpression: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.Function _func()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.Function: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static void setMilestoningPropagationContext(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.SimpleFunctionExpression, org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext)
{
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.SimpleFunctionExpression v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext v;
org.eclipse.collections.api.list.MutableList v, v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Type v;
org.eclipse.collections.api.RichIterable v, v, v, v;
org.eclipse.collections.api.block.function.Function v;
org.finos.legend.pure.m.compiler.postprocessing.processor.milestoning.MilestoningStereotype v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.generics.GenericType v;
java.lang.Object v, v;
boolean v;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.SimpleFunctionExpression;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext;
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationHelper: boolean isGetAllFunctionWithMilestoningContext(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.SimpleFunctionExpression)>(v);
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationHelper$lambda_setMilestoningPropagationContext_253f4fbd_1__2454: org.eclipse.collections.api.block.function.Function bootstrap$()>();
staticinvoke <org.finos.legend.engine.shared.core.operational.Assert: void assertTrue(boolean,org.eclipse.collections.api.block.function.Function)>(v, v);
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: java.lang.Object getFirst()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.generics.GenericType _genericType()>();
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: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: 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.extension.AnnotatedElement: org.eclipse.collections.api.RichIterable _stereotypes()>();
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.Milestoning: org.finos.legend.pure.m.compiler.postprocessing.processor.milestoning.MilestoningStereotype temporalStereotypes(org.eclipse.collections.api.RichIterable)>(v);
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()>();
staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationHelper: void setMilestoningDates(org.eclipse.collections.api.list.ListIterable,org.finos.legend.pure.m.compiler.postprocessing.processor.milestoning.MilestoningStereotype,org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext)>(v, v, v);
return;
}
public static void setMilestoningDates(org.eclipse.collections.api.list.ListIterable, org.finos.legend.pure.m.compiler.postprocessing.processor.milestoning.MilestoningStereotype, org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext)
{
org.finos.legend.pure.m.compiler.postprocessing.processor.milestoning.MilestoningStereotype v;
int v, v, v;
boolean v, v, v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationContext v, v, v;
org.eclipse.collections.api.list.ListIterable v;
java.lang.Object v, v, v, v;
v := @parameter: org.eclipse.collections.api.list.ListIterable;
v := @parameter: org.finos.legend.pure.m.compiler.postprocessing.processor.milestoning.MilestoningStereotype;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext;
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationHelper: boolean isBusinessTemporal(org.finos.legend.pure.m.compiler.postprocessing.processor.milestoning.MilestoningStereotype)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<org.eclipse.collections.api.list.ListIterable: int size()>();
if v <= 1 goto label;
v = interfaceinvoke v.<org.eclipse.collections.api.list.ListIterable: java.lang.Object get(int)>(1);
label:
v = new org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationContext;
specialinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationContext: void <init>(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification,org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification)>(null, v);
virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext: void pushMilestoningDatePropagationContext(org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationContext)>(v);
goto label;
label:
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationHelper: boolean isProcessingTemporal(org.finos.legend.pure.m.compiler.postprocessing.processor.milestoning.MilestoningStereotype)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<org.eclipse.collections.api.list.ListIterable: int size()>();
if v <= 1 goto label;
v = interfaceinvoke v.<org.eclipse.collections.api.list.ListIterable: java.lang.Object get(int)>(1);
label:
v = new org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationContext;
specialinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationContext: void <init>(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification,org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification)>(v, null);
virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext: void pushMilestoningDatePropagationContext(org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationContext)>(v);
goto label;
label:
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationHelper: boolean isBiTemporal(org.finos.legend.pure.m.compiler.postprocessing.processor.milestoning.MilestoningStereotype)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<org.eclipse.collections.api.list.ListIterable: int size()>();
if v <= 2 goto label;
v = interfaceinvoke v.<org.eclipse.collections.api.list.ListIterable: java.lang.Object get(int)>(1);
v = interfaceinvoke v.<org.eclipse.collections.api.list.ListIterable: java.lang.Object get(int)>(2);
label:
v = new org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationContext;
specialinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationContext: void <init>(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification,org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification)>(v, v);
virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext: void pushMilestoningDatePropagationContext(org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationContext)>(v);
label:
return;
}
public static void updateMilestoningPropagationContext(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty, org.eclipse.collections.api.list.ListIterable, org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext)
{
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Type v;
org.eclipse.collections.api.RichIterable v;
org.finos.legend.pure.m.compiler.postprocessing.processor.milestoning.MilestoningStereotype v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.generics.GenericType v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationContext v;
org.eclipse.collections.api.list.ListIterable v;
java.lang.String v, v;
boolean v, v;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty;
v := @parameter: org.eclipse.collections.api.list.ListIterable;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: boolean endsWith(java.lang.String)>("AllVersionsInRange");
if v != 0 goto label;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: boolean endsWith(java.lang.String)>("AllVersions");
if v != 0 goto label;
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 _genericType()>();
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.Class: org.eclipse.collections.api.RichIterable _stereotypes()>();
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.Milestoning: org.finos.legend.pure.m.compiler.postprocessing.processor.milestoning.MilestoningStereotype temporalStereotypes(org.eclipse.collections.api.RichIterable)>(v);
staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationHelper: void setMilestoningDates(org.eclipse.collections.api.list.ListIterable,org.finos.legend.pure.m.compiler.postprocessing.processor.milestoning.MilestoningStereotype,org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext)>(v, v, v);
goto label;
label:
v = new org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationContext;
specialinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationContext: void <init>(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification,org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification)>(null, null);
virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext: void pushMilestoningDatePropagationContext(org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationContext)>(v);
label:
return;
}
public static void updateMilestoningPropagationContextWhileReprocessingFunctionExpression(org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext)
{
org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationContext v, v;
int v, v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext v;
java.util.Stack v, v;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext;
v = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext: java.util.Stack milestoningDatePropagationContext>;
v = virtualinvoke v.<java.util.Stack: int size()>();
if v == 0 goto label;
virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext: void popMilestoningDatePropagationContext()>();
v = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext: java.util.Stack milestoningDatePropagationContext>;
v = virtualinvoke v.<java.util.Stack: int size()>();
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext: org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationContext peekMilestoningDatePropagationContext()>();
virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext: void pushMilestoningDatePropagationContext(org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationContext)>(v);
goto label;
label:
v = new org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationContext;
specialinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationContext: void <init>(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification,org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification)>(null, null);
virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext: void pushMilestoningDatePropagationContext(org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationContext)>(v);
label:
return;
}
public static void updateMilestoningContext(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty, org.eclipse.collections.api.list.ListIterable, org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext, org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext)
{
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext v;
java.util.Stack v, v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationContext v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext v;
int v, v;
org.eclipse.collections.api.list.ListIterable v;
java.lang.String v, v;
boolean v, v, v, v;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty;
v := @parameter: org.eclipse.collections.api.list.ListIterable;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext;
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationHelper: boolean isGeneratedQualifiedPropertyWithDatePropagationSupported(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty,org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext)>(v, v);
if v == 0 goto label;
v = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext: java.util.Stack milestoningDatePropagationContext>;
v = virtualinvoke v.<java.util.Stack: int size()>();
if v == 0 goto label;
virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext: void popMilestoningDatePropagationContext()>();
label:
staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationHelper: void updateMilestoningPropagationContext(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty,org.eclipse.collections.api.list.ListIterable,org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext)>(v, v, v);
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.metamodel.function.property.AbstractProperty: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: boolean endsWith(java.lang.String)>("AllVersions");
if v != 0 goto label;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: boolean endsWith(java.lang.String)>("AllVersionsInRange");
if v == 0 goto label;
label:
v = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext: java.util.Stack milestoningDatePropagationContext>;
v = virtualinvoke v.<java.util.Stack: int size()>();
if v == 0 goto label;
virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext: void popMilestoningDatePropagationContext()>();
label:
v = new org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationContext;
specialinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationContext: void <init>(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification,org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification)>(null, null);
virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext: void pushMilestoningDatePropagationContext(org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationContext)>(v);
label:
return;
}
public static void isValidSource(org.finos.legend.engine.protocol.pure.v.model.valueSpecification.application.AppliedFunction, org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext)
{
org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext v;
java.util.List v, v, v;
org.eclipse.collections.api.list.ImmutableList v;
java.lang.Object v, v;
java.lang.String v, v;
boolean v, v, v, v;
org.finos.legend.engine.protocol.pure.v.model.valueSpecification.application.AppliedFunction v;
v := @parameter: org.finos.legend.engine.protocol.pure.v.model.valueSpecification.application.AppliedFunction;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext;
v = <org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationHelper: org.eclipse.collections.api.list.ImmutableList MILESTONING_DATE_SOURCE_TYPES>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.valueSpecification.application.AppliedFunction: java.lang.String function>;
v = interfaceinvoke v.<org.eclipse.collections.api.list.ImmutableList: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
v = v.<org.finos.legend.engine.protocol.pure.v.model.valueSpecification.application.AppliedFunction: java.util.List parameters>;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v != 0 goto label;
v = v.<org.finos.legend.engine.protocol.pure.v.model.valueSpecification.application.AppliedFunction: java.util.List parameters>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = v instanceof org.finos.legend.engine.protocol.pure.v.model.valueSpecification.application.AppliedFunction;
if v == 0 goto label;
v = v.<org.finos.legend.engine.protocol.pure.v.model.valueSpecification.application.AppliedFunction: java.util.List parameters>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = v.<org.finos.legend.engine.protocol.pure.v.model.valueSpecification.application.AppliedFunction: java.lang.String function>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("getAll");
if v == 0 goto label;
v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext: boolean isDatePropagationSupported> = 0;
goto label;
label:
v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext: boolean isDatePropagationSupported> = 1;
label:
return;
}
public static void updateMilestoningContextFromValidSources(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification, org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext)
{
org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext v;
java.util.Stack v;
boolean v, v, v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification v;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext;
v = v instanceof org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.SimpleFunctionExpression;
if v == 0 goto label;
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationHelper: boolean isGetAllFunctionWithMilestoningContext(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.SimpleFunctionExpression)>(v);
if v == 0 goto label;
v = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext: boolean isDatePropagationSupported>;
if v == 0 goto label;
v = new java.util.Stack;
specialinvoke v.<java.util.Stack: void <init>()>();
v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext: java.util.Stack milestoningDatePropagationContext> = v;
staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationHelper: void setMilestoningPropagationContext(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.SimpleFunctionExpression,org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext)>(v, v);
label:
return;
}
public static boolean isGeneratedQualifiedPropertyWithDatePropagationSupported(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty, org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext)
{
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext v;
java.lang.Boolean v;
boolean v, v, v;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext;
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.Milestoning: java.lang.Boolean isGeneratedMilestoningQualifiedProperty(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty)>(v);
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
if v == 0 goto label;
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.Milestoning: boolean isAllVersionsInRangeGeneratedMilestoningQualifiedProperty(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty)>(v);
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static boolean isGeneratedMilestonedQualifiedPropertyWithMissingDates(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty, org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext, java.lang.Integer)
{
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext v;
int v, v;
java.lang.Integer v;
boolean v, v;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext;
v := @parameter: java.lang.Integer;
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationHelper: boolean isGeneratedQualifiedPropertyWithDatePropagationSupported(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty,org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext)>(v, v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.Milestoning: int getCountOfParametersSatisfyingMilestoningDateRequirments(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.QualifiedProperty)>(v);
if v == v goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
return 0;
}
public static boolean isProcessingTemporal(org.finos.legend.pure.m.compiler.postprocessing.processor.milestoning.MilestoningStereotype)
{
java.lang.String v;
org.finos.legend.pure.m.compiler.postprocessing.processor.milestoning.MilestoningStereotype v;
boolean v;
v := @parameter: org.finos.legend.pure.m.compiler.postprocessing.processor.milestoning.MilestoningStereotype;
if v == null goto label;
v = interfaceinvoke v.<org.finos.legend.pure.m.compiler.postprocessing.processor.milestoning.MilestoningStereotype: java.lang.String getPurePlatformStereotypeName()>();
if v != "processingtemporal" goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static boolean isBusinessTemporal(org.finos.legend.pure.m.compiler.postprocessing.processor.milestoning.MilestoningStereotype)
{
java.lang.String v;
org.finos.legend.pure.m.compiler.postprocessing.processor.milestoning.MilestoningStereotype v;
boolean v;
v := @parameter: org.finos.legend.pure.m.compiler.postprocessing.processor.milestoning.MilestoningStereotype;
if v == null goto label;
v = interfaceinvoke v.<org.finos.legend.pure.m.compiler.postprocessing.processor.milestoning.MilestoningStereotype: java.lang.String getPurePlatformStereotypeName()>();
if v != "businesstemporal" goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private static boolean isSingleDateTemporal(org.finos.legend.pure.m.compiler.postprocessing.processor.milestoning.MilestoningStereotype)
{
org.finos.legend.pure.m.compiler.postprocessing.processor.milestoning.MilestoningStereotype v;
boolean v, v, v;
v := @parameter: org.finos.legend.pure.m.compiler.postprocessing.processor.milestoning.MilestoningStereotype;
if v == null goto label;
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationHelper: boolean isProcessingTemporal(org.finos.legend.pure.m.compiler.postprocessing.processor.milestoning.MilestoningStereotype)>(v);
if v != 0 goto label;
label:
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationHelper: boolean isBusinessTemporal(org.finos.legend.pure.m.compiler.postprocessing.processor.milestoning.MilestoningStereotype)>(v);
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private static org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Type getMilestonedPropertyOwningType(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty)
{
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty v;
org.finos.legend.engine.protocol.pure.v.model.context.EngineErrorType v;
org.eclipse.collections.api.block.predicate.Predicate v;
org.eclipse.collections.api.list.MutableList v, v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.PropertyOwner v, v, v;
org.eclipse.collections.api.RichIterable v;
java.lang.String v, v;
boolean v, v, v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Class 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.engine.shared.core.operational.errorManagement.EngineException v;
java.lang.Object v;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.PropertyOwner _owner()>();
v = v instanceof org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Class;
if v == 0 goto label;
interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.PropertyOwner _owner()>();
return v;
label:
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.PropertyOwner _owner()>();
v = v instanceof org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.relationship.Association;
if v == 0 goto label;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.PropertyOwner _owner()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.relationship.Association: org.eclipse.collections.api.RichIterable _originalMilestonedProperties()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationHelper$lambda_getMilestonedPropertyOwningType_a6309e8b_1__2455: org.eclipse.collections.api.block.predicate.Predicate bootstrap$(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty)>(v);
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: org.eclipse.collections.api.list.MutableList select(org.eclipse.collections.api.block.predicate.Predicate)>(v);
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: boolean isEmpty()>();
if v == 0 goto label;
v = new org.finos.legend.engine.shared.core.operational.errorManagement.EngineException;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty: java.lang.String _name()>();
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[])>("The property \'\u0001\' is milestoned with stereotypes: [ businesstemporal ] and requires date parameters: [ businessDate ]");
v = <org.finos.legend.engine.protocol.pure.v.model.context.EngineErrorType: org.finos.legend.engine.protocol.pure.v.model.context.EngineErrorType COMPILATION>;
specialinvoke v.<org.finos.legend.engine.shared.core.operational.errorManagement.EngineException: void <init>(java.lang.String,org.finos.legend.engine.protocol.pure.v.model.context.EngineErrorType)>(v, v);
throw v;
label:
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object getFirst()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.Property: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.generics.GenericType _genericType()>();
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()>();
return v;
label:
return null;
}
private static org.eclipse.collections.api.tuple.Pair getSourceTargetMilestoningStereotypes(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty)
{
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Type v, v;
org.eclipse.collections.api.RichIterable v, v, v, v;
org.finos.legend.pure.m.compiler.postprocessing.processor.milestoning.MilestoningStereotype v, v, v, v, v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.generics.GenericType v;
org.eclipse.collections.api.tuple.Pair v;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty;
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationHelper: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Type getMilestonedPropertyOwningType(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty)>(v);
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 _genericType()>();
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.Class: org.eclipse.collections.api.RichIterable _stereotypes()>();
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.Milestoning: org.finos.legend.pure.m.compiler.postprocessing.processor.milestoning.MilestoningStereotype temporalStereotypes(org.eclipse.collections.api.RichIterable)>(v);
if v == null goto label;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Class: org.eclipse.collections.api.RichIterable _stereotypes()>();
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.Milestoning: org.finos.legend.pure.m.compiler.postprocessing.processor.milestoning.MilestoningStereotype temporalStereotypes(org.eclipse.collections.api.RichIterable)>(v);
goto label;
label:
v = null;
label:
v = v;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Class: org.eclipse.collections.api.RichIterable _stereotypes()>();
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.Milestoning: org.finos.legend.pure.m.compiler.postprocessing.processor.milestoning.MilestoningStereotype temporalStereotypes(org.eclipse.collections.api.RichIterable)>(v);
if v == null goto label;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Class: org.eclipse.collections.api.RichIterable _stereotypes()>();
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.Milestoning: org.finos.legend.pure.m.compiler.postprocessing.processor.milestoning.MilestoningStereotype temporalStereotypes(org.eclipse.collections.api.RichIterable)>(v);
goto label;
label:
v = null;
label:
v = staticinvoke <org.eclipse.collections.impl.tuple.Tuples: org.eclipse.collections.api.tuple.Pair pair(java.lang.Object,java.lang.Object)>(v, v);
return v;
}
public static boolean isBiTemporal(org.finos.legend.pure.m.compiler.postprocessing.processor.milestoning.MilestoningStereotype)
{
java.lang.String v;
org.finos.legend.pure.m.compiler.postprocessing.processor.milestoning.MilestoningStereotype v;
boolean v;
v := @parameter: org.finos.legend.pure.m.compiler.postprocessing.processor.milestoning.MilestoningStereotype;
if v == null goto label;
v = interfaceinvoke v.<org.finos.legend.pure.m.compiler.postprocessing.processor.milestoning.MilestoningStereotype: java.lang.String getPurePlatformStereotypeName()>();
if v != "bitemporal" goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private static void setMilestoningDateParameters(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification[], int, org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification)
{
int v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification[] v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification v;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification[];
v := @parameter: int;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification;
v[v] = v;
return;
}
private static boolean oneDateParamSupplied(org.eclipse.collections.api.list.ListIterable)
{
int v;
org.eclipse.collections.api.list.ListIterable v;
boolean v;
v := @parameter: org.eclipse.collections.api.list.ListIterable;
v = interfaceinvoke v.<org.eclipse.collections.api.list.ListIterable: int size()>();
if v != 2 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private static boolean noDateParamSupplied(org.eclipse.collections.api.list.ListIterable)
{
int v;
org.eclipse.collections.api.list.ListIterable v;
boolean v;
v := @parameter: org.eclipse.collections.api.list.ListIterable;
v = interfaceinvoke v.<org.eclipse.collections.api.list.ListIterable: int size()>();
if v != 1 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static org.eclipse.collections.api.list.MutableList getMilestoningDatesFromMilestoningContext(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty, org.eclipse.collections.api.list.MutableList, org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext)
{
org.eclipse.collections.api.list.MutableList v, v;
byte v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification[] v, v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext v;
org.eclipse.collections.api.list.ListIterable v;
java.lang.Object[] v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty v;
java.util.Stack v;
org.eclipse.collections.impl.list.mutable.FastList v, v;
org.eclipse.collections.api.LazyIterable v;
int v, v, v;
org.eclipse.collections.api.tuple.Pair v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification v, v, v, v, v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationContext v, v, v;
java.lang.Object v, v, v, v, v, v;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty;
v := @parameter: org.eclipse.collections.api.list.MutableList;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext;
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationHelper: org.eclipse.collections.api.tuple.Pair getSourceTargetMilestoningStereotypes(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty)>(v);
v = interfaceinvoke v.<org.eclipse.collections.api.tuple.Pair: java.lang.Object getOne()>();
v = interfaceinvoke v.<org.eclipse.collections.api.tuple.Pair: java.lang.Object getTwo()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.compiler.postprocessing.processor.milestoning.MilestoningStereotype: org.eclipse.collections.api.list.ListIterable getTemporalDatePropertyNames()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.ListIterable: int size()>();
v = newarray (org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification)[v];
v = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext: java.util.Stack milestoningDatePropagationContext>;
v = virtualinvoke v.<java.util.Stack: int size()>();
if v != 0 goto label;
v = new org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationContext;
v = v;
specialinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationContext: void <init>(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification,org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification)>(null, null);
goto label;
label:
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext: org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationContext peekMilestoningDatePropagationContext()>();
label:
v = v;
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationHelper: boolean isBiTemporal(org.finos.legend.pure.m.compiler.postprocessing.processor.milestoning.MilestoningStereotype)>(v);
if v == 0 goto label;
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationHelper: boolean isBiTemporal(org.finos.legend.pure.m.compiler.postprocessing.processor.milestoning.MilestoningStereotype)>(v);
if v == 0 goto label;
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationHelper: boolean oneDateParamSupplied(org.eclipse.collections.api.list.ListIterable)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationContext: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification getProcessingDate()>();
v[0] = v;
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(1);
v[1] = v;
goto label;
label:
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationHelper: boolean isSingleDateTemporal(org.finos.legend.pure.m.compiler.postprocessing.processor.milestoning.MilestoningStereotype)>(v);
if v == 0 goto label;
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationHelper: boolean oneDateParamSupplied(org.eclipse.collections.api.list.ListIterable)>(v);
if v == 0 goto label;
v = staticinvoke <java.util.Objects: java.lang.Object requireNonNull(java.lang.Object)>(v);
v = interfaceinvoke v.<org.finos.legend.pure.m.compiler.postprocessing.processor.milestoning.MilestoningStereotype: int positionInTemporalParameterValues()>();
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationHelper: boolean isProcessingTemporal(org.finos.legend.pure.m.compiler.postprocessing.processor.milestoning.MilestoningStereotype)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationContext: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification getProcessingDate()>();
v = 1;
goto label;
label:
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationContext: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification getBusinessDate()>();
v = 0;
label:
staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationHelper: void setMilestoningDateParameters(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification[],int,org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification)>(v, v, v);
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(1);
staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationHelper: void setMilestoningDateParameters(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification[],int,org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification)>(v, v, v);
label:
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationHelper: boolean isBiTemporal(org.finos.legend.pure.m.compiler.postprocessing.processor.milestoning.MilestoningStereotype)>(v);
if v == 0 goto label;
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationHelper: boolean noDateParamSupplied(org.eclipse.collections.api.list.ListIterable)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationContext: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification getProcessingDate()>();
v[0] = v;
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationContext: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification getBusinessDate()>();
v[1] = v;
goto label;
label:
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationHelper: boolean isSingleDateTemporal(org.finos.legend.pure.m.compiler.postprocessing.processor.milestoning.MilestoningStereotype)>(v);
if v == 0 goto label;
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationHelper: boolean noDateParamSupplied(org.eclipse.collections.api.list.ListIterable)>(v);
if v == 0 goto label;
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationHelper: boolean isProcessingTemporal(org.finos.legend.pure.m.compiler.postprocessing.processor.milestoning.MilestoningStereotype)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationContext: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification getProcessingDate()>();
goto label;
label:
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationContext: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification getBusinessDate()>();
label:
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationHelper: boolean isBiTemporal(org.finos.legend.pure.m.compiler.postprocessing.processor.milestoning.MilestoningStereotype)>(v);
if v == 0 goto label;
staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationHelper: void setMilestoningDateParameters(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification[],int,org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification)>(v, 0, v);
label:
if v != v goto label;
staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationHelper: void setMilestoningDateParameters(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification[],int,org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification)>(v, 0, v);
label:
v = staticinvoke <org.eclipse.collections.impl.utility.ArrayIterate: boolean isEmpty(java.lang.Object[])>(v);
if v != 0 goto label;
v = staticinvoke <org.eclipse.collections.impl.utility.ArrayIterate: boolean contains(java.lang.Object[],java.lang.Object)>(v, null);
if v != 0 goto label;
v = newarray (java.lang.Iterable)[2];
v = newarray (org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification)[1];
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(0);
v[0] = v;
v = staticinvoke <org.eclipse.collections.impl.list.mutable.FastList: org.eclipse.collections.impl.list.mutable.FastList newListWith(java.lang.Object[])>(v);
v[0] = v;
v = staticinvoke <org.eclipse.collections.impl.list.mutable.FastList: org.eclipse.collections.impl.list.mutable.FastList newListWith(java.lang.Object[])>(v);
v[1] = v;
v = staticinvoke <org.eclipse.collections.impl.utility.LazyIterate: org.eclipse.collections.api.LazyIterable concatenate(java.lang.Iterable[])>(v);
v = interfaceinvoke v.<org.eclipse.collections.api.LazyIterable: org.eclipse.collections.api.list.MutableList toList()>();
return v;
label:
return v;
}
public static void updateFunctionExpressionWithMilestoningDateParams(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.FunctionExpression, org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty, org.finos.legend.engine.protocol.pure.v.model.SourceInformation, org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext)
{
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext v;
org.finos.legend.engine.protocol.pure.v.model.SourceInformation v;
org.eclipse.collections.api.list.MutableList v, v;
org.eclipse.collections.api.RichIterable v, v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.FunctionExpression v;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.FunctionExpression;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty;
v := @parameter: org.finos.legend.engine.protocol.pure.v.model.SourceInformation;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.FunctionExpression: org.eclipse.collections.api.RichIterable _parametersValues()>();
interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.FunctionExpression: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.FunctionExpression _originalMilestonedPropertyParametersValues(org.eclipse.collections.api.RichIterable)>(v);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.FunctionExpression: org.eclipse.collections.api.RichIterable _parametersValues()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationHelper: org.eclipse.collections.api.list.MutableList getMilestoningDatesFromMilestoningContext(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty,org.eclipse.collections.api.list.MutableList,org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext)>(v, v, v);
interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.FunctionExpression: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.FunctionExpression _parametersValues(org.eclipse.collections.api.RichIterable)>(v);
interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.FunctionExpression: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.FunctionExpression _func(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.Function)>(v);
return;
}
static void <clinit>()
{
org.eclipse.collections.api.factory.list.ImmutableListFactory v;
org.eclipse.collections.api.list.ImmutableList v;
v = <org.eclipse.collections.impl.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 of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)>("getAll", "exists", "project", "filter", "subType", "map", "graphFetch", "graphFetchChecked", "serialize", "serializeChecked");
<org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationHelper: org.eclipse.collections.api.list.ImmutableList MILESTONING_DATE_SOURCE_TYPES> = v;
return;
}
}