Fabric: More flexible definition of ConcreteViewShadowNode

Summary:
The ConcreteViewShadowNode was changed to be independend of actual amount of template arguments of ConcreteShadowNode.
We will use it soon.

Reviewed By: JoshuaGross

Differential Revision: D14187761

fbshipit-source-id: b4c8051e2ae3803932713b0c255492466e80d3bd
This commit is contained in:
Valentin Shergin
2019-02-25 12:17:48 -08:00
committed by Facebook Github Bot
parent 7c4dbd617d
commit e00f62022e
2 changed files with 11 additions and 5 deletions
@@ -28,11 +28,13 @@ namespace react {
template <
const char *concreteComponentName,
typename ViewPropsT = ViewProps,
typename ViewEventEmitterT = ViewEventEmitter>
typename ViewEventEmitterT = ViewEventEmitter,
typename... Ts>
class ConcreteViewShadowNode : public ConcreteShadowNode<
concreteComponentName,
ViewPropsT,
ViewEventEmitterT>,
ViewEventEmitterT,
Ts...>,
public AccessibleShadowNode,
public YogaLayoutableShadowNode {
static_assert(
@@ -46,8 +48,11 @@ class ConcreteViewShadowNode : public ConcreteShadowNode<
"ViewPropsT must be a descendant of AccessibilityProps");
public:
using BaseShadowNode =
ConcreteShadowNode<concreteComponentName, ViewPropsT, ViewEventEmitterT>;
using BaseShadowNode = ConcreteShadowNode<
concreteComponentName,
ViewPropsT,
ViewEventEmitterT,
Ts...>;
using ConcreteViewProps = ViewPropsT;
ConcreteViewShadowNode(
@@ -22,7 +22,8 @@ namespace react {
template <
const char *concreteComponentName,
typename PropsT,
typename EventEmitterT = EventEmitter>
typename EventEmitterT = EventEmitter,
typename... Ts>
class ConcreteShadowNode : public ShadowNode {
static_assert(
std::is_base_of<Props, PropsT>::value,