Skip to content

Commit 932b31d

Browse files
Apply suggestions from code review
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
1 parent 9212eeb commit 932b31d

File tree

1 file changed

+63
-59
lines changed

1 file changed

+63
-59
lines changed

private/refactoring-result.rkt

Lines changed: 63 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -109,30 +109,34 @@
109109

110110

111111
(define (refactoring-result-modified-range result)
112-
(if (refactoring-result-has-fix? result)
113-
(let ([replacement (refactoring-result-string-replacement result)])
114-
(closed-open-range (add1 (string-replacement-start replacement))
115-
(add1 (string-replacement-original-end replacement))
116-
#:comparator natural<=>))
117-
(let* ([orig-stx (refactoring-result-original-syntax result)]
118-
[pos (syntax-position orig-stx)]
119-
[span (syntax-span orig-stx)])
120-
(if (and pos span)
121-
(closed-open-range pos (+ pos span) #:comparator natural<=>)
122-
(closed-open-range 1 2 #:comparator natural<=>)))))
112+
(cond
113+
[(refactoring-result-has-fix? result)
114+
(define replacement (refactoring-result-string-replacement result))
115+
(closed-open-range (add1 (string-replacement-start replacement))
116+
(add1 (string-replacement-original-end replacement))
117+
#:comparator natural<=>)]
118+
[else
119+
(define orig-stx (refactoring-result-original-syntax result))
120+
(define pos (syntax-position orig-stx))
121+
(define span (syntax-span orig-stx))
122+
(if (and pos span)
123+
(closed-open-range pos (+ pos span) #:comparator natural<=>)
124+
(closed-open-range 1 2 #:comparator natural<=>))]))
123125

124126

125127
(define (refactoring-result-modified-line-range result)
126-
(if (refactoring-result-has-fix? result)
127-
(let ([replacement (refactoring-result-line-replacement result)])
128-
(closed-open-range (line-replacement-start-line replacement)
129-
(line-replacement-original-end-line replacement)
130-
#:comparator natural<=>))
131-
(let* ([orig-stx (refactoring-result-original-syntax result)]
132-
[line (syntax-line orig-stx)])
133-
(if line
134-
(closed-range line line #:comparator natural<=>)
135-
(closed-range 1 1 #:comparator natural<=>)))))
128+
(cond
129+
[(refactoring-result-has-fix? result)
130+
(define replacement (refactoring-result-line-replacement result))
131+
(closed-open-range (line-replacement-start-line replacement)
132+
(line-replacement-original-end-line replacement)
133+
#:comparator natural<=>)]
134+
[else
135+
(define orig-stx (refactoring-result-original-syntax result))
136+
(define line (syntax-line orig-stx))
137+
(if line
138+
(closed-range line line #:comparator natural<=>)
139+
(closed-range 1 1 #:comparator natural<=>))]))
136140

137141

138142
(define (refactoring-result-original-line result)
@@ -234,44 +238,44 @@
234238

235239

236240
(define (refactoring-result-original-code result)
237-
(if (refactoring-result-has-fix? result)
238-
(let* ([replacement (refactoring-result-string-replacement result)]
239-
[full-orig-code
240-
(source->string (syntax-replacement-source (refactoring-result-syntax-replacement result)))]
241-
[lmap (string-linemap full-orig-code)]
242-
[start (string-replacement-start replacement)]
243-
[end (string-replacement-original-end replacement)]
244-
[start-column (- (add1 start) (linemap-position-to-start-of-line lmap (add1 start)))]
245-
[raw-text (string->immutable-string (substring full-orig-code start end))])
246-
(code-snippet raw-text start-column (linemap-position-to-line lmap (add1 start))))
247-
(let* ([orig-stx (refactoring-result-original-syntax result)]
248-
[source (refactoring-result-source result)]
249-
[full-orig-code (source->string source)]
250-
[pos (syntax-position orig-stx)]
251-
[span (syntax-span orig-stx)]
252-
[line (or (syntax-line orig-stx) 1)]
253-
[col (or (syntax-column orig-stx) 0)])
254-
(if (and pos span)
255-
(let* ([start (sub1 pos)]
256-
[end (+ start span)]
257-
[raw-text (string->immutable-string (substring full-orig-code start end))])
258-
(code-snippet raw-text col line))
259-
(code-snippet "" col line)))))
241+
(cond
242+
[(refactoring-result-has-fix? result)
243+
(define replacement (refactoring-result-string-replacement result))
244+
(define full-orig-code
245+
(source->string (syntax-replacement-source (refactoring-result-syntax-replacement result))))
246+
(define lmap (string-linemap full-orig-code))
247+
(define start (string-replacement-start replacement))
248+
(define end (string-replacement-original-end replacement))
249+
(define start-column (- (add1 start) (linemap-position-to-start-of-line lmap (add1 start))))
250+
(define raw-text (string->immutable-string (substring full-orig-code start end)))
251+
(code-snippet raw-text start-column (linemap-position-to-line lmap (add1 start)))]
252+
[else
253+
(define orig-stx (refactoring-result-original-syntax result))
254+
(define source (refactoring-result-source result))
255+
(define full-orig-code (source->string source))
256+
(define pos (syntax-position orig-stx))
257+
(define span (syntax-span orig-stx))
258+
(define line (or (syntax-line orig-stx) 1))
259+
(define col (or (syntax-column orig-stx) 0))
260+
(if (and pos span)
261+
(let* ([start (sub1 pos)]
262+
[end (+ start span)]
263+
[raw-text (string->immutable-string (substring full-orig-code start end))])
264+
(code-snippet raw-text col line))
265+
(code-snippet "" col line))]))
260266

261267

262268
(define (refactoring-result-new-code result)
263-
(if (refactoring-result-has-fix? result)
264-
(let* ([replacement (refactoring-result-string-replacement result)]
265-
[full-orig-code
266-
(source->string (syntax-replacement-source (refactoring-result-syntax-replacement result)))]
267-
[lmap (string-linemap full-orig-code)]
268-
[start (string-replacement-start replacement)]
269-
[original-line (linemap-position-to-line lmap (add1 start))]
270-
[original-column (- (add1 start) (linemap-position-to-start-of-line lmap (add1 start)))]
271-
[refactored-source-code (string-apply-replacement full-orig-code replacement)]
272-
[new-code-string
273-
(substring refactored-source-code
274-
(string-replacement-start replacement)
275-
(string-replacement-new-end replacement))])
276-
(code-snippet new-code-string original-column original-line))
277-
#false))
269+
(and (refactoring-result-has-fix? result)
270+
(let* ([replacement (refactoring-result-string-replacement result)]
271+
[full-orig-code (source->string (syntax-replacement-source
272+
(refactoring-result-syntax-replacement result)))]
273+
[lmap (string-linemap full-orig-code)]
274+
[start (string-replacement-start replacement)]
275+
[original-line (linemap-position-to-line lmap (add1 start))]
276+
[original-column (- (add1 start) (linemap-position-to-start-of-line lmap (add1 start)))]
277+
[refactored-source-code (string-apply-replacement full-orig-code replacement)]
278+
[new-code-string (substring refactored-source-code
279+
(string-replacement-start replacement)
280+
(string-replacement-new-end replacement))])
281+
(code-snippet new-code-string original-column original-line))))

0 commit comments

Comments
 (0)