brintos

brintos / llvm-project-archived public Read only

0
0
Text · 979 B · b9cc9d0 Raw
69 lines · plain
1// RUN: %check_clang_tidy %s objc-missing-hash %t2 3typedef _Bool BOOL;4#define YES 15#define NO 06typedef unsigned int NSUInteger;7typedef void *id;8 9@interface NSObject10- (NSUInteger)hash;11- (BOOL)isEqual:(id)object;12@end13 14@interface MissingHash : NSObject15@end16 17@implementation MissingHash18// CHECK-MESSAGES: :[[@LINE-1]]:17: warning: 'MissingHash' implements -isEqual: without implementing -hash [objc-missing-hash]19 20- (BOOL)isEqual:(id)object {21  return YES;22}23 24@end25 26@interface HasHash : NSObject27@end28 29@implementation HasHash30 31- (NSUInteger)hash {32  return 0;33}34 35- (BOOL)isEqual:(id)object {36  return YES;37}38 39@end40 41@interface NSArray : NSObject42@end43 44@interface MayHaveInheritedHash : NSArray45@end46 47@implementation MayHaveInheritedHash48 49- (BOOL)isEqual:(id)object {50  return YES;51}52 53@end54 55@interface AnotherRootClass56@end57 58@interface NotDerivedFromNSObject : AnotherRootClass59@end60 61@implementation NotDerivedFromNSObject62 63- (BOOL)isEqual:(id)object {64  return NO;65}66 67@end68 69