public BoundTuple(ImmutableArray <BoundExpression> expressions, bool isReadOnly = false) { Expressions = expressions; IsReadOnly = isReadOnly; var types = expressions.Select(expr => expr.ValueType).ToImmutableArray(); ValueType = new TupleSymbol(types); }
public static TupleSymbol MakePrefixedTuple(Signature signature, string parameterName, IReadOnlyList <Expression> args, TupleSymbol baseTuple) { var functionPrefix = ((FunctionSymbol)signature.Symbol).ResultNamePrefix ?? signature.Symbol.Name; var argumentPrefix = GetExpressionResultName(GetArgument(args, signature, parameterName)); return(new TupleSymbol(baseTuple.Columns.Select(c => new ColumnSymbol(MakeColumnName(functionPrefix, argumentPrefix, c.Name), c.Type)))); }