示例#1
0
        public BoundTuple(ImmutableArray <BoundExpression> expressions, bool isReadOnly = false)
        {
            Expressions = expressions;
            IsReadOnly  = isReadOnly;
            var types = expressions.Select(expr => expr.ValueType).ToImmutableArray();

            ValueType = new TupleSymbol(types);
        }
示例#2
0
        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))));
        }