[clangd] Make use of preamble bounds from the patch inside ReplayPreamble
Summary: Clangd was using bounds from the stale preamble, which might result in crashes. For example: ``` #include "a.h" #include "b.h" // this line is newly inserted #include "c.h" ``` PreambleBounds for the baseline only contains first two lines, but ReplayPreamble logic contains an include from the third line. This would result in a crash as we only lex preamble part of the current file during ReplayPreamble. This patch adds a `preambleBounds` method to PreamblePatch, which can be used to figure out preamble bounds for the current version of the file. Then uses it when attaching ReplayPreamble, so that it can lex the up-to-date preamble region. Reviewers: sammccall Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D81964
Loading
Please register or sign in to comment