mirror of
https://github.com/intel/llvm.git
synced 2026-01-26 03:56:16 +08:00
Add the new Args / entry-access API.
The long-term goal here is to get rid of the functions GetArgumentAtIndex() and GetQuoteCharAtIndex(), instead replacing them with operator based access and range-based for enumeration. There are a lot of callsites, though, so the changes will be done incrementally, starting with this one. Differential Revision: https://reviews.llvm.org/D26883 llvm-svn: 287597
This commit is contained in:
@@ -122,13 +122,12 @@ void BreakpointIDList::FindAndReplaceIDRanges(Args &old_args, Target *target,
|
||||
llvm::StringRef range_from;
|
||||
llvm::StringRef range_to;
|
||||
llvm::StringRef current_arg;
|
||||
const size_t num_old_args = old_args.GetArgumentCount();
|
||||
std::set<std::string> names_found;
|
||||
|
||||
for (size_t i = 0; i < num_old_args; ++i) {
|
||||
for (size_t i = 0; i < old_args.size(); ++i) {
|
||||
bool is_range = false;
|
||||
|
||||
current_arg = old_args.GetArgumentAtIndex(i);
|
||||
current_arg = old_args[i].ref;
|
||||
if (!allow_locations && current_arg.contains('.')) {
|
||||
result.AppendErrorWithFormat(
|
||||
"Breakpoint locations not allowed, saw location: %s.",
|
||||
@@ -152,19 +151,17 @@ void BreakpointIDList::FindAndReplaceIDRanges(Args &old_args, Target *target,
|
||||
return;
|
||||
} else
|
||||
names_found.insert(current_arg);
|
||||
} else if ((i + 2 < num_old_args) &&
|
||||
BreakpointID::IsRangeIdentifier(
|
||||
old_args.GetArgumentAtIndex(i + 1)) &&
|
||||
} else if ((i + 2 < old_args.size()) &&
|
||||
BreakpointID::IsRangeIdentifier(old_args[i + 1].ref) &&
|
||||
BreakpointID::IsValidIDExpression(current_arg) &&
|
||||
BreakpointID::IsValidIDExpression(
|
||||
old_args.GetArgumentAtIndex(i + 2))) {
|
||||
BreakpointID::IsValidIDExpression(old_args[i + 2].ref)) {
|
||||
range_from = current_arg;
|
||||
range_to = old_args.GetArgumentAtIndex(i + 2);
|
||||
range_to = old_args[i + 2].ref;
|
||||
is_range = true;
|
||||
i = i + 2;
|
||||
} else {
|
||||
// See if user has specified id.*
|
||||
llvm::StringRef tmp_str = old_args.GetArgumentAtIndex(i);
|
||||
llvm::StringRef tmp_str = old_args[i].ref;
|
||||
size_t pos = tmp_str.find('.');
|
||||
if (pos != llvm::StringRef::npos) {
|
||||
llvm::StringRef bp_id_str = tmp_str.substr(0, pos);
|
||||
|
||||
Reference in New Issue
Block a user