public class org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassSerialization extends org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ClassConversion
{
protected org.eclipse.collections.api.RichIterable qualifiedPropertySerializations;
public void <init>(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Class)
{
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Class v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassSerialization v;
v := @this: org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassSerialization;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Class;
specialinvoke v.<org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ClassConversion: void <init>(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Class)>(v);
return;
}
protected org.finos.legend.pure.runtime.java.extension.external.shared.conversion.PropertyConversion newMultiplicityOneConversion(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty, 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.PropertyOwner v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassSerialization v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationMultiplicityOne 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.JsonClassSerialization;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty;
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 = new org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationMultiplicityOne;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.PropertyOwner _owner()>();
v = v instanceof org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.relationship.Association;
specialinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationMultiplicityOne: 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 v;
}
protected org.finos.legend.pure.runtime.java.extension.external.shared.conversion.PropertyConversion newMultiplicityManyConversion(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty, 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.PropertyOwner v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassSerialization 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;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationMultiplicityMany v;
v := @this: org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassSerialization;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty;
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 = new org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationMultiplicityMany;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.PropertyOwner _owner()>();
v = v instanceof org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.relationship.Association;
specialinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationMultiplicityMany: 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 v;
}
protected org.finos.legend.pure.runtime.java.extension.external.shared.conversion.PropertyConversion newMultiplicityParameterisedConversion(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty, 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.PropertyOwner v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassSerialization 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.JsonSerializationMultiplicityParameterised v;
boolean v;
v := @this: org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassSerialization;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty;
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 = new org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationMultiplicityParameterised;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.PropertyOwner _owner()>();
v = v instanceof org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.relationship.Association;
specialinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationMultiplicityParameterised: 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 v;
}
protected org.finos.legend.pure.runtime.java.extension.external.shared.conversion.PropertyConversion newMultiplicityOptionalConversion(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty, 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.JsonSerializationMultiplicityOptional v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.PropertyOwner v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassSerialization 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.JsonClassSerialization;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty;
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 = new org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationMultiplicityOptional;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.PropertyOwner _owner()>();
v = v instanceof org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.relationship.Association;
specialinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationMultiplicityOptional: 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 v;
}
protected org.finos.legend.pure.runtime.java.extension.external.shared.conversion.PropertyConversion newMultiplicityRangeConversion(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty, 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.function.property.AbstractProperty v;
org.finos.legend.pure.runtime.java.extension.external.shared.conversion.Conversion v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationMultiplicityRange v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Type v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.PropertyOwner v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.multiplicity.Multiplicity v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassSerialization v;
boolean v;
v := @this: org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassSerialization;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty;
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 = new org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationMultiplicityRange;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.PropertyOwner _owner()>();
v = v instanceof org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.relationship.Association;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.multiplicity.Multiplicity _multiplicity()>();
specialinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationMultiplicityRange: 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)>(v, v, v, v, v);
return v;
}
protected void completeInitialisation(org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ConversionContext)
{
org.eclipse.collections.api.RichIterable v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassSerialization 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.JsonClassSerialization;
v := @parameter: org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ConversionContext;
specialinvoke v.<org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ClassConversion: void completeInitialisation(org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ConversionContext)>(v);
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext: boolean isSerializeQualifiedProperties()>();
if v == 0 goto label;
v = specialinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassSerialization: org.eclipse.collections.api.RichIterable computeQualifiedPropertyConverters(org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext)>(v);
v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassSerialization: org.eclipse.collections.api.RichIterable qualifiedPropertySerializations> = v;
label:
return;
}
private org.eclipse.collections.api.RichIterable computeQualifiedPropertyConverters(org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext)
{
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonQualifiedPropertySerialization v;
org.eclipse.collections.api.list.MutableList v;
org.finos.legend.pure.m.navigation.ProcessorSupport v, v;
org.eclipse.collections.api.RichIterable v, v;
byte v, v, v, v;
java.lang.Long v, v;
boolean v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationMultiplicityMany v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationMultiplicityRange v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.multiplicity.Multiplicity v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.generics.GenericType v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassSerialization 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.m.coreinstance.meta.pure.metamodel.function.property.QualifiedProperty v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationMultiplicityOne v;
org.finos.legend.pure.runtime.java.extension.external.shared.conversion.Conversion v;
long v, v, v, v;
org.eclipse.collections.api.factory.list.MutableListFactory v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationMultiplicityOptional v;
int v;
java.lang.String v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.multiplicity.MultiplicityValue v, v;
java.util.Iterator v;
org.finos.legend.pure.m.coreinstance.CoreInstance v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Type v;
java.lang.Object v, v;
v := @this: org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassSerialization;
v := @parameter: org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext;
v = <org.eclipse.collections.api.factory.Lists: org.eclipse.collections.api.factory.list.MutableListFactory mutable>;
v = interfaceinvoke v.<org.eclipse.collections.api.factory.list.MutableListFactory: org.eclipse.collections.api.list.MutableList empty()>();
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext: org.finos.legend.pure.m.navigation.ProcessorSupport getProcessorSupport()>();
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassSerialization: org.eclipse.collections.api.RichIterable getQualifiedProperties(org.finos.legend.pure.m.navigation.ProcessorSupport)>(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 = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext: org.finos.legend.pure.m.navigation.ProcessorSupport getProcessorSupport()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.navigation.ProcessorSupport: org.finos.legend.pure.m.coreinstance.CoreInstance function_getFunctionType(org.finos.legend.pure.m.coreinstance.CoreInstance)>(v);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.FunctionType: org.eclipse.collections.api.RichIterable _parameters()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: int size()>();
if v > 1 goto label;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.FunctionType: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.generics.GenericType _returnType()>();
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 = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.FunctionType: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.multiplicity.Multiplicity _returnMultiplicity()>();
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 = 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 = 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()>();
if v != null goto label;
v = new org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationMultiplicityMany;
specialinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationMultiplicityMany: 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, 0, v, v);
v = v;
goto label;
label:
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 = virtualinvoke v.<java.lang.Long: long longValue()>();
v = v cmp 1L;
if v != 0 goto label;
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = v cmp 1L;
if v != 0 goto label;
v = new org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationMultiplicityOne;
specialinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationMultiplicityOne: 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, 0, v, v);
v = v;
goto label;
label:
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = v cmp 0L;
if v != 0 goto label;
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = v cmp 1L;
if v != 0 goto label;
v = new org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationMultiplicityOptional;
specialinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationMultiplicityOptional: 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, 0, v, v);
v = v;
goto label;
label:
v = new org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationMultiplicityRange;
specialinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationMultiplicityRange: 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)>(v, 0, v, v, v);
v = v;
label:
v = new org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonQualifiedPropertySerialization;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.QualifiedProperty: java.lang.String _name()>();
specialinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonQualifiedPropertySerialization: void <init>(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.QualifiedProperty,java.lang.String,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.runtime.java.extension.external.shared.conversion.Conversion)>(v, v, v, v, v);
interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: boolean add(java.lang.Object)>(v);
goto label;
label:
return v;
}
public java.lang.Object apply(org.finos.legend.pure.m.coreinstance.CoreInstance, org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ConversionContext)
{
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;
org.finos.legend.pure.m.navigation.ProcessorSupport v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassSerialization v;
java.lang.Object v, 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.JsonClassSerialization;
v := @parameter: org.finos.legend.pure.m.coreinstance.CoreInstance;
v := @parameter: org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ConversionContext;
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ConversionContext: org.finos.legend.pure.m.navigation.ProcessorSupport getProcessorSupport()>();
v = specialinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassSerialization: boolean isExactType(org.finos.legend.pure.m.coreinstance.CoreInstance,org.finos.legend.pure.m.navigation.ProcessorSupport)>(v, v);
if v == 0 goto label;
v = specialinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassSerialization: java.lang.Object serializeProperties(org.finos.legend.pure.m.coreinstance.CoreInstance,org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext)>(v, v);
return v;
label:
v = specialinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassSerialization: org.finos.legend.pure.runtime.java.extension.external.shared.conversion.Conversion resolveTypeAndGetConverter(org.finos.legend.pure.m.coreinstance.CoreInstance,org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext)>(v, 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 java.lang.Object serializeProperties(org.finos.legend.pure.m.coreinstance.CoreInstance, org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext)
{
org.eclipse.collections.api.block.predicate.Predicate v;
org.eclipse.collections.api.RichIterable v, v, v, v;
boolean v, v, v, v, v, v, v, v, v, v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Class v, v;
org.json.simple.JSONObject v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassSerialization v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext v;
java.util.Stack v, v;
java.lang.String v, v, v, v, v, v;
java.util.Iterator v, v;
org.finos.legend.pure.m.coreinstance.CoreInstance v;
java.lang.Object v, v, v, v, v, v;
v := @this: org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassSerialization;
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: boolean isSerializePackageableElementName()>();
if v == 0 goto label;
v = v instanceof org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.PackageableElement;
if v != 0 goto label;
label:
v = staticinvoke <org.finos.legend.pure.runtime.java.extension.external.json.shared.MetamodelSerializationOverrides: boolean shouldSerializeAsElementToPath(org.finos.legend.pure.m.coreinstance.CoreInstance)>(v);
if v == 0 goto label;
label:
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext: boolean isSerializeMultiplicityAsNumber()>();
v = staticinvoke <org.finos.legend.pure.runtime.java.extension.external.json.shared.MetamodelSerializationOverrides: java.lang.Object serializePackageableElement(org.finos.legend.pure.m.coreinstance.CoreInstance,boolean)>(v, v);
return v;
label:
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext: java.util.Stack getVisitedInstances()>();
virtualinvoke v.<java.util.Stack: java.lang.Object push(java.lang.Object)>(v);
v = new org.json.simple.JSONObject;
specialinvoke v.<org.json.simple.JSONObject: void <init>()>();
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext: boolean isIncludeType()>();
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext: java.lang.String getTypeKeyName()>();
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassSerialization: java.lang.String pureTypeAsString()>();
virtualinvoke v.<org.json.simple.JSONObject: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
v = v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassSerialization: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Class clazz>;
v = staticinvoke <org.finos.legend.pure.runtime.java.extension.external.json.shared.MetamodelSerializationOverrides: boolean applyMetamodelPropertyFilter(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Class)>(v);
if v == 0 goto label;
v = v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassSerialization: org.eclipse.collections.api.RichIterable propertyConversions>;
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassSerialization: java.lang.String pureTypeAsString()>();
v = staticinvoke <org.finos.legend.pure.runtime.java.extension.external.json.shared.MetamodelSerializationOverrides: org.eclipse.collections.api.block.predicate.Predicate computeMetamodelPropertyFilter(java.lang.String)>(v);
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.RichIterable select(org.eclipse.collections.api.block.predicate.Predicate)>(v);
v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassSerialization: org.eclipse.collections.api.RichIterable propertyConversions> = v;
label:
v = v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassSerialization: org.eclipse.collections.api.RichIterable propertyConversions>;
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 = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.shared.conversion.PropertyConversion: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty getProperty()>();
v = v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassSerialization: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Class clazz>;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Class: java.lang.String _name()>();
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext: java.lang.Object getValueForProperty(java.lang.Object,org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.Property,java.lang.String)>(v, v, v);
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.shared.conversion.PropertyConversion: java.lang.Object apply(java.lang.Object,org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ConversionContext)>(v, v);
v = specialinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassSerialization: boolean doNotDropKeyValue(org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext,java.lang.Object)>(v, v);
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.shared.conversion.PropertyConversion: java.lang.String getName()>();
virtualinvoke v.<org.json.simple.JSONObject: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext: boolean isSerializeQualifiedProperties()>();
if v == 0 goto label;
v = v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassSerialization: org.eclipse.collections.api.RichIterable qualifiedPropertySerializations>;
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 = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonQualifiedPropertySerialization: java.lang.String getName()>();
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonQualifiedPropertySerialization: java.lang.Object apply(java.lang.Object,org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ConversionContext)>(v, v);
virtualinvoke v.<org.json.simple.JSONObject: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext: java.util.Stack getVisitedInstances()>();
virtualinvoke v.<java.util.Stack: java.lang.Object pop()>();
return v;
}
private boolean doNotDropKeyValue(org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext, java.lang.Object)
{
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassSerialization v;
java.lang.Object v, v;
boolean v, v, v, v;
v := @this: org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassSerialization;
v := @parameter: org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext;
v := @parameter: java.lang.Object;
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext: boolean isRemovePropertiesWithEmptyValues()>();
if v == 0 goto label;
v = v instanceof org.json.simple.JSONArray;
if v == 0 goto label;
v = virtualinvoke v.<org.json.simple.JSONArray: boolean isEmpty()>();
if v != 0 goto label;
label:
v = <org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertySerialization: java.lang.Object CYCLE_DETECTED>;
if v == v goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private boolean isExactType(org.finos.legend.pure.m.coreinstance.CoreInstance, org.finos.legend.pure.m.navigation.ProcessorSupport)
{
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassSerialization v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Class v;
org.finos.legend.pure.m.coreinstance.CoreInstance v, v;
boolean v;
org.finos.legend.pure.m.navigation.ProcessorSupport v;
v := @this: org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassSerialization;
v := @parameter: org.finos.legend.pure.m.coreinstance.CoreInstance;
v := @parameter: org.finos.legend.pure.m.navigation.ProcessorSupport;
v = interfaceinvoke v.<org.finos.legend.pure.m.navigation.ProcessorSupport: org.finos.legend.pure.m.coreinstance.CoreInstance getClassifier(org.finos.legend.pure.m.coreinstance.CoreInstance)>(v);
v = v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassSerialization: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Class clazz>;
v = virtualinvoke v.<java.lang.Object: boolean equals(java.lang.Object)>(v);
return v;
}
private org.finos.legend.pure.runtime.java.extension.external.shared.conversion.Conversion resolveTypeAndGetConverter(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.json.shared.JsonClassSerialization v;
org.finos.legend.pure.runtime.java.extension.external.shared.conversion.Conversion v;
org.finos.legend.pure.m.coreinstance.CoreInstance v, v;
org.finos.legend.pure.m.navigation.ProcessorSupport v;
v := @this: org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassSerialization;
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.runtime.java.extension.external.shared.conversion.ConversionCache getConversionCache()>();
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext: org.finos.legend.pure.m.navigation.ProcessorSupport getProcessorSupport()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.navigation.ProcessorSupport: org.finos.legend.pure.m.coreinstance.CoreInstance getClassifier(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);
return v;
}
}