Home | History | Annotate | Download | only in SemaObjC
      1 // RUN: %clang_cc1  -fsyntax-only  -triple x86_64-apple-darwin10 -verify %s
      2 // rdar://16628028
      3 
      4 @interface NSObject
      5 + (void)initialize; // expected-note 2 {{method 'initialize' declared here}}
      6 @end
      7 
      8 @interface I : NSObject 
      9 + (void)initialize; // expected-note {{method 'initialize' declared here}}
     10 + (void)SomeRandomMethod;
     11 @end
     12 
     13 @implementation I
     14 - (void) Meth { 
     15   [I initialize];     // expected-warning {{explicit call to +initialize results in duplicate call to +initialize}} 
     16   [NSObject initialize]; // expected-warning {{explicit call to +initialize results in duplicate call to +initialize}}
     17 }
     18 + (void)initialize {
     19   [super initialize];
     20 }
     21 + (void)SomeRandomMethod { // expected-note {{method 'SomeRandomMethod' declared here}}
     22   [super initialize]; // expected-warning {{explicit call to [super initialize] should only be in implementation of +initialize}}
     23 }
     24 @end
     25 
     26