[PATCH] D44673: Make positionToOffset return llvm::Expected<size_t>
Simon Marchi via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Mar 19 21:21:11 PDT 2018
simark created this revision.
Herald added subscribers: cfe-commits, ioeric, jkorous-apple, ilya-biryukov, klimek.
simark added a reviewer: ilya-biryukov.
To implement incremental document syncing, we want to verify that the
ranges provided by the front-end are valid. Currently, positionToOffset
deals with invalid Positions by returning 0 or Code.size(), which are
two valid offsets.
Instead, return an llvm:Expected<size_t> with an error if the position
is invalid. According to the LSP, if the character value exceeds the
number of characters of the given line, it should default back to the
end of the line, so this is what I did. However, I considered a line
number larger than the number of lines in the file to be an error.
Repository:
rCTE Clang Tools Extra
https://reviews.llvm.org/D44673
Files:
clangd/ClangdServer.cpp
clangd/SourceCode.cpp
clangd/SourceCode.h
unittests/clangd/Annotations.cpp
unittests/clangd/SourceCodeTests.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D44673.139073.patch
Type: text/x-patch
Size: 9309 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180320/c6b4503a/attachment.bin>
More information about the cfe-commits
mailing list