public class org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonMapSerialization extends org.finos.legend.pure.runtime.java.extension.external.shared.conversion.MapConversion
{
public void <init>()
{
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonMapSerialization v;
v := @this: org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonMapSerialization;
specialinvoke v.<org.finos.legend.pure.runtime.java.extension.external.shared.conversion.MapConversion: void <init>()>();
return;
}
public java.util.Map apply(org.finos.legend.pure.m.coreinstance.CoreInstance, org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ConversionContext)
{
org.eclipse.collections.impl.map.mutable.UnifiedMap v;
java.util.Iterator v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonMapSerialization v;
org.finos.legend.pure.m.coreinstance.CoreInstance v;
org.eclipse.collections.api.RichIterable v;
java.lang.Object v, v;
java.lang.String v;
org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ConversionContext v;
boolean v;
v := @this: org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonMapSerialization;
v := @parameter: org.finos.legend.pure.m.coreinstance.CoreInstance;
v := @parameter: org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ConversionContext;
v = staticinvoke <org.eclipse.collections.impl.map.mutable.UnifiedMap: org.eclipse.collections.impl.map.mutable.UnifiedMap newMap()>();
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext: org.eclipse.collections.api.RichIterable getMapKeyValues(java.lang.Object)>(v);
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: 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 = staticinvoke <org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonMapSerialization: java.lang.String getKey(org.finos.legend.pure.m.coreinstance.CoreInstance,org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext)>(v, v);
v = staticinvoke <org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonMapSerialization: java.lang.Object getValue(org.finos.legend.pure.m.coreinstance.CoreInstance,org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext)>(v, v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
return v;
}
private static java.lang.String getKey(org.finos.legend.pure.m.coreinstance.CoreInstance, org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext)
{
org.finos.legend.pure.m.exception.PureExecutionException v;
org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ConversionCache v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext v;
org.finos.legend.pure.runtime.java.extension.external.shared.conversion.Conversion v;
org.finos.legend.pure.m.navigation.ProcessorSupport v;
java.lang.String v, v, v;
boolean v, v;
org.finos.legend.pure.m.coreinstance.CoreInstance v, v, v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Type v;
java.lang.Object v, v;
java.lang.StringBuilder v;
v := @parameter: org.finos.legend.pure.m.coreinstance.CoreInstance;
v := @parameter: org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext;
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext: org.finos.legend.pure.m.navigation.ProcessorSupport getProcessorSupport()>();
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, "first", v);
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext: org.finos.legend.pure.m.coreinstance.CoreInstance getClassifier(java.lang.Object)>(v);
v = v instanceof org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.PrimitiveType;
if v == 0 goto label;
v = "String";
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.CoreInstance: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
label:
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>(java.lang.String)>("Only String-key map conversions are supported, found key type: ");
staticinvoke <org.finos.legend.pure.m.navigation.PackageableElement.PackageableElement: java.lang.Appendable writeUserPathForPackageableElement(java.lang.Appendable,org.finos.legend.pure.m.coreinstance.CoreInstance)>(v, v);
v = new org.finos.legend.pure.m.exception.PureExecutionException;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
specialinvoke v.<org.finos.legend.pure.m.exception.PureExecutionException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext: org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ConversionCache getConversionCache()>();
v = staticinvoke <org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.TypeCoreInstanceWrapper: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Type toType(org.finos.legend.pure.m.coreinstance.CoreInstance)>(v);
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ConversionCache: org.finos.legend.pure.runtime.java.extension.external.shared.conversion.Conversion getConversion(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Type,org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ConversionContext)>(v, v);
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext: java.lang.Object extractPrimitiveValue(java.lang.Object)>(v);
v = interfaceinvoke v.<org.finos.legend.pure.runtime.java.extension.external.shared.conversion.Conversion: java.lang.Object apply(java.lang.Object,org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ConversionContext)>(v, v);
return v;
}
private static java.lang.Object getValue(org.finos.legend.pure.m.coreinstance.CoreInstance, org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext)
{
org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ConversionCache v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext v;
org.finos.legend.pure.runtime.java.extension.external.shared.conversion.Conversion v;
org.finos.legend.pure.m.coreinstance.CoreInstance v, v, v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Type v;
org.finos.legend.pure.m.navigation.ProcessorSupport v;
java.lang.Object v, v;
boolean v;
v := @parameter: org.finos.legend.pure.m.coreinstance.CoreInstance;
v := @parameter: org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext;
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext: org.finos.legend.pure.m.navigation.ProcessorSupport getProcessorSupport()>();
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, "second", v);
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext: org.finos.legend.pure.m.coreinstance.CoreInstance getClassifier(java.lang.Object)>(v);
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext: org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ConversionCache getConversionCache()>();
v = staticinvoke <org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.TypeCoreInstanceWrapper: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Type toType(org.finos.legend.pure.m.coreinstance.CoreInstance)>(v);
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ConversionCache: org.finos.legend.pure.runtime.java.extension.external.shared.conversion.Conversion getConversion(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Type,org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ConversionContext)>(v, v);
v = v instanceof org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.PrimitiveType;
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext: java.lang.Object extractPrimitiveValue(java.lang.Object)>(v);
v = interfaceinvoke v.<org.finos.legend.pure.runtime.java.extension.external.shared.conversion.Conversion: java.lang.Object apply(java.lang.Object,org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ConversionContext)>(v, v);
goto label;
label:
v = interfaceinvoke v.<org.finos.legend.pure.runtime.java.extension.external.shared.conversion.Conversion: java.lang.Object apply(java.lang.Object,org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ConversionContext)>(v, v);
label:
return v;
}
}