mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-06 20:14:01 -06:00
This is the line number side of ecddf8468f (from #21924, fixing #21818). But the code is slightly improved for both cases: instead of testing that `leaf` is defined, check whether `lineCount` is zero, and if it is, return `〈1,0〉` for the one-based line and zero-based column numbers. (The requirement of `lineCount > 0` is also seen in the fact that `lineNumberToInfo` expects a "*One*BasedLine" argument.) I've stared at this code way too much, since I think that there is something more fundamentally wrong here. E.g., `EditWalker` only `push`es to `startPath` but never pops even a `children`-less node that is left after deleting the whole contents. But I can't figure out the overall structure, which is also why the test that I added is not great (see the comment there; also, #21924 is dealing with the same problem and didn't add a test). Fixes #44518.