🍒[lldb][ObjC][NFCI] Replace StringLexer with llvm::StringRef #12017
+86
−349
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
We had a dedicated
StringLexerclass that pretty much just replicates thellvm::StringRefinterface. This patch removes theStringLexerin favour of just usingllvm::StringRef. Much of the string parsing can be cleaned up, but I tried to keep the changes a small as possible so just kept the logic and replaced the APIs calls. The only awkward side-effect of this is that we have to pass allvm::StringRef &around.There were some gaps in the API, so added two helper methods to consume/pop off characters from the front of the StringRef (maybe those can be added to
llvm::StringRefin the future).The
StringLexeralso had a roll-back mechanism used in two places. That can be handled by just saving a copy of theStringRef.(cherry picked from commit e4c4498)