| // RUN: clang-cc -triple x86_64-apple-darwin10 -fsyntax-only -verify %s |
| // This program tests that if class implements the forwardInvocation method, then |
| // every method possible is implemented in the class and should not issue |
| // warning of the "Method definition not found" kind. */ |
| |
| @interface NSObject |
| @end |
| |
| @interface NSInvocation |
| @end |
| |
| @interface NSProxy |
| @end |
| |
| @protocol MyProtocol |
| -(void) doSomething; |
| @end |
| |
| @interface DestinationClass : NSObject<MyProtocol> |
| -(void) doSomething; |
| @end |
| |
| @implementation DestinationClass |
| -(void) doSomething |
| { |
| } |
| @end |
| |
| @interface MyProxy : NSProxy<MyProtocol> |
| { |
| DestinationClass *mTarget; |
| } |
| - (id) init; |
| - (void)forwardInvocation:(NSInvocation *)anInvocation; |
| @end |
| |
| @implementation MyProxy |
| - (void)forwardInvocation:(NSInvocation *)anInvocation |
| { |
| } |
| - (id) init { return 0; } |
| @end |