Mercurial > hg > CbC > CbC_llvm
view clang/test/SemaObjC/class-method-lookup.m @ 150:1d019706d866
LLVM10
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 15:10:13 +0900 |
parents | |
children |
line wrap: on
line source
// RUN: %clang_cc1 -fsyntax-only -verify %s @interface MyBase - (void) rootInstanceMethod; @end @interface MyIntermediate: MyBase @end @interface MyDerived: MyIntermediate - (void) instanceMethod; + (void) classMethod; @end @implementation MyDerived - (void) instanceMethod { } + (void) classMethod { /* If a class method is not found, the root */ [self rootInstanceMethod]; /* class is searched for an instance method */ [MyIntermediate rootInstanceMethod]; /* with the same name. */ [self instanceMethod];// expected-warning {{'+instanceMethod' not found (return type defaults to 'id')}} [MyDerived instanceMethod];// expected-warning {{'+instanceMethod' not found (return type defaults to 'id')}} } @end @interface Object @end @interface Class1 - (void)setWindow:(Object *)wdw; @end @interface Class2 - (void)setWindow:(Class1 *)window; @end #define nil (void*)0 id foo(void) { Object *obj; id obj2 = obj; [obj setWindow:nil]; // expected-warning {{'Object' may not respond to 'setWindow:'}} return obj; }