Add an assert for safety check.
[clang.git] / test / SemaObjC / super.m
blob9afd4eb983c57f4275d60bd6bf63921edfa96650
1 // RUN: clang-cc -fsyntax-only -verify %s
3 @interface Foo
4 - iMethod;
5 + cMethod;
6 @end
8 @interface A
9 @end
11 @interface B : A
12 - (void)instanceMethod;
13 + classMethod;
14 @end
16 @implementation B
18 - (void)instanceMethod {
19   [super iMethod]; // expected-warning{{method '-iMethod' not found (return type defaults to 'id')}}
22 + classMethod {
23   [super cMethod]; // expected-warning{{method '+cMethod' not found (return type defaults to 'id')}}
25 @end
27 @interface XX
28 - m;
29 @end
31 void f(id super) {
32   [super m];
34 void f0(int super) {
35   [super m]; // expected-warning{{receiver type 'int' is not 'id'}} \
36                 expected-warning {{method '-m' not found (return type defaults to 'id')}}
38 void f1(int puper) {
39   [super m]; // expected-error{{use of undeclared identifier 'super'}}