Skip to content

Commit a443ea4

Browse files
j-piaseckimeta-codesync[bot]
authored andcommitted
Make iOS Color default constructor constexpr (#59060)
Summary: Pull Request resolved: #59060 `UndefinedColor` in the iOS `HostPlatformColor.h` is a namespace-scope `static const Color` built with a non-`constexpr` `Color()`, so every Objective-C++ file that includes the header runs a static initializer before `main`. Make `Color()` `constexpr` (and zero-initialize `uiColorHashValue_`) so it is constant-initialized instead. Changelog: [Internal] Reviewed By: cortinico Differential Revision: D125189249 fbshipit-source-id: 4a2e13df252da37646073bca69b98cb975cbb019
1 parent 892ea5e commit a443ea4

5 files changed

Lines changed: 5 additions & 5 deletions

File tree

‎packages/react-native/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.h‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ struct Color {
2626
Color(int32_t color);
2727
Color(const DynamicColor &dynamicColor);
2828
Color(const ColorComponents &components);
29-
Color() : uiColor_(nullptr) {};
29+
constexpr Color() : uiColor_(nullptr), uiColorHashValue_(0) {};
3030
int32_t getColor() const;
3131
std::size_t getUIColorHash() const;
3232

‎scripts/cxx-api/api-snapshots/ReactAppleDebugCxx.api‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5325,12 +5325,12 @@ struct facebook::react::Bridging<void> {
53255325
}
53265326

53275327
struct facebook::react::Color {
5328-
public Color();
53295328
public Color(const facebook::react::ColorComponents& components);
53305329
public Color(const facebook::react::DynamicColor& dynamicColor);
53315330
public Color(int32_t color);
53325331
public bool operator!=(const facebook::react::Color& other) const;
53335332
public bool operator==(const facebook::react::Color& other) const;
5333+
public constexpr Color();
53345334
public facebook::react::ColorComponents getColorComponents() const;
53355335
public float getChannel(int channelId) const;
53365336
public int32_t getColor() const;

‎scripts/cxx-api/api-snapshots/ReactAppleFrameworksCxx.api‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8155,12 +8155,12 @@ struct facebook::react::CallbackWithId {
81558155
}
81568156

81578157
struct facebook::react::Color {
8158-
public Color();
81598158
public Color(const facebook::react::ColorComponents& components);
81608159
public Color(const facebook::react::DynamicColor& dynamicColor);
81618160
public Color(int32_t color);
81628161
public bool operator!=(const facebook::react::Color& other) const;
81638162
public bool operator==(const facebook::react::Color& other) const;
8163+
public constexpr Color();
81648164
public facebook::react::ColorComponents getColorComponents() const;
81658165
public float getChannel(int channelId) const;
81668166
public int32_t getColor() const;

‎scripts/cxx-api/api-snapshots/ReactAppleNewarchCxx.api‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5310,12 +5310,12 @@ struct facebook::react::Bridging<void> {
53105310
}
53115311

53125312
struct facebook::react::Color {
5313-
public Color();
53145313
public Color(const facebook::react::ColorComponents& components);
53155314
public Color(const facebook::react::DynamicColor& dynamicColor);
53165315
public Color(int32_t color);
53175316
public bool operator!=(const facebook::react::Color& other) const;
53185317
public bool operator==(const facebook::react::Color& other) const;
5318+
public constexpr Color();
53195319
public facebook::react::ColorComponents getColorComponents() const;
53205320
public float getChannel(int channelId) const;
53215321
public int32_t getColor() const;

‎scripts/cxx-api/api-snapshots/ReactAppleReleaseCxx.api‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5318,12 +5318,12 @@ struct facebook::react::Bridging<void> {
53185318
}
53195319

53205320
struct facebook::react::Color {
5321-
public Color();
53225321
public Color(const facebook::react::ColorComponents& components);
53235322
public Color(const facebook::react::DynamicColor& dynamicColor);
53245323
public Color(int32_t color);
53255324
public bool operator!=(const facebook::react::Color& other) const;
53265325
public bool operator==(const facebook::react::Color& other) const;
5326+
public constexpr Color();
53275327
public facebook::react::ColorComponents getColorComponents() const;
53285328
public float getChannel(int channelId) const;
53295329
public int32_t getColor() const;

0 commit comments

Comments
 (0)