29 lines · plain
1.. title:: clang-tidy - objc-forbidden-subclassing2 3objc-forbidden-subclassing4==========================5 6Finds Objective-C classes which are subclasses of classes which are7not designed to be subclassed.8 9By default, includes a list of Objective-C classes which are publicly10documented as not supporting subclassing.11 12.. note::13 14 Instead of using this check, for code under your control, you should add15 ``__attribute__((objc_subclassing_restricted))`` before your ``@interface``16 declarations to ensure the compiler prevents others from subclassing your17 Objective-C classes.18 See https://clang.llvm.org/docs/AttributeReference.html#objc-subclassing-restricted19 20Options21-------22 23.. option:: ForbiddenSuperClassNames24 25 Semicolon-separated list of names of Objective-C classes which26 do not support subclassing.27 28 Defaults to `ABNewPersonViewController;ABPeoplePickerNavigationController;ABPersonViewController;ABUnknownPersonViewController;NSHashTable;NSMapTable;NSPointerArray;NSPointerFunctions;NSTimer;UIActionSheet;UIAlertView;UIImagePickerController;UITextInputMode;UIWebView`.29