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
This commit is contained in:
Abseil Team 2020-05-01 09:13:53 -07:00 committed by Gennadiy Rozental
parent ca9856cabc
commit a1d6689907
3 changed files with 14 additions and 5 deletions

View file

@ -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

View file

@ -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

View file

@ -298,7 +298,8 @@ void CheckDefaultValuesParsingRoundtrip() {
ABSL_FLAGS_INTERNAL_BUILTIN_TYPES(IGNORE_TYPE)
#undef IGNORE_TYPE
flag->CheckDefaultValueParsingRoundtrip();
flags_internal::PrivateHandleInterface::CheckDefaultValueParsingRoundtrip(
*flag);
});
#endif
}