public class org.finos.legend.pure.runtime.java.extension.external.json.interpreted.natives.FromJson extends org.finos.legend.pure.runtime.java.interpreted.natives.NativeFunction
{
private final org.finos.legend.pure.runtime.java.interpreted.FunctionExecutionInterpreted functionExecution;
private final org.finos.legend.pure.m.ModelRepository repository;
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.json.interpreted.natives.FromJson 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.json.interpreted.natives.FromJson;
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.interpreted.natives.NativeFunction: void <init>()>();
v.<org.finos.legend.pure.runtime.java.extension.external.json.interpreted.natives.FromJson: org.finos.legend.pure.runtime.java.interpreted.FunctionExecutionInterpreted functionExecution> = v;
v.<org.finos.legend.pure.runtime.java.extension.external.json.interpreted.natives.FromJson: org.finos.legend.pure.m.ModelRepository repository> = 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.navigation.ProcessorSupport v, v;
boolean v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationCache v;
org.finos.legend.pure.runtime.java.interpreted.natives.InstantiationContext v;
org.finos.legend.pure.runtime.java.interpreted.FunctionExecutionInterpreted v;
org.eclipse.collections.api.list.ListIterable v, v;
org.finos.legend.pure.runtime.java.extension.external.json.interpreted.natives.FromJson v;
org.finos.legend.pure.runtime.java.extension.external.json.interpreted.natives.FromJson$1 v;
org.finos.legend.pure.runtime.java.interpreted.ExecutionSupport v;
org.eclipse.collections.api.factory.map.MutableMapFactory v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationContext v;
org.finos.legend.pure.runtime.java.interpreted.profiler.Profiler v;
java.util.Stack v, v;
org.finos.legend.pure.m.compiler.Context v;
org.eclipse.collections.api.map.MutableMap v;
java.lang.String v, v, v, v;
java.util.Iterator v;
org.finos.legend.pure.m.coreinstance.SourceInformation v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Any v;
org.finos.legend.pure.m.coreinstance.CoreInstance v, v, v, v, v, v, v, v, v, v;
java.lang.Object v, v, v, v, v;
org.finos.legend.pure.runtime.java.interpreted.VariableContext v;
v := @this: org.finos.legend.pure.runtime.java.extension.external.json.interpreted.natives.FromJson;
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 = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.CoreInstance: org.finos.legend.pure.m.coreinstance.SourceInformation getSourceInformation()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.ListIterable: java.lang.Object get(int)>(1);
v = staticinvoke <org.finos.legend.pure.m.navigation.Instance: org.finos.legend.pure.m.coreinstance.CoreInstance getValueForMetaPropertyToOneResolved(org.finos.legend.pure.m.coreinstance.CoreInstance,java.lang.String,org.finos.legend.pure.m.navigation.ProcessorSupport)>(v, "values", v);
v = interfaceinvoke v.<org.eclipse.collections.api.list.ListIterable: java.lang.Object get(int)>(2);
v = staticinvoke <org.finos.legend.pure.m.navigation.Instance: org.finos.legend.pure.m.coreinstance.CoreInstance getValueForMetaPropertyToOneResolved(org.finos.legend.pure.m.coreinstance.CoreInstance,java.lang.String,org.finos.legend.pure.m.navigation.ProcessorSupport)>(v, "values", v);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.CoreInstance: org.finos.legend.pure.m.coreinstance.CoreInstance getValueForMetaPropertyToOne(java.lang.String)>("typeKeyName");
v = staticinvoke <org.finos.legend.pure.m.navigation.PrimitiveUtilities: java.lang.String getStringValue(org.finos.legend.pure.m.coreinstance.CoreInstance)>(v);
v = <org.eclipse.collections.api.factory.Maps: org.eclipse.collections.api.factory.map.MutableMapFactory mutable>;
v = interfaceinvoke v.<org.eclipse.collections.api.factory.map.MutableMapFactory: org.eclipse.collections.api.map.MutableMap empty()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.CoreInstance: org.eclipse.collections.api.list.ListIterable getValueForMetaPropertyToMany(java.lang.String)>("typeLookup");
v = interfaceinvoke v.<org.eclipse.collections.api.list.ListIterable: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.CoreInstance: org.finos.legend.pure.m.coreinstance.CoreInstance getValueForMetaPropertyToOne(java.lang.String)>("first");
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.CoreInstance: java.lang.String getName()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.CoreInstance: org.finos.legend.pure.m.coreinstance.CoreInstance getValueForMetaPropertyToOne(java.lang.String)>("second");
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.CoreInstance: java.lang.String getName()>();
v = v.<org.finos.legend.pure.runtime.java.extension.external.json.interpreted.natives.FromJson: org.finos.legend.pure.runtime.java.interpreted.FunctionExecutionInterpreted functionExecution>;
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.interpreted.FunctionExecutionInterpreted: org.finos.legend.pure.m.navigation.ProcessorSupport getProcessorSupport()>();
v = staticinvoke <org.finos.legend.pure.m.navigation._package._Package: org.finos.legend.pure.m.coreinstance.CoreInstance getByUserPath(java.lang.String,org.finos.legend.pure.m.navigation.ProcessorSupport)>(v, v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.CoreInstance: org.finos.legend.pure.m.coreinstance.CoreInstance getValueForMetaPropertyToOne(java.lang.String)>("failOnUnknownProperties");
v = virtualinvoke v.<org.finos.legend.pure.m.coreinstance.primitive.BooleanCoreInstance: java.lang.Object getValue()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.CoreInstance: org.finos.legend.pure.m.coreinstance.CoreInstance getValueForMetaPropertyToOne(java.lang.String)>("constraintsHandler");
v = interfaceinvoke v.<org.eclipse.collections.api.list.ListIterable: java.lang.Object get(int)>(0);
v = staticinvoke <org.finos.legend.pure.m.navigation.Instance: org.finos.legend.pure.m.coreinstance.CoreInstance getValueForMetaPropertyToOneResolved(org.finos.legend.pure.m.coreinstance.CoreInstance,java.lang.String,org.finos.legend.pure.m.navigation.ProcessorSupport)>(v, "values", v);
v = staticinvoke <org.finos.legend.pure.m.navigation.PrimitiveUtilities: java.lang.String getStringValue(org.finos.legend.pure.m.coreinstance.CoreInstance)>(v);
v = new org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationContext;
v = new org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationCache;
specialinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationCache: void <init>()>();
v = new org.finos.legend.pure.runtime.java.extension.external.json.interpreted.natives.FromJson$1;
specialinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.interpreted.natives.FromJson$1: void <init>(org.finos.legend.pure.runtime.java.extension.external.json.interpreted.natives.FromJson,org.finos.legend.pure.m.coreinstance.CoreInstance,org.finos.legend.pure.m.navigation.ProcessorSupport,org.finos.legend.pure.m.coreinstance.SourceInformation,org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.ConstraintsOverride,java.util.Stack,java.util.Stack,org.finos.legend.pure.runtime.java.interpreted.VariableContext,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)>(v, v, v, v, v, v, v, v, v, v, v, v);
specialinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationContext: void <init>(org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ConversionCache,org.finos.legend.pure.m.coreinstance.SourceInformation,org.finos.legend.pure.m.navigation.ProcessorSupport,java.lang.String,java.util.Map,java.lang.Boolean,org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ObjectFactory)>(v, v, v, v, v, v, v);
v = staticinvoke <org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializer: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Any fromJson(java.lang.String,org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Class,org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationContext)>(v, v, v);
return v;
}
private org.finos.legend.pure.m.coreinstance.CoreInstance convertValue(java.lang.String, java.lang.Object, org.finos.legend.pure.m.navigation.ProcessorSupport, org.finos.legend.pure.m.coreinstance.SourceInformation)
{
org.finos.legend.pure.m.coreinstance.primitive.DecimalCoreInstance v;
org.finos.legend.pure.m.coreinstance.primitive.StringCoreInstance v;
org.finos.legend.pure.m.navigation.ProcessorSupport v;
java.math.BigDecimal v, v;
org.eclipse.collections.api.RichIterable v;
org.finos.legend.pure.m.coreinstance.primitive.IntegerCoreInstance v;
boolean v, v, v, v, v, v, v, v, v, v, v, v;
org.finos.legend.pure.m.ModelRepository v, v, v, v, v, v, v, v;
org.finos.legend.pure.m.coreinstance.primitive.BooleanCoreInstance v;
org.finos.legend.pure.m.coreinstance.primitive.FloatCoreInstance v;
org.finos.legend.pure.runtime.java.extension.external.json.interpreted.natives.FromJson v;
org.finos.legend.pure.m.exception.PureExecutionException v;
long v;
int v;
java.lang.String v, v, v;
double v;
org.finos.legend.pure.m.coreinstance.SourceInformation v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.InstanceValue v;
java.lang.Object v, v;
org.finos.legend.pure.m.coreinstance.primitive.DateCoreInstance v;
v := @this: org.finos.legend.pure.runtime.java.extension.external.json.interpreted.natives.FromJson;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Object;
v := @parameter: org.finos.legend.pure.m.navigation.ProcessorSupport;
v := @parameter: org.finos.legend.pure.m.coreinstance.SourceInformation;
v = v instanceof java.lang.String;
if v == 0 goto label;
v = v.<org.finos.legend.pure.runtime.java.extension.external.json.interpreted.natives.FromJson: org.finos.legend.pure.m.ModelRepository repository>;
v = virtualinvoke v.<org.finos.legend.pure.m.ModelRepository: org.finos.legend.pure.m.coreinstance.primitive.StringCoreInstance newStringCoreInstance(java.lang.String)>(v);
return v;
label:
v = v instanceof java.lang.Boolean;
if v == 0 goto label;
v = v.<org.finos.legend.pure.runtime.java.extension.external.json.interpreted.natives.FromJson: org.finos.legend.pure.m.ModelRepository repository>;
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
v = virtualinvoke v.<org.finos.legend.pure.m.ModelRepository: org.finos.legend.pure.m.coreinstance.primitive.BooleanCoreInstance newBooleanCoreInstance(boolean)>(v);
return v;
label:
v = v instanceof java.lang.Integer;
if v == 0 goto label;
v = v.<org.finos.legend.pure.runtime.java.extension.external.json.interpreted.natives.FromJson: org.finos.legend.pure.m.ModelRepository repository>;
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
virtualinvoke v.<org.finos.legend.pure.m.ModelRepository: org.finos.legend.pure.m.coreinstance.primitive.IntegerCoreInstance newIntegerCoreInstance(int)>(v);
label:
v = v instanceof java.lang.Long;
if v == 0 goto label;
v = v.<org.finos.legend.pure.runtime.java.extension.external.json.interpreted.natives.FromJson: org.finos.legend.pure.m.ModelRepository repository>;
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = virtualinvoke v.<org.finos.legend.pure.m.ModelRepository: org.finos.legend.pure.m.coreinstance.primitive.IntegerCoreInstance newIntegerCoreInstance(long)>(v);
return v;
label:
v = v instanceof java.math.BigDecimal;
if v == 0 goto label;
v = v.<org.finos.legend.pure.runtime.java.extension.external.json.interpreted.natives.FromJson: org.finos.legend.pure.m.ModelRepository repository>;
v = virtualinvoke v.<org.finos.legend.pure.m.ModelRepository: org.finos.legend.pure.m.coreinstance.primitive.DecimalCoreInstance newDecimalCoreInstance(java.math.BigDecimal)>(v);
return v;
label:
v = v instanceof java.lang.Double;
if v == 0 goto label;
v = v.<org.finos.legend.pure.runtime.java.extension.external.json.interpreted.natives.FromJson: org.finos.legend.pure.m.ModelRepository repository>;
v = virtualinvoke v.<java.lang.Double: double doubleValue()>();
v = staticinvoke <java.math.BigDecimal: java.math.BigDecimal valueOf(double)>(v);
v = virtualinvoke v.<org.finos.legend.pure.m.ModelRepository: org.finos.legend.pure.m.coreinstance.primitive.FloatCoreInstance newFloatCoreInstance(java.math.BigDecimal)>(v);
return v;
label:
v = v instanceof java.lang.Number;
if v == 0 goto label;
v = v.<org.finos.legend.pure.runtime.java.extension.external.json.interpreted.natives.FromJson: org.finos.legend.pure.m.ModelRepository repository>;
v = new java.math.BigDecimal;
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
specialinvoke v.<java.math.BigDecimal: void <init>(java.lang.String)>(v);
virtualinvoke v.<org.finos.legend.pure.m.ModelRepository: org.finos.legend.pure.m.coreinstance.primitive.FloatCoreInstance newFloatCoreInstance(java.math.BigDecimal)>(v);
label:
v = v instanceof org.finos.legend.pure.m.coreinstance.primitive.date.PureDate;
if v == 0 goto label;
v = v.<org.finos.legend.pure.runtime.java.extension.external.json.interpreted.natives.FromJson: org.finos.legend.pure.m.ModelRepository repository>;
v = virtualinvoke v.<org.finos.legend.pure.m.ModelRepository: org.finos.legend.pure.m.coreinstance.primitive.DateCoreInstance newDateCoreInstance(org.finos.legend.pure.m.coreinstance.primitive.date.PureDate)>(v);
return v;
label:
v = v instanceof org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.InstanceValue;
if v == 0 goto label;
v = staticinvoke <org.finos.legend.pure.m.navigation.measure.Measure: boolean isUnitOrMeasureInstance(org.finos.legend.pure.m.coreinstance.CoreInstance,org.finos.legend.pure.m.navigation.ProcessorSupport)>(v, v);
if v == 0 goto label;
return v;
label:
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.InstanceValue: org.eclipse.collections.api.RichIterable _values()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: java.lang.Object getFirst()>();
return v;
label:
v = v instanceof org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.EnumInstance;
if v == 0 goto label;
return v;
label:
v = new org.finos.legend.pure.m.exception.PureExecutionException;
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[])>("Unknown type from output of JsonDeserializer for property: \u0001");
specialinvoke v.<org.finos.legend.pure.m.exception.PureExecutionException: void <init>(org.finos.legend.pure.m.coreinstance.SourceInformation,java.lang.String)>(v, v);
throw v;
}
}