From a9d6a8201132127798d79da20a44bd2b14457b5a Mon Sep 17 00:00:00 2001 From: Celestino Amoroso Date: Mon, 6 May 2024 15:26:45 +0200 Subject: [PATCH] operand-func.go: improved error report when functions reveive less params than expected --- operand-func.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/operand-func.go b/operand-func.go index afac065..1512cd3 100644 --- a/operand-func.go +++ b/operand-func.go @@ -25,7 +25,11 @@ func newFuncCallTerm(tk *Token, args []*term) *term { func checkFunctionCall(ctx ExprContext, name string, params []any) (err error) { if info, exists := ctx.GetFuncInfo(name); exists { if info.MinArgs() > len(params) { - err = fmt.Errorf("too few params -- expected %d, got %d", info.MinArgs(), len(params)) + if info.MaxArgs() < 0 { + err = fmt.Errorf("too few params -- expected %d or more, got %d", info.MinArgs(), len(params)) + } else { + err = fmt.Errorf("too few params -- expected %d, got %d", info.MinArgs(), len(params)) + } } if info.MaxArgs() >= 0 && info.MaxArgs() < len(params) { err = fmt.Errorf("too much params -- expected %d, got %d", info.MaxArgs(), len(params))