Commit a1d66899 by Abseil Team Committed by Gennadiy Rozental

Export of internal Abseil changes

--
28f0285638324bb04c20304cf14e5ade25420f1f by Gennadiy Rozental <rogeeff@google.com>:

Make CheckDefaultValueParsingRoundtrip private in CommandLineFlag.

PiperOrigin-RevId: 309417330
GitOrigin-RevId: 28f0285638324bb04c20304cf14e5ade25420f1f
Change-Id: I8dfed7005b3e5d58232df786e65fa7565ae72be8
parent ca9856ca
......@@ -37,6 +37,11 @@ bool PrivateHandleInterface::ValidateInputValue(const CommandLineFlag& flag,
return flag.ValidateInputValue(value);
}
void PrivateHandleInterface::CheckDefaultValueParsingRoundtrip(
const CommandLineFlag& flag) {
flag.CheckDefaultValueParsingRoundtrip();
}
} // namespace flags_internal
ABSL_NAMESPACE_END
} // namespace absl
......
......@@ -151,10 +151,6 @@ class CommandLineFlag {
flags_internal::ValueSource source,
std::string* error) = 0;
// Checks that flags default value can be converted to string and back to the
// flag's value type.
virtual void CheckDefaultValueParsingRoundtrip() const = 0;
protected:
~CommandLineFlag() = default;
......@@ -175,6 +171,10 @@ class CommandLineFlag {
// Interfaces to operate on validators.
// Validates supplied value usign validator or parseflag routine
virtual bool ValidateInputValue(absl::string_view value) const = 0;
// Checks that flags default value can be converted to string and back to the
// flag's value type.
virtual void CheckDefaultValueParsingRoundtrip() const = 0;
};
// This class serves as a trampoline to access private methods of
......@@ -191,6 +191,9 @@ class PrivateHandleInterface {
// Access to CommandLineFlag::ValidateInputValue.
static bool ValidateInputValue(const CommandLineFlag& flag,
absl::string_view value);
// Access to CommandLineFlag::CheckDefaultValueParsingRoundtrip.
static void CheckDefaultValueParsingRoundtrip(const CommandLineFlag& flag);
};
// This macro is the "source of truth" for the list of supported flag built-in
......
......@@ -298,7 +298,8 @@ void CheckDefaultValuesParsingRoundtrip() {
ABSL_FLAGS_INTERNAL_BUILTIN_TYPES(IGNORE_TYPE)
#undef IGNORE_TYPE
flag->CheckDefaultValueParsingRoundtrip();
flags_internal::PrivateHandleInterface::CheckDefaultValueParsingRoundtrip(
*flag);
});
#endif
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment