Fabric: Making DebugStringConvertibleOptions a required parameter for all methods of static debug-printing infra

Summary:
Having those arguments optional does not really make anything easier to use; on another side that makes it hard finding problems caused by missing that parameter.

Changelog: [Internal] Fabric-specific internal change.

Reviewed By: sammy-SC

Differential Revision: D18797337

fbshipit-source-id: c119b8f6a03994072edb45e39337e33b0f8b602f
This commit is contained in:
Valentin Shergin 2019-12-09 15:35:19 -08:00 коммит произвёл Facebook Github Bot
Родитель 254ebab1d2
Коммит 0cdc3b7016
7 изменённых файлов: 34 добавлений и 26 удалений

Просмотреть файл

@ -81,7 +81,7 @@ using Touches = std::unordered_set<Touch, Touch::Hasher, Touch::Comparator>;
std::string getDebugName(Touch const &touch);
std::vector<DebugStringConvertibleObject> getDebugProps(
Touch const &object,
DebugStringConvertibleOptions options = {});
DebugStringConvertibleOptions options);
#endif

Просмотреть файл

@ -47,7 +47,7 @@ struct TouchEvent {
std::string getDebugName(TouchEvent const &touchEvent);
std::vector<DebugStringConvertibleObject> getDebugProps(
TouchEvent const &touchEvent,
DebugStringConvertibleOptions options = {});
DebugStringConvertibleOptions options);
#endif

Просмотреть файл

@ -143,12 +143,16 @@ std::string getDebugValue(T const &object) {
}
template <typename T>
std::vector<T> getDebugChildren(T const &object) {
std::vector<T> getDebugChildren(
T const &object,
DebugStringConvertibleOptions options) {
return {};
}
template <typename T>
std::vector<T> getDebugProps(T const &object) {
std::vector<T> getDebugProps(
T const &object,
DebugStringConvertibleOptions options) {
return {};
}
@ -164,7 +168,7 @@ std::string getDebugPropsDescription(
options.depth++;
for (auto prop : getDebugProps(object)) {
for (auto prop : getDebugProps(object, options)) {
auto name = getDebugName(prop);
auto value = getDebugValue(prop);
auto children = getDebugPropsDescription(prop, options);
@ -194,7 +198,7 @@ std::string getDebugChildrenDescription(
auto childrenString = std::string{""};
options.depth++;
for (auto child : getDebugChildren(object)) {
for (auto child : getDebugChildren(object, options)) {
childrenString += getDebugDescription(child, options) + trailing;
}
@ -209,7 +213,7 @@ std::string getDebugChildrenDescription(
template <typename T>
std::string getDebugDescription(
T const &object,
DebugStringConvertibleOptions options = {}) {
DebugStringConvertibleOptions options) {
auto nameString = getDebugName(object);
auto valueString = getDebugValue(object);
@ -246,42 +250,42 @@ std::string getDebugDescription(
// `int`
inline std::string getDebugDescription(
int number,
DebugStringConvertibleOptions options = {}) {
DebugStringConvertibleOptions options) {
return toString(number);
}
// `float`
inline std::string getDebugDescription(
float number,
DebugStringConvertibleOptions options = {}) {
DebugStringConvertibleOptions options) {
return toString(number);
}
// `double`
inline std::string getDebugDescription(
double number,
DebugStringConvertibleOptions options = {}) {
DebugStringConvertibleOptions options) {
return toString(number);
}
// `bool`
inline std::string getDebugDescription(
bool boolean,
DebugStringConvertibleOptions options = {}) {
DebugStringConvertibleOptions options) {
return toString(boolean);
}
// `void *`
inline std::string getDebugDescription(
void *pointer,
DebugStringConvertibleOptions options = {}) {
DebugStringConvertibleOptions options) {
return toString(pointer);
}
// `std::string`
inline std::string getDebugDescription(
std::string const &string,
DebugStringConvertibleOptions options = {}) {
DebugStringConvertibleOptions options) {
return string;
}
@ -292,7 +296,9 @@ std::string getDebugName(std::vector<T, Ts...> const &vector) {
}
template <typename T, typename... Ts>
std::vector<T, Ts...> getDebugChildren(std::vector<T, Ts...> const &vector) {
std::vector<T, Ts...> getDebugChildren(
std::vector<T, Ts...> const &vector,
DebugStringConvertibleOptions options) {
return vector;
}
@ -303,7 +309,9 @@ std::string getDebugName(std::unordered_set<T, Ts...> const &set) {
}
template <typename T, typename... Ts>
std::vector<T> getDebugChildren(std::unordered_set<T, Ts...> const &set) {
std::vector<T> getDebugChildren(
std::unordered_set<T, Ts...> const &set,
DebugStringConvertibleOptions options) {
auto vector = std::vector<T>{};
vector.insert(vector.end(), set.begin(), set.end());
return vector;
@ -313,24 +321,24 @@ std::vector<T> getDebugChildren(std::unordered_set<T, Ts...> const &set) {
template <typename T>
inline std::string getDebugDescription(
std::shared_ptr<T> const &pointer,
DebugStringConvertibleOptions options = {}) {
return getDebugDescription((void *)pointer.get()) + "(shared)";
DebugStringConvertibleOptions options) {
return getDebugDescription((void *)pointer.get(), options) + "(shared)";
}
// `std::weak_ptr<T>`
template <typename T>
inline std::string getDebugDescription(
std::weak_ptr<T> const &pointer,
DebugStringConvertibleOptions options = {}) {
return getDebugDescription((void *)pointer.lock().get()) + "(weak)";
DebugStringConvertibleOptions options) {
return getDebugDescription((void *)pointer.lock().get(), options) + "(weak)";
}
// `std::unique_ptr<T>`
template <typename T>
inline std::string getDebugDescription(
std::unique_ptr<T const> const &pointer,
DebugStringConvertibleOptions options = {}) {
return getDebugDescription((void *)pointer.get()) + "(unique)";
DebugStringConvertibleOptions options) {
return getDebugDescription((void *)pointer.get(), options) + "(unique)";
}
/*

Просмотреть файл

@ -100,7 +100,7 @@ better::optional<MountingTransaction> MountingCoordinator::pullTransaction()
<< "\n";
LOG(ERROR) << "Mutations:"
<< "\n"
<< getDebugDescription(mutations);
<< getDebugDescription(mutations, {});
assert(false);
}
#endif

Просмотреть файл

@ -53,7 +53,7 @@ struct ShadowView final {
std::string getDebugName(ShadowView const &object);
std::vector<DebugStringConvertibleObject> getDebugProps(
ShadowView const &object,
DebugStringConvertibleOptions options = {});
DebugStringConvertibleOptions options);
#endif

Просмотреть файл

@ -80,7 +80,7 @@ using ShadowViewMutationList = std::vector<ShadowViewMutation>;
std::string getDebugName(ShadowViewMutation const &object);
std::vector<DebugStringConvertibleObject> getDebugProps(
ShadowViewMutation const &object,
DebugStringConvertibleOptions options = {});
DebugStringConvertibleOptions options);
#endif

Просмотреть файл

@ -44,10 +44,10 @@ bool operator!=(StubView const &lhs, StubView const &rhs);
std::string getDebugName(StubView const &stubView);
std::vector<DebugStringConvertibleObject> getDebugProps(
StubView const &stubView,
DebugStringConvertibleOptions options = {});
DebugStringConvertibleOptions options);
std::vector<StubView> getDebugChildren(
StubView const &stubView,
DebugStringConvertibleOptions options = {});
DebugStringConvertibleOptions options);
#endif