Commit 574d4d3
committed
fix(ts-dsl): scope for-loop variable to loop block
Move ctx.analyze(this._variableOrInit) after ctx.pushScope() so the
iteration variable is registered in the for-loop's own scope rather
than the parent scope. This matches JS semantics where `for (const x of ...)`
scopes `x` to the loop block, preventing false conflicts between sibling loops.
Reverts the plugin.symbol('key') workaround since the correct scoping
makes it unnecessary — sibling for-loops no longer conflict.1 parent 39bf645 commit 574d4d3
3 files changed
Lines changed: 7 additions & 8 deletions
File tree
- packages
- openapi-ts-tests/main/test/__snapshots__/3.1.x/transformers-additional-properties
- openapi-ts/src
- plugins/@hey-api/transformers
- ts-dsl/stmt
Lines changed: 3 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | | - | |
17 | | - | |
18 | | - | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| |||
Lines changed: 3 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
195 | 195 | | |
196 | 196 | | |
197 | 197 | | |
198 | | - | |
199 | 198 | | |
200 | | - | |
| 199 | + | |
201 | 200 | | |
202 | 201 | | |
203 | 202 | | |
204 | 203 | | |
205 | 204 | | |
206 | 205 | | |
207 | 206 | | |
208 | | - | |
| 207 | + | |
209 | 208 | | |
210 | 209 | | |
211 | 210 | | |
| |||
215 | 214 | | |
216 | 215 | | |
217 | 216 | | |
218 | | - | |
| 217 | + | |
219 | 218 | | |
220 | 219 | | |
221 | 220 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
42 | 42 | | |
43 | 43 | | |
44 | 44 | | |
45 | | - | |
46 | 45 | | |
| 46 | + | |
47 | 47 | | |
48 | 48 | | |
49 | 49 | | |
| |||
0 commit comments