From 4d35e4d92c2edfc59ddce45a66ad8890e5ee70d0 Mon Sep 17 00:00:00 2001 From: Valentin Shergin Date: Wed, 12 Jun 2019 21:31:30 -0700 Subject: [PATCH] Fabric: Make RootProps constructible from RawProps Summary: Even though it makes no sense to construct RootProps from RawProps, we need to support that (even if it's no-op) to be able to call this once from generic `ConcreteComponentDescriptor`. We will need it in the coming diff. Reviewed By: mdvacca Differential Revision: D15752970 fbshipit-source-id: b75a4023c5d0425a8dbe0f104a36a0f265eb6084 --- ReactCommon/fabric/components/root/RootProps.cpp | 14 ++++++-------- ReactCommon/fabric/components/root/RootProps.h | 16 ++++++---------- 2 files changed, 12 insertions(+), 18 deletions(-) diff --git a/ReactCommon/fabric/components/root/RootProps.cpp b/ReactCommon/fabric/components/root/RootProps.cpp index 5779db955b3..57bf79eeb8d 100644 --- a/ReactCommon/fabric/components/root/RootProps.cpp +++ b/ReactCommon/fabric/components/root/RootProps.cpp @@ -14,7 +14,7 @@ namespace facebook { namespace react { static YGStyle yogaStyleFromLayoutConstraints( - const LayoutConstraints &layoutConstraints) { + LayoutConstraints const &layoutConstraints) { auto yogaStyle = YGStyle{}; yogaStyle.minDimensions()[YGDimensionWidth] = yogaStyleValueFromFloat(layoutConstraints.minimumSize.width); @@ -32,15 +32,13 @@ static YGStyle yogaStyleFromLayoutConstraints( return yogaStyle; } -RootProps::RootProps(const RootProps &sourceProps, const RawProps &rawProps) { - // `RootProps` cannot be constructed from `RawProps`. - assert(false); -} +RootProps::RootProps(RootProps const &sourceProps, RawProps const &rawProps) + : ViewProps(sourceProps, rawProps) {} RootProps::RootProps( - const RootProps &sourceProps, - const LayoutConstraints &layoutConstraints, - const LayoutContext &layoutContext) + RootProps const &sourceProps, + LayoutConstraints const &layoutConstraints, + LayoutContext const &layoutContext) : ViewProps(yogaStyleFromLayoutConstraints(layoutConstraints)), layoutConstraints(layoutConstraints), layoutContext(layoutContext){}; diff --git a/ReactCommon/fabric/components/root/RootProps.h b/ReactCommon/fabric/components/root/RootProps.h index bdeaa7014d0..43676c31a67 100644 --- a/ReactCommon/fabric/components/root/RootProps.h +++ b/ReactCommon/fabric/components/root/RootProps.h @@ -16,23 +16,19 @@ namespace facebook { namespace react { -class RootProps; - -using SharedRootProps = std::shared_ptr; - class RootProps final : public ViewProps { public: RootProps() = default; - RootProps(const RootProps &sourceProps, const RawProps &rawProps); + RootProps(RootProps const &sourceProps, RawProps const &rawProps); RootProps( - const RootProps &sourceProps, - const LayoutConstraints &layoutConstraints, - const LayoutContext &layoutContext); + RootProps const &sourceProps, + LayoutConstraints const &layoutConstraints, + LayoutContext const &layoutContext); #pragma mark - Props - const LayoutConstraints layoutConstraints{}; - const LayoutContext layoutContext{}; + LayoutConstraints const layoutConstraints{}; + LayoutContext const layoutContext{}; }; } // namespace react