Files
react-native/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.cpp
T
Joshua Gross 768296823d ReactCommon/renderer/components/unimplementedview: Migrate uses of NDEBUG to REACT_NATIVE_DEBUG + react_native_assert
Summary:
For better cross-platform consistency, migrate usages of NDEBUG to REACT_NATIVE_DEBUG. See flags.h for explanation.

Changelog: [Internal]

Reviewed By: PeteTheHeat

Differential Revision: D26695184

fbshipit-source-id: fd98843f3485e13c9650c5a2576a1186ebb121db
2021-02-26 23:30:00 -08:00

47 lines
1.5 KiB
C++

/*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
#include "UnimplementedViewComponentDescriptor.h"
#include <react/debug/react_native_assert.h>
namespace facebook {
namespace react {
ComponentHandle UnimplementedViewComponentDescriptor::getComponentHandle()
const {
return reinterpret_cast<ComponentHandle>(getComponentName());
}
ComponentName UnimplementedViewComponentDescriptor::getComponentName() const {
return std::static_pointer_cast<std::string const>(this->flavor_)->c_str();
}
Props::Shared UnimplementedViewComponentDescriptor::cloneProps(
Props::Shared const &props,
RawProps const &rawProps) const {
auto clonedProps =
ConcreteComponentDescriptor<UnimplementedViewShadowNode>::cloneProps(
props, rawProps);
react_native_assert(
std::dynamic_pointer_cast<UnimplementedViewProps const>(clonedProps));
// We have to clone `Props` object one more time to make sure that we have
// an unshared (and non-`const`) copy of it which we can mutate.
RawProps emptyRawProps{};
emptyRawProps.parse(rawPropsParser_);
auto unimplementedViewProps = std::make_shared<UnimplementedViewProps>(
*std::static_pointer_cast<UnimplementedViewProps const>(clonedProps),
emptyRawProps);
unimplementedViewProps->setComponentName(getComponentName());
return unimplementedViewProps;
};
} // namespace react
} // namespace facebook