|
265 | 265 | (+ level level-of-enclosing-module))]
|
266 | 266 | [binders (lookup-phase-to-mapping phase-to-binders
|
267 | 267 | (+ level level-of-enclosing-module))]
|
268 |
| - [tops (lookup-phase-to-mapping phase-to-tops (+ level level-of-enclosing-module))] |
269 |
| - [collect-general-info |
270 |
| - (λ (stx) |
271 |
| - (add-origins stx varrefs level-of-enclosing-module) |
272 |
| - (add-disappeared-bindings stx binders sub-identifier-binding-directives varrefs |
273 |
| - level level-of-enclosing-module mods) |
274 |
| - (add-disappeared-uses stx varrefs sub-identifier-binding-directives |
275 |
| - level level-of-enclosing-module mods) |
276 |
| - (add-mouse-over-tooltips stx) |
277 |
| - (add-sub-range-binders stx |
278 |
| - sub-identifier-binding-directives |
279 |
| - level |
280 |
| - level-of-enclosing-module |
281 |
| - mods))]) |
| 268 | + [tops (lookup-phase-to-mapping phase-to-tops (+ level level-of-enclosing-module))]) |
| 269 | + |
| 270 | + (define (collect-general-info stx) |
| 271 | + (add-origins stx varrefs level-of-enclosing-module collect-general-info) |
| 272 | + (add-disappeared-bindings stx binders sub-identifier-binding-directives varrefs |
| 273 | + level level-of-enclosing-module mods |
| 274 | + collect-general-info) |
| 275 | + (add-disappeared-uses stx varrefs sub-identifier-binding-directives |
| 276 | + level level-of-enclosing-module mods |
| 277 | + collect-general-info) |
| 278 | + (add-mouse-over-tooltips stx) |
| 279 | + (add-sub-range-binders stx |
| 280 | + sub-identifier-binding-directives |
| 281 | + level |
| 282 | + level-of-enclosing-module |
| 283 | + mods)) |
282 | 284 |
|
283 | 285 | (define (collect-nested-general-info stx)
|
284 | 286 | (let loop ([stx stx])
|
|
399 | 401 | [(set! var e)
|
400 | 402 | (begin
|
401 | 403 | (annotate-raw-keyword stx-obj varrefs level-of-enclosing-module)
|
402 |
| - (add-origins (list-ref (syntax->list stx-obj) 1) varrefs level-of-enclosing-module) |
| 404 | + (add-origins (list-ref (syntax->list stx-obj) 1) varrefs level-of-enclosing-module collect-general-info) |
403 | 405 | ;; tops are used here because a binding free use of a set!'d variable
|
404 | 406 | ;; is treated just the same as (#%top . x).
|
405 | 407 | (add-id varsets (syntax var) level-of-enclosing-module)
|
|
714 | 716 | disappeared-uses
|
715 | 717 | level
|
716 | 718 | level-of-enclosing-module
|
717 |
| - mods) |
| 719 | + mods |
| 720 | + collect-general-info) |
718 | 721 | (define prop (syntax-property stx 'disappeared-binding))
|
719 | 722 | (when prop
|
720 | 723 | (let loop ([prop prop])
|
|
723 | 726 | (loop (car prop))
|
724 | 727 | (loop (cdr prop))]
|
725 | 728 | [(identifier? prop)
|
726 |
| - (add-origins prop disappeared-uses level-of-enclosing-module) |
| 729 | + (collect-general-info prop) |
727 | 730 | (add-binders prop
|
728 | 731 | binders
|
729 | 732 | #f
|
|
739 | 742 | sub-identifier-binding-directives
|
740 | 743 | level
|
741 | 744 | level-of-enclosing-module
|
742 |
| - mods) |
| 745 | + mods |
| 746 | + collect-general-info) |
743 | 747 | (define prop (syntax-property stx 'disappeared-use))
|
744 | 748 | (when prop
|
745 | 749 | (let loop ([prop prop])
|
|
748 | 752 | (loop (car prop))
|
749 | 753 | (loop (cdr prop))]
|
750 | 754 | [(identifier? prop)
|
| 755 | + (collect-general-info prop) |
751 | 756 | (add-sub-range-binders prop
|
752 | 757 | sub-identifier-binding-directives
|
753 | 758 | level
|
|
1388 | 1393 | (values cleaned-up-path rkt-submods)))
|
1389 | 1394 |
|
1390 | 1395 | ;; add-origins : syntax? id-set exact-integer? -> void
|
1391 |
| -(define (add-origins stx id-set level-of-enclosing-module) |
| 1396 | +(define (add-origins stx id-set level-of-enclosing-module collect-general-info) |
1392 | 1397 | (let loop ([ct (syntax-property stx 'origin)])
|
1393 | 1398 | (match ct
|
1394 | 1399 | [(cons hd tl)
|
1395 | 1400 | (loop hd)
|
1396 | 1401 | (loop tl)]
|
1397 | 1402 | [(? identifier?)
|
| 1403 | + (collect-general-info ct) |
1398 | 1404 | (add-id id-set ct level-of-enclosing-module)]
|
1399 | 1405 | [_ (void)])))
|
1400 | 1406 |
|
|
0 commit comments