File tree Expand file tree Collapse file tree 8 files changed +142
-63
lines changed
drracket/drracket/private/syncheck
drracket-tool-doc/scribblings/drracket-tools
drracket-tool-test/tests/check-syntax Expand file tree Collapse file tree 8 files changed +142
-63
lines changed Original file line number Diff line number Diff line change @@ -450,7 +450,18 @@ in order to make the results be platform independent.
450
450
451
451
@history[#:added "1.2 " ]
452
452
}
453
-
453
+
454
+ @defmethod[(syncheck:unused-binder [source-obj (not/c #f )]
455
+ [left exact-nonnegative-integer?]
456
+ [right exact-nonnegative-integer?])
457
+ void?]{
458
+ Called to indicate that there is a binder with no
459
+ references in @racket[source-obj] at the location spanned by
460
+ @racket[left] and @racket[right].
461
+
462
+ @history[#:added "1.4 " ]
463
+ }
464
+
454
465
@defmethod[(syncheck:color-range [source-obj (not/c #f )]
455
466
[start exact-nonnegative-integer?]
456
467
[end exact-nonnegative-integer?]
@@ -558,6 +569,7 @@ in order to make the results be platform independent.
558
569
syncheck:add-jump-to-definition/phase-level+space
559
570
syncheck:add-definition-target
560
571
syncheck:add-definition-target/phase-level+space
572
+ syncheck:unused-binder
561
573
syncheck:add-id-set
562
574
syncheck:color-range
563
575
syncheck:add-prefixed-require-reference
Original file line number Diff line number Diff line change 767
767
(and (equal? type 'unused-identifier )
768
768
(list start end)))
769
769
770
+ (define-get-arrows unused-binder
771
+ (syncheck:unused-binder _ start end)
772
+ (list start end))
773
+
770
774
(check-equal?
771
775
(get-text-type
772
776
(string-append
794
798
(set '(69 74 ) ;racket/match from multi-in
795
799
'(77 87 ))) ;racket/set
796
800
801
+ (check-equal?
802
+ (unused-binder
803
+ (string-append
804
+ "#lang racket/base\n "
805
+ "(define unused 1)\n " ))
806
+ (set '(26 32 )))
797
807
808
+ (check-equal?
809
+ (unused-binder
810
+ (string-append
811
+ "#lang racket/base\n "
812
+ "(define-syntax-rule (m f)\n "
813
+ " (void\n "
814
+ " (let ([f 1]) f)\n "
815
+ " (let ([f 2]) f)))\n "
816
+ "\n "
817
+ "(m ffff) " ))
818
+ (set '(96 100 )))
798
819
799
820
800
821
;
Original file line number Diff line number Diff line change 52
52
syncheck:add-jump-to-definition/phase-level+space
53
53
syncheck:add-definition-target
54
54
syncheck:add-definition-target/phase-level+space
55
+ syncheck:unused-binder
55
56
syncheck:add-prefixed-require-reference
56
57
syncheck:add-unused-require
57
58
syncheck:color-range)
Original file line number Diff line number Diff line change 19
19
syncheck:add-jump-to-definition/phase-level+space
20
20
syncheck:add-definition-target
21
21
syncheck:add-definition-target/phase-level+space
22
+ syncheck:unused-binder
22
23
syncheck:add-prefixed-require-reference
23
24
syncheck:add-unused-require
24
25
syncheck:color-range
74
75
(define/public (syncheck:add-definition-target source pos-left pos-right id mods) (void))
75
76
(define/public (syncheck:add-definition-target/phase-level+space source pos-left pos-right id mods phase-level+space)
76
77
(syncheck:add-definition-target source pos-left pos-right id mods))
78
+ (define/public (syncheck:unused-binder source pos-left pos-right) (void))
77
79
(define/public (syncheck:color-range source start finish style-name) (void))
78
80
(define/public (syncheck:add-prefixed-require-reference
79
81
req-src req-pos-left req-pos-right
Original file line number Diff line number Diff line change 20
20
syncheck:add-jump-to-definition/phase-level+space
21
21
syncheck:add-definition-target
22
22
syncheck:add-definition-target/phase-level+space
23
+ syncheck:unused-binder
23
24
syncheck:add-prefixed-require-reference
24
25
syncheck:add-unused-require)
Original file line number Diff line number Diff line change 1129
1129
(define end (second val))
1130
1130
(define color? (third val))
1131
1131
(define (show-starts)
1132
+ (when (zero? start)
1133
+ (define defs-text (current-annotations))
1134
+ (when defs-text
1135
+ (send defs-text syncheck:unused-binder
1136
+ (list-ref key 0 ) (list-ref key 1 ) (list-ref key 2 ))))
1132
1137
(add-mouse-over/loc (list-ref key 0 ) (list-ref key 1 ) (list-ref key 2 )
1133
1138
(cond
1134
1139
[(zero? start)
1624
1629
(log syncheck:add-prefixed-require-reference
1625
1630
_req-src req-pos-left req-pos-right
1626
1631
prefix _prefix-src prefix-start prefix-end)
1632
+ (log syncheck:unused-binder _src left right)
1627
1633
(log syncheck:add-unused-require _req-src req-pos-left req-pos-right)
1628
1634
1629
1635
(define/public (get-trace) (reverse trace))
Original file line number Diff line number Diff line change 13
13
14
14
(define pkg-authors '(robby))
15
15
16
- (define version "1.3 " )
16
+ (define version "1.4 " )
17
17
18
18
(define license
19
19
'(Apache-2.0 OR MIT))
You can’t perform that action at this time.
0 commit comments