Enable Clang Tidy (#1586)
Summary: X-link: https://github.com/facebook/litho/pull/976 Pull Request resolved: https://github.com/facebook/yoga/pull/1586 X-link: https://github.com/facebook/react-native/pull/43299 Add the React Clang Tidy config to Yoga, run the auto fixes, and make some manual mechanical tweaks. Notably, the automatic changes to the infra for generating a Yoga tree from JSON capture make it 70% faster. Before: {F1463947076} After: {F1463946802} This also cleans up all the no-op shallow const parameters in headers. {F1463943386} Not all checks are available in all environments, but that is okay, as Clang Tidy will gracefully skip them. Changelog: [Internal] Reviewed By: sammy-SC Differential Revision: D54461054 fbshipit-source-id: dbd2d9ce51afd3174d1f2c6d439fa7d08baff46f
This commit is contained in:
committed by
Facebook GitHub Bot
parent
47a56db5f6
commit
b959c79a2a
@@ -113,8 +113,8 @@ std::shared_ptr<const YGConfig> buildConfigFromJson(const json& j) {
|
||||
}
|
||||
|
||||
std::string edgeStringFromPropertyName(
|
||||
std::string key,
|
||||
std::string propertyName) {
|
||||
const std::string& key,
|
||||
const std::string& propertyName) {
|
||||
return key.substr(propertyName.length() + 1);
|
||||
}
|
||||
|
||||
@@ -299,7 +299,7 @@ std::shared_ptr<YogaNodeAndConfig> buildTreeFromJson(
|
||||
if (j.contains("children")) {
|
||||
json children = j["children"];
|
||||
size_t childIndex = 0;
|
||||
for (json child : children) {
|
||||
for (const json& child : children) {
|
||||
buildTreeFromJson(child, fns, wrapper, childIndex);
|
||||
childIndex++;
|
||||
}
|
||||
@@ -331,9 +331,9 @@ BenchmarkResult generateBenchmark(json& capture) {
|
||||
}
|
||||
|
||||
static void printBenchmarkResult(
|
||||
std::string name,
|
||||
const std::string& name,
|
||||
SteadyClockDurations& durations) {
|
||||
std::array<double, kNumRepititions> timesInMs;
|
||||
std::array<double, kNumRepititions> timesInMs{};
|
||||
double mean = 0;
|
||||
for (uint32_t i = 0; i < kNumRepititions; i++) {
|
||||
auto ms = duration<double, std::milli>(durations[i]).count();
|
||||
|
@@ -10,6 +10,7 @@
|
||||
#include <chrono>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
|
||||
#include <yoga/Yoga.h>
|
||||
@@ -21,7 +22,9 @@ struct YogaNodeAndConfig {
|
||||
std::shared_ptr<YGNode> node,
|
||||
std::shared_ptr<const YGConfig> config,
|
||||
std::vector<std::shared_ptr<YogaNodeAndConfig>> children)
|
||||
: node_(node), config_(config), children_(children) {}
|
||||
: node_(std::move(node)),
|
||||
config_(std::move(config)),
|
||||
children_(std::move(children)) {}
|
||||
|
||||
std::shared_ptr<YGNode> node_;
|
||||
std::shared_ptr<const YGConfig> config_;
|
||||
|
@@ -22,8 +22,8 @@ static inline bool isAuto(json& j) {
|
||||
}
|
||||
|
||||
static inline std::string invalidArgumentMessage(
|
||||
std::string arg,
|
||||
std::string enumName) {
|
||||
const std::string& arg,
|
||||
const std::string& enumName) {
|
||||
return arg + " does not represent any " + enumName + " values";
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ static inline float floatFromJson(json& j) {
|
||||
return result;
|
||||
}
|
||||
|
||||
YGFlexDirection flexDirectionFromString(std::string str) {
|
||||
YGFlexDirection flexDirectionFromString(const std::string& str) {
|
||||
if (str == "row") {
|
||||
return YGFlexDirectionRow;
|
||||
} else if (str == "row-reverse") {
|
||||
@@ -50,7 +50,7 @@ YGFlexDirection flexDirectionFromString(std::string str) {
|
||||
}
|
||||
}
|
||||
|
||||
YGJustify justifyContentFromString(std::string str) {
|
||||
YGJustify justifyContentFromString(const std::string& str) {
|
||||
if (str == "flex-start") {
|
||||
return YGJustifyFlexStart;
|
||||
} else if (str == "center") {
|
||||
@@ -68,7 +68,7 @@ YGJustify justifyContentFromString(std::string str) {
|
||||
}
|
||||
}
|
||||
|
||||
YGAlign alignFromString(std::string str) {
|
||||
YGAlign alignFromString(const std::string& str) {
|
||||
if (str == "auto") {
|
||||
return YGAlignAuto;
|
||||
} else if (str == "flex-start") {
|
||||
@@ -92,7 +92,7 @@ YGAlign alignFromString(std::string str) {
|
||||
}
|
||||
}
|
||||
|
||||
YGWrap wrapFromString(std::string str) {
|
||||
YGWrap wrapFromString(const std::string& str) {
|
||||
if (str == "no-wrap") {
|
||||
return YGWrapNoWrap;
|
||||
} else if (str == "wrap") {
|
||||
@@ -104,7 +104,7 @@ YGWrap wrapFromString(std::string str) {
|
||||
}
|
||||
}
|
||||
|
||||
YGOverflow overflowFromString(std::string str) {
|
||||
YGOverflow overflowFromString(const std::string& str) {
|
||||
if (str == "visible") {
|
||||
return YGOverflowVisible;
|
||||
} else if (str == "hidden") {
|
||||
@@ -116,7 +116,7 @@ YGOverflow overflowFromString(std::string str) {
|
||||
}
|
||||
}
|
||||
|
||||
YGDisplay displayFromString(std::string str) {
|
||||
YGDisplay displayFromString(const std::string& str) {
|
||||
if (str == "flex") {
|
||||
return YGDisplayFlex;
|
||||
} else if (str == "none") {
|
||||
@@ -126,7 +126,7 @@ YGDisplay displayFromString(std::string str) {
|
||||
}
|
||||
}
|
||||
|
||||
YGPositionType positionTypeFromString(std::string str) {
|
||||
YGPositionType positionTypeFromString(const std::string& str) {
|
||||
if (str == "static") {
|
||||
return YGPositionTypeStatic;
|
||||
} else if (str == "relative") {
|
||||
@@ -153,7 +153,7 @@ YGUnit unitFromJson(json& j) {
|
||||
}
|
||||
}
|
||||
|
||||
YGEdge edgeFromString(std::string str) {
|
||||
YGEdge edgeFromString(const std::string& str) {
|
||||
if (str == "left") {
|
||||
return YGEdgeLeft;
|
||||
} else if (str == "top") {
|
||||
@@ -177,7 +177,7 @@ YGEdge edgeFromString(std::string str) {
|
||||
}
|
||||
}
|
||||
|
||||
YGErrata errataFromString(std::string str) {
|
||||
YGErrata errataFromString(const std::string& str) {
|
||||
if (str == "none") {
|
||||
return YGErrataNone;
|
||||
} else if (str == "all") {
|
||||
@@ -189,7 +189,7 @@ YGErrata errataFromString(std::string str) {
|
||||
}
|
||||
}
|
||||
|
||||
YGExperimentalFeature experimentalFeatureFromString(std::string str) {
|
||||
YGExperimentalFeature experimentalFeatureFromString(const std::string& str) {
|
||||
if (str == "web-flex-basis") {
|
||||
return YGExperimentalFeatureWebFlexBasis;
|
||||
} else {
|
||||
@@ -199,12 +199,12 @@ YGExperimentalFeature experimentalFeatureFromString(std::string str) {
|
||||
}
|
||||
|
||||
std::string edgeStringFromPropertyName(
|
||||
json::iterator it,
|
||||
std::string propertyName) {
|
||||
const json::iterator& it,
|
||||
const std::string& propertyName) {
|
||||
return it.key().substr(propertyName.length() + 1);
|
||||
}
|
||||
|
||||
YGDirection directionFromString(std::string str) {
|
||||
YGDirection directionFromString(const std::string& str) {
|
||||
if (str == "ltr") {
|
||||
return YGDirectionLTR;
|
||||
} else if (str == "rtl") {
|
||||
@@ -216,7 +216,7 @@ YGDirection directionFromString(std::string str) {
|
||||
}
|
||||
}
|
||||
|
||||
YGMeasureMode measureModeFromString(std::string str) {
|
||||
YGMeasureMode measureModeFromString(const std::string& str) {
|
||||
if (str == "at-most") {
|
||||
return YGMeasureModeAtMost;
|
||||
} else if (str == "exactly") {
|
||||
|
@@ -18,35 +18,35 @@ namespace facebook::yoga {
|
||||
|
||||
using namespace nlohmann;
|
||||
|
||||
YGFlexDirection flexDirectionFromString(std::string str);
|
||||
YGFlexDirection flexDirectionFromString(const std::string& str);
|
||||
|
||||
YGJustify justifyContentFromString(std::string str);
|
||||
YGJustify justifyContentFromString(const std::string& str);
|
||||
|
||||
YGAlign alignFromString(std::string str);
|
||||
YGAlign alignFromString(const std::string& str);
|
||||
|
||||
YGWrap wrapFromString(std::string str);
|
||||
YGWrap wrapFromString(const std::string& str);
|
||||
|
||||
YGOverflow overflowFromString(std::string str);
|
||||
YGOverflow overflowFromString(const std::string& str);
|
||||
|
||||
YGDisplay displayFromString(std::string str);
|
||||
YGDisplay displayFromString(const std::string& str);
|
||||
|
||||
YGPositionType positionTypeFromString(std::string str);
|
||||
YGPositionType positionTypeFromString(const std::string& str);
|
||||
|
||||
YGUnit unitFromJson(json& j);
|
||||
|
||||
YGEdge edgeFromString(std::string str);
|
||||
YGEdge edgeFromString(const std::string& str);
|
||||
|
||||
YGErrata errataFromString(std::string str);
|
||||
YGErrata errataFromString(const std::string& str);
|
||||
|
||||
YGExperimentalFeature experimentalFeatureFromString(std::string str);
|
||||
YGExperimentalFeature experimentalFeatureFromString(const std::string& str);
|
||||
|
||||
std::string edgeStringFromPropertyName(
|
||||
json::iterator it,
|
||||
std::string propertyName);
|
||||
const json::iterator& it,
|
||||
const std::string& propertyName);
|
||||
|
||||
YGDirection directionFromString(std::string str);
|
||||
YGDirection directionFromString(const std::string& str);
|
||||
|
||||
YGMeasureMode measureModeFromString(std::string str);
|
||||
YGMeasureMode measureModeFromString(const std::string& str);
|
||||
|
||||
SerializedMeasureFunc serializedMeasureFuncFromJson(json& j);
|
||||
} // namespace facebook::yoga
|
||||
|
@@ -7,7 +7,7 @@ cd "$(dirname "$0")" || exit
|
||||
CAPTURES_PATH="$(dirname "$(realpath "$0")")""/captures"
|
||||
|
||||
if [ "$1" = "buck" ]; then
|
||||
buck run @fbcode/mode/opt :benchmarkCXX "${CAPTURES_PATH}"
|
||||
buck run @//fbcode/mode/opt :benchmarkCXX "${CAPTURES_PATH}"
|
||||
else
|
||||
cmake -B build -S . -D CMAKE_BUILD_TYPE=Release
|
||||
cmake --build build
|
||||
|
Reference in New Issue
Block a user