Skip to content

Commit 48f70ca

Browse files
jemoreiraDatabean
authored andcommitted
Delete unused FlagAliasMode::kFlagConsumesArbitrary
1 parent 018b630 commit 48f70ca

3 files changed

Lines changed: 0 additions & 93 deletions

File tree

base/cvd/cuttlefish/common/libs/utils/flag_parser.cpp

Lines changed: 0 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
#include <iterator>
2828
#include <string>
2929
#include <string_view>
30-
#include <type_traits>
3130
#include <unordered_set>
3231
#include <utility>
3332
#include <vector>
@@ -98,18 +97,9 @@ void Flag::ValidateAlias(const FlagAlias& alias) {
9897
if (alias.mode == FlagAliasMode::kFlagConsumesFollowing) {
9998
CHECK(!HasAlias({FlagAliasMode::kFlagExact, alias.name}))
10099
<< "Overlapping flag aliases for " << alias.name;
101-
CHECK(!HasAlias({FlagAliasMode::kFlagConsumesArbitrary, alias.name}))
102-
<< "Overlapping flag aliases for " << alias.name;
103100
} else if (alias.mode == FlagAliasMode::kFlagExact) {
104101
CHECK(!HasAlias({FlagAliasMode::kFlagConsumesFollowing, alias.name}))
105102
<< "Overlapping flag aliases for " << alias.name;
106-
CHECK(!HasAlias({FlagAliasMode::kFlagConsumesArbitrary, alias.name}))
107-
<< "Overlapping flag aliases for " << alias.name;
108-
} else if (alias.mode == FlagAliasMode::kFlagConsumesArbitrary) {
109-
CHECK(!HasAlias({FlagAliasMode::kFlagExact, alias.name}))
110-
<< "Overlapping flag aliases for " << alias.name;
111-
CHECK(!HasAlias({FlagAliasMode::kFlagConsumesFollowing, alias.name}))
112-
<< "Overlapping flag aliases for " << alias.name;
113103
}
114104
}
115105

@@ -151,10 +141,6 @@ Flag Flag::Setter(std::function<Result<void>(const FlagMatch&)> setter) && {
151141
return *this;
152142
}
153143

154-
static bool LikelyFlag(const std::string& next_arg) {
155-
return absl::StartsWith(next_arg, "-");
156-
}
157-
158144
Result<bool> ParseBool(std::string_view value, std::string_view name) {
159145
bool result;
160146
CF_EXPECTF(absl::SimpleAtob(value, &result),
@@ -178,17 +164,6 @@ Result<Flag::FlagProcessResult> Flag::Process(
178164
for (auto& alias : aliases_) {
179165
auto normalized_alias = absl::StrReplaceAll(alias.name, {{"-", "_"}});
180166
switch (alias.mode) {
181-
case FlagAliasMode::kFlagConsumesArbitrary:
182-
if (normalized_arg != normalized_alias) {
183-
continue;
184-
}
185-
if (!next_arg || LikelyFlag(*next_arg)) {
186-
CF_EXPECTF((*setter_)({arg, ""}), "Processing \"{}\" failed", arg);
187-
return FlagProcessResult::kFlagConsumed;
188-
}
189-
CF_EXPECTF((*setter_)({arg, *next_arg}),
190-
"Processing \"{}\" \"{}\" failed", arg, *next_arg);
191-
return FlagProcessResult::kFlagConsumedOnlyFollowing;
192167
case FlagAliasMode::kFlagConsumesFollowing:
193168
if (normalized_arg != normalized_alias) {
194169
continue;
@@ -232,9 +207,6 @@ Result<void> Flag::Parse(std::vector<std::string>& arguments) const {
232207
case FlagProcessResult::kFlagConsumedWithFollowing:
233208
arguments.erase(arguments.begin() + i, arguments.begin() + i + 2);
234209
break;
235-
case FlagProcessResult::kFlagConsumedOnlyFollowing:
236-
arguments.erase(arguments.begin() + i + 1, arguments.begin() + i + 2);
237-
break;
238210
case FlagProcessResult::kFlagSkip:
239211
i++;
240212
break;
@@ -451,9 +423,6 @@ Result<void> ConsumeFlagsConstrained(const std::vector<Flag>& flags,
451423
case Flag::FlagProcessResult::kFlagConsumedWithFollowing:
452424
args.erase(args.begin(), args.begin() + 2);
453425
break;
454-
case Flag::FlagProcessResult::kFlagConsumedOnlyFollowing:
455-
args.erase(args.begin() + 1, args.begin() + 2);
456-
break;
457426
}
458427
}
459428
return {};

base/cvd/cuttlefish/common/libs/utils/flag_parser.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,6 @@ enum class FlagAliasMode {
5151
/* Match a pair of arguments of the form `<name>` `<value>`. In practice,
5252
* <name> will look like "-flag" or "--flag". */
5353
kFlagConsumesFollowing,
54-
/* Match a sequence of arguments of the form `<name>` `<value>` `<value>`.
55-
* This uses heuristics to try to determine when `<value>` is actually another
56-
* flag. */
57-
kFlagConsumesArbitrary,
5854
};
5955

6056
/* A single matching rule for a `Flag`. One `Flag` can have multiple rules. */
@@ -105,7 +101,6 @@ class Flag {
105101
kFlagSkip, /* Flag skipped; consume no arguments. */
106102
kFlagConsumed, /* Flag processed; consume one argument. */
107103
kFlagConsumedWithFollowing, /* Flag processed; consume 2 arguments. */
108-
kFlagConsumedOnlyFollowing, /* Flag processed; consume next argument. */
109104
};
110105

111106
void ValidateAlias(const FlagAlias& alias);

base/cvd/cuttlefish/common/libs/utils/flag_parser_test.cpp

Lines changed: 0 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -424,61 +424,4 @@ TEST(FlagParser, ConsumesConstrainedSeparated) {
424424
EXPECT_EQ(name, "abc");
425425
}
426426

427-
class FlagConsumesArbitraryTest : public ::testing::Test {
428-
protected:
429-
void SetUp() override {
430-
elems_.clear();
431-
flag_ = Flag()
432-
.Alias({FlagAliasMode::kFlagConsumesArbitrary, "--flag"})
433-
.Setter([this](const FlagMatch& match) -> Result<void> {
434-
elems_.push_back(match.value);
435-
return {};
436-
});
437-
}
438-
Flag flag_;
439-
std::vector<std::string> elems_;
440-
};
441-
442-
TEST_F(FlagConsumesArbitraryTest, NoValues) {
443-
std::vector<std::string> inputs = {"--flag"};
444-
ASSERT_THAT(flag_.Parse(inputs), IsOk());
445-
ASSERT_EQ(inputs, (std::vector<std::string>{}));
446-
ASSERT_EQ(elems_, (std::vector<std::string>{""}));
447-
}
448-
449-
TEST_F(FlagConsumesArbitraryTest, OneValue) {
450-
std::vector<std::string> inputs = {"--flag", "value"};
451-
ASSERT_THAT(flag_.Parse(inputs), IsOk());
452-
ASSERT_EQ(inputs, (std::vector<std::string>{}));
453-
ASSERT_EQ(elems_, (std::vector<std::string>{"value", ""}));
454-
}
455-
456-
TEST_F(FlagConsumesArbitraryTest, TwoValues) {
457-
std::vector<std::string> inputs = {"--flag", "value1", "value2"};
458-
ASSERT_THAT(flag_.Parse(inputs), IsOk());
459-
ASSERT_EQ(inputs, (std::vector<std::string>{}));
460-
ASSERT_EQ(elems_, (std::vector<std::string>{"value1", "value2", ""}));
461-
}
462-
463-
TEST_F(FlagConsumesArbitraryTest, NoValuesOtherFlag) {
464-
std::vector<std::string> inputs = {"--flag", "--otherflag"};
465-
ASSERT_THAT(flag_.Parse(inputs), IsOk());
466-
ASSERT_EQ(inputs, (std::vector<std::string>{"--otherflag"}));
467-
ASSERT_EQ(elems_, (std::vector<std::string>{""}));
468-
}
469-
470-
TEST_F(FlagConsumesArbitraryTest, OneValueOtherFlag) {
471-
std::vector<std::string> inputs = {"--flag", "value", "--otherflag"};
472-
ASSERT_THAT(flag_.Parse(inputs), IsOk());
473-
ASSERT_EQ(inputs, (std::vector<std::string>{"--otherflag"}));
474-
ASSERT_EQ(elems_, (std::vector<std::string>{"value", ""}));
475-
}
476-
477-
TEST_F(FlagConsumesArbitraryTest, TwoValuesOtherFlag) {
478-
std::vector<std::string> inputs = {"--flag", "v1", "v2", "--otherflag"};
479-
ASSERT_THAT(flag_.Parse(inputs), IsOk());
480-
ASSERT_EQ(inputs, (std::vector<std::string>{"--otherflag"}));
481-
ASSERT_EQ(elems_, (std::vector<std::string>{"v1", "v2", ""}));
482-
}
483-
484427
} // namespace cuttlefish

0 commit comments

Comments
 (0)