Use the tree node idenitifer as the component identifier

Summary: Now that we always build the component tree (CKTreeNode) in debug, we can just use the tree node identifier as the component identifier instead of creating a very long string.

Reviewed By: fabiomassimo

Differential Revision: D15046568

fbshipit-source-id: 4d83c1bee3fd7ac85ee4bd6e9f4f47812509e0c3
This commit is contained in:
Kfir Schindelhaim
2019-04-26 10:11:43 -07:00
committed by Facebook Github Bot
parent 1c35b705eb
commit b78dbb75b2

View File

@@ -57,7 +57,6 @@ static CKFlexboxComponentChild findFlexboxLayoutParams(CKComponent *parent, CKCo
SKComponentLayoutWrapper *const wrapper =
[[SKComponentLayoutWrapper alloc] initWithLayout:layout
position:CGPointMake(0, 0)
parentKey:[NSString stringWithFormat: @"%p.", layout.component]
reuseWrapper:reuseWrapper];
// Cache the result.
if (layout.component) {
@@ -68,14 +67,13 @@ static CKFlexboxComponentChild findFlexboxLayoutParams(CKComponent *parent, CKCo
- (instancetype)initWithLayout:(const CKComponentLayout &)layout
position:(CGPoint)position
parentKey:(NSString *)parentKey
reuseWrapper:(CKComponentReuseWrapper *)reuseWrapper
{
if (self = [super init]) {
_component = layout.component;
_size = layout.size;
_position = position;
_identifier = [parentKey stringByAppendingString:layout.component ? NSStringFromClass([layout.component class]) : @"(null)"];
_identifier = _component ? [NSString stringWithFormat:@"%d", _component.treeNode.nodeIdentifier] : @"(null)";
if (_component && reuseWrapper) {
auto const canBeReusedCounter = [reuseWrapper canBeReusedCounter:_component.treeNode.nodeIdentifier];
@@ -85,14 +83,12 @@ static CKFlexboxComponentChild findFlexboxLayoutParams(CKComponent *parent, CKCo
}
if (layout.children != nullptr) {
int index = 0;
for (const auto &child : *layout.children) {
if (child.layout.component == nil) {
continue; // nil children are allowed, ignore them
}
SKComponentLayoutWrapper *childWrapper = [[SKComponentLayoutWrapper alloc] initWithLayout:child.layout
position:child.position
parentKey:[_identifier stringByAppendingFormat:@"[%d].", index++]
reuseWrapper:reuseWrapper];
childWrapper->_isFlexboxChild = [_component isKindOfClass:[CKFlexboxComponent class]];
childWrapper->_flexboxChild = findFlexboxLayoutParams(_component, child.layout.component);