From f164b9770022adadaf17994f5c01ac009c965f29 Mon Sep 17 00:00:00 2001 From: rcancro <@pinterest.com> Date: Mon, 19 Oct 2015 08:32:14 -0700 Subject: [PATCH] Put all ascii box methods into a Debugging category. --- AsyncDisplayKit/ASDisplayNode.h | 5 +++- AsyncDisplayKit/ASDisplayNode.mm | 25 +++++++++---------- AsyncDisplayKit/Layout/ASLayoutSpec.h | 4 ++- AsyncDisplayKit/Layout/ASLayoutSpec.mm | 4 +++ AsyncDisplayKit/Layout/ASOverlayLayoutSpec.mm | 4 +++ AsyncDisplayKit/Layout/ASRatioLayoutSpec.mm | 4 +++ AsyncDisplayKit/Layout/ASStackLayoutSpec.mm | 4 +++ AsyncDisplayKit/Layout/ASStaticLayoutSpec.mm | 4 +++ 8 files changed, 39 insertions(+), 15 deletions(-) diff --git a/AsyncDisplayKit/ASDisplayNode.h b/AsyncDisplayKit/ASDisplayNode.h index bdd7ec6d3e..f7d9e8483e 100644 --- a/AsyncDisplayKit/ASDisplayNode.h +++ b/AsyncDisplayKit/ASDisplayNode.h @@ -48,7 +48,7 @@ typedef void (^ASDisplayNodeDidLoadBlock)(ASDisplayNode *node); * */ -@interface ASDisplayNode : ASDealloc2MainObject +@interface ASDisplayNode : ASDealloc2MainObject /** @name Initializing a node object */ @@ -659,6 +659,9 @@ typedef void (^ASDisplayNodeDidLoadBlock)(ASDisplayNode *node); - (void)addSubnode:(ASDisplayNode *)node; @end +@interface ASDisplayNode (Debugging) +@end + @interface ASDisplayNode (Deprecated) - (void)reclaimMemory ASDISPLAYNODE_DEPRECATED; diff --git a/AsyncDisplayKit/ASDisplayNode.mm b/AsyncDisplayKit/ASDisplayNode.mm index 0f02203fdb..2c536006e0 100644 --- a/AsyncDisplayKit/ASDisplayNode.mm +++ b/AsyncDisplayKit/ASDisplayNode.mm @@ -2074,19 +2074,6 @@ static void _recursivelySetDisplaySuspended(ASDisplayNode *node, CALayer *layer, return self; } - -#pragma mark - ASLayoutableAsciiArtProtocol - -- (NSString *)asciiArtString -{ - return [ASLayoutSpec asciiArtStringForChildren:@[] parentName:[self asciiArtName]]; -} - -- (NSString *)asciiArtName -{ - return NSStringFromClass([self class]); -} - @end @implementation ASDisplayNode (Debugging) @@ -2150,6 +2137,18 @@ static void _recursivelySetDisplaySuspended(ASDisplayNode *node, CALayer *layer, return subtree; } +#pragma mark - ASLayoutableAsciiArtProtocol + +- (NSString *)asciiArtString +{ + return [ASLayoutSpec asciiArtStringForChildren:@[] parentName:[self asciiArtName]]; +} + +- (NSString *)asciiArtName +{ + return NSStringFromClass([self class]); +} + @end // We use associated objects as a last resort if our view is not a _ASDisplayView ie it doesn't have the _node ivar to write to diff --git a/AsyncDisplayKit/Layout/ASLayoutSpec.h b/AsyncDisplayKit/Layout/ASLayoutSpec.h index 4d5a89f5e8..cd177ce891 100644 --- a/AsyncDisplayKit/Layout/ASLayoutSpec.h +++ b/AsyncDisplayKit/Layout/ASLayoutSpec.h @@ -12,7 +12,7 @@ #import /** A layout spec is an immutable object that describes a layout, loosely inspired by React. */ -@interface ASLayoutSpec : NSObject +@interface ASLayoutSpec : NSObject /** * Creation of a layout spec should only happen by a user in layoutSpecThatFits:. During that method, a @@ -95,7 +95,9 @@ /** Returns all children added to this layout spec. */ - (NSArray *)children; +@end +@interface ASLayoutSpec (Debugging) /** * Used by other layout specs to create ascii art debug strings */ diff --git a/AsyncDisplayKit/Layout/ASLayoutSpec.mm b/AsyncDisplayKit/Layout/ASLayoutSpec.mm index fc6db2e71f..f14fdca6cc 100644 --- a/AsyncDisplayKit/Layout/ASLayoutSpec.mm +++ b/AsyncDisplayKit/Layout/ASLayoutSpec.mm @@ -122,6 +122,10 @@ static NSString * const kDefaultChildrenKey = @"kDefaultChildrenKey"; return self.layoutChildren[kDefaultChildrenKey]; } +@end + +@implementation ASLayoutSpec (Debugging) + #pragma mark - ASLayoutableAsciiArtProtocol + (NSString *)asciiArtStringForChildren:(NSArray> *)children parentName:(NSString *)parentName direction:(ASStackLayoutDirection)direction diff --git a/AsyncDisplayKit/Layout/ASOverlayLayoutSpec.mm b/AsyncDisplayKit/Layout/ASOverlayLayoutSpec.mm index 31c38a1deb..ba580d08b1 100644 --- a/AsyncDisplayKit/Layout/ASOverlayLayoutSpec.mm +++ b/AsyncDisplayKit/Layout/ASOverlayLayoutSpec.mm @@ -72,6 +72,10 @@ static NSString * const kOverlayChildKey = @"kOverlayChildKey"; return nil; } +@end + +@implementation ASOverlayLayoutSpec (Debugging) + #pragma mark - ASLayoutableAsciiArtProtocol - (NSString *)debugBoxString diff --git a/AsyncDisplayKit/Layout/ASRatioLayoutSpec.mm b/AsyncDisplayKit/Layout/ASRatioLayoutSpec.mm index 236b27a308..4e04d4ca05 100644 --- a/AsyncDisplayKit/Layout/ASRatioLayoutSpec.mm +++ b/AsyncDisplayKit/Layout/ASRatioLayoutSpec.mm @@ -86,6 +86,10 @@ return nil; } +@end + +@implementation ASRatioLayoutSpec (Debugging) + #pragma mark - ASLayoutableAsciiArtProtocol - (NSString *)asciiArtName diff --git a/AsyncDisplayKit/Layout/ASStackLayoutSpec.mm b/AsyncDisplayKit/Layout/ASStackLayoutSpec.mm index d1476d1e6b..2269ffffeb 100644 --- a/AsyncDisplayKit/Layout/ASStackLayoutSpec.mm +++ b/AsyncDisplayKit/Layout/ASStackLayoutSpec.mm @@ -135,6 +135,10 @@ sublayouts:sublayouts]; } +@end + +@implementation ASStackLayoutSpec (Debugging) + #pragma mark - ASLayoutableAsciiArtProtocol - (NSString *)asciiArtString diff --git a/AsyncDisplayKit/Layout/ASStaticLayoutSpec.mm b/AsyncDisplayKit/Layout/ASStaticLayoutSpec.mm index 300fb045c3..f346017316 100644 --- a/AsyncDisplayKit/Layout/ASStaticLayoutSpec.mm +++ b/AsyncDisplayKit/Layout/ASStaticLayoutSpec.mm @@ -84,6 +84,10 @@ return nil; } +@end + +@implementation ASStaticLayoutSpec (Debugging) + #pragma mark - ASLayoutableAsciiArtProtocol - (NSString *)debugBoxString