Search in sources :

Example 1 with AppliedProperty

use of org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.application.AppliedProperty in project legend-engine by finos.

the class DomainParseTreeWalker method expression.

private ValueSpecification expression(DomainParserGrammar.ExpressionContext ctx, String exprName, List<String> typeParametersNames, LambdaContext lambdaContext, String space, boolean wrapFlag, boolean addLines) {
    ValueSpecification result;
    List<ValueSpecification> expressions = Lists.mutable.of();
    List<ValueSpecification> parameters;
    if (ctx.combinedExpression() != null) {
        return this.combinedExpression(ctx.combinedExpression(), exprName, typeParametersNames, lambdaContext, space, wrapFlag, addLines);
    }
    if (ctx.atomicExpression() != null) {
        result = this.atomicExpression(ctx.atomicExpression(), typeParametersNames, lambdaContext, space, wrapFlag, addLines);
    } else if (ctx.notExpression() != null) {
        result = this.notExpression(ctx.notExpression(), exprName, typeParametersNames, lambdaContext, space, addLines);
    } else if (ctx.signedExpression() != null) {
        result = this.signedExpression(ctx.signedExpression(), exprName, typeParametersNames, lambdaContext, space, addLines);
    } else if (ctx.expressionsArray() != null) {
        for (DomainParserGrammar.ExpressionContext eCtx : ctx.expressionsArray().expression()) {
            expressions.add(this.expression(eCtx, exprName, typeParametersNames, lambdaContext, space, false, addLines));
        }
        result = this.collect(expressions, walkerSourceInformation.getSourceInformation(ctx));
    } else {
        throw new EngineException(ctx.getText() + " is not supported", walkerSourceInformation.getSourceInformation(ctx), EngineErrorType.PARSER);
    }
    if (ctx.propertyOrFunctionExpression() != null) {
        for (DomainParserGrammar.PropertyOrFunctionExpressionContext pfCtx : ctx.propertyOrFunctionExpression()) {
            if (pfCtx.propertyExpression() != null) {
                result = propertyExpression(pfCtx.propertyExpression(), result, typeParametersNames, lambdaContext, space, addLines);
            } else // TODO PropertyBracketExpression is deprecated.  Remove else if clause once all use has been addressed
            if (pfCtx.propertyBracketExpression() != null) {
                if (!allowPropertyBracketExpression) {
                    throw new EngineException("Bracket operation is not supported", walkerSourceInformation.getSourceInformation(pfCtx.propertyBracketExpression()), EngineErrorType.PARSER);
                }
                String getPropertyName = "oneString";
                parameters = new ArrayList<>();
                AppliedProperty appliedProperty = new AppliedProperty();
                appliedProperty.property = getPropertyName;
                appliedProperty.parameters = Lists.mutable.of(result).withAll(parameters);
                if (pfCtx.propertyBracketExpression().STRING() != null) {
                    CString instance = getInstanceString(pfCtx.propertyBracketExpression().STRING().getText());
                    instance.sourceInformation = walkerSourceInformation.getSourceInformation(pfCtx.propertyBracketExpression());
                    appliedProperty.parameters.add(instance);
                } else {
                    CInteger instance = getInstanceInteger(pfCtx.propertyBracketExpression().INTEGER().getText());
                    instance.sourceInformation = walkerSourceInformation.getSourceInformation(pfCtx.propertyBracketExpression());
                    appliedProperty.parameters.add(instance);
                }
                appliedProperty.sourceInformation = walkerSourceInformation.getSourceInformation(pfCtx.propertyBracketExpression());
                result = appliedProperty;
            } else {
                for (int i = 0; i < pfCtx.functionExpression().qualifiedName().size(); i++) {
                    parameters = this.functionExpressionParameters(pfCtx.functionExpression().functionExpressionParameters(i), typeParametersNames, lambdaContext, addLines, space);
                    parameters.add(0, result);
                    result = this.functionExpression(pfCtx.functionExpression().qualifiedName(i), parameters);
                }
            }
        }
    }
    if (ctx.equalNotEqual() != null) {
        result = this.equalNotEqual(ctx.equalNotEqual(), result, exprName, typeParametersNames, lambdaContext, space, wrapFlag, addLines);
    }
    return result;
}
Also used : DomainParserGrammar(org.finos.legend.engine.language.pure.grammar.from.antlr4.domain.DomainParserGrammar) CInteger(org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.raw.CInteger) ValueSpecification(org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.ValueSpecification) EngineException(org.finos.legend.engine.shared.core.operational.errorManagement.EngineException) ArrayList(java.util.ArrayList) CString(org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.raw.CString) AppliedProperty(org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.application.AppliedProperty) CString(org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.raw.CString)

Example 2 with AppliedProperty

use of org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.application.AppliedProperty in project legend-engine by finos.

the class DomainParseTreeWalker method propertyExpression.

private ValueSpecification propertyExpression(DomainParserGrammar.PropertyExpressionContext ctx, ValueSpecification result, List<String> typeParametersNames, LambdaContext lambdaContext, String space, boolean addLines) {
    List<ValueSpecification> parameters = new ArrayList<>();
    DomainParserGrammar.IdentifierContext property = ctx.identifier();
    ValueSpecification parameter;
    if (ctx.functionExpressionParameters() != null) {
        DomainParserGrammar.FunctionExpressionParametersContext fepCtx = ctx.functionExpressionParameters();
        if (fepCtx.combinedExpression() != null) {
            for (DomainParserGrammar.CombinedExpressionContext ceCtx : fepCtx.combinedExpression()) {
                parameter = this.combinedExpression(ceCtx, "param", typeParametersNames, lambdaContext, space, true, addLines);
                parameters.add(parameter);
            }
        }
    } else if (ctx.functionExpressionLatestMilestoningDateParameter() != null) {
        ctx.functionExpressionLatestMilestoningDateParameter().LATEST_DATE().forEach(lDate -> {
            CLatestDate date = new CLatestDate();
            date.multiplicity = getMultiplicityOneOne();
            parameters.add(date);
        });
    }
    AppliedProperty appliedProperty = new AppliedProperty();
    appliedProperty.property = PureGrammarParserUtility.fromIdentifier(property);
    appliedProperty.sourceInformation = walkerSourceInformation.getSourceInformation(property);
    appliedProperty.parameters = Lists.mutable.of(result).withAll(parameters);
    return appliedProperty;
}
Also used : Property(org.finos.legend.engine.protocol.pure.v1.model.packageableElement.domain.Property) EngineErrorType(org.finos.legend.engine.protocol.pure.v1.model.context.EngineErrorType) Token(org.antlr.v4.runtime.Token) TaggedValue(org.finos.legend.engine.protocol.pure.v1.model.packageableElement.domain.TaggedValue) Enumeration(org.finos.legend.engine.protocol.pure.v1.model.packageableElement.domain.Enumeration) CommonTokenStream(org.antlr.v4.runtime.CommonTokenStream) DefaultValue(org.finos.legend.engine.protocol.pure.v1.model.packageableElement.domain.DefaultValue) MutableList(org.eclipse.collections.api.list.MutableList) Profile(org.finos.legend.engine.protocol.pure.v1.model.packageableElement.domain.Profile) CharStreams(org.antlr.v4.runtime.CharStreams) Constraint(org.finos.legend.engine.protocol.pure.v1.model.packageableElement.domain.Constraint) Variable(org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.Variable) ImportAwareCodeSection(org.finos.legend.engine.protocol.pure.v1.model.packageableElement.section.ImportAwareCodeSection) CFloat(org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.raw.CFloat) Multiplicity(org.finos.legend.engine.protocol.pure.v1.model.packageableElement.domain.Multiplicity) TagPtr(org.finos.legend.engine.protocol.pure.v1.model.packageableElement.domain.TagPtr) CLatestDate(org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.raw.CLatestDate) AppliedFunction(org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.application.AppliedFunction) CBoolean(org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.raw.CBoolean) Unit(org.finos.legend.engine.protocol.pure.v1.model.packageableElement.domain.Unit) AppliedProperty(org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.application.AppliedProperty) PureGrammarParserContext(org.finos.legend.engine.language.pure.grammar.from.PureGrammarParserContext) ParseTreeWalkerSourceInformation(org.finos.legend.engine.language.pure.grammar.from.ParseTreeWalkerSourceInformation) GraphFetchTreeLexerGrammar(org.finos.legend.engine.language.pure.grammar.from.antlr4.graphFetchTree.GraphFetchTreeLexerGrammar) Association(org.finos.legend.engine.protocol.pure.v1.model.packageableElement.domain.Association) Iterate(org.eclipse.collections.impl.utility.Iterate) SourceInformation(org.finos.legend.engine.protocol.pure.v1.model.SourceInformation) TerminalNode(org.antlr.v4.runtime.tree.TerminalNode) GraphFetchTreeParserGrammar(org.finos.legend.engine.language.pure.grammar.from.antlr4.graphFetchTree.GraphFetchTreeParserGrammar) List(java.util.List) Lists(org.eclipse.collections.impl.factory.Lists) NavigationParserGrammar(org.finos.legend.engine.language.pure.grammar.from.antlr4.navigation.NavigationParserGrammar) EngineException(org.finos.legend.engine.shared.core.operational.errorManagement.EngineException) ListIterable(org.eclipse.collections.api.list.ListIterable) StereotypePtr(org.finos.legend.engine.protocol.pure.v1.model.packageableElement.domain.StereotypePtr) QualifiedProperty(org.finos.legend.engine.protocol.pure.v1.model.packageableElement.domain.QualifiedProperty) PackageableElement(org.finos.legend.engine.protocol.pure.v1.model.packageableElement.PackageableElement) Lambda(org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.raw.Lambda) FastList(org.eclipse.collections.impl.list.mutable.FastList) EnumValue(org.finos.legend.engine.protocol.pure.v1.model.packageableElement.domain.EnumValue) ArrayList(java.util.ArrayList) PureGrammarParserUtility(org.finos.legend.engine.language.pure.grammar.from.PureGrammarParserUtility) KeyExpression(org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.raw.KeyExpression) Class(org.finos.legend.engine.protocol.pure.v1.model.packageableElement.domain.Class) NavigationLexerGrammar(org.finos.legend.engine.language.pure.grammar.from.antlr4.navigation.NavigationLexerGrammar) CInteger(org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.raw.CInteger) CString(org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.raw.CString) ParserErrorListener(org.finos.legend.engine.language.pure.grammar.from.ParserErrorListener) PredictionMode(org.antlr.v4.runtime.atn.PredictionMode) ValueSpecification(org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.ValueSpecification) ListIterate(org.eclipse.collections.impl.utility.ListIterate) Collection(org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.raw.Collection) Consumer(java.util.function.Consumer) HackedUnit(org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.raw.HackedUnit) DomainParserGrammar(org.finos.legend.engine.language.pure.grammar.from.antlr4.domain.DomainParserGrammar) Measure(org.finos.legend.engine.protocol.pure.v1.model.packageableElement.domain.Measure) HackedClass(org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.raw.HackedClass) Collections(java.util.Collections) DomainParserGrammar(org.finos.legend.engine.language.pure.grammar.from.antlr4.domain.DomainParserGrammar) ValueSpecification(org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.ValueSpecification) ArrayList(java.util.ArrayList) CLatestDate(org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.raw.CLatestDate) AppliedProperty(org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.application.AppliedProperty)

Example 3 with AppliedProperty

use of org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.application.AppliedProperty in project legend-engine by finos.

the class HelperServiceStoreClassMappingBuilder method buildParameterIndexedMappingFromPropertyIndexedMapping.

private static ParameterIndexedParameterMapping buildParameterIndexedMappingFromPropertyIndexedMapping(PropertyIndexedParameterMapping serviceParameterMapping) {
    Variable thisVar = new Variable();
    thisVar.name = "this";
    AppliedProperty prop = new AppliedProperty();
    prop.property = serviceParameterMapping.property;
    prop.parameters = Lists.mutable.with(thisVar);
    Lambda transform = new Lambda();
    transform.body = Lists.mutable.with(prop);
    transform.parameters = Lists.mutable.empty();
    ParameterIndexedParameterMapping parameterIndexedParameterMapping = new ParameterIndexedParameterMapping();
    parameterIndexedParameterMapping.transform = transform;
    parameterIndexedParameterMapping.serviceParameter = serviceParameterMapping.serviceParameter;
    parameterIndexedParameterMapping.sourceInformation = serviceParameterMapping.sourceInformation;
    return parameterIndexedParameterMapping;
}
Also used : Variable(org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.Variable) Lambda(org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.raw.Lambda) AppliedProperty(org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.application.AppliedProperty)

Example 4 with AppliedProperty

use of org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.application.AppliedProperty in project legend-engine by finos.

the class HelperValueSpecificationBuilder method processProperty.

public static org.finos.legend.pure.m3.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification processProperty(CompileContext context, MutableList<String> openVariables, ProcessingContext processingContext, List<org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.ValueSpecification> parameters, String property, SourceInformation sourceInformation) {
    // for X.property. X is the first parameter
    processingContext.push("Processing property " + property);
    org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.ValueSpecification firstArgument = parameters.get(0);
    MutableList<org.finos.legend.pure.m3.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification> processedParameters = ListIterate.collect(parameters, p -> p.accept(new ValueSpecificationBuilder(context, openVariables, processingContext)));
    org.finos.legend.pure.m3.coreinstance.meta.pure.metamodel.type.generics.GenericType genericType;
    org.finos.legend.pure.m3.coreinstance.meta.pure.metamodel.multiplicity.Multiplicity multiplicity;
    org.finos.legend.pure.m3.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification inferredVariable;
    org.finos.legend.pure.m3.coreinstance.meta.pure.metamodel.valuespecification.ValueSpecification result;
    if (// Only for backward compatibility!
    firstArgument instanceof org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.raw.Enum || (processedParameters.get(0)._genericType()._rawType().equals(context.pureModel.getType("meta::pure::metamodel::type::Enumeration")))) {
        org.finos.legend.engine.protocol.pure.v1.model.packageableElement.domain.Multiplicity m = new org.finos.legend.engine.protocol.pure.v1.model.packageableElement.domain.Multiplicity();
        m.lowerBound = 1;
        m.setUpperBound(1);
        CString enumValue = new CString();
        enumValue.values = Lists.mutable.of(property);
        enumValue.multiplicity = m;
        // validation to make sure the enum value can be found
        context.resolveEnumValue(((PackageableElementPtr) firstArgument).fullPath, enumValue.values.get(0), firstArgument.sourceInformation, sourceInformation);
        AppliedFunction extractEnum = new AppliedFunction();
        extractEnum.function = "extractEnumValue";
        extractEnum.parameters = Lists.mutable.of(firstArgument, enumValue);
        result = extractEnum.accept(new ValueSpecificationBuilder(context, openVariables, processingContext));
    } else {
        if (firstArgument instanceof Variable) {
            inferredVariable = processingContext.getInferredVariable(((Variable) firstArgument).name);
        } else {
            inferredVariable = processedParameters.get(0);
        }
        Type inferredType = inferredVariable._genericType()._rawType();
        if (// is an enum
        !(inferredType instanceof org.finos.legend.pure.m3.coreinstance.meta.pure.metamodel.type.Class)) {
            inferredType = context.pureModel.getType("meta::pure::metamodel::type::Enum");
        }
        org.finos.legend.pure.m3.coreinstance.meta.pure.metamodel.function.property.AbstractProperty<?> foundProperty = findProperty(context, (org.finos.legend.pure.m3.coreinstance.meta.pure.metamodel.type.Class<?>) inferredType, parameters, property, sourceInformation);
        if (foundProperty instanceof Property) {
            genericType = (foundProperty._classifierGenericType()._typeArguments()).getLast();
            multiplicity = foundProperty._multiplicity();
        } else if (foundProperty instanceof QualifiedProperty) {
            FunctionType fType = (FunctionType) foundProperty._classifierGenericType()._typeArguments().getFirst()._rawType();
            genericType = fType._returnType();
            multiplicity = fType._returnMultiplicity();
        } else {
            throw new UnsupportedOperationException("Unhandled property: " + foundProperty);
        }
        if (// autoMap
        !inferredVariable._multiplicity().getName().equals("PureOne")) {
            processingContext.push("Building Automap for  " + property);
            org.finos.legend.engine.protocol.pure.v1.model.packageableElement.domain.Multiplicity m = new org.finos.legend.engine.protocol.pure.v1.model.packageableElement.domain.Multiplicity();
            m.lowerBound = 1;
            m.setUpperBound(1);
            List<org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.ValueSpecification> localParameters = Lists.mutable.ofAll(parameters);
            final String automapName = "v_automap";
            Lambda automapLambda = new Lambda();
            AppliedProperty appliedProperty = new AppliedProperty();
            appliedProperty.property = property;
            Variable automapvar = new Variable();
            Variable automaLambdaparam = new Variable();
            automapvar.name = automapName;
            appliedProperty.parameters = Lists.mutable.of(automapvar);
            if (!localParameters.isEmpty()) {
                localParameters.remove(0);
            }
            appliedProperty.parameters.addAll(localParameters);
            automaLambdaparam.name = automapName;
            automaLambdaparam._class = HelperModelBuilder.getElementFullPath(inferredVariable._genericType()._rawType(), context.pureModel.getExecutionSupport());
            automaLambdaparam.multiplicity = m;
            automapLambda.body = Lists.mutable.of(appliedProperty);
            List<Variable> lambdaParams = new FastList<>();
            lambdaParams.add(automaLambdaparam);
            automapLambda.parameters = lambdaParams;
            List<org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.ValueSpecification> newParams = Lists.mutable.of(parameters.get(0), automapLambda);
            result = context.buildFunctionExpression("map", null, newParams, openVariables, null, processingContext).getOne();
            processingContext.pop();
        } else {
            result = new Root_meta_pure_metamodel_valuespecification_SimpleFunctionExpression_Impl("")._func(foundProperty)._propertyName(new Root_meta_pure_metamodel_valuespecification_InstanceValue_Impl("")._values(Lists.fixedSize.of(foundProperty.getName())))._genericType(genericType)._multiplicity(multiplicity)._parametersValues(processedParameters);
        }
    }
    processingContext.pop();
    return result;
}
Also used : ValueSpecification(org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.ValueSpecification) CString(org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.raw.CString) Multiplicity(org.finos.legend.engine.protocol.pure.v1.model.packageableElement.domain.Multiplicity) FastList(org.eclipse.collections.impl.list.mutable.FastList) GenericType(org.finos.legend.pure.m3.coreinstance.meta.pure.metamodel.type.generics.GenericType) Class(org.finos.legend.pure.m3.coreinstance.meta.pure.metamodel.type.Class) QualifiedProperty(org.finos.legend.pure.m3.coreinstance.meta.pure.metamodel.function.property.QualifiedProperty) Variable(org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.Variable) CString(org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.raw.CString) Multiplicity(org.finos.legend.engine.protocol.pure.v1.model.packageableElement.domain.Multiplicity) AbstractProperty(org.finos.legend.pure.m3.coreinstance.meta.pure.metamodel.function.property.AbstractProperty) QualifiedProperty(org.finos.legend.pure.m3.coreinstance.meta.pure.metamodel.function.property.QualifiedProperty) Property(org.finos.legend.pure.m3.coreinstance.meta.pure.metamodel.function.property.Property) AppliedProperty(org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.application.AppliedProperty) Lambda(org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.raw.Lambda) FunctionType(org.finos.legend.pure.m3.coreinstance.meta.pure.metamodel.type.FunctionType) ValueSpecification(org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.ValueSpecification) FunctionType(org.finos.legend.pure.m3.coreinstance.meta.pure.metamodel.type.FunctionType) Type(org.finos.legend.pure.m3.coreinstance.meta.pure.metamodel.type.Type) GenericType(org.finos.legend.pure.m3.coreinstance.meta.pure.metamodel.type.generics.GenericType) AppliedFunction(org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.application.AppliedFunction) AppliedProperty(org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.application.AppliedProperty)

Example 5 with AppliedProperty

use of org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.application.AppliedProperty in project legend-engine by finos.

the class TestMappingGrammarParser method testLatestMultiplicity.

@Test
public void testLatestMultiplicity() {
    PureModelContextData model = PureGrammarParser.newInstance().parseModel("import test::*;\n" + "Class test::A\n" + "{\n" + "  stringProperty: String[1];\n" + "  latestProduct(){\n" + "         $this.stringProperty(%latest)\n" + "   }:String[*];\n" + "}\n");
    Multiplicity latest = ((CLatestDate) ((AppliedProperty) model.getElementsOfType(Class.class).get(0).qualifiedProperties.get(0).body.get(0)).parameters.get(1)).multiplicity;
    Assert.assertTrue(latest.isUpperBoundEqualTo(1), () -> "CLatestDate must have multiplicity set to 1");
}
Also used : Multiplicity(org.finos.legend.engine.protocol.pure.v1.model.packageableElement.domain.Multiplicity) CLatestDate(org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.raw.CLatestDate) PureModelContextData(org.finos.legend.engine.protocol.pure.v1.model.context.PureModelContextData) AppliedProperty(org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.application.AppliedProperty) Test(org.junit.Test)

Aggregations

AppliedProperty (org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.application.AppliedProperty)5 ValueSpecification (org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.ValueSpecification)3 Variable (org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.Variable)3 CString (org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.raw.CString)3 Lambda (org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.raw.Lambda)3 ArrayList (java.util.ArrayList)2 FastList (org.eclipse.collections.impl.list.mutable.FastList)2 DomainParserGrammar (org.finos.legend.engine.language.pure.grammar.from.antlr4.domain.DomainParserGrammar)2 Multiplicity (org.finos.legend.engine.protocol.pure.v1.model.packageableElement.domain.Multiplicity)2 CInteger (org.finos.legend.engine.protocol.pure.v1.model.valueSpecification.raw.CInteger)2 EngineException (org.finos.legend.engine.shared.core.operational.errorManagement.EngineException)2 Collections (java.util.Collections)1 List (java.util.List)1 Consumer (java.util.function.Consumer)1 CharStreams (org.antlr.v4.runtime.CharStreams)1 CommonTokenStream (org.antlr.v4.runtime.CommonTokenStream)1 Token (org.antlr.v4.runtime.Token)1 PredictionMode (org.antlr.v4.runtime.atn.PredictionMode)1 TerminalNode (org.antlr.v4.runtime.tree.TerminalNode)1 ListIterable (org.eclipse.collections.api.list.ListIterable)1