Commit 0d79d98
authored
fix(native): resolve dataflow null paramIndex and import edge key mismatch (#788)
* fix(native): resolve dataflow null paramIndex and import edge key mismatch
Two native engine bugs found during v3.8.0 dogfooding:
1. Dataflow edge insertion fails with null paramIndex (#753):
napi-rs Option<u32> expects `undefined`, not `null`. Changed
paramIndex from null to undefined for returns/mutates edges.
2. Native import edge builder produces 0 edges on Windows (#750):
buildImportEdgesNative built resolve keys with backslash rootDir
but Rust normalizes to forward slashes, causing every lookup to
miss. Fixed by normalizing rootDir in JS keys. Added defensive
fallback: if native returns 0 edges when imports exist, retry
with the JS implementation.
Closes #750, closes #753
* fix: tighten paramIndex type and document fallback false-positive (#788)
- Remove `null` from bulkInsertDataflow paramIndex type to match napi-rs
Option<u32> contract, preventing future null regressions
- Document known false-positive in import-edge fallback for codebases
with only external imports1 parent 6cd885a commit 0d79d98
3 files changed
Lines changed: 23 additions & 8 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
198 | 198 | | |
199 | 199 | | |
200 | 200 | | |
201 | | - | |
202 | | - | |
203 | | - | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
204 | 205 | | |
| 206 | + | |
205 | 207 | | |
206 | 208 | | |
207 | 209 | | |
| |||
221 | 223 | | |
222 | 224 | | |
223 | 225 | | |
224 | | - | |
225 | | - | |
| 226 | + | |
| 227 | + | |
226 | 228 | | |
227 | 229 | | |
228 | 230 | | |
| |||
737 | 739 | | |
738 | 740 | | |
739 | 741 | | |
| 742 | + | |
740 | 743 | | |
| 744 | + | |
| 745 | + | |
| 746 | + | |
| 747 | + | |
| 748 | + | |
| 749 | + | |
| 750 | + | |
| 751 | + | |
| 752 | + | |
| 753 | + | |
| 754 | + | |
| 755 | + | |
741 | 756 | | |
742 | 757 | | |
743 | 758 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
294 | 294 | | |
295 | 295 | | |
296 | 296 | | |
297 | | - | |
| 297 | + | |
298 | 298 | | |
299 | 299 | | |
300 | 300 | | |
| |||
308 | 308 | | |
309 | 309 | | |
310 | 310 | | |
311 | | - | |
| 311 | + | |
312 | 312 | | |
313 | 313 | | |
314 | 314 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2220 | 2220 | | |
2221 | 2221 | | |
2222 | 2222 | | |
2223 | | - | |
| 2223 | + | |
2224 | 2224 | | |
2225 | 2225 | | |
2226 | 2226 | | |
| |||
0 commit comments