public class org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonUnitSerialization extends org.finos.legend.pure.runtime.java.extension.external.shared.conversion.UnitConversion
{
public void <init>(org.finos.legend.pure.m.coreinstance.CoreInstance)
{
org.finos.legend.pure.m.coreinstance.CoreInstance v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonUnitSerialization v;
v := @this: org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonUnitSerialization;
v := @parameter: org.finos.legend.pure.m.coreinstance.CoreInstance;
specialinvoke v.<org.finos.legend.pure.runtime.java.extension.external.shared.conversion.UnitConversion: void <init>(org.finos.legend.pure.m.coreinstance.CoreInstance)>(v);
return;
}
public java.lang.Object apply(org.finos.legend.pure.m.coreinstance.CoreInstance, org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ConversionContext)
{
java.lang.Object[] v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonUnitSerialization v;
org.eclipse.collections.api.factory.list.MutableListFactory v;
org.eclipse.collections.api.factory.map.MutableMapFactory v, v;
org.finos.legend.pure.m.coreinstance.CoreInstance v;
java.lang.Integer v;
org.eclipse.collections.api.list.MutableList v;
org.eclipse.collections.api.map.MutableMap v, v;
java.lang.String v;
java.lang.Number v;
org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ConversionContext v;
v := @this: org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonUnitSerialization;
v := @parameter: org.finos.legend.pure.m.coreinstance.CoreInstance;
v := @parameter: org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ConversionContext;
v = <org.eclipse.collections.api.factory.Maps: org.eclipse.collections.api.factory.map.MutableMapFactory mutable>;
v = <org.eclipse.collections.api.factory.Lists: org.eclipse.collections.api.factory.list.MutableListFactory mutable>;
v = newarray (java.lang.Object)[1];
v = <org.eclipse.collections.api.factory.Maps: org.eclipse.collections.api.factory.map.MutableMapFactory mutable>;
v = specialinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonUnitSerialization: java.lang.String getUnitId(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.InstanceValue)>(v);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(1);
v = interfaceinvoke v.<org.eclipse.collections.api.factory.map.MutableMapFactory: org.eclipse.collections.api.map.MutableMap 'with'(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)>("unitId", v, "exponentValue", v);
v[0] = v;
v = interfaceinvoke v.<org.eclipse.collections.api.factory.list.MutableListFactory: org.eclipse.collections.api.list.MutableList 'with'(java.lang.Object[])>(v);
v = specialinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonUnitSerialization: java.lang.Number getValue(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.InstanceValue)>(v);
v = interfaceinvoke v.<org.eclipse.collections.api.factory.map.MutableMapFactory: org.eclipse.collections.api.map.MutableMap 'with'(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)>("unit", v, "value", v);
return v;
}
private java.lang.String getUnitId(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.InstanceValue)
{
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.InstanceValue v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.generics.GenericType v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonUnitSerialization v;
java.lang.String v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Type v;
v := @this: org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonUnitSerialization;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.InstanceValue;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.InstanceValue: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.generics.GenericType _genericType()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.generics.GenericType: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Type _rawType()>();
v = staticinvoke <org.finos.legend.pure.m.navigation.PackageableElement.PackageableElement: java.lang.String getUserPathForPackageableElement(org.finos.legend.pure.m.coreinstance.CoreInstance)>(v);
return v;
}
private java.lang.Number getValue(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.InstanceValue)
{
org.finos.legend.pure.m.exception.PureExecutionException v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonUnitSerialization v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.InstanceValue v;
org.eclipse.collections.api.RichIterable v, v;
java.lang.Object v, v;
java.lang.String v;
boolean v, v;
v := @this: org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonUnitSerialization;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.InstanceValue;
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 getAny()>();
v = v instanceof java.lang.Number;
if v == 0 goto label;
return v;
label:
v = v instanceof org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.InstanceValue;
if v == 0 goto 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 getAny()>();
return v;
label:
v = new org.finos.legend.pure.m.exception.PureExecutionException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Object)>(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[])>("Unexpected unit value: \u0001");
specialinvoke v.<org.finos.legend.pure.m.exception.PureExecutionException: void <init>(java.lang.String)>(v);
throw v;
}
}