public class org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.RequiredInferenceSimilarSignatureFunctionExpressionBuilder extends org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.FunctionExpressionBuilder
{
private final org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.inference.ParametersInference parametersInference;
private final org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.MultiHandlerFunctionExpressionBuilder handlers;
public void <init>(org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.inference.ParametersInference, org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.FunctionHandler[], 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.handlers.FunctionHandler[] v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.inference.ParametersInference v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.RequiredInferenceSimilarSignatureFunctionExpressionBuilder v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.MultiHandlerFunctionExpressionBuilder v;
v := @this: org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.RequiredInferenceSimilarSignatureFunctionExpressionBuilder;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.inference.ParametersInference;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.FunctionHandler[];
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel;
specialinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.FunctionExpressionBuilder: void <init>()>();
v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.RequiredInferenceSimilarSignatureFunctionExpressionBuilder: org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.inference.ParametersInference parametersInference> = v;
v = new org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.MultiHandlerFunctionExpressionBuilder;
specialinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.MultiHandlerFunctionExpressionBuilder: void <init>(org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel,org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.FunctionHandler[])>(v, v);
v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.RequiredInferenceSimilarSignatureFunctionExpressionBuilder: org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.MultiHandlerFunctionExpressionBuilder handlers> = v;
return;
}
public java.lang.String getFunctionName()
{
org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.RequiredInferenceSimilarSignatureFunctionExpressionBuilder v;
java.lang.String v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.MultiHandlerFunctionExpressionBuilder v;
v := @this: org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.RequiredInferenceSimilarSignatureFunctionExpressionBuilder;
v = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.RequiredInferenceSimilarSignatureFunctionExpressionBuilder: org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.MultiHandlerFunctionExpressionBuilder handlers>;
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.MultiHandlerFunctionExpressionBuilder: java.lang.String getFunctionName()>();
return v;
}
public void addFunctionHandler(org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.FunctionHandler)
{
org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.RequiredInferenceSimilarSignatureFunctionExpressionBuilder v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.FunctionHandler v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.MultiHandlerFunctionExpressionBuilder v;
v := @this: org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.RequiredInferenceSimilarSignatureFunctionExpressionBuilder;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.FunctionHandler;
v = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.RequiredInferenceSimilarSignatureFunctionExpressionBuilder: org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.MultiHandlerFunctionExpressionBuilder handlers>;
virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.MultiHandlerFunctionExpressionBuilder: void addFunctionHandler(org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.FunctionHandler)>(v);
return;
}
public java.lang.Boolean supportFunctionHandler(org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.FunctionHandler)
{
org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.RequiredInferenceSimilarSignatureFunctionExpressionBuilder v;
java.lang.Boolean v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.FunctionHandler v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.MultiHandlerFunctionExpressionBuilder v;
v := @this: org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.RequiredInferenceSimilarSignatureFunctionExpressionBuilder;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.FunctionHandler;
v = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.RequiredInferenceSimilarSignatureFunctionExpressionBuilder: org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.MultiHandlerFunctionExpressionBuilder handlers>;
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.MultiHandlerFunctionExpressionBuilder: java.lang.Boolean supportFunctionHandler(org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.FunctionHandler)>(v);
return v;
}
public java.util.Optional getParametersSize()
{
org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.RequiredInferenceSimilarSignatureFunctionExpressionBuilder v;
java.util.Optional v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.MultiHandlerFunctionExpressionBuilder v;
v := @this: org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.RequiredInferenceSimilarSignatureFunctionExpressionBuilder;
v = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.RequiredInferenceSimilarSignatureFunctionExpressionBuilder: org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.MultiHandlerFunctionExpressionBuilder handlers>;
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.MultiHandlerFunctionExpressionBuilder: java.util.Optional getParametersSize()>();
return v;
}
public org.eclipse.collections.api.tuple.Pair buildFunctionExpression(java.util.List, org.eclipse.collections.api.list.MutableList, org.finos.legend.engine.protocol.pure.v.model.SourceInformation, org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext, org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext)
{
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.SimpleFunctionExpression v;
org.eclipse.collections.api.list.MutableList v, v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.inference.ParametersInference v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.Function v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.RequiredInferenceSimilarSignatureFunctionExpressionBuilder v;
org.eclipse.collections.api.tuple.Pair v, v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.MultiHandlerFunctionExpressionBuilder v, v;
boolean v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext v;
org.finos.legend.engine.protocol.pure.v.model.SourceInformation v;
java.util.List v, v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext v;
java.lang.Object v;
v := @this: org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.RequiredInferenceSimilarSignatureFunctionExpressionBuilder;
v := @parameter: java.util.List;
v := @parameter: org.eclipse.collections.api.list.MutableList;
v := @parameter: org.finos.legend.engine.protocol.pure.v.model.SourceInformation;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext;
v = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.RequiredInferenceSimilarSignatureFunctionExpressionBuilder: org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.MultiHandlerFunctionExpressionBuilder handlers>;
v = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.MultiHandlerFunctionExpressionBuilder: org.eclipse.collections.api.list.MutableList handlers>;
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(0);
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.FunctionHandler: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.Function getFunc()>();
v = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext: org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel pureModel>;
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.RequiredInferenceSimilarSignatureFunctionExpressionBuilder: boolean test(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.Function,java.util.List,org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel,org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext)>(v, v, v, v);
if v == 0 goto label;
v = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.RequiredInferenceSimilarSignatureFunctionExpressionBuilder: org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.inference.ParametersInference parametersInference>;
v = interfaceinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.inference.ParametersInference: java.util.List update(java.util.List,org.eclipse.collections.api.list.MutableList,org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext,org.finos.legend.engine.language.pure.compiler.toPureGraph.ProcessingContext)>(v, v, v, v);
v = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.RequiredInferenceSimilarSignatureFunctionExpressionBuilder: org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.MultiHandlerFunctionExpressionBuilder handlers>;
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.MultiHandlerFunctionExpressionBuilder: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.SimpleFunctionExpression buildFunctionExpressionGraph(java.util.List,org.finos.legend.engine.protocol.pure.v.model.SourceInformation)>(v, v);
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;
label:
v = staticinvoke <org.eclipse.collections.impl.tuple.Tuples: org.eclipse.collections.api.tuple.Pair pair(java.lang.Object,java.lang.Object)>(null, null);
return v;
}
public org.eclipse.collections.api.list.MutableList handlers()
{
org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.RequiredInferenceSimilarSignatureFunctionExpressionBuilder v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.MultiHandlerFunctionExpressionBuilder v;
org.eclipse.collections.api.list.MutableList v;
v := @this: org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.RequiredInferenceSimilarSignatureFunctionExpressionBuilder;
v = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.RequiredInferenceSimilarSignatureFunctionExpressionBuilder: org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.MultiHandlerFunctionExpressionBuilder handlers>;
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.MultiHandlerFunctionExpressionBuilder: org.eclipse.collections.api.list.MutableList handlers()>();
return v;
}
public void insertFunctionHandlerAtIndex(int, org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.FunctionHandler)
{
org.eclipse.collections.api.list.MutableList v, v, v;
int v, v, v, v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.RequiredInferenceSimilarSignatureFunctionExpressionBuilder v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.FunctionHandler v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.MultiHandlerFunctionExpressionBuilder v, v, v;
v := @this: org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.RequiredInferenceSimilarSignatureFunctionExpressionBuilder;
v := @parameter: int;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.FunctionHandler;
if v >= 0 goto label;
v = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.RequiredInferenceSimilarSignatureFunctionExpressionBuilder: org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.MultiHandlerFunctionExpressionBuilder handlers>;
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.MultiHandlerFunctionExpressionBuilder: org.eclipse.collections.api.list.MutableList handlers()>();
interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: void add(int,java.lang.Object)>(0, v);
goto label;
label:
v = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.RequiredInferenceSimilarSignatureFunctionExpressionBuilder: org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.MultiHandlerFunctionExpressionBuilder handlers>;
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.MultiHandlerFunctionExpressionBuilder: org.eclipse.collections.api.list.MutableList handlers()>();
v = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.RequiredInferenceSimilarSignatureFunctionExpressionBuilder: org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.MultiHandlerFunctionExpressionBuilder handlers>;
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.MultiHandlerFunctionExpressionBuilder: org.eclipse.collections.api.list.MutableList handlers()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: int size()>();
v = v - 1;
v = staticinvoke <java.lang.Math: int min(int,int)>(v, v);
interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: void add(int,java.lang.Object)>(v, v);
label:
return;
}
public org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.FunctionExpressionBuilder getFunctionExpressionBuilderAtIndex(int)
{
int v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.RequiredInferenceSimilarSignatureFunctionExpressionBuilder v;
java.lang.UnsupportedOperationException v;
v := @this: org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.RequiredInferenceSimilarSignatureFunctionExpressionBuilder;
v := @parameter: int;
v = new java.lang.UnsupportedOperationException;
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>("Required inference similar signature function expression builder does not support getting function expression builder at a particular index");
throw v;
}
public void insertFunctionExpressionBuilderAtIndex(int, org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.FunctionExpressionBuilder)
{
java.lang.UnsupportedOperationException v;
int v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.FunctionExpressionBuilder v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.RequiredInferenceSimilarSignatureFunctionExpressionBuilder v;
v := @this: org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.RequiredInferenceSimilarSignatureFunctionExpressionBuilder;
v := @parameter: int;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.handlers.builder.FunctionExpressionBuilder;
v = new java.lang.UnsupportedOperationException;
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>("Required inference similar signature function expression builder does not support inserting function expression builder at a particular index");
throw v;
}
}