public bool VisitExprScalarFunction(ExprScalarFunction expr, TCtx arg) { var res = this.Visit(expr, "ScalarFunction", arg, out var argOut) && this.Accept("Schema", expr.Schema, argOut) && this.Accept("Name", expr.Name, argOut) && this.Accept("Arguments", expr.Arguments, argOut); this._visitor.EndVisitExpr(expr, arg); return(res); }
public bool VisitExprScalarFunction(ExprScalarFunction exprScalarFunction, IExpr?parent) { if (exprScalarFunction.Schema != null) { if (exprScalarFunction.Schema.Accept(this, exprScalarFunction)) { this.Builder.Append('.'); } } exprScalarFunction.Name.Accept(this, exprScalarFunction); if (exprScalarFunction.Arguments != null) { this.AssertNotEmptyList(exprScalarFunction.Arguments, "Argument list cannot be empty"); this.AcceptListComaSeparatedPar('(', exprScalarFunction.Arguments, ')', exprScalarFunction); } else { this.Builder.Append('('); this.Builder.Append(')'); } return(true); }
public static ExprScalarFunction WithArguments(this ExprScalarFunction original, IReadOnlyList <ExprValue>?newArguments) => new ExprScalarFunction(schema: original.Schema, name: original.Name, arguments: newArguments);
public static ExprScalarFunction WithName(this ExprScalarFunction original, ExprFunctionName newName) => new ExprScalarFunction(schema: original.Schema, name: newName, arguments: original.Arguments);
public static ExprScalarFunction WithSchema(this ExprScalarFunction original, ExprDbSchema?newSchema) => new ExprScalarFunction(schema: newSchema, name: original.Name, arguments: original.Arguments);
public TRes VisitExprScalarFunction(ExprScalarFunction exprScalarFunction, ExprValueTypeAnalyzerCtx <TRes, TCtx> ctx) { return(ctx.ValueVisitor.VisitAny(ctx.Ctx, null)); }