public class org.finos.legend.engine.repl.autocomplete.handlers.ExtendHandler extends org.finos.legend.engine.repl.autocomplete.FunctionHandler
{
public void <init>()
{
org.finos.legend.engine.repl.autocomplete.handlers.ExtendHandler v;
v := @this: org.finos.legend.engine.repl.autocomplete.handlers.ExtendHandler;
specialinvoke v.<org.finos.legend.engine.repl.autocomplete.FunctionHandler: void <init>()>();
return;
}
public java.lang.String functionName()
{
org.finos.legend.engine.repl.autocomplete.handlers.ExtendHandler v;
v := @this: org.finos.legend.engine.repl.autocomplete.handlers.ExtendHandler;
return "extend";
}
public org.eclipse.collections.api.list.MutableList proposedParameters(org.finos.legend.engine.protocol.pure.v.model.valueSpecification.application.AppliedFunction, org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.generics.GenericType, org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel, org.finos.legend.engine.repl.autocomplete.Completer, org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext, org.finos.legend.engine.protocol.pure.v.model.valueSpecification.ValueSpecification)
{
org.eclipse.collections.api.list.MutableList v, v, v;
boolean v, v, v, v, v, v;
org.finos.legend.engine.protocol.pure.v.model.valueSpecification.application.AppliedFunction v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext v;
java.util.List v, v, v, v, v, v, v, v, v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.generics.GenericType v;
org.eclipse.collections.api.factory.list.MutableListFactory v;
int v, v, v, v, v;
org.finos.legend.engine.repl.autocomplete.Completer v;
org.finos.legend.engine.repl.autocomplete.handlers.ExtendHandler v;
java.lang.String v, v;
org.finos.legend.engine.protocol.pure.v.model.valueSpecification.ValueSpecification v;
java.lang.Object v, v, v, v, v, v, v;
v := @this: org.finos.legend.engine.repl.autocomplete.handlers.ExtendHandler;
v := @parameter: org.finos.legend.engine.protocol.pure.v.model.valueSpecification.application.AppliedFunction;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.generics.GenericType;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel;
v := @parameter: org.finos.legend.engine.repl.autocomplete.Completer;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext;
v := @parameter: org.finos.legend.engine.protocol.pure.v.model.valueSpecification.ValueSpecification;
v = v.<org.finos.legend.engine.protocol.pure.v.model.valueSpecification.application.AppliedFunction: java.util.List parameters>;
v = interfaceinvoke v.<java.util.List: int size()>();
if v != 2 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)>(1);
v = v instanceof org.finos.legend.engine.protocol.pure.v.model.valueSpecification.application.AppliedFunction;
if v == 0 goto label;
v = "over";
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)>(1);
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)>(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: java.lang.Object get(int)>(1);
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 = v.<org.finos.legend.engine.protocol.pure.v.model.valueSpecification.application.AppliedFunction: java.util.List parameters>;
v = interfaceinvoke v.<java.util.List: int size()>();
v = v - 1;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = v instanceof org.finos.legend.engine.protocol.pure.v.model.valueSpecification.raw.ClassInstance;
if v == 0 goto label;
v = v.<org.finos.legend.engine.protocol.pure.v.model.valueSpecification.raw.ClassInstance: java.lang.Object value>;
v = staticinvoke <org.finos.legend.engine.repl.autocomplete.Completer: org.eclipse.collections.api.list.MutableList proposeColumnNamesForEditColSpec(java.lang.Object,org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.generics.GenericType)>(v, v);
return v;
label:
v = v instanceof org.finos.legend.engine.protocol.pure.v.model.valueSpecification.raw.Collection;
if v == 0 goto label;
v = v.<org.finos.legend.engine.protocol.pure.v.model.valueSpecification.raw.Collection: java.util.List values>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.valueSpecification.raw.Collection: java.util.List values>;
v = interfaceinvoke v.<java.util.List: int size()>();
v = v - 1;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = v instanceof org.finos.legend.engine.protocol.pure.v.model.valueSpecification.raw.ClassInstance;
if v == 0 goto label;
v = v.<org.finos.legend.engine.protocol.pure.v.model.valueSpecification.raw.ClassInstance: java.lang.Object value>;
v = staticinvoke <org.finos.legend.engine.repl.autocomplete.Completer: org.eclipse.collections.api.list.MutableList proposeColumnNamesForEditColSpec(java.lang.Object,org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.generics.GenericType)>(v, v);
return v;
label:
v = <org.eclipse.collections.api.factory.Lists: org.eclipse.collections.api.factory.list.MutableListFactory mutable>;
v = interfaceinvoke v.<org.eclipse.collections.api.factory.list.MutableListFactory: org.eclipse.collections.api.list.MutableList empty()>();
return v;
}
public void handleFunctionAppliedParameters(org.finos.legend.engine.protocol.pure.v.model.valueSpecification.application.AppliedFunction, org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.generics.GenericType, org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext, org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel)
{
int v, v, v, v, v;
org.finos.legend.engine.repl.autocomplete.handlers.ExtendHandler v;
boolean v;
org.finos.legend.engine.protocol.pure.v.model.valueSpecification.application.AppliedFunction v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext v;
java.util.List v, v, v, v, v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.generics.GenericType v;
java.lang.Object v, v, v;
v := @this: org.finos.legend.engine.repl.autocomplete.handlers.ExtendHandler;
v := @parameter: org.finos.legend.engine.protocol.pure.v.model.valueSpecification.application.AppliedFunction;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.generics.GenericType;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel;
v = v.<org.finos.legend.engine.protocol.pure.v.model.valueSpecification.application.AppliedFunction: java.util.List parameters>;
v = interfaceinvoke v.<java.util.List: int size()>();
if v <= 1 goto label;
v = v.<org.finos.legend.engine.protocol.pure.v.model.valueSpecification.application.AppliedFunction: java.util.List parameters>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.valueSpecification.application.AppliedFunction: java.util.List parameters>;
v = interfaceinvoke v.<java.util.List: int size()>();
v = v - 1;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = v instanceof org.finos.legend.engine.protocol.pure.v.model.valueSpecification.raw.ClassInstance;
if v == 0 goto label;
v = v.<org.finos.legend.engine.protocol.pure.v.model.valueSpecification.application.AppliedFunction: java.util.List parameters>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.valueSpecification.application.AppliedFunction: java.util.List parameters>;
v = interfaceinvoke v.<java.util.List: int size()>();
v = v - 1;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = v.<org.finos.legend.engine.protocol.pure.v.model.valueSpecification.raw.ClassInstance: java.lang.Object value>;
staticinvoke <org.finos.legend.engine.repl.autocomplete.handlers.ExtendHandler: void updateColSpecFirstFunction(java.lang.Object,org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.generics.GenericType,org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext,org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel)>(v, v, v, v);
staticinvoke <org.finos.legend.engine.repl.autocomplete.handlers.GroupByHandler: void updateColSpecSecondFunction(org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext,org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel,java.lang.Object)>(v, v, v);
label:
return;
}
public static void updateColSpecFirstFunction(java.lang.Object, org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.generics.GenericType, org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext, org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel)
{
org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext v;
org.eclipse.collections.api.block.procedure.Procedure v;
java.util.List v;
org.eclipse.collections.api.RichIterable v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.generics.GenericType v;
java.lang.Object v, v;
boolean v, v;
v := @parameter: java.lang.Object;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.generics.GenericType;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel;
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 = v instanceof org.finos.legend.engine.protocol.pure.v.model.valueSpecification.raw.classInstance.relation.ColSpec;
if v == 0 goto label;
staticinvoke <org.finos.legend.engine.repl.autocomplete.handlers.ExtendHandler: void processColSpecFirstFunction(org.finos.legend.engine.protocol.pure.v.model.valueSpecification.raw.classInstance.relation.ColSpec,org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.generics.GenericType,org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext,org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel)>(v, v, v, v);
label:
v = v instanceof org.finos.legend.engine.protocol.pure.v.model.valueSpecification.raw.classInstance.relation.ColSpecArray;
if v == 0 goto label;
v = v.<org.finos.legend.engine.protocol.pure.v.model.valueSpecification.raw.classInstance.relation.ColSpecArray: java.util.List colSpecs>;
v = staticinvoke <org.finos.legend.engine.repl.autocomplete.handlers.ExtendHandler$lambda_updateColSpecFirstFunction_722f2f2e_1__139: org.eclipse.collections.api.block.procedure.Procedure bootstrap$(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.generics.GenericType,org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext,org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel)>(v, v, v);
staticinvoke <org.eclipse.collections.impl.utility.ListIterate: void forEach(java.util.List,org.eclipse.collections.api.block.procedure.Procedure)>(v, v);
label:
return;
}
private static void processColSpecFirstFunction(org.finos.legend.engine.protocol.pure.v.model.valueSpecification.raw.classInstance.relation.ColSpec, org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.generics.GenericType, org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext, org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel)
{
org.finos.legend.engine.protocol.pure.v.model.valueSpecification.raw.classInstance.relation.ColSpec v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.VariableExpression v, v, v;
org.finos.legend.engine.protocol.pure.v.model.valueSpecification.raw.Lambda v;
int v, v, v;
java.lang.String v, v, v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext v;
java.util.List v, v, v, v, v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.multiplicity.Multiplicity v, v, v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.generics.GenericType v, v, v;
java.lang.Object v, v, v;
v := @parameter: org.finos.legend.engine.protocol.pure.v.model.valueSpecification.raw.classInstance.relation.ColSpec;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.generics.GenericType;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel;
v = v.<org.finos.legend.engine.protocol.pure.v.model.valueSpecification.raw.classInstance.relation.ColSpec: org.finos.legend.engine.protocol.pure.v.model.valueSpecification.raw.Lambda function1>;
if v == null goto label;
v = v.<org.finos.legend.engine.protocol.pure.v.model.valueSpecification.raw.Lambda: java.util.List parameters>;
v = interfaceinvoke v.<java.util.List: int size()>();
if v <= 1 goto label;
v = v.<org.finos.legend.engine.protocol.pure.v.model.valueSpecification.raw.Lambda: 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.Variable: java.lang.String name>;
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.generics.GenericType getGenericType(java.lang.String)>("meta::pure::metamodel::relation::Relation");
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.multiplicity.Multiplicity getMultiplicity(java.lang.String)>("one");
v = staticinvoke <org.finos.legend.engine.repl.autocomplete.handlers.ExtendHandler: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.VariableExpression buildTypedVariable(org.finos.legend.engine.protocol.pure.v.model.valueSpecification.Variable,org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.generics.GenericType,org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.multiplicity.Multiplicity,org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel)>(v, v, v, v);
virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext: void addInferredVariables(java.lang.String,org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification)>(v, v);
v = v.<org.finos.legend.engine.protocol.pure.v.model.valueSpecification.raw.Lambda: java.util.List parameters>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
v = v.<org.finos.legend.engine.protocol.pure.v.model.valueSpecification.Variable: java.lang.String name>;
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.generics.GenericType getGenericType(java.lang.String)>("meta::pure::functions::relation::Frame");
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.multiplicity.Multiplicity getMultiplicity(java.lang.String)>("one");
v = staticinvoke <org.finos.legend.engine.repl.autocomplete.handlers.ExtendHandler: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.VariableExpression buildTypedVariable(org.finos.legend.engine.protocol.pure.v.model.valueSpecification.Variable,org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.generics.GenericType,org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.multiplicity.Multiplicity,org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel)>(v, v, v, v);
virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext: void addInferredVariables(java.lang.String,org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification)>(v, v);
label:
v = v.<org.finos.legend.engine.protocol.pure.v.model.valueSpecification.raw.Lambda: java.util.List parameters>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.valueSpecification.raw.Lambda: java.util.List parameters>;
v = interfaceinvoke v.<java.util.List: int size()>();
v = v - 1;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = v.<org.finos.legend.engine.protocol.pure.v.model.valueSpecification.Variable: java.lang.String name>;
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.multiplicity.Multiplicity getMultiplicity(java.lang.String)>("one");
v = staticinvoke <org.finos.legend.engine.repl.autocomplete.handlers.ExtendHandler: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.VariableExpression buildTypedVariable(org.finos.legend.engine.protocol.pure.v.model.valueSpecification.Variable,org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.generics.GenericType,org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.multiplicity.Multiplicity,org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel)>(v, v, v, v);
virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext: void addInferredVariables(java.lang.String,org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification)>(v, v);
label:
return;
}
}