public class org.finos.legend.engine.language.pure.compiler.toPureGraph.ClassMappingThirdPassBuilder extends java.lang.Object implements org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.ClassMappingVisitor
{
private final org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext context;
private final org.finos.legend.pure.m.coreinstance.meta.pure.mapping.Mapping parentMapping;
public void <init>(org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext, org.finos.legend.pure.m.coreinstance.meta.pure.mapping.Mapping)
{
org.finos.legend.engine.language.pure.compiler.toPureGraph.ClassMappingThirdPassBuilder v;
org.finos.legend.pure.m.coreinstance.meta.pure.mapping.Mapping v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext v;
v := @this: org.finos.legend.engine.language.pure.compiler.toPureGraph.ClassMappingThirdPassBuilder;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.mapping.Mapping;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ClassMappingThirdPassBuilder: org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext context> = v;
v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ClassMappingThirdPassBuilder: org.finos.legend.pure.m.coreinstance.meta.pure.mapping.Mapping parentMapping> = v;
return;
}
public org.finos.legend.pure.m.coreinstance.meta.pure.mapping.SetImplementation visit(org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.ClassMapping)
{
org.finos.legend.engine.language.pure.compiler.toPureGraph.ClassMappingThirdPassBuilder v;
org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.ClassMapping v;
v := @this: org.finos.legend.engine.language.pure.compiler.toPureGraph.ClassMappingThirdPassBuilder;
v := @parameter: org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.ClassMapping;
return null;
}
public org.finos.legend.pure.m.coreinstance.meta.pure.mapping.SetImplementation visit(org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.OperationClassMapping)
{
org.finos.legend.engine.language.pure.compiler.toPureGraph.ClassMappingThirdPassBuilder v;
org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.OperationClassMapping v;
v := @this: org.finos.legend.engine.language.pure.compiler.toPureGraph.ClassMappingThirdPassBuilder;
v := @parameter: org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.OperationClassMapping;
return null;
}
public org.finos.legend.pure.m.coreinstance.meta.pure.mapping.SetImplementation visit(org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.modelToModel.mapping.PureInstanceClassMapping)
{
org.eclipse.collections.api.block.predicate.Predicate v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.ClassMappingThirdPassBuilder v;
org.eclipse.collections.api.RichIterable v, v, v;
org.finos.legend.pure.m.coreinstance.meta.pure.mapping.Mapping v;
org.eclipse.collections.api.block.procedure.primitive.ObjectIntProcedure v;
java.lang.Object v;
org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.modelToModel.mapping.PureInstanceClassMapping v;
org.finos.legend.pure.m.coreinstance.meta.external.store.model.PureInstanceSetImplementation v;
v := @this: org.finos.legend.engine.language.pure.compiler.toPureGraph.ClassMappingThirdPassBuilder;
v := @parameter: org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.modelToModel.mapping.PureInstanceClassMapping;
v = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ClassMappingThirdPassBuilder: org.finos.legend.pure.m.coreinstance.meta.pure.mapping.Mapping parentMapping>;
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.ClassMappingThirdPassBuilder$lambda_visit_d0131661_1__2686: org.eclipse.collections.api.block.predicate.Predicate bootstrap$(org.finos.legend.engine.language.pure.compiler.toPureGraph.ClassMappingThirdPassBuilder,org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.modelToModel.mapping.PureInstanceClassMapping)>(v, v);
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.RichIterable select(org.eclipse.collections.api.block.predicate.Predicate)>(v);
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: java.lang.Object getFirst()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.external.store.model.PureInstanceSetImplementation: org.eclipse.collections.api.RichIterable _propertyMappings()>();
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.ClassMappingThirdPassBuilder$lambda_visit_82084c12_1__2687: org.eclipse.collections.api.block.procedure.primitive.ObjectIntProcedure bootstrap$(org.finos.legend.engine.language.pure.compiler.toPureGraph.ClassMappingThirdPassBuilder,org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.modelToModel.mapping.PureInstanceClassMapping)>(v, v);
interfaceinvoke v.<org.eclipse.collections.api.RichIterable: void forEachWithIndex(org.eclipse.collections.api.block.procedure.primitive.ObjectIntProcedure)>(v);
return v;
}
public org.finos.legend.pure.m.coreinstance.meta.pure.mapping.SetImplementation visit(org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.aggregationAware.AggregationAwareClassMapping)
{
org.finos.legend.engine.language.pure.compiler.toPureGraph.ClassMappingThirdPassBuilder v;
org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.aggregationAware.AggregationAwareClassMapping v;
v := @this: org.finos.legend.engine.language.pure.compiler.toPureGraph.ClassMappingThirdPassBuilder;
v := @parameter: org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.aggregationAware.AggregationAwareClassMapping;
return null;
}
private static void checkPureMappingCompatibility(org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext, org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Type, org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Type, java.lang.String, org.finos.legend.engine.protocol.pure.v.model.SourceInformation)
{
org.finos.legend.engine.protocol.pure.v.model.context.EngineErrorType v;
org.finos.legend.pure.runtime.java.compiled.execution.CompiledProcessorSupport v, v;
java.lang.String v, v, v, v;
boolean v, v, v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel v, v, v, v;
org.finos.legend.engine.protocol.pure.v.model.SourceInformation v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Type v, v;
org.finos.legend.pure.runtime.java.compiled.execution.CompiledExecutionSupport v, v, v, v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext v;
org.finos.legend.engine.shared.core.operational.errorManagement.EngineException v;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Type;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Type;
v := @parameter: java.lang.String;
v := @parameter: org.finos.legend.engine.protocol.pure.v.model.SourceInformation;
if v == null goto label;
v = virtualinvoke v.<java.lang.Object: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext: org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel pureModel>;
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 = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext: org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel pureModel>;
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 = new org.finos.legend.engine.shared.core.operational.errorManagement.EngineException;
v = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext: org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel pureModel>;
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 = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext: org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel pureModel>;
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)>(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[])>("\u - Type error: \'\u0001\' is not in the class hierarchy of \'\u0001\'");
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 boolean checkTransformTypeMatchesPropertyType(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.Property, org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification, org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext)
{
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Type v, v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification v;
org.eclipse.collections.api.RichIterable v;
org.finos.legend.pure.m.execution.ExecutionSupport v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.Property v;
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.generics.GenericType v, v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext v;
boolean v;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.function.property.Property;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext;
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification: 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.<org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext: org.finos.legend.pure.m.execution.ExecutionSupport getExecutionSupport()>();
v = staticinvoke <org.finos.legend.pure.generated.platform_pure_essential_meta_type_getAllTypeGeneralisations: org.eclipse.collections.api.RichIterable Root_meta_pure_functions_meta_getAllTypeGeneralisations_Type_1__Type_MANY_(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.type.Type,org.finos.legend.pure.m.execution.ExecutionSupport)>(v, v);
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.eclipse.collections.api.RichIterable: boolean contains(java.lang.Object)>(v);
return v;
}
}