File tree Expand file tree Collapse file tree 2 files changed +15
-2
lines changed
Expand file tree Collapse file tree 2 files changed +15
-2
lines changed Original file line number Diff line number Diff line change 281281 (refactoring-rule-refactor rule syntax (source-code-analysis-code analysis)))
282282 #:else absent )
283283 (guard (syntax-replacement-introduces-incorrect-bindings? replacement) #:else
284+ (define bad-ids (syntax-replacement-introduced-incorrect-identifiers replacement))
285+ (define orig-stx (syntax-replacement-original-syntax replacement))
286+ (define intro (syntax-replacement-introduction-scope replacement))
284287 (log-resyntax-warning
285288 (string-append
286289 "~a: suggestion discarded because it introduces identifiers with incorrect bindings\n "
287- " incorrect identifiers: ~a " )
290+ " incorrect identifiers: ~a\n "
291+ " bindings in original context: ~a\n "
292+ " bindings in syntax replacement: ~a\n "
293+ " replaced syntax: ~a " )
288294 (object-name rule)
289- (syntax-replacement-introduced-incorrect-identifiers replacement))
295+ bad-ids
296+ (for/list ([id (in-list bad-ids)])
297+ (identifier-binding (datum->syntax orig-stx (syntax->datum id))))
298+ (for/list ([id (in-list bad-ids)])
299+ (identifier-binding (intro id 'remove )))
300+ orig-stx)
290301 absent )
291302 (guard (syntax-replacement-preserves-comments? replacement comments) #:else
292303 (log-resyntax-warning
Original file line number Diff line number Diff line change 1717 [syntax-replacement-original-syntax (-> syntax-replacement? (and/c syntax? syntax-original?))]
1818 [syntax-replacement-new-syntax (-> syntax-replacement? syntax?)]
1919 [syntax-replacement-source (-> syntax-replacement? source?)]
20+ [syntax-replacement-introduction-scope
21+ (-> syntax-replacement? (->* (syntax?) ((or/c 'flip 'add 'remove )) syntax?))]
2022 [syntax-replacement-introduces-incorrect-bindings? (-> syntax-replacement? boolean?)]
2123 [syntax-replacement-introduced-incorrect-identifiers
2224 (-> syntax-replacement? (listof identifier?))]
You can’t perform that action at this time.
0 commit comments