reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | // 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 |