Home | History | Annotate | Download | only in SemaObjC
      1 // RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s
      2 typedef signed char BOOL;
      3 typedef int NSInteger;
      4 
      5 @protocol NSObject
      6 - (BOOL)isEqual:(id)object;
      7 - (BOOL)respondsToSelector:(SEL)s;
      8 @end
      9 
     10 @interface NSObject <NSObject> {}
     11 @end
     12 
     13 @class NSString, NSData, NSMutableData, NSMutableDictionary, NSMutableArray;
     14 
     15 @protocol PBXCompletionItem
     16 - (NSString *) name;
     17 - (NSInteger)priority;
     18 - setPriority:(NSInteger)p;
     19 @end
     20 
     21 @implementation PBXCodeAssistant // expected-warning{{cannot find interface declaration for 'PBXCodeAssistant'}}
     22 static NSMutableArray * recentCompletions = ((void *)0);
     23 + (float) factorForRecentCompletion:(NSString *) completion
     24 {
     25     for (NSObject<PBXCompletionItem> * item in [self completionItems]) // expected-warning{{method '+completionItems' not found (return type defaults to 'id')}}
     26     {
     27         if ([item respondsToSelector:@selector(setPriority:)])
     28         {
     29             [(id)item setPriority:[item priority] / [PBXCodeAssistant factorForRecentCompletion:[item name]]];
     30         }
     31     }
     32     return 0;
     33 }
     34 @end
     35 
     36