forked from OSchip/llvm-project
34 lines
750 B
Objective-C
34 lines
750 B
Objective-C
// RUN: %clang_analyze_cc1 -analyzer-checker=core -analyzer-config ipa=dynamic-bifurcate -analyzer-config objc-inlining=false -verify %s
|
|
// expected-no-diagnostics
|
|
|
|
typedef signed char BOOL;
|
|
typedef struct objc_class *Class;
|
|
typedef struct objc_object {
|
|
Class isa;
|
|
} *id;
|
|
@protocol NSObject - (BOOL)isEqual:(id)object; @end
|
|
@interface NSObject <NSObject> {}
|
|
+(id)alloc;
|
|
-(id)init;
|
|
-(id)autorelease;
|
|
-(id)copy;
|
|
- (Class)class;
|
|
-(id)retain;
|
|
@end
|
|
|
|
// Vanila: ObjC class method is called by name.
|
|
@interface MyParent : NSObject
|
|
+ (int)getInt;
|
|
@end
|
|
@interface MyClass : MyParent
|
|
+ (int)getInt;
|
|
@end
|
|
@implementation MyClass
|
|
+ (int)testClassMethodByName {
|
|
int y = [MyClass getInt];
|
|
return 5/y; // no-warning
|
|
}
|
|
+ (int)getInt {
|
|
return 0;
|
|
}
|
|
@end |