fbshipit-source-id: b6fc29740c6875d2e78953b8a7123890a67930f2 Co-authored-by: Sebastian McKenzie <sebmck@fb.com> Co-authored-by: John Knox <jknox@fb.com> Co-authored-by: Emil Sjölander <emilsj@fb.com> Co-authored-by: Pritesh Nandgaonkar <prit91@fb.com>
35 lines
1.1 KiB
Objective-C
Executable File
35 lines
1.1 KiB
Objective-C
Executable File
// Copyright 2004-present Facebook. All Rights Reserved.
|
|
|
|
#import <Availability.h>
|
|
#import <AvailabilityInternal.h>
|
|
#import <objc/runtime.h>
|
|
|
|
#import <Foundation/Foundation.h>
|
|
#import <UIKit/UIKit.h>
|
|
|
|
#define FLEXFloor(x) (floor([[UIScreen mainScreen] scale] * (x)) / [[UIScreen mainScreen] scale])
|
|
|
|
#define FLEX_AT_LEAST_IOS11_SDK defined(__IPHONE_11_0) && (__IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_11_0)
|
|
|
|
@interface NSNumber (SonarUtility)
|
|
|
|
+ (NSNumber *)random;
|
|
|
|
@end
|
|
|
|
@interface NSDate (SonarUtility)
|
|
|
|
+ (uint64_t)timestamp;
|
|
@end
|
|
|
|
@interface FLEXUtility : NSObject
|
|
|
|
// Swizzling utilities
|
|
|
|
+ (SEL)swizzledSelectorForSelector:(SEL)selector;
|
|
+ (BOOL)instanceRespondsButDoesNotImplementSelector:(SEL)selector class:(Class)cls;
|
|
+ (void)replaceImplementationOfKnownSelector:(SEL)originalSelector onClass:(Class)className withBlock:(id)block swizzledSelector:(SEL)swizzledSelector;
|
|
+ (void)replaceImplementationOfSelector:(SEL)selector withSelector:(SEL)swizzledSelector forClass:(Class)cls withMethodDescription:(struct objc_method_description)methodDescription implementationBlock:(id)implementationBlock undefinedBlock:(id)undefinedBlock;
|
|
|
|
@end
|