test_objc_inlining_option.m revision 57330eed3fbe530cb05996e4a346cc5fc217c0d9
1// RUN: %clang_cc1 -analyze -analyzer-checker=core -analyzer-ipa=dynamic-bifurcate -analyzer-config objc-inlining=false -verify %s 2 3typedef signed char BOOL; 4typedef struct objc_class *Class; 5typedef struct objc_object { 6 Class isa; 7} *id; 8@protocol NSObject - (BOOL)isEqual:(id)object; @end 9@interface NSObject <NSObject> {} 10+(id)alloc; 11-(id)init; 12-(id)autorelease; 13-(id)copy; 14- (Class)class; 15-(id)retain; 16@end 17 18// Vanila: ObjC class method is called by name. 19@interface MyParent : NSObject 20+ (int)getInt; 21@end 22@interface MyClass : MyParent 23+ (int)getInt; 24@end 25@implementation MyClass 26+ (int)testClassMethodByName { 27 int y = [MyClass getInt]; 28 return 5/y; // no-warning 29} 30+ (int)getInt { 31 return 0; 32} 33@end