From 3e205b61939eac29edae0b44293504a881d32bde Mon Sep 17 00:00:00 2001 From: Mike Sperber Date: Fri, 8 Oct 2010 13:55:42 +0200 Subject: [PATCH] Better error message for certain bogus signatures. --- collects/deinprogramm/signature/signature-syntax.rkt | 7 ++++++- collects/lang/private/signature-syntax.rkt | 6 +++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/collects/deinprogramm/signature/signature-syntax.rkt b/collects/deinprogramm/signature/signature-syntax.rkt index d83b0792d9..226a5368af 100644 --- a/collects/deinprogramm/signature/signature-syntax.rkt +++ b/collects/deinprogramm/signature/signature-syntax.rkt @@ -132,6 +132,10 @@ ?access ?signature-expr ?stx))) + ((signature ?stuff ...) + (raise-syntax-error #f + "`signature' als Operator ergibt keinen Sinn" + stx)) ((?signature-abstr ?signature ...) (identifier? #'?signature-abstr) (with-syntax ((?stx (phase-lift stx)) @@ -139,6 +143,7 @@ ((?signature-expr ...) (map (lambda (sig) (parse-signature #f sig)) (syntax->list #'(?signature ...))))) + (with-syntax ((?call (syntax/loc stx (?signature-abstr ?signature-expr ...)))) #'(make-call-signature '?name @@ -146,7 +151,7 @@ (delay ?signature-abstr) (delay (list ?signature-expr ...)) ?stx)))) (else - (raise-syntax-error 'signature + (raise-syntax-error #f "ungültige Signatur" stx)))) ; regrettable diff --git a/collects/lang/private/signature-syntax.rkt b/collects/lang/private/signature-syntax.rkt index f12e901d3f..5936a08845 100644 --- a/collects/lang/private/signature-syntax.rkt +++ b/collects/lang/private/signature-syntax.rkt @@ -122,6 +122,10 @@ ?access ?signature-expr ?stx))) + ((signature ?stuff ...) + (raise-syntax-error #f + "`signature' makes no sense as an operator" + stx)) ((?signature-abstr ?signature ...) (identifier? #'?signature-abstr) (with-syntax ((?stx (phase-lift stx)) @@ -138,7 +142,7 @@ (delay (list ?signature-expr ...)) ?stx)))) (else - (raise-syntax-error 'signature + (raise-syntax-error #f "invalid signature" stx)))) ; regrettable