FLEXRuntimeSafety.h 633 B

12345678910111213141516171819202122232425262728
  1. //
  2. // FLEXRuntimeSafety.h
  3. // FLEX
  4. //
  5. // Created by Tanner on 3/25/17.
  6. //
  7. #import <Foundation/Foundation.h>
  8. extern NSUInteger const kFLEXKnownUnsafeClassCount;
  9. extern const Class * FLEXKnownUnsafeClassList();
  10. extern NSSet * FLEXKnownUnsafeClassNames();
  11. extern CFSetRef FLEXKnownUnsafeClasses;
  12. static inline BOOL FLEXClassIsSafe(Class cls) {
  13. if (!cls) return NO;
  14. return CFSetContainsValue(FLEXKnownUnsafeClasses, (__bridge void *)cls);
  15. }
  16. static inline BOOL FLEXClassNameIsSafe(NSString *cls) {
  17. if (!cls) return NO;
  18. NSSet *ignored = FLEXKnownUnsafeClassNames();
  19. return ![ignored containsObject:cls];
  20. }