public class org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator extends java.lang.Object
{
private static final java.lang.String TARGET;
private static final java.lang.String SOURCE;
public void <init>()
{
org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator v;
v := @this: org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static void validateRelationalMapping(org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel, org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext)
{
org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel v;
java.util.Map v;
java.util.function.BiConsumer v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext v;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext;
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext: java.util.Map getPureMappings()>();
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator$lambda_validateRelationalMapping_0__5: java.util.function.BiConsumer bootstrap$(org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel,org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext)>(v, v);
interfaceinvoke v.<java.util.Map: void forEach(java.util.function.BiConsumer)>(v);
return;
}
private static void relationalException(org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel, java.lang.String, org.finos.legend.engine.protocol.pure.v.model.SourceInformation, java.lang.Boolean)
{
org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.Warning[] v;
org.finos.legend.engine.protocol.pure.v.model.context.EngineErrorType v;
org.eclipse.collections.api.factory.list.MutableListFactory v;
org.finos.legend.engine.protocol.pure.v.model.SourceInformation v;
org.eclipse.collections.api.list.MutableList v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.Warning v;
org.finos.legend.engine.shared.core.operational.errorManagement.EngineException v;
java.lang.Boolean v;
java.lang.String v;
boolean v;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel;
v := @parameter: java.lang.String;
v := @parameter: org.finos.legend.engine.protocol.pure.v.model.SourceInformation;
v := @parameter: java.lang.Boolean;
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
if v == 0 goto label;
v = <org.eclipse.collections.impl.factory.Lists: org.eclipse.collections.api.factory.list.MutableListFactory mutable>;
v = newarray (org.finos.legend.engine.language.pure.compiler.toPureGraph.Warning)[1];
v = new org.finos.legend.engine.language.pure.compiler.toPureGraph.Warning;
specialinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.Warning: void <init>(org.finos.legend.engine.protocol.pure.v.model.SourceInformation,java.lang.String)>(v, v);
v[0] = v;
v = interfaceinvoke v.<org.eclipse.collections.api.factory.list.MutableListFactory: org.eclipse.collections.api.list.MutableList 'with'(java.lang.Object[])>(v);
virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel: void addWarnings(java.lang.Iterable)>(v);
goto label;
label:
v = new org.finos.legend.engine.shared.core.operational.errorManagement.EngineException;
v = <org.finos.legend.engine.protocol.pure.v.model.context.EngineErrorType: org.finos.legend.engine.protocol.pure.v.model.context.EngineErrorType COMPILATION>;
specialinvoke v.<org.finos.legend.engine.shared.core.operational.errorManagement.EngineException: void <init>(java.lang.String,org.finos.legend.engine.protocol.pure.v.model.SourceInformation,org.finos.legend.engine.protocol.pure.v.model.context.EngineErrorType)>(v, v, v);
throw v;
label:
return;
}
private static void validateRelationalPropertyMapping(org.finos.legend.pure.m.coreinstance.meta.relational.mapping.RootRelationalInstanceSetImplementation, org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel, org.finos.legend.pure.m.coreinstance.meta.relational.mapping.RelationalPropertyMapping, java.lang.String, org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext)
{
org.finos.legend.pure.m.coreinstance.meta.relational.mapping.RootRelationalInstanceSetImplementation v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.Property v;
java.util.Map v, v;
org.finos.legend.pure.runtime.java.compiled.execution.CompiledProcessorSupport v;
boolean v, v, v, v, v, v, v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Class v, v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext v;
org.finos.legend.engine.protocol.pure.v.model.SourceInformation v, v, v, v;
org.finos.legend.pure.runtime.java.compiled.execution.CompiledExecutionSupport v, v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.generics.GenericType v;
java.lang.Boolean v, v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v;
org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.join.JoinTreeNode v, v, v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Type v;
org.finos.legend.pure.m.coreinstance.meta.pure.mapping.SetImplementation v;
org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElement v, v, v, v, v, v, v;
java.lang.Object v, v, v;
org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.TableAlias v, v;
org.finos.legend.pure.m.coreinstance.meta.relational.mapping.RelationalPropertyMapping v;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.relational.mapping.RootRelationalInstanceSetImplementation;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.relational.mapping.RelationalPropertyMapping;
v := @parameter: java.lang.String;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.mapping.RootRelationalInstanceSetImplementation: org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.TableAlias _mainTableAlias()>();
if v != null goto label;
v = null;
goto label;
label:
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.TableAlias: org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElement _relationalElement()>();
label:
v = v;
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext: java.util.Map getPureMappings()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.mapping.RelationalPropertyMapping: org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElement _relationalOperationElement()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.mapping.RelationalPropertyMapping: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.Property _property()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.mapping.RelationalPropertyMapping: java.lang.String _targetSetImplementationId()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.Property: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.generics.GenericType _genericType()>();
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 = v instanceof org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.DataType;
if v == 0 goto label;
v = v instanceof org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElementWithJoin;
if v == 0 goto label;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElementWithJoin: org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.join.JoinTreeNode _joinTreeNode()>();
if v == null goto label;
staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator: void validateJoinTreeNode(org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.join.JoinTreeNode,org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElement,org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElement,org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping,java.lang.String,org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel,org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext)>(v, v, null, v, v, v, v);
label:
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElementWithJoin: org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElement _relationalOperationElement()>();
if v != null goto label;
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator: org.finos.legend.engine.protocol.pure.v.model.SourceInformation safeGetSourceInfoForProperty(org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping,java.lang.String,org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel,org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext)>(v, v, v, v);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.Property: java.lang.String getName()>();
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[])>("Mapping error on mapping \u. The property \'\u0001\' returns a data type. However it\'s mapped to a Join.");
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(1);
staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator: void relationalException(org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel,java.lang.String,org.finos.legend.engine.protocol.pure.v.model.SourceInformation,java.lang.Boolean)>(v, v, v, v);
label:
staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator: boolean validateEnumPropertyHasEnumMapping(org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel,org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping)>(v, v);
goto label;
label:
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext: java.util.Map getMappingRootMappingAndClassMappingId()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel: org.finos.legend.pure.runtime.java.compiled.execution.CompiledExecutionSupport getExecutionSupport()>();
v = staticinvoke <org.finos.legend.pure.generated.platform_dsl_mapping_functions_Mapping: org.finos.legend.pure.m.coreinstance.meta.pure.mapping.SetImplementation Root_meta_pure_mapping_classMappingById_Mapping_1__String_1__SetImplementation_$0_1$_(org.finos.legend.pure.m.coreinstance.meta.pure.mapping.Mapping,java.lang.String,org.finos.legend.pure.m.execution.ExecutionSupport)>(v, v, v);
if v == null goto label;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.mapping.SetImplementation: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Class _class()>();
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel: org.finos.legend.pure.runtime.java.compiled.execution.CompiledExecutionSupport getExecutionSupport()>();
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.compiled.execution.CompiledExecutionSupport: org.finos.legend.pure.runtime.java.compiled.execution.CompiledProcessorSupport getProcessorSupport()>();
v = staticinvoke <org.finos.legend.pure.m.navigation.type.Type: boolean subTypeOf(org.finos.legend.pure.m.coreinstance.CoreInstance,org.finos.legend.pure.m.coreinstance.CoreInstance,org.finos.legend.pure.m.navigation.ProcessorSupport)>(v, v, v);
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
if v == 0 goto label;
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator: org.finos.legend.engine.protocol.pure.v.model.SourceInformation safeGetSourceInfoForProperty(org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping,java.lang.String,org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel,org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext)>(v, v, v, v);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.mapping.SetImplementation: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Class _class()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Class: java.lang.String _name()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Type: java.lang.String _name()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.Property: java.lang.String getName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String)>(v, 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[])>("Mapping Error: on \u The setImplementationId \'\u0001\' is implementing the class \'\u0001\' which is not a subType of \'\u0001\' return type of the mapped property \'\u0001\'");
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(1);
staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator: void relationalException(org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel,java.lang.String,org.finos.legend.engine.protocol.pure.v.model.SourceInformation,java.lang.Boolean)>(v, v, v, v);
label:
v = v instanceof org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElementWithJoin;
if v == 0 goto label;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElementWithJoin: org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.join.JoinTreeNode _joinTreeNode()>();
goto label;
label:
v = null;
label:
v = v;
if v != 0 goto label;
if v != null goto label;
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator: org.finos.legend.engine.protocol.pure.v.model.SourceInformation safeGetSourceInfoForProperty(org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping,java.lang.String,org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel,org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext)>(v, v, v, v);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.Property: java.lang.String getName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Type,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[])>("Mapping Error: on \u The target type:\'\u0001\' on property \u is not a data type and a join is expected");
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(1);
staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator: void relationalException(org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel,java.lang.String,org.finos.legend.engine.protocol.pure.v.model.SourceInformation,java.lang.Boolean)>(v, v, v, v);
label:
if v != 0 goto label;
if v == null goto label;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElementWithJoin: org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElement _relationalOperationElement()>();
if v == null goto label;
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator: org.finos.legend.engine.protocol.pure.v.model.SourceInformation safeGetSourceInfoForProperty(org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping,java.lang.String,org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel,org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext)>(v, v, v, v);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.Property: java.lang.String getName()>();
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[])>("Mapping Error: on \u The property \'\u0001\' doesn\'t return a data type. However it\'s mapped to a column or a function.");
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(1);
staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator: void relationalException(org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel,java.lang.String,org.finos.legend.engine.protocol.pure.v.model.SourceInformation,java.lang.Boolean)>(v, v, v, v);
label:
if v != 0 goto label;
if v == null goto label;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElementWithJoin: org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElement _relationalOperationElement()>();
if v != null goto label;
if v != null goto label;
staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator: void validateJoinTreeNode(org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.join.JoinTreeNode,org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElement,org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElement,org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping,java.lang.String,org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel,org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext)>(v, v, null, v, v, v, v);
goto label;
label:
v = v instanceof org.finos.legend.pure.m.coreinstance.meta.relational.mapping.RootRelationalInstanceSetImplementation;
if v == 0 goto label;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.mapping.RootRelationalInstanceSetImplementation: org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.TableAlias _mainTableAlias()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.TableAlias: org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElement _relationalElement()>();
staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator: void validateJoinTreeNode(org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.join.JoinTreeNode,org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElement,org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElement,org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping,java.lang.String,org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel,org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext)>(v, v, v, v, v, v, v);
label:
return;
}
private static boolean validateEnumPropertyHasEnumMapping(org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel, org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping)
{
org.finos.legend.engine.language.pure.compiler.toPureGraph.Warning[] v;
org.eclipse.collections.api.factory.list.MutableListFactory v;
org.eclipse.collections.api.list.MutableList v;
org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.Warning v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.Property v, v, v;
java.lang.String v, v;
boolean v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel v;
org.finos.legend.pure.m.coreinstance.SourceInformation v;
org.finos.legend.engine.protocol.pure.v.model.SourceInformation v;
org.finos.legend.pure.m.coreinstance.CoreInstance v, v, v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Type v, v, v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.generics.GenericType v, v;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.Property _property()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.Property: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.generics.GenericType _genericType()>();
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.Type: org.finos.legend.pure.m.coreinstance.CoreInstance getClassifier()>();
if v == null goto label;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.Property _property()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.Property: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.generics.GenericType _genericType()>();
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.Type: org.finos.legend.pure.m.coreinstance.CoreInstance getClassifier()>();
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Type getType(java.lang.String)>("meta::pure::metamodel::type::Enumeration");
v = virtualinvoke v.<java.lang.Object: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping: org.finos.legend.pure.m.coreinstance.CoreInstance getValueForMetaPropertyToOne(java.lang.String)>("transformer");
if v != null goto label;
v = <org.eclipse.collections.impl.factory.Lists: org.eclipse.collections.api.factory.list.MutableListFactory mutable>;
v = newarray (org.finos.legend.engine.language.pure.compiler.toPureGraph.Warning)[1];
v = new org.finos.legend.engine.language.pure.compiler.toPureGraph.Warning;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping: org.finos.legend.pure.m.coreinstance.SourceInformation getSourceInformation()>();
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.SourceInformationHelper: org.finos.legend.engine.protocol.pure.v.model.SourceInformation fromM3SourceInformation(org.finos.legend.pure.m.coreinstance.SourceInformation)>(v);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.Property _property()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.Property: java.lang.String _name()>();
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[])>("Missing an EnumerationMapping for the enum property \'\u0001\'. Enum properties require an EnumerationMapping in order to transform the store values into the Enum.");
specialinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.Warning: void <init>(org.finos.legend.engine.protocol.pure.v.model.SourceInformation,java.lang.String)>(v, v);
v[0] = v;
v = interfaceinvoke v.<org.eclipse.collections.api.factory.list.MutableListFactory: org.eclipse.collections.api.list.MutableList 'with'(java.lang.Object[])>(v);
virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel: void addWarnings(java.lang.Iterable)>(v);
label:
return 1;
}
private static java.lang.String getRelationalElementIdentifier(org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElement)
{
org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.Schema v;
org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.Database v;
org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElement v;
java.lang.StringBuilder v;
java.lang.String v, v, v, v, v, v;
boolean v, v, v, v, v;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElement;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = null;
v = null;
v = v instanceof org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.relation.Table;
if v != 0 goto label;
v = v instanceof org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.relation.View;
if v == 0 goto label;
label:
v = v instanceof org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.relation.Table;
if v == 0 goto label;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.relation.Table: java.lang.String _name()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.relation.Table: org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.Schema _schema()>();
goto label;
label:
v = v instanceof org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.relation.View;
if v == 0 goto label;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.relation.View: java.lang.String _name()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.relation.View: org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.Schema _schema()>();
label:
if v == null goto label;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.Schema: java.lang.String _name()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.Schema: org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.Database _database()>();
if v == null goto label;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.Database: java.lang.String _name()>();
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[])>("[\u]");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
label:
v = "default";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(46);
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
private static void validateJoinTreeNode(org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.join.JoinTreeNode, org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElement, org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElement, org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping, java.lang.String, org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel, org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext)
{
org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.join.Join v;
org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping v;
org.eclipse.collections.api.RichIterable v;
org.finos.legend.pure.m.coreinstance.meta.pure.functions.collection.TreeNode v;
java.lang.Boolean v, v;
java.lang.String v, v, v, v, v, v, v, v, v;
boolean v, v, v;
org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.join.JoinTreeNode v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel v;
java.util.Iterator v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext v;
org.finos.legend.engine.protocol.pure.v.model.SourceInformation v, v;
org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElement v, v, v;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.join.JoinTreeNode;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElement;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElement;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping;
v := @parameter: java.lang.String;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.join.JoinTreeNode: org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.join.Join _join()>();
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator: org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElement followJoin(org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.join.Join,org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElement)>(v, v);
if v != null goto label;
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator: org.finos.legend.engine.protocol.pure.v.model.SourceInformation safeGetSourceInfoForProperty(org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping,java.lang.String,org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel,org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext)>(v, v, v, v);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.join.Join: java.lang.String _name()>();
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator: java.lang.String getRelationalElementIdentifier(org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElement)>(v);
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[])>("Mapping error: \u the join \u does not contain the source table \u0001");
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(1);
staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator: void relationalException(org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel,java.lang.String,org.finos.legend.engine.protocol.pure.v.model.SourceInformation,java.lang.Boolean)>(v, v, v, v);
label:
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.join.JoinTreeNode: org.eclipse.collections.api.RichIterable _childrenData()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: boolean isEmpty()>();
if v == 0 goto label;
if v == null goto label;
if v == null goto label;
if v == v goto label;
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator: org.finos.legend.engine.protocol.pure.v.model.SourceInformation safeGetSourceInfoForProperty(org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping,java.lang.String,org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel,org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext)>(v, v, v, v);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.join.Join: java.lang.String _name()>();
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator: java.lang.String getRelationalElementIdentifier(org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElement)>(v);
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator: java.lang.String getRelationalElementIdentifier(org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElement)>(v);
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator: java.lang.String getRelationalElementIdentifier(org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElement)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String)>(v, 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[])>("Mapping error: \u the join \u does not connect from the source table \u to the target table \u; instead it connects to \u0001");
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(1);
staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator: void relationalException(org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel,java.lang.String,org.finos.legend.engine.protocol.pure.v.model.SourceInformation,java.lang.Boolean)>(v, v, v, v);
goto label;
label:
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: boolean isEmpty()>();
if v != 0 goto label;
if v == null goto label;
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()>();
staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator: void validateJoinTreeNode(org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.join.JoinTreeNode,org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElement,org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElement,org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping,java.lang.String,org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel,org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext)>(v, v, v, v, v, v, v);
goto label;
label:
return;
}
private static org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElement followJoin(org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.join.Join, org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElement)
{
java.util.Iterator v;
org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.join.Join v;
org.eclipse.collections.api.RichIterable v;
org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElement v, v, v;
java.lang.Object v, v, v;
boolean v;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.join.Join;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElement;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.join.Join: org.eclipse.collections.api.RichIterable _aliases()>();
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 = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.functions.collection.Pair: java.lang.Object _first()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.TableAlias: org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElement _relationalElement()>();
if v != v goto label;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.functions.collection.Pair: java.lang.Object _second()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.TableAlias: org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElement _relationalElement()>();
return v;
label:
return null;
}
public static void validateAssociationImplementation(org.finos.legend.pure.m.coreinstance.meta.relational.mapping.RelationalAssociationImplementation, org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel, java.lang.String, org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext) throws org.finos.legend.pure.m.exception.PureCompilationException
{
org.finos.legend.pure.m.coreinstance.meta.relational.mapping.RelationalAssociationImplementation v;
org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping v;
org.eclipse.collections.api.RichIterable v;
java.lang.Boolean v;
java.lang.String v, v, v, v;
boolean v, v, v, v, v;
org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.join.JoinTreeNode v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel v;
java.util.Iterator v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext v;
org.finos.legend.engine.protocol.pure.v.model.SourceInformation v;
org.finos.legend.pure.m.coreinstance.meta.pure.mapping.Mapping v;
org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElement v, v, v, v;
java.util.Optional v, v;
org.eclipse.collections.api.map.MapIterable v;
java.lang.Object v, v, v;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.relational.mapping.RelationalAssociationImplementation;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel;
v := @parameter: java.lang.String;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.mapping.RelationalAssociationImplementation: org.finos.legend.pure.m.coreinstance.meta.pure.mapping.Mapping _parent()>();
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator: org.eclipse.collections.api.map.MapIterable getClassMappingsByIdIncludeEmbedded(org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel,org.finos.legend.pure.m.coreinstance.meta.pure.mapping.Mapping,org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext)>(v, v, v);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.mapping.RelationalAssociationImplementation: org.eclipse.collections.api.RichIterable _propertyMappings()>();
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 = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping: java.lang.String _sourceSetImplementationId()>();
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator: java.util.Optional validateAssociationId(org.finos.legend.pure.m.coreinstance.meta.pure.mapping.AssociationImplementation,org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping,org.eclipse.collections.api.map.MapIterable,java.lang.String,java.lang.String,java.lang.String,org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel,org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext)>(v, v, v, v, "source", v, v, v);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping: java.lang.String _targetSetImplementationId()>();
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator: java.util.Optional validateAssociationId(org.finos.legend.pure.m.coreinstance.meta.pure.mapping.AssociationImplementation,org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping,org.eclipse.collections.api.map.MapIterable,java.lang.String,java.lang.String,java.lang.String,org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel,org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext)>(v, v, v, v, "target", v, v, v);
v = v instanceof org.finos.legend.pure.m.coreinstance.meta.relational.mapping.RelationalPropertyMapping;
if v == 0 goto label;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.mapping.RelationalPropertyMapping: org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElement _relationalOperationElement()>();
v = v instanceof org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElementWithJoin;
if v == 0 goto label;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.mapping.RelationalPropertyMapping: org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElement _relationalOperationElement()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElementWithJoin: org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.join.JoinTreeNode _joinTreeNode()>();
goto label;
label:
v = null;
label:
if v != null goto label;
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator: org.finos.legend.engine.protocol.pure.v.model.SourceInformation safeGetSourceInfoForProperty(org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping,java.lang.String,org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel,org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext)>(v, v, v, v);
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[])>("Mapping Error! on \u Expected a Join");
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(1);
staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator: void relationalException(org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel,java.lang.String,org.finos.legend.engine.protocol.pure.v.model.SourceInformation,java.lang.Boolean)>(v, v, v, v);
goto label;
label:
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto label;
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto label;
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator: org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElement findMainTable(org.finos.legend.pure.m.coreinstance.meta.relational.mapping.RelationalInstanceSetImplementation)>(v);
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator: org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElement findMainTable(org.finos.legend.pure.m.coreinstance.meta.relational.mapping.RelationalInstanceSetImplementation)>(v);
staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator: void validateJoinTreeNode(org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.join.JoinTreeNode,org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElement,org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElement,org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping,java.lang.String,org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel,org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext)>(v, v, v, v, v, v, v);
goto label;
label:
return;
}
public static java.util.Optional validateAssociationId(org.finos.legend.pure.m.coreinstance.meta.pure.mapping.AssociationImplementation, org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping, org.eclipse.collections.api.map.MapIterable, java.lang.String, java.lang.String, java.lang.String, org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel, org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext)
{
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.relationship.Association v;
org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.Property v, v, v;
org.finos.legend.pure.runtime.java.compiled.execution.CompiledProcessorSupport v;
org.finos.legend.pure.m.coreinstance.meta.pure.mapping.AssociationImplementation v;
boolean v, v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Class v, v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext v;
org.finos.legend.engine.protocol.pure.v.model.SourceInformation v, v;
org.finos.legend.pure.runtime.java.compiled.execution.CompiledExecutionSupport v, v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.generics.GenericType v;
java.util.Optional v;
java.lang.Boolean v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Type v;
org.eclipse.collections.api.map.MapIterable v;
java.lang.Object v;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.mapping.AssociationImplementation;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping;
v := @parameter: org.eclipse.collections.api.map.MapIterable;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext;
v = interfaceinvoke v.<org.eclipse.collections.api.map.MapIterable: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator: org.finos.legend.engine.protocol.pure.v.model.SourceInformation safeGetSourceInfoForProperty(org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping,java.lang.String,org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel,org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext)>(v, v, v, v);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.Property _property()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.Property: java.lang.String _name()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.mapping.AssociationImplementation: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.relationship.Association _association()>();
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel: org.finos.legend.pure.runtime.java.compiled.execution.CompiledExecutionSupport getExecutionSupport()>();
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.HelperModelBuilder: java.lang.String getElementFullPath(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.PackageableElement,org.finos.legend.pure.runtime.java.compiled.execution.CompiledExecutionSupport)>(v, v);
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[])>("Unable to find \u class mapping (id:\u) for property \'\u0001\' in Association mapping \'\u0001\'. Make sure that you have specified a valid Class mapping id as the source id and target id, using the syntax \'property[sourceId, targetId]\'.");
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(1);
staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator: void relationalException(org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel,java.lang.String,org.finos.legend.engine.protocol.pure.v.model.SourceInformation,java.lang.Boolean)>(v, v, v, v);
label:
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.Property _property()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.Property: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.generics.GenericType _genericType()>();
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 = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("target");
if v == 0 goto label;
if v == null goto label;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.mapping.SetImplementation: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Class _class()>();
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel: org.finos.legend.pure.runtime.java.compiled.execution.CompiledExecutionSupport getExecutionSupport()>();
v = virtualinvoke v.<org.finos.legend.pure.runtime.java.compiled.execution.CompiledExecutionSupport: org.finos.legend.pure.runtime.java.compiled.execution.CompiledProcessorSupport getProcessorSupport()>();
v = staticinvoke <org.finos.legend.pure.m.navigation.type.Type: boolean subTypeOf(org.finos.legend.pure.m.coreinstance.CoreInstance,org.finos.legend.pure.m.coreinstance.CoreInstance,org.finos.legend.pure.m.navigation.ProcessorSupport)>(v, v, v);
if v != 0 goto label;
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator: org.finos.legend.engine.protocol.pure.v.model.SourceInformation safeGetSourceInfoForProperty(org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping,java.lang.String,org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel,org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext)>(v, v, v, v);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.mapping.SetImplementation: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Class _class()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Class: java.lang.String _name()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Type: java.lang.String _name()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.Property _property()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.Property: java.lang.String getName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String)>(v, 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[])>("Mapping Error: on \u The setImplementationId \'\u0001\' is implementing the class \'\u0001\' which is not a subType of \'\u0001\' return type of the mapped property \'\u0001\'");
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(1);
staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator: void relationalException(org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel,java.lang.String,org.finos.legend.engine.protocol.pure.v.model.SourceInformation,java.lang.Boolean)>(v, v, v, v);
label:
v = staticinvoke <java.util.Optional: java.util.Optional ofNullable(java.lang.Object)>(v);
return v;
}
private static org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElement findMainTable(org.finos.legend.pure.m.coreinstance.meta.relational.mapping.RelationalInstanceSetImplementation)
{
org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.TableAlias v;
org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElement v;
org.finos.legend.pure.m.coreinstance.meta.relational.mapping.RelationalInstanceSetImplementation v;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.relational.mapping.RelationalInstanceSetImplementation;
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator: org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.TableAlias findMainTableAlias(org.finos.legend.pure.m.coreinstance.meta.relational.mapping.RelationalInstanceSetImplementation)>(v);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.TableAlias: org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.RelationalOperationElement _relationalElement()>();
return v;
}
private static org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.TableAlias findMainTableAlias(org.finos.legend.pure.m.coreinstance.meta.relational.mapping.RelationalInstanceSetImplementation)
{
org.finos.legend.pure.m.coreinstance.meta.relational.mapping.RootRelationalInstanceSetImplementation v;
java.lang.RuntimeException v;
org.finos.legend.pure.m.coreinstance.CoreInstance v;
org.finos.legend.pure.m.coreinstance.meta.relational.mapping.RelationalInstanceSetImplementation v;
java.lang.String v, v;
org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.TableAlias v, v;
boolean v, v;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.relational.mapping.RelationalInstanceSetImplementation;
v = v instanceof org.finos.legend.pure.m.coreinstance.meta.relational.mapping.RootRelationalInstanceSetImplementation;
if v == 0 goto label;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.mapping.RootRelationalInstanceSetImplementation: org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.TableAlias _mainTableAlias()>();
return v;
label:
v = v instanceof org.finos.legend.pure.m.coreinstance.meta.relational.mapping.EmbeddedRelationalInstanceSetImplementation;
if v == 0 goto label;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.mapping.EmbeddedRelationalInstanceSetImplementation: org.finos.legend.pure.m.coreinstance.meta.relational.mapping.RootRelationalInstanceSetImplementation _setMappingOwner()>();
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator: org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.TableAlias findMainTableAlias(org.finos.legend.pure.m.coreinstance.meta.relational.mapping.RelationalInstanceSetImplementation)>(v);
return v;
label:
v = new java.lang.RuntimeException;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.mapping.RelationalInstanceSetImplementation: org.finos.legend.pure.m.coreinstance.CoreInstance getClassifier()>();
v = staticinvoke <org.finos.legend.pure.m.navigation.PackageableElement.PackageableElement: java.lang.String getUserPathForPackageableElement(org.finos.legend.pure.m.coreinstance.CoreInstance)>(v);
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[])>("Unhandled set implementation type: \u0001");
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>(v);
throw v;
}
private static org.finos.legend.engine.protocol.pure.v.model.SourceInformation safeGetSourceInfoForProperty(org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping, java.lang.String, org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel, org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext)
{
org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.Mapping v;
org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping v;
java.util.stream.Collector v, v, v, v;
boolean v, v, v, v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel v;
java.util.function.Predicate v, v, v, v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext v;
org.finos.legend.engine.protocol.pure.v.model.SourceInformation v, v, v, v, v, v, v;
java.lang.Exception v;
java.util.List v, v, v, v;
java.util.stream.Stream v, v, v, v, v, v, v, v;
org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMappingsImplementation v, v;
int v, v, v, v;
java.lang.String v, v;
java.lang.Object v, v, v, v, v, v, v, v, v, v, v, v;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping;
v := @parameter: java.lang.String;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext;
label:
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext: org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.Mapping getProtocolMappingsByNameWithID(java.lang.String)>(v);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping: org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMappingsImplementation _owner()>();
v = v instanceof org.finos.legend.pure.m.coreinstance.meta.relational.mapping.RootRelationalInstanceSetImplementation;
if v == 0 goto label;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping: org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMappingsImplementation _owner()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMappingsImplementation: java.lang.String _id()>();
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.Mapping: java.util.List classMappings>;
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator$lambda_safeGetSourceInfoForProperty_1__8: java.util.function.Predicate bootstrap$(org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping,org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel,java.lang.String)>(v, v, v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toList()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
v = interfaceinvoke v.<java.util.List: int size()>();
if v != 1 goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = v instanceof org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.mapping.RootRelationalClassMapping;
if v == 0 goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.mapping.RootRelationalClassMapping: java.util.List propertyMappings>;
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator$lambda_safeGetSourceInfoForProperty_2__9: java.util.function.Predicate bootstrap$(org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toList()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
v = interfaceinvoke v.<java.util.List: int size()>();
if v != 1 goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.PropertyMapping: org.finos.legend.engine.protocol.pure.v.model.SourceInformation sourceInformation>;
label:
return v;
label:
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.ClassMapping: org.finos.legend.engine.protocol.pure.v.model.SourceInformation sourceInformation>;
label:
return v;
label:
v = v instanceof org.finos.legend.pure.m.coreinstance.meta.relational.mapping.RelationalAssociationImplementation;
if v == 0 goto label;
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.Mapping: java.util.List associationMappings>;
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator$lambda_safeGetSourceInfoForProperty_3__6: java.util.function.Predicate bootstrap$(org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping,org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel)>(v, v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toList()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
v = interfaceinvoke v.<java.util.List: int size()>();
if v != 1 goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = v instanceof org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.mapping.RelationalAssociationMapping;
if v == 0 goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.mapping.RelationalAssociationMapping: java.util.List propertyMappings>;
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator$lambda_safeGetSourceInfoForProperty_4__7: java.util.function.Predicate bootstrap$(org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toList()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
v = interfaceinvoke v.<java.util.List: int size()>();
if v != 1 goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.PropertyMapping: org.finos.legend.engine.protocol.pure.v.model.SourceInformation sourceInformation>;
label:
return v;
label:
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.AssociationMapping: org.finos.legend.engine.protocol.pure.v.model.SourceInformation sourceInformation>;
label:
return v;
label:
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.Mapping: org.finos.legend.engine.protocol.pure.v.model.SourceInformation sourceInformation>;
label:
return v;
label:
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.Mapping: org.finos.legend.engine.protocol.pure.v.model.SourceInformation sourceInformation>;
label:
return v;
label:
v := @caughtexception;
v = staticinvoke <org.finos.legend.engine.protocol.pure.v.model.SourceInformation: org.finos.legend.engine.protocol.pure.v.model.SourceInformation getUnknownSourceInformation()>();
return v;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
}
public static org.eclipse.collections.api.map.MapIterable getClassMappingsByIdIncludeEmbedded(org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel, org.finos.legend.pure.m.coreinstance.meta.pure.mapping.Mapping, org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext)
{
org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel v;
org.eclipse.collections.api.RichIterable v;
org.finos.legend.pure.m.coreinstance.meta.pure.mapping.Mapping v;
org.eclipse.collections.api.map.MutableMap v, v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext v;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.mapping.Mapping;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext;
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator: org.eclipse.collections.api.map.MutableMap getMappingEntitiesById(org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel,org.finos.legend.pure.m.coreinstance.meta.pure.mapping.Mapping,java.lang.String,java.lang.String,java.lang.String,org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext)>(v, v, "class", "classMappings", "id", v);
v = interfaceinvoke v.<org.eclipse.collections.api.map.MutableMap: org.eclipse.collections.api.RichIterable valuesView()>();
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator: org.eclipse.collections.api.map.MutableMap getEmbeddedMappingsByIdForClassMapping(org.eclipse.collections.api.RichIterable)>(v);
interfaceinvoke v.<org.eclipse.collections.api.map.MutableMap: void putAll(java.util.Map)>(v);
return v;
}
private static org.eclipse.collections.api.map.MutableMap getEmbeddedMappingsByIdForClassMapping(org.eclipse.collections.api.RichIterable)
{
org.finos.legend.pure.m.coreinstance.meta.pure.mapping.SetImplementation v;
org.eclipse.collections.api.RichIterable v;
java.util.Iterator v;
org.eclipse.collections.api.map.MutableMap v;
org.eclipse.collections.api.factory.map.MutableMapFactory v;
boolean v;
v := @parameter: org.eclipse.collections.api.RichIterable;
v = <org.eclipse.collections.impl.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 of()>();
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()>();
staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator: org.eclipse.collections.api.map.MutableMap getEmbeddedMappingsByIdForPropertiesMapping(org.finos.legend.pure.m.coreinstance.CoreInstance,org.eclipse.collections.api.map.MutableMap)>(v, v);
goto label;
label:
return v;
}
private static org.eclipse.collections.api.map.MutableMap getEmbeddedMappingsByIdForPropertiesMapping(org.finos.legend.pure.m.coreinstance.CoreInstance, org.eclipse.collections.api.map.MutableMap)
{
java.util.Iterator v;
org.finos.legend.pure.m.coreinstance.CoreInstance v;
org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMapping v;
org.eclipse.collections.api.map.MutableMap v;
java.lang.Object v, v;
java.lang.String v;
org.eclipse.collections.api.factory.list.FixedSizeListFactory v;
boolean v, v, v;
v := @parameter: org.finos.legend.pure.m.coreinstance.CoreInstance;
v := @parameter: org.eclipse.collections.api.map.MutableMap;
v = v instanceof org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMappingsImplementation;
if v == 0 goto label;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.mapping.PropertyMappingsImplementation: org.eclipse.collections.api.RichIterable _propertyMappings()>();
goto label;
label:
v = <org.eclipse.collections.impl.factory.Lists: org.eclipse.collections.api.factory.list.FixedSizeListFactory fixedSize>;
v = interfaceinvoke v.<org.eclipse.collections.api.factory.list.FixedSizeListFactory: org.eclipse.collections.api.list.FixedSizeList empty()>();
label:
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 = v instanceof org.finos.legend.pure.m.coreinstance.meta.pure.mapping.EmbeddedSetImplementation;
if v == 0 goto label;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.mapping.EmbeddedSetImplementation: java.lang.String _id()>();
interfaceinvoke v.<org.eclipse.collections.api.map.MutableMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator: org.eclipse.collections.api.map.MutableMap getEmbeddedMappingsByIdForPropertiesMapping(org.finos.legend.pure.m.coreinstance.CoreInstance,org.eclipse.collections.api.map.MutableMap)>(v, v);
goto label;
label:
return v;
}
private static org.eclipse.collections.api.map.MutableMap getMappingEntitiesById(org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel, org.finos.legend.pure.m.coreinstance.meta.pure.mapping.Mapping, java.lang.String, java.lang.String, java.lang.String, org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext)
{
org.eclipse.collections.api.factory.set.MutableSetFactory v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel v;
org.eclipse.collections.api.factory.map.MutableMapFactory v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext v;
org.eclipse.collections.api.set.MutableSet v;
org.finos.legend.pure.m.coreinstance.meta.pure.mapping.Mapping v;
org.eclipse.collections.api.map.MutableMap v;
java.lang.String v, v, v;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.mapping.Mapping;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext;
v = <org.eclipse.collections.impl.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 = <org.eclipse.collections.impl.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()>();
staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator: void collectMappingEntitiesById(org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel,org.eclipse.collections.api.map.MutableMap,org.finos.legend.pure.m.coreinstance.meta.pure.mapping.Mapping,org.finos.legend.pure.m.coreinstance.meta.pure.mapping.Mapping,java.lang.String,java.lang.String,java.lang.String,org.eclipse.collections.api.set.MutableSet,org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext)>(v, v, v, v, v, v, v, v, v);
return v;
}
private static void collectMappingEntitiesById(org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel, org.eclipse.collections.api.map.MutableMap, org.finos.legend.pure.m.coreinstance.meta.pure.mapping.Mapping, org.finos.legend.pure.m.coreinstance.meta.pure.mapping.Mapping, java.lang.String, java.lang.String, java.lang.String, org.eclipse.collections.api.set.MutableSet, org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext)
{
org.eclipse.collections.api.block.predicate.Predicate v;
org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.Mapping v, v;
org.eclipse.collections.api.set.MutableSet v;
org.eclipse.collections.api.RichIterable v, v, v, v;
boolean v, v, v, v, v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext v;
org.finos.legend.engine.protocol.pure.v.model.SourceInformation v, v;
org.finos.legend.pure.m.coreinstance.meta.pure.mapping.Mapping v, v, v;
java.lang.StringBuilder v, v;
org.eclipse.collections.api.map.MutableMap v;
java.lang.Boolean v, v;
java.lang.String v, v, v, v, v, 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 := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel;
v := @parameter: org.eclipse.collections.api.map.MutableMap;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.mapping.Mapping;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.mapping.Mapping;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: org.eclipse.collections.api.set.MutableSet;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext;
v = interfaceinvoke v.<org.eclipse.collections.api.set.MutableSet: boolean add(java.lang.Object)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.mapping.Mapping: org.eclipse.collections.api.RichIterable _classMappings()>();
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator$lambda_collectMappingEntitiesById_f226d4e7_1__10: org.eclipse.collections.api.block.predicate.Predicate bootstrap$()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.RichIterable select(org.eclipse.collections.api.block.predicate.Predicate)>(v);
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("classMappings");
if v == 0 goto label;
v = v;
goto label;
label:
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.mapping.Mapping: org.eclipse.collections.api.RichIterable _enumerationMappings()>();
label:
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 = v instanceof org.finos.legend.pure.m.coreinstance.meta.pure.mapping.SetImplementation;
if v == 0 goto label;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.mapping.SetImplementation: java.lang.String _id()>();
goto label;
label:
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.mapping.EnumerationMapping: java.lang.String _name()>();
label:
v = v;
if v != null goto label;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" mapping without an id in mapping ");
staticinvoke <org.finos.legend.pure.m.navigation.PackageableElement.PackageableElement: java.lang.Appendable writeUserPathForPackageableElement(java.lang.Appendable,org.finos.legend.pure.m.coreinstance.CoreInstance)>(v, v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.mapping.Mapping: java.lang.String _name()>();
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext: org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.Mapping getProtocolMappingsByNameWithID(java.lang.String)>(v);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.Mapping: org.finos.legend.engine.protocol.pure.v.model.SourceInformation sourceInformation>;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(1);
staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator: void relationalException(org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel,java.lang.String,org.finos.legend.engine.protocol.pure.v.model.SourceInformation,java.lang.Boolean)>(v, v, v, v);
label:
v = interfaceinvoke v.<org.eclipse.collections.api.map.MutableMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
if v == null goto label;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>(java.lang.String)>("Multiple ");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" mappings with ");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" \'");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.mapping.Mapping: java.lang.String _name()>();
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[])>("\' for mapping \u0001");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.mapping.Mapping: java.lang.String _name()>();
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext: org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.Mapping getProtocolMappingsByNameWithID(java.lang.String)>(v);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.Mapping: org.finos.legend.engine.protocol.pure.v.model.SourceInformation sourceInformation>;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(1);
staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator: void relationalException(org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel,java.lang.String,org.finos.legend.engine.protocol.pure.v.model.SourceInformation,java.lang.Boolean)>(v, v, v, v);
staticinvoke <org.finos.legend.pure.m.navigation.PackageableElement.PackageableElement: java.lang.Appendable writeUserPathForPackageableElement(java.lang.Appendable,org.finos.legend.pure.m.coreinstance.CoreInstance)>(v, v);
goto label;
label:
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.mapping.Mapping: org.eclipse.collections.api.RichIterable _includes()>();
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 = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.mapping.MappingInclude: org.finos.legend.pure.m.coreinstance.meta.pure.mapping.Mapping _included()>();
staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.validation.RelationalValidator: void collectMappingEntitiesById(org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel,org.eclipse.collections.api.map.MutableMap,org.finos.legend.pure.m.coreinstance.meta.pure.mapping.Mapping,org.finos.legend.pure.m.coreinstance.meta.pure.mapping.Mapping,java.lang.String,java.lang.String,java.lang.String,org.eclipse.collections.api.set.MutableSet,org.finos.legend.engine.language.pure.compiler.toPureGraph.validator.MappingValidatorContext)>(v, v, v, v, v, v, v, v, v);
goto label;
label:
return;
}
}