public class org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationMultiplicityRange extends org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertyDeserialization
{
private final java.lang.Long lowerBound;
private final java.lang.Long upperBound;
private final java.lang.String humanReadableMultiplicity;
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.m.coreinstance.meta.pure.metamodel.multiplicity.Multiplicity)
{
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.multiplicity.MultiplicityValue v, 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;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationMultiplicityRange v;
java.lang.Long v, v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.multiplicity.Multiplicity v;
java.lang.String v;
boolean v;
v := @this: org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationMultiplicityRange;
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;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.multiplicity.Multiplicity;
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);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.multiplicity.Multiplicity: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.multiplicity.MultiplicityValue _upperBound()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.multiplicity.MultiplicityValue: java.lang.Long _value()>();
v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationMultiplicityRange: java.lang.Long upperBound> = v;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.multiplicity.Multiplicity: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.multiplicity.MultiplicityValue _lowerBound()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.multiplicity.MultiplicityValue: java.lang.Long _value()>();
v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationMultiplicityRange: java.lang.Long lowerBound> = v;
v = staticinvoke <org.finos.legend.pure.m.navigation.multiplicity.Multiplicity: java.lang.String print(org.finos.legend.pure.m.coreinstance.CoreInstance)>(v);
v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationMultiplicityRange: java.lang.String humanReadableMultiplicity> = v;
return;
}
public org.eclipse.collections.api.RichIterable apply(java.lang.Object, org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ConversionContext)
{
org.eclipse.collections.api.RichIterable v, v;
byte v, v, v, v, v;
java.lang.Long v, v, v, v, v;
boolean v, v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationMultiplicityRange v;
org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ConversionContext v;
org.eclipse.collections.api.factory.list.ImmutableListFactory v;
org.finos.legend.pure.m.exception.PureExecutionException v, v, v;
long v, v, v, v, v;
int v, v, v;
java.lang.String v, v, 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 := @this: org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationMultiplicityRange;
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.JsonDeserializationMultiplicityRange: boolean isFromAssociation()>();
if v != 0 goto label;
v = v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationMultiplicityRange: java.lang.Long lowerBound>;
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = v cmp 0L;
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()>();
v = v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationMultiplicityRange: java.lang.String humanReadableMultiplicity>;
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[])>("Expected value(s) of multiplicity \u, found 0 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 = <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()>();
v = v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationMultiplicityRange: java.lang.Long lowerBound>;
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = v cmp v;
if v < 0 goto label;
v = virtualinvoke v.<org.json.simple.JSONArray: int size()>();
v = v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationMultiplicityRange: java.lang.Long upperBound>;
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = v cmp v;
if v <= 0 goto label;
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 = v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationMultiplicityRange: java.lang.String humanReadableMultiplicity>;
v = virtualinvoke v.<org.json.simple.JSONArray: int size()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,int)>(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[])>("Expected value(s) of multiplicity \u, 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.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationMultiplicityRange: org.eclipse.collections.api.RichIterable applyConversion(org.json.simple.JSONArray,org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationContext)>(v, v);
return v;
label:
v = v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationMultiplicityRange: java.lang.Long lowerBound>;
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = v cmp 1L;
if v > 0 goto label;
v = v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationMultiplicityRange: java.lang.Long upperBound>;
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = v cmp 1L;
if v >= 0 goto label;
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 = v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationMultiplicityRange: java.lang.String humanReadableMultiplicity>;
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[])>("Expected value(s) of multiplicity \u, found 1 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.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationMultiplicityRange: org.eclipse.collections.api.RichIterable applyConversion(java.lang.Object,org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationContext)>(v, v);
return v;
}
}