public class org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationMultiplicityOne extends org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertyDeserialization
{
public void <init>(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty, boolean, org.finos.legend.pure.runtime.java.extension.external.shared.conversion.Conversion, org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Type)
{
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationMultiplicityOne v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty v;
org.finos.legend.pure.runtime.java.extension.external.shared.conversion.Conversion v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Type v;
boolean v;
v := @this: org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationMultiplicityOne;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty;
v := @parameter: boolean;
v := @parameter: org.finos.legend.pure.runtime.java.extension.external.shared.conversion.Conversion;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Type;
specialinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertyDeserialization: void <init>(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty,boolean,org.finos.legend.pure.runtime.java.extension.external.shared.conversion.Conversion,org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Type)>(v, v, v, v);
return;
}
public org.eclipse.collections.api.RichIterable apply(java.lang.Object, org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ConversionContext)
{
org.finos.legend.pure.m.exception.PureExecutionException v, v, v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationMultiplicityOne v;
org.eclipse.collections.api.RichIterable v, v;
int v, v;
java.lang.String v;
boolean v, v, v, v;
org.finos.legend.pure.m.coreinstance.SourceInformation v, v, v;
org.eclipse.collections.api.list.ImmutableList v;
java.lang.Object v, v;
org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ConversionContext v;
org.eclipse.collections.api.factory.list.ImmutableListFactory v;
v := @this: org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationMultiplicityOne;
v := @parameter: java.lang.Object;
v := @parameter: org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ConversionContext;
if v != null goto label;
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationMultiplicityOne: boolean isFromAssociation()>();
if v != 0 goto label;
v = new org.finos.legend.pure.m.exception.PureExecutionException;
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationContext: org.finos.legend.pure.m.coreinstance.SourceInformation getSourceInformation()>();
specialinvoke v.<org.finos.legend.pure.m.exception.PureExecutionException: void <init>(org.finos.legend.pure.m.coreinstance.SourceInformation,java.lang.String)>(v, "Expected value(s) of multiplicity [1], found 0 value(s).");
throw v;
label:
v = <org.eclipse.collections.api.factory.Lists: org.eclipse.collections.api.factory.list.ImmutableListFactory immutable>;
v = interfaceinvoke v.<org.eclipse.collections.api.factory.list.ImmutableListFactory: org.eclipse.collections.api.list.ImmutableList empty()>();
return v;
label:
v = v instanceof org.json.simple.JSONArray;
if v == 0 goto label;
v = virtualinvoke v.<org.json.simple.JSONArray: int size()>();
if v <= 1 goto label;
v = new org.finos.legend.pure.m.exception.PureExecutionException;
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationContext: org.finos.legend.pure.m.coreinstance.SourceInformation getSourceInformation()>();
v = virtualinvoke v.<org.json.simple.JSONArray: int size()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(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[])>("Expected value(s) of multiplicity [1], found \u value(s).");
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;
label:
v = virtualinvoke v.<org.json.simple.JSONArray: boolean isEmpty()>();
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationMultiplicityOne: boolean isFromAssociation()>();
if v != 0 goto label;
v = new org.finos.legend.pure.m.exception.PureExecutionException;
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationContext: org.finos.legend.pure.m.coreinstance.SourceInformation getSourceInformation()>();
specialinvoke v.<org.finos.legend.pure.m.exception.PureExecutionException: void <init>(org.finos.legend.pure.m.coreinstance.SourceInformation,java.lang.String)>(v, "Expected value(s) of multiplicity [1], found 0 value(s).");
throw v;
label:
v = virtualinvoke v.<org.json.simple.JSONArray: java.lang.Object get(int)>(0);
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationMultiplicityOne: org.eclipse.collections.api.RichIterable applyConversion(java.lang.Object,org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationContext)>(v, v);
return v;
label:
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationMultiplicityOne: org.eclipse.collections.api.RichIterable applyConversion(java.lang.Object,org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationContext)>(v, v);
return v;
}
}