mirror of
https://github.com/justinethier/cyclone.git
synced 2025-07-15 08:47:35 +02:00
Warn if not enough args passed
This commit is contained in:
parent
365b19fca7
commit
bbbe9ecd40
1 changed files with 15 additions and 4 deletions
|
@ -1353,6 +1353,19 @@ if (acc) {
|
|||
((and (app? ast)
|
||||
(lambda? (app->fun ast))
|
||||
(equal? 'args:fixed-with-varargs (lambda-formals-type (app->fun ast))))
|
||||
(let ((lam-min-num-args (lambda-num-args (app->fun ast)))
|
||||
(num-args (length (app->args ast)))
|
||||
(ltype (lambda-formals-type (app->fun ast))))
|
||||
(cond
|
||||
((< num-args lam-min-num-args)
|
||||
(error
|
||||
(string-append
|
||||
"Not enough arguments passed to anonymous lambda. "
|
||||
"Expected "
|
||||
(number->string lam-min-num-args)
|
||||
" but received "
|
||||
(number->string num-args))
|
||||
(app->fun ast)))))
|
||||
(let* ((fn (app->fun ast))
|
||||
(formals (lambda->formals fn))
|
||||
(formals-lis (pair->list formals)) ;; Formals as proper list
|
||||
|
@ -1399,8 +1412,7 @@ if (acc) {
|
|||
"Expected "
|
||||
(number->string lam-min-num-args)
|
||||
" but received "
|
||||
(number->string num-args)
|
||||
":")
|
||||
(number->string num-args))
|
||||
fn))
|
||||
((and (> num-args lam-min-num-args)
|
||||
(equal? 'args:fixed ltype))
|
||||
|
@ -1410,8 +1422,7 @@ if (acc) {
|
|||
"Expected "
|
||||
(number->string lam-min-num-args)
|
||||
" but received "
|
||||
(number->string num-args)
|
||||
":")
|
||||
(number->string num-args))
|
||||
fn)))
|
||||
;; Do conversion
|
||||
(cps-list (app->args ast)
|
||||
|
|
Loading…
Add table
Reference in a new issue