public class org.finos.legend.pure.runtime.java.extension.external.relation.interpreted.natives.Concatenate extends org.finos.legend.pure.runtime.java.extension.external.relation.interpreted.natives.shared.Shared
{
public void <init>(org.finos.legend.pure.runtime.java.interpreted.FunctionExecutionInterpreted, org.finos.legend.pure.m.ModelRepository)
{
org.finos.legend.pure.runtime.java.extension.external.relation.interpreted.natives.Concatenate v;
org.finos.legend.pure.m.ModelRepository v;
org.finos.legend.pure.runtime.java.interpreted.FunctionExecutionInterpreted v;
v := @this: org.finos.legend.pure.runtime.java.extension.external.relation.interpreted.natives.Concatenate;
v := @parameter: org.finos.legend.pure.runtime.java.interpreted.FunctionExecutionInterpreted;
v := @parameter: org.finos.legend.pure.m.ModelRepository;
specialinvoke v.<org.finos.legend.pure.runtime.java.extension.external.relation.interpreted.natives.shared.Shared: void <init>(org.finos.legend.pure.runtime.java.interpreted.FunctionExecutionInterpreted,org.finos.legend.pure.m.ModelRepository)>(v, v);
return;
}
public org.finos.legend.pure.m.coreinstance.CoreInstance execute(org.eclipse.collections.api.list.ListIterable, java.util.Stack, java.util.Stack, org.finos.legend.pure.runtime.java.interpreted.VariableContext, org.finos.legend.pure.m.coreinstance.CoreInstance, org.finos.legend.pure.runtime.java.interpreted.profiler.Profiler, org.finos.legend.pure.runtime.java.interpreted.natives.InstantiationContext, org.finos.legend.pure.runtime.java.interpreted.ExecutionSupport, org.finos.legend.pure.m.compiler.Context, org.finos.legend.pure.m.navigation.ProcessorSupport) throws org.finos.legend.pure.m.exception.PureExecutionException
{
org.finos.legend.pure.m.exception.PureExecutionException v;
org.finos.legend.pure.runtime.java.interpreted.ExecutionSupport v;
org.finos.legend.pure.runtime.java.interpreted.profiler.Profiler v;
java.util.Stack v, v;
org.finos.legend.pure.m.navigation.ProcessorSupport v;
org.finos.legend.pure.m.compiler.Context v;
org.finos.legend.pure.runtime.java.extension.external.relation.interpreted.natives.Concatenate v;
java.lang.String v, v, v;
boolean v;
org.finos.legend.pure.runtime.java.extension.external.relation.shared.TestTDS v, v, v;
org.finos.legend.pure.m.ModelRepository v;
org.finos.legend.pure.m.coreinstance.CoreInstance v, v, v, v, v;
org.finos.legend.pure.runtime.java.interpreted.natives.InstantiationContext v;
org.finos.legend.pure.runtime.java.extension.external.relation.interpreted.natives.shared.TDSCoreInstance v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.generics.GenericType v, v;
org.eclipse.collections.api.list.ListIterable v, v, v;
java.lang.Object v, v;
org.finos.legend.pure.runtime.java.interpreted.VariableContext v;
v := @this: org.finos.legend.pure.runtime.java.extension.external.relation.interpreted.natives.Concatenate;
v := @parameter: org.eclipse.collections.api.list.ListIterable;
v := @parameter: java.util.Stack;
v := @parameter: java.util.Stack;
v := @parameter: org.finos.legend.pure.runtime.java.interpreted.VariableContext;
v := @parameter: org.finos.legend.pure.m.coreinstance.CoreInstance;
v := @parameter: org.finos.legend.pure.runtime.java.interpreted.profiler.Profiler;
v := @parameter: org.finos.legend.pure.runtime.java.interpreted.natives.InstantiationContext;
v := @parameter: org.finos.legend.pure.runtime.java.interpreted.ExecutionSupport;
v := @parameter: org.finos.legend.pure.m.compiler.Context;
v := @parameter: org.finos.legend.pure.m.navigation.ProcessorSupport;
v = staticinvoke <org.finos.legend.pure.runtime.java.extension.external.relation.interpreted.natives.Concatenate: org.finos.legend.pure.m.coreinstance.CoreInstance getReturnGenericType(java.util.Stack,java.util.Stack,org.finos.legend.pure.m.coreinstance.CoreInstance,org.finos.legend.pure.m.navigation.ProcessorSupport)>(v, v, v, v);
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.relation.interpreted.natives.Concatenate: org.finos.legend.pure.runtime.java.extension.external.relation.shared.TestTDS getTDS(org.eclipse.collections.api.list.ListIterable,int,org.finos.legend.pure.m.navigation.ProcessorSupport)>(v, 0, v);
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.relation.interpreted.natives.Concatenate: org.finos.legend.pure.runtime.java.extension.external.relation.shared.TestTDS getTDS(org.eclipse.collections.api.list.ListIterable,int,org.finos.legend.pure.m.navigation.ProcessorSupport)>(v, 1, v);
v = interfaceinvoke v.<org.eclipse.collections.api.list.ListIterable: java.lang.Object get(int)>(0);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.CoreInstance: org.finos.legend.pure.m.coreinstance.CoreInstance getValueForMetaPropertyToOne(java.lang.String)>("genericType");
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.CoreInstance: org.eclipse.collections.api.list.ListIterable getValueForMetaPropertyToMany(java.lang.String)>("typeArguments");
interfaceinvoke v.<org.eclipse.collections.api.list.ListIterable: java.lang.Object getFirst()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.ListIterable: java.lang.Object get(int)>(1);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.CoreInstance: org.finos.legend.pure.m.coreinstance.CoreInstance getValueForMetaPropertyToOne(java.lang.String)>("genericType");
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.CoreInstance: org.eclipse.collections.api.list.ListIterable getValueForMetaPropertyToMany(java.lang.String)>("typeArguments");
interfaceinvoke v.<org.eclipse.collections.api.list.ListIterable: java.lang.Object getFirst()>();
v = staticinvoke <org.finos.legend.pure.m.navigation.relation._RelationType: boolean canConcatenate(org.finos.legend.pure.m.coreinstance.CoreInstance,org.finos.legend.pure.m.coreinstance.CoreInstance,org.finos.legend.pure.m.navigation.ProcessorSupport)>(v, v, v);
if v != 0 goto label;
v = new org.finos.legend.pure.m.exception.PureExecutionException;
v = staticinvoke <org.finos.legend.pure.m.navigation.relation._RelationType: java.lang.String print(org.finos.legend.pure.m.coreinstance.CoreInstance,org.finos.legend.pure.m.navigation.ProcessorSupport)>(v, v);
v = staticinvoke <org.finos.legend.pure.m.navigation.relation._RelationType: java.lang.String print(org.finos.legend.pure.m.coreinstance.CoreInstance,org.finos.legend.pure.m.navigation.ProcessorSupport)>(v, v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, 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[])>("Can\'t concatenate the two Relations as their types are incompatible : \u & \u0001");
specialinvoke v.<org.finos.legend.pure.m.exception.PureExecutionException: void <init>(java.lang.String)>(v);
throw v;
label:
v = new org.finos.legend.pure.runtime.java.extension.external.relation.interpreted.natives.shared.TDSCoreInstance;
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.relation.shared.TestTDS: org.finos.legend.pure.runtime.java.extension.external.relation.shared.TestTDS concatenate(org.finos.legend.pure.runtime.java.extension.external.relation.shared.TestTDS)>(v);
v = v.<org.finos.legend.pure.runtime.java.extension.external.relation.interpreted.natives.Concatenate: org.finos.legend.pure.m.ModelRepository repository>;
specialinvoke v.<org.finos.legend.pure.runtime.java.extension.external.relation.interpreted.natives.shared.TDSCoreInstance: void <init>(org.finos.legend.pure.runtime.java.extension.external.relation.shared.TestTDS,org.finos.legend.pure.m.coreinstance.CoreInstance,org.finos.legend.pure.m.ModelRepository,org.finos.legend.pure.m.navigation.ProcessorSupport)>(v, v, v, v);
v = staticinvoke <org.finos.legend.pure.m.navigation.ValueSpecificationBootstrap: org.finos.legend.pure.m.coreinstance.CoreInstance wrapValueSpecification(org.finos.legend.pure.m.coreinstance.CoreInstance,boolean,org.finos.legend.pure.m.navigation.ProcessorSupport)>(v, 0, v);
return v;
}
}