public class org.finos.legend.engine.language.pure.compiler.toPureGraph.ClassMappingSecondPassBuilder 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.ClassMappingSecondPassBuilder 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.ClassMappingSecondPassBuilder;
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.ClassMappingSecondPassBuilder: org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext context> = v;
v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ClassMappingSecondPassBuilder: 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.protocol.pure.v.model.context.EngineErrorType v, v;
org.eclipse.collections.api.block.predicate.Predicate v;
java.util.stream.Collector v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel v, v;
org.finos.legend.engine.protocol.pure.v.model.SourceInformation v, v;
java.util.List v;
java.util.stream.Stream v, v, v;
org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.ClassMapping v;
org.finos.legend.pure.m.coreinstance.meta.pure.mapping.Mapping v, v, v;
org.finos.legend.pure.runtime.java.compiled.execution.CompiledExecutionSupport v, v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext v, v, v;
org.finos.legend.engine.shared.core.operational.errorManagement.EngineException v, v;
java.util.function.Function v;
int v, v;
java.lang.String v, v, v, v, v, v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.extension.CompilerExtensions v;
java.util.function.Consumer v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.ClassMappingSecondPassBuilder v;
java.lang.Object v;
org.eclipse.collections.api.set.ImmutableSet v, v;
v := @this: org.finos.legend.engine.language.pure.compiler.toPureGraph.ClassMappingSecondPassBuilder;
v := @parameter: org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.ClassMapping;
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.ClassMapping: java.lang.String extendsClassMappingId>;
if v == null goto label;
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.ClassMapping: java.lang.String extendsClassMappingId>;
v = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ClassMappingSecondPassBuilder: org.finos.legend.pure.m.coreinstance.meta.pure.mapping.Mapping parentMapping>;
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.HelperMappingBuilder: org.eclipse.collections.api.set.ImmutableSet getAllClassMappings(org.finos.legend.pure.m.coreinstance.meta.pure.mapping.Mapping)>(v);
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.ClassMappingSecondPassBuilder$lambda_visit_f4755403_1__2512: org.eclipse.collections.api.block.predicate.Predicate bootstrap$(java.lang.String)>(v);
v = interfaceinvoke v.<org.eclipse.collections.api.set.ImmutableSet: org.eclipse.collections.api.set.ImmutableSet select(org.eclipse.collections.api.block.predicate.Predicate)>(v);
v = interfaceinvoke v.<org.eclipse.collections.api.set.ImmutableSet: int size()>();
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.ClassMappingSecondPassBuilder: org.finos.legend.pure.m.coreinstance.meta.pure.mapping.Mapping parentMapping>;
v = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ClassMappingSecondPassBuilder: org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext context>;
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)>(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[])>("Can\'t find extends class mapping \'\u0001\' in mapping \'\u0001\'");
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.ClassMapping: org.finos.legend.engine.protocol.pure.v.model.SourceInformation sourceInformation>;
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:
v = interfaceinvoke v.<org.eclipse.collections.api.set.ImmutableSet: int size()>();
if v <= 1 goto label;
v = interfaceinvoke v.<org.eclipse.collections.api.set.ImmutableSet: java.util.stream.Stream stream()>();
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.ClassMappingSecondPassBuilder$lambda_visit_0__2513: java.util.function.Function bootstrap$(org.finos.legend.engine.language.pure.compiler.toPureGraph.ClassMappingSecondPassBuilder)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream sorted()>();
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector joining(java.lang.CharSequence)>(", ");
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
v = new org.finos.legend.engine.shared.core.operational.errorManagement.EngineException;
v = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ClassMappingSecondPassBuilder: org.finos.legend.pure.m.coreinstance.meta.pure.mapping.Mapping parentMapping>;
v = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ClassMappingSecondPassBuilder: org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext context>;
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[])>("Duplicated class mappings found with ID \'\u0001\' in mapping \'\u0001\'; parent mapping for duplicated: \u0001");
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.ClassMapping: org.finos.legend.engine.protocol.pure.v.model.SourceInformation sourceInformation>;
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:
v = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ClassMappingSecondPassBuilder: org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext context>;
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext: org.finos.legend.engine.language.pure.compiler.toPureGraph.extension.CompilerExtensions getCompilerExtensions()>();
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.extension.CompilerExtensions: java.util.List getExtraClassMappingSecondPassProcessors()>();
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.ClassMappingSecondPassBuilder$lambda_visit_1__2511: java.util.function.Consumer bootstrap$(org.finos.legend.engine.language.pure.compiler.toPureGraph.ClassMappingSecondPassBuilder,org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.ClassMapping)>(v, v);
interfaceinvoke v.<java.util.List: void forEach(java.util.function.Consumer)>(v);
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.eclipse.collections.api.block.function.Function v;
org.eclipse.collections.api.block.predicate.Predicate v;
org.eclipse.collections.api.list.MutableList v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.ClassMappingSecondPassBuilder v;
java.util.List v;
org.eclipse.collections.api.RichIterable v;
org.finos.legend.pure.m.coreinstance.meta.pure.mapping.Mapping v;
org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.OperationClassMapping v;
java.lang.Object v;
org.finos.legend.pure.m.coreinstance.meta.pure.mapping.OperationSetImplementation v;
v := @this: org.finos.legend.engine.language.pure.compiler.toPureGraph.ClassMappingSecondPassBuilder;
v := @parameter: org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.OperationClassMapping;
v = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ClassMappingSecondPassBuilder: 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.ClassMappingSecondPassBuilder$lambda_visit_9569e11d_1__2514: org.eclipse.collections.api.block.predicate.Predicate bootstrap$(org.finos.legend.engine.language.pure.compiler.toPureGraph.ClassMappingSecondPassBuilder,org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.OperationClassMapping)>(v, v);
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: java.lang.Object detect(org.eclipse.collections.api.block.predicate.Predicate)>(v);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.OperationClassMapping: java.util.List parameters>;
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.ClassMappingSecondPassBuilder$lambda_visit_e53d9141_1__2515: org.eclipse.collections.api.block.function.Function bootstrap$(org.finos.legend.engine.language.pure.compiler.toPureGraph.ClassMappingSecondPassBuilder,org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.OperationClassMapping)>(v, v);
v = staticinvoke <org.eclipse.collections.impl.utility.ListIterate: org.eclipse.collections.api.list.MutableList collect(java.util.List,org.eclipse.collections.api.block.function.Function)>(v, v);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.mapping.OperationSetImplementation: org.finos.legend.pure.m.coreinstance.meta.pure.mapping.OperationSetImplementation _parameters(org.eclipse.collections.api.RichIterable)>(v);
return v;
}
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.finos.legend.engine.language.pure.compiler.toPureGraph.ClassMappingSecondPassBuilder v;
org.finos.legend.pure.m.coreinstance.meta.pure.mapping.SetImplementation v;
org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.modelToModel.mapping.PureInstanceClassMapping v;
v := @this: org.finos.legend.engine.language.pure.compiler.toPureGraph.ClassMappingSecondPassBuilder;
v := @parameter: org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.modelToModel.mapping.PureInstanceClassMapping;
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ClassMappingSecondPassBuilder: org.finos.legend.pure.m.coreinstance.meta.pure.mapping.SetImplementation visit(org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.ClassMapping)>(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)
{
java.util.function.Consumer v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.ClassMappingSecondPassBuilder v;
java.util.List v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext v;
org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.aggregationAware.AggregationAwareClassMapping v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.extension.CompilerExtensions v;
v := @this: org.finos.legend.engine.language.pure.compiler.toPureGraph.ClassMappingSecondPassBuilder;
v := @parameter: org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.aggregationAware.AggregationAwareClassMapping;
v = v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.ClassMappingSecondPassBuilder: org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext context>;
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext: org.finos.legend.engine.language.pure.compiler.toPureGraph.extension.CompilerExtensions getCompilerExtensions()>();
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.extension.CompilerExtensions: java.util.List getExtraAggregationAwareClassMappingSecondPassProcessors()>();
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.ClassMappingSecondPassBuilder$lambda_visit_2__2516: java.util.function.Consumer bootstrap$(org.finos.legend.engine.language.pure.compiler.toPureGraph.ClassMappingSecondPassBuilder,org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.aggregationAware.AggregationAwareClassMapping)>(v, v);
interfaceinvoke v.<java.util.List: void forEach(java.util.function.Consumer)>(v);
return null;
}
}