Add assert on End iteration distance to Rewriter::getRewrittenText.
I currently have code that is crashing in the second std::advance call, and it was not straightforward to identify the problem, as the first line of the stacktrace is in RopePieceBTreeIterator::operator++: ``` *** SIGILL; stack trace: *** PC: clang/include/clang/Rewrite/Core/RewriteRope.h:119 clang::RopePieceBTreeIterator::operator++() ../include/c++/v1/__iterator/advance.h:35 std::__u::__advance<>() ../include/c++/v1/__iterator/advance.h:65 std::__u::advance<>() clang/lib/Rewrite/Rewriter.cpp:228 clang::Rewriter::getRewrittenText() clang/include/clang/Rewrite/Core/Rewriter.h:106 clang::Rewriter::getRewrittenText() ``` Adding an assertion produces a friendlier error message for the caller. Reviewed By: gribozavr2 Differential Revision: https://reviews.llvm.org/D117579
Loading
Please sign in to comment