adjust struct constructor expansion to transfer srcloc of use to expansion
This commit is contained in:
parent
7abbff4749
commit
3ea28b0c72
|
@ -40,13 +40,15 @@
|
|||
proc)))))
|
||||
|
||||
(define-for-syntax (self-ctor-transformer orig stx)
|
||||
(with-syntax ([orig orig])
|
||||
(define (transfer-srcloc orig stx)
|
||||
(datum->syntax orig (syntax-e orig) stx orig))
|
||||
(syntax-case stx ()
|
||||
[(_ arg ...) (datum->syntax stx
|
||||
(syntax-e (syntax (orig arg ...)))
|
||||
[(self arg ...) (datum->syntax stx
|
||||
(cons (transfer-srcloc orig #'self)
|
||||
(syntax-e (syntax (arg ...))))
|
||||
stx
|
||||
stx)]
|
||||
[_ (syntax orig)])))
|
||||
[_ (transfer-srcloc orig stx)]))
|
||||
|
||||
(define-values-for-syntax (make-self-ctor-struct-info)
|
||||
(letrec-values ([(struct: make- ? ref set!)
|
||||
|
|
Loading…
Reference in New Issue
Block a user