public class org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext extends java.lang.Object
{
public org.eclipse.collections.api.list.MutableList inferredVariableList;
public java.util.Stack milestoningDatePropagationContext;
private final java.util.Stack tags;
public boolean isDatePropagationSupported;
public void pushMilestoningDatePropagationContext(org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationContext)
{
org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext v;
java.util.Stack v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationContext v;
v := @this: org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationContext;
v = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext: java.util.Stack milestoningDatePropagationContext>;
virtualinvoke v.<java.util.Stack: java.lang.Object push(java.lang.Object)>(v);
return;
}
public org.finos.legend.engine.language.pure.compiler.toPureGraph.MilestoningDatePropagationContext peekMilestoningDatePropagationContext()
{
java.lang.Object v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext v;
java.util.Stack v;
v := @this: 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: java.lang.Object peek()>();
return v;
}
public void popMilestoningDatePropagationContext()
{
org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext v;
java.util.Stack v;
v := @this: org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext;
v = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext: java.util.Stack milestoningDatePropagationContext>;
virtualinvoke v.<java.util.Stack: java.lang.Object pop()>();
return;
}
public void <init>(java.lang.String)
{
org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext v;
java.lang.String v;
java.util.Stack v, v, v;
org.eclipse.collections.impl.list.mutable.FastList v;
v := @this: org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext;
v := @parameter: java.lang.String;
specialinvoke v.<java.lang.Object: void <init>()>();
v = staticinvoke <org.eclipse.collections.impl.list.mutable.FastList: org.eclipse.collections.impl.list.mutable.FastList newList()>();
v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext: org.eclipse.collections.api.list.MutableList inferredVariableList> = v;
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;
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 tags> = v;
v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext: boolean isDatePropagationSupported> = 1;
v = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext: java.util.Stack tags>;
virtualinvoke v.<java.util.Stack: java.lang.Object push(java.lang.Object)>(v);
return;
}
public org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext push(java.lang.String)
{
org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext v;
java.lang.String v;
java.util.Stack v;
v := @this: org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext;
v := @parameter: java.lang.String;
v = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext: java.util.Stack tags>;
virtualinvoke v.<java.util.Stack: java.lang.Object push(java.lang.Object)>(v);
return v;
}
public org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext pop()
{
org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext v;
java.util.Stack v;
v := @this: org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext;
v = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext: java.util.Stack tags>;
virtualinvoke v.<java.util.Stack: java.lang.Object pop()>();
return v;
}
public java.lang.String peek()
{
java.lang.Object v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext v;
java.util.Stack v;
v := @this: org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext;
v = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext: java.util.Stack tags>;
v = virtualinvoke v.<java.util.Stack: java.lang.Object peek()>();
return v;
}
public java.util.Stack getStack()
{
org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext v;
java.util.Stack v;
v := @this: org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext;
v = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext: java.util.Stack tags>;
return v;
}
public boolean hasVariableLevel()
{
org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext v;
org.eclipse.collections.api.list.MutableList v;
boolean v, v;
v := @this: org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext;
v = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext: org.eclipse.collections.api.list.MutableList inferredVariableList>;
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: boolean isEmpty()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public void addInferredVariables(java.lang.String, org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification)
{
java.lang.Object v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext v;
java.lang.String v;
org.eclipse.collections.api.list.MutableList v, v;
boolean v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification v;
v := @this: org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext;
v := @parameter: java.lang.String;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification;
v = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext: org.eclipse.collections.api.list.MutableList inferredVariableList>;
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: boolean isEmpty()>();
if v == 0 goto label;
specialinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext: void addVariableToNewLevel(java.lang.String,org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification)>(v, v);
goto label;
label:
v = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext: org.eclipse.collections.api.list.MutableList inferredVariableList>;
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object getLast()>();
interfaceinvoke v.<org.eclipse.collections.api.map.MutableMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
return;
}
public void flushVariable(java.lang.String)
{
java.lang.Object v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext v;
java.lang.String v;
org.eclipse.collections.api.list.MutableList v;
v := @this: org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext;
v := @parameter: java.lang.String;
v = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext: org.eclipse.collections.api.list.MutableList inferredVariableList>;
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object getLast()>();
interfaceinvoke v.<org.eclipse.collections.api.map.MutableMap: java.lang.Object remove(java.lang.Object)>(v);
return;
}
public void removeLastVariableLevel()
{
int v, v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext v;
org.eclipse.collections.api.list.MutableList v, v;
v := @this: org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext;
v = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext: org.eclipse.collections.api.list.MutableList inferredVariableList>;
v = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext: org.eclipse.collections.api.list.MutableList inferredVariableList>;
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: int size()>();
v = v - 1;
interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object remove(int)>(v);
return;
}
public void addVariableLevel()
{
org.eclipse.collections.impl.map.mutable.UnifiedMap v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext v;
org.eclipse.collections.api.list.MutableList v;
v := @this: org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext;
v = staticinvoke <org.eclipse.collections.impl.map.mutable.UnifiedMap: org.eclipse.collections.impl.map.mutable.UnifiedMap newMap()>();
v = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext: org.eclipse.collections.api.list.MutableList inferredVariableList>;
interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: boolean add(java.lang.Object)>(v);
return;
}
public org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification getInferredVariable(java.lang.String)
{
java.util.ListIterator v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext v;
org.eclipse.collections.api.list.MutableList v, v;
java.lang.NullPointerException v;
java.lang.Object v, v;
java.lang.String v;
boolean v;
v := @this: org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext;
v := @parameter: java.lang.String;
v = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext: org.eclipse.collections.api.list.MutableList inferredVariableList>;
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: org.eclipse.collections.api.list.MutableList toReversed()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.util.ListIterator listIterator()>();
label:
v = interfaceinvoke v.<java.util.ListIterator: boolean hasNext()>();
if v == 0 goto label;
label:
v = interfaceinvoke v.<java.util.ListIterator: java.lang.Object next()>();
v = interfaceinvoke v.<org.eclipse.collections.api.map.MutableMap: java.lang.Object get(java.lang.Object)>(v);
label:
goto label;
label:
v := @caughtexception;
v = null;
label:
if v == null goto label;
label:
return v;
catch java.lang.NullPointerException from label to label with label;
}
private void addVariableToNewLevel(java.lang.String, org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification)
{
org.eclipse.collections.impl.map.mutable.UnifiedMap v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext v;
java.lang.String v;
org.eclipse.collections.api.list.MutableList v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification v;
v := @this: org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext;
v := @parameter: java.lang.String;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification;
v = staticinvoke <org.eclipse.collections.impl.map.mutable.UnifiedMap: org.eclipse.collections.impl.map.mutable.UnifiedMap newMap()>();
interfaceinvoke v.<org.eclipse.collections.api.map.MutableMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext: org.eclipse.collections.api.list.MutableList inferredVariableList>;
interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: boolean add(java.lang.Object)>(v);
return;
}
}