================
@@ -35,31 +51,33 @@ AppleObjCTypeEncodingParser::AppleObjCTypeEncodingParser(
runtime.GetProcess()->GetTarget().GetArchitecture().GetTriple());
}
-std::string AppleObjCTypeEncodingParser::ReadStructName(StringLexer &type) {
+std::string AppleObjCTypeEncodingParser::ReadStructName(llvm::StringRef &type)
{
StreamString buffer;
- while (type.HasAtLeast(1) && type.Peek() != '=')
- buffer.Printf("%c", type.Next());
+ while (!type.empty() && type.front() != '=')
+ buffer.Printf("%c", popChar(type));
+
return std::string(buffer.GetString());
}
std::optional<std::string>
-AppleObjCTypeEncodingParser::ReadQuotedString(StringLexer &type) {
- if (!type.HasAtLeast(1))
+AppleObjCTypeEncodingParser::ReadQuotedString(llvm::StringRef &type) {
+ if (type.empty())
return std::nullopt;
StreamString buffer;
- while (type.Peek() != '"') {
- buffer.Printf("%c", type.Next());
- if (!type.HasAtLeast(1))
+ while (type.front() != '"') {
+ buffer.Printf("%c", popChar(type));
+
+ if (type.empty())
return std::nullopt;
}
return std::string(buffer.GetString());
}
-uint32_t AppleObjCTypeEncodingParser::ReadNumber(StringLexer &type) {
+uint32_t AppleObjCTypeEncodingParser::ReadNumber(llvm::StringRef &type) {
uint32_t total = 0;
- while (type.HasAtLeast(1) && isdigit(type.Peek()))
- total = 10 * total + (type.Next() - '0');
+ while (!type.empty() && isdigit(type.front()))
+ total = 10 * total + (popChar(type) - '0');
----------------
Michael137 wrote:
Agree with all the suggestions. I tried keeping this PR as NFC as possible
though. The parsing can get a bit subtle, so wanted to keep the parsing logic
pretty much as-is. We can do the more thorough clean-up in a follow-up
https://github.com/llvm/llvm-project/pull/172466
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits