|
109 | 109 |
|
110 | 110 |
|
111 | 111 | (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<=>))])) |
123 | 125 |
|
124 | 126 |
|
125 | 127 | (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<=>))])) |
136 | 140 |
|
137 | 141 |
|
138 | 142 | (define (refactoring-result-original-line result) |
|
234 | 238 |
|
235 | 239 |
|
236 | 240 | (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))])) |
260 | 266 |
|
261 | 267 |
|
262 | 268 | (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