public class org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassDeserialization extends org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ClassConversion
{
private final org.eclipse.collections.api.set.MutableSet knownJsonProperties;
public void <init>(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Class)
{
org.eclipse.collections.api.factory.set.MutableSetFactory v;
org.eclipse.collections.api.set.MutableSet v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Class v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassDeserialization v;
v := @this: org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassDeserialization;
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);
v = <org.eclipse.collections.api.factory.Sets: org.eclipse.collections.api.factory.set.MutableSetFactory mutable>;
v = interfaceinvoke v.<org.eclipse.collections.api.factory.set.MutableSetFactory: org.eclipse.collections.api.set.MutableSet empty()>();
v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassDeserialization: org.eclipse.collections.api.set.MutableSet knownJsonProperties> = v;
return;
}
protected void completeInitialisation(org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ConversionContext)
{
org.eclipse.collections.api.block.function.Function v;
org.finos.legend.pure.m.navigation.ProcessorSupport v;
org.eclipse.collections.api.set.MutableSet v, v;
org.eclipse.collections.api.RichIterable v;
java.lang.String v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassDeserialization 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.JsonClassDeserialization;
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 = v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassDeserialization: org.eclipse.collections.api.set.MutableSet knownJsonProperties>;
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationContext: java.lang.String getTypeKeyName()>();
interfaceinvoke v.<org.eclipse.collections.api.set.MutableSet: boolean add(java.lang.Object)>(v);
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ConversionContext: org.finos.legend.pure.m.navigation.ProcessorSupport getProcessorSupport()>();
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassDeserialization: org.eclipse.collections.api.RichIterable getProperties(org.finos.legend.pure.m.navigation.ProcessorSupport)>(v);
v = staticinvoke <org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassDeserialization$getName__1: org.eclipse.collections.api.block.function.Function bootstrap$()>();
v = v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassDeserialization: org.eclipse.collections.api.set.MutableSet knownJsonProperties>;
interfaceinvoke v.<org.eclipse.collections.api.RichIterable: java.util.Collection collect(org.eclipse.collections.api.block.function.Function,java.util.Collection)>(v, 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.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.runtime.java.extension.external.json.shared.JsonClassDeserialization 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.JsonClassDeserialization;
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.JsonDeserializationMultiplicityOne;
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.JsonDeserializationMultiplicityOne: 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.shared.conversion.Conversion v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationMultiplicityMany v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassDeserialization 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.JsonClassDeserialization;
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.JsonDeserializationMultiplicityMany;
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.JsonDeserializationMultiplicityMany: 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.JsonDeserializationMultiplicityParameterised v;
org.finos.legend.pure.runtime.java.extension.external.shared.conversion.Conversion v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassDeserialization 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.JsonClassDeserialization;
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.JsonDeserializationMultiplicityParameterised;
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.JsonDeserializationMultiplicityParameterised: 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.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.JsonDeserializationMultiplicityOptional v;
org.finos.legend.pure.runtime.java.extension.external.shared.conversion.Conversion v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassDeserialization 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.JsonClassDeserialization;
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.JsonDeserializationMultiplicityOptional;
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.JsonDeserializationMultiplicityOptional: 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.m.coreinstance.meta.pure.metamodel.type.Type v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.PropertyOwner v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationMultiplicityRange v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.multiplicity.Multiplicity v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassDeserialization v;
boolean v;
v := @this: org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassDeserialization;
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.JsonDeserializationMultiplicityRange;
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.JsonDeserializationMultiplicityRange: 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;
}
public org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Any apply(java.lang.Object, org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ConversionContext)
{
java.lang.Throwable v;
org.finos.legend.pure.m.exception.PureExecutionException v;
org.finos.legend.pure.m.coreinstance.SourceInformation v;
org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ObjectFactory v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Class v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Any v;
org.eclipse.collections.api.map.MutableMap v;
java.lang.Object v;
java.lang.String v, v, v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassDeserialization 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.JsonClassDeserialization;
v := @parameter: java.lang.Object;
v := @parameter: org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ConversionContext;
v = v instanceof org.json.simple.JSONObject;
if v != 0 goto label;
return null;
label:
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationContext: org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ObjectFactory getObjectFactory()>();
v = specialinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassDeserialization: org.eclipse.collections.api.map.MutableMap keyValueProperties(org.json.simple.JSONObject,org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationContext)>(v, v);
label:
v = v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassDeserialization: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Class clazz>;
v = interfaceinvoke v.<org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ObjectFactory: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Any newObject(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Class,java.util.Map)>(v, v);
label:
return v;
label:
v := @caughtexception;
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.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassDeserialization: java.lang.String pureTypeAsString()>();
v = virtualinvoke v.<org.finos.legend.pure.m.exception.PureExecutionException: java.lang.String getInfo()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(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[])>("Could not create new instance of \u0001: \n\u0001");
specialinvoke v.<org.finos.legend.pure.m.exception.PureExecutionException: void <init>(org.finos.legend.pure.m.coreinstance.SourceInformation,java.lang.String,java.lang.Throwable)>(v, v, v);
throw v;
catch org.finos.legend.pure.m.exception.PureExecutionException from label to label with label;
}
private org.eclipse.collections.api.map.MutableMap keyValueProperties(org.json.simple.JSONObject, org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationContext)
{
java.lang.Throwable v;
org.finos.legend.pure.m.exception.PureExecutionException v, v;
org.finos.legend.pure.runtime.java.extension.external.shared.conversion.Conversion v;
org.eclipse.collections.api.factory.map.MutableMapFactory v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationContext v;
org.eclipse.collections.api.RichIterable v;
org.eclipse.collections.api.map.MutableMap v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v;
boolean v, v, v;
java.util.Iterator v;
org.finos.legend.pure.m.coreinstance.SourceInformation v, v;
java.lang.RuntimeException v;
org.json.simple.JSONObject v;
java.lang.Class v;
java.lang.Object v, v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassDeserialization v;
v := @this: org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassDeserialization;
v := @parameter: org.json.simple.JSONObject;
v := @parameter: org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationContext;
specialinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassDeserialization: void failOnUnknownProperties(org.json.simple.JSONObject,org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationContext)>(v, v);
v = <org.eclipse.collections.api.factory.Maps: org.eclipse.collections.api.factory.map.MutableMapFactory mutable>;
v = interfaceinvoke v.<org.eclipse.collections.api.factory.map.MutableMapFactory: org.eclipse.collections.api.map.MutableMap empty()>();
v = v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassDeserialization: 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;
interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertyDeserialization: java.lang.String getName()>();
v = virtualinvoke v.<org.json.simple.JSONObject: java.lang.Object get(java.lang.Object)>(v);
label:
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertyDeserialization: java.lang.Object apply(java.lang.Object,org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ConversionContext)>(v, v);
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: boolean isEmpty()>();
if v != 0 goto label;
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertyDeserialization: java.lang.String getName()>();
interfaceinvoke v.<org.eclipse.collections.api.map.MutableMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
goto label;
label:
v := @caughtexception;
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.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertyDeserialization: java.lang.String getName()>();
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassDeserialization: java.lang.String pureTypeAsString()>();
v = virtualinvoke v.<org.finos.legend.pure.m.exception.PureExecutionException: java.lang.String getInfo()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String)>(v, 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[])>("Error populating property \'\u0001\' on class \'\u0001\': \n\u0001");
specialinvoke v.<org.finos.legend.pure.m.exception.PureExecutionException: void <init>(org.finos.legend.pure.m.coreinstance.SourceInformation,java.lang.String,java.lang.Throwable)>(v, v, v);
throw v;
label:
v := @caughtexception;
v = v instanceof org.json.simple.JSONObject;
if v == 0 goto label;
v = "JSON Object";
goto label;
label:
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.finos.legend.pure.runtime.java.extension.external.shared.conversion.PrimitiveConversion: java.lang.String toPurePrimitiveName(java.lang.Class)>(v);
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.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertyDeserialization: java.lang.String getName()>();
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassDeserialization: java.lang.String pureTypeAsString()>();
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertyDeserialization: java.lang.String pureTypeAsString()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String,java.lang.String)>(v, v, 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[])>("Error populating property \'\u0001\' on class \'\u0001\': \nExpected \u, found \u0001");
specialinvoke v.<org.finos.legend.pure.m.exception.PureExecutionException: void <init>(org.finos.legend.pure.m.coreinstance.SourceInformation,java.lang.String,java.lang.Throwable)>(v, v, v);
throw v;
label:
return v;
catch org.finos.legend.pure.m.exception.PureExecutionException from label to label with label;
catch java.lang.ClassCastException from label to label with label;
catch java.lang.IllegalArgumentException from label to label with label;
}
private void failOnUnknownProperties(org.json.simple.JSONObject, org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationContext)
{
org.finos.legend.pure.m.exception.PureExecutionException v;
org.eclipse.collections.api.block.predicate.Predicate v;
org.eclipse.collections.api.block.procedure.Procedure v;
org.eclipse.collections.api.factory.list.MutableListFactory v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationContext v;
org.eclipse.collections.api.list.MutableList v;
org.eclipse.collections.api.set.MutableSet v;
java.lang.String v;
boolean v, v;
org.finos.legend.pure.m.coreinstance.SourceInformation v;
java.util.Collection v;
java.util.Set v;
org.json.simple.JSONObject v;
java.lang.StringBuilder v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassDeserialization v;
v := @this: org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassDeserialization;
v := @parameter: org.json.simple.JSONObject;
v := @parameter: org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationContext;
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonDeserializationContext: boolean isFailOnUnknownProperties()>();
if v == 0 goto label;
v = virtualinvoke v.<org.json.simple.JSONObject: java.util.Set keySet()>();
v = v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassDeserialization: org.eclipse.collections.api.set.MutableSet knownJsonProperties>;
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassDeserialization$contains__2: org.eclipse.collections.api.block.predicate.Predicate bootstrap$(org.eclipse.collections.api.set.MutableSet)>(v);
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 = staticinvoke <org.eclipse.collections.impl.utility.Iterate: java.util.Collection reject(java.lang.Iterable,org.eclipse.collections.api.block.predicate.Predicate,java.util.Collection)>(v, v, v);
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: boolean notEmpty()>();
if v == 0 goto label;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = staticinvoke <org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassDeserialization$lambda_failOnUnknownProperties_d4c0bf45_1__3: org.eclipse.collections.api.block.procedure.Procedure bootstrap$(org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonClassDeserialization,java.lang.StringBuilder)>(v, v);
interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: void forEach(org.eclipse.collections.api.block.procedure.Procedure)>(v);
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.<java.lang.StringBuilder: java.lang.String toString()>();
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:
return;
}
}