public abstract class org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertySerialization extends org.finos.legend.pure.runtime.java.extension.external.shared.conversion.PropertySerialization
{
static final java.lang.Object CYCLE_DETECTED;
private java.lang.Boolean hasCipherStereotype;
private java.lang.Boolean hasDecipherStereotype;
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.function.property.AbstractProperty v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertySerialization 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.JsonPropertySerialization;
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.shared.conversion.PropertySerialization: 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;
}
java.lang.Object serialize(java.lang.Object, org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext)
{
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertySerialization v;
java.lang.Object v, v, v, v, v, v;
boolean v, v;
v := @this: org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertySerialization;
v := @parameter: java.lang.Object;
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 isEnableEncryption()>();
if v == 0 goto label;
v = specialinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertySerialization: java.lang.Object applyConversion(java.lang.Object,org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext)>(v, v);
v = specialinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertySerialization: java.lang.Object potentiallyEncryptSerializedValue(java.lang.Object,org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext)>(v, v);
return v;
label:
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext: boolean isEnableDecryption()>();
if v == 0 goto label;
v = specialinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertySerialization: java.lang.Object applyConversion(java.lang.Object,org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext)>(v, v);
v = specialinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertySerialization: java.lang.Object potentiallyDecryptSerializedValue(java.lang.Object,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.JsonPropertySerialization: java.lang.Object applyConversion(java.lang.Object,org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext)>(v, v);
return v;
}
private java.lang.Object applyConversion(java.lang.Object, org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext)
{
org.finos.legend.pure.m.navigation.ProcessorSupport v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonGenericAndAnyTypeSerialization v;
boolean v, v, v, v, v, v, v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertySerialization v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonExtraTypeProcessor v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext v;
org.finos.legend.pure.runtime.java.extension.external.shared.conversion.Conversion v, v, v, v;
java.util.Stack v;
java.lang.String v, v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Any v;
org.finos.legend.pure.m.coreinstance.CoreInstance v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Type v, v, v;
java.lang.Object v, v, v, v, v, v, v, v;
v := @this: org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertySerialization;
v := @parameter: java.lang.Object;
v := @parameter: org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext;
v = v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertySerialization: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Type type>;
if v == null goto label;
v = v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertySerialization: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Type type>;
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 type_TopType()>();
v = virtualinvoke v.<java.lang.Object: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = <org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonGenericAndAnyTypeSerialization: org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonGenericAndAnyTypeSerialization JSON_GENERIC_AND_ANY_TYPE_SERIALIZATION>;
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonGenericAndAnyTypeSerialization: java.lang.Object apply(java.lang.Object,org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ConversionContext)>(v, v);
return v;
label:
v = v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertySerialization: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Type type>;
v = v instanceof org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.PrimitiveType;
if v == 0 goto label;
v = v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertySerialization: org.finos.legend.pure.runtime.java.extension.external.shared.conversion.Conversion conversion>;
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext: java.lang.Object extractPrimitiveValue(java.lang.Object)>(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;
label:
v = v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertySerialization: org.finos.legend.pure.runtime.java.extension.external.shared.conversion.Conversion conversion>;
v = v instanceof org.finos.legend.pure.runtime.java.extension.external.shared.conversion.ClassConversion;
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext: java.util.Stack getVisitedInstances()>();
v = virtualinvoke v.<java.util.Stack: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
v = <org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertySerialization: java.lang.Object CYCLE_DETECTED>;
return v;
label:
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertySerialization: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("rawType");
if v == 0 goto label;
v = v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertySerialization: org.finos.legend.pure.runtime.java.extension.external.shared.conversion.Conversion conversion>;
v = interfaceinvoke v.<org.finos.legend.pure.runtime.java.extension.external.shared.conversion.Conversion: java.lang.String pureTypeAsString()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("meta::pure::metamodel::type::Type");
if v == 0 goto label;
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, 0);
return v;
label:
v = <org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonParser: org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonExtraTypeProcessor processor>;
v = interfaceinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonExtraTypeProcessor: java.lang.Object process(java.lang.Object,org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext)>(v, v);
if v == null goto label;
return v;
label:
v = v instanceof org.finos.legend.pure.m.coreinstance.CoreInstance;
if v != 0 goto label;
return v;
label:
v = v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertySerialization: org.finos.legend.pure.runtime.java.extension.external.shared.conversion.Conversion conversion>;
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 potentiallyEncryptSerializedValue(java.lang.Object, org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext)
{
byte[] v, v;
org.finos.legend.pure.m.exception.PureExecutionException v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext v;
java.lang.Exception v;
org.eclipse.collections.api.RichIterable v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertySerialization v;
java.lang.Object v;
java.lang.String v, v, v, v, v, v;
boolean v;
v := @this: org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertySerialization;
v := @parameter: java.lang.Object;
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.eclipse.collections.api.RichIterable getEncryptionStereotypes()>();
v = specialinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertySerialization: boolean hasEncryptStereotype(org.eclipse.collections.api.RichIterable)>(v);
if v == 0 goto label;
label:
v = new java.lang.String;
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext: java.lang.String getEncryptionKey()>();
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
v = staticinvoke <org.finos.legend.pure.runtime.java.extension.functions.shared.cipher.AESCipherUtil: byte[] encrypt(java.lang.String,byte[])>(v, v);
specialinvoke v.<java.lang.String: void <init>(byte[])>(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.JsonPropertySerialization: java.lang.String getName()>();
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext: java.lang.String getEncryptionKey()>();
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[])>("Failed to encrypt serialized json property: \u0001\nwith key: \u0001");
specialinvoke v.<org.finos.legend.pure.m.exception.PureExecutionException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
return v;
catch java.lang.Exception from label to label with label;
}
private java.lang.Object potentiallyDecryptSerializedValue(java.lang.Object, org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext)
{
byte[] v, v;
org.finos.legend.pure.m.exception.PureExecutionException v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext v;
java.lang.Exception v;
org.eclipse.collections.api.RichIterable v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertySerialization v;
java.lang.Object v;
java.lang.String v, v, v, v, v, v;
boolean v;
v := @this: org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertySerialization;
v := @parameter: java.lang.Object;
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.eclipse.collections.api.RichIterable getDecryptionStereotypes()>();
v = specialinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertySerialization: boolean hasDecryptStereotype(org.eclipse.collections.api.RichIterable)>(v);
if v == 0 goto label;
label:
v = new java.lang.String;
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext: java.lang.String getDecryptionKey()>();
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
v = staticinvoke <org.finos.legend.pure.runtime.java.extension.functions.shared.cipher.AESCipherUtil: byte[] decrypt(java.lang.String,byte[])>(v, v);
specialinvoke v.<java.lang.String: void <init>(byte[])>(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.JsonPropertySerialization: java.lang.String getName()>();
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonSerializationContext: java.lang.String getDecryptionKey()>();
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[])>("Failed to decrypt serialized json property: \u0001\nwith key: \u0001");
specialinvoke v.<org.finos.legend.pure.m.exception.PureExecutionException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
return v;
catch java.lang.Exception from label to label with label;
}
private boolean hasEncryptStereotype(org.eclipse.collections.api.RichIterable)
{
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty v;
org.eclipse.collections.api.block.predicate.Predicate v;
org.eclipse.collections.api.RichIterable v, v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertySerialization v;
java.lang.Boolean v, v, v;
boolean v, v;
v := @this: org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertySerialization;
v := @parameter: org.eclipse.collections.api.RichIterable;
v = v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertySerialization: java.lang.Boolean hasCipherStereotype>;
if v != null goto label;
v = v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertySerialization: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty property>;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty: org.eclipse.collections.api.RichIterable _stereotypes()>();
v = staticinvoke <org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertySerialization$lambda_hasEncryptStereotype_c9ab90be_1__7: org.eclipse.collections.api.block.predicate.Predicate bootstrap$(org.eclipse.collections.api.RichIterable)>(v);
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: boolean anySatisfy(org.eclipse.collections.api.block.predicate.Predicate)>(v);
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertySerialization: java.lang.Boolean hasCipherStereotype> = v;
label:
v = v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertySerialization: java.lang.Boolean hasCipherStereotype>;
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
return v;
}
private boolean hasDecryptStereotype(org.eclipse.collections.api.RichIterable)
{
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty v;
org.eclipse.collections.api.block.predicate.Predicate v;
org.eclipse.collections.api.RichIterable v, v;
org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertySerialization v;
java.lang.Boolean v, v, v;
boolean v, v;
v := @this: org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertySerialization;
v := @parameter: org.eclipse.collections.api.RichIterable;
v = v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertySerialization: java.lang.Boolean hasDecipherStereotype>;
if v != null goto label;
v = v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertySerialization: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty property>;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.AbstractProperty: org.eclipse.collections.api.RichIterable _stereotypes()>();
v = staticinvoke <org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertySerialization$lambda_hasDecryptStereotype_d1c53496_1__8: org.eclipse.collections.api.block.predicate.Predicate bootstrap$(org.eclipse.collections.api.RichIterable)>(v);
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: boolean anySatisfy(org.eclipse.collections.api.block.predicate.Predicate)>(v);
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertySerialization: java.lang.Boolean hasDecipherStereotype> = v;
label:
v = v.<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertySerialization: java.lang.Boolean hasDecipherStereotype>;
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
return v;
}
private static boolean stereotypesEqual(org.finos.legend.pure.m.coreinstance.CoreInstance, org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.extension.Stereotype)
{
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.extension.Profile v, v;
org.finos.legend.pure.m.coreinstance.CoreInstance v;
java.lang.String v, v, v, v;
boolean v, v, v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.extension.Stereotype v;
v := @parameter: org.finos.legend.pure.m.coreinstance.CoreInstance;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.extension.Stereotype;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.extension.Stereotype: java.lang.String _value()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.extension.Stereotype: java.lang.String _value()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.extension.Stereotype: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.extension.Profile _profile()>();
v = staticinvoke <org.finos.legend.pure.m.navigation.PackageableElement.PackageableElement: java.lang.String getUserPathForPackageableElement(org.finos.legend.pure.m.coreinstance.CoreInstance)>(v);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.extension.Stereotype: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.extension.Profile _profile()>();
v = staticinvoke <org.finos.legend.pure.m.navigation.PackageableElement.PackageableElement: java.lang.String getUserPathForPackageableElement(org.finos.legend.pure.m.coreinstance.CoreInstance)>(v);
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
static void <clinit>()
{
java.lang.Object v;
v = new java.lang.Object;
specialinvoke v.<java.lang.Object: void <init>()>();
<org.finos.legend.pure.runtime.java.extension.external.json.shared.JsonPropertySerialization: java.lang.Object CYCLE_DETECTED> = v;
return;
}
}