// RUN: %clang_cc1 -fsyntax-only -verify %s | |
// expected-no-diagnostics | |
@interface Test {} | |
+ (Test*)one; | |
- (int)two; | |
@end | |
int main () | |
{ | |
return Test.one.two; | |
} | |
// rdar://16650575 | |
__attribute__((objc_root_class)) | |
@interface RootClass { | |
Class isa; | |
} | |
@property int property; | |
-(int)method; | |
- (void) setMethod : (int)arg; | |
+(int)classMethod; | |
@end | |
@interface Subclass : RootClass @end | |
void Test1() { | |
// now okay | |
(void)RootClass.property; | |
(void)Subclass.property; | |
(void)RootClass.method; | |
(void)Subclass.method; | |
RootClass.property = 1; | |
Subclass.property = 2; | |
RootClass.method = 3; | |
Subclass.method = 4; | |
// okay | |
(void)RootClass.classMethod; | |
(void)Subclass.classMethod; | |
// also okay | |
(void)[RootClass property]; | |
(void)[Subclass property]; | |
[RootClass method]; | |
[Subclass method]; | |
[RootClass classMethod]; | |
[Subclass classMethod]; | |
// also okay | |
[RootClass setProperty : 1]; | |
[Subclass setProperty : 2]; | |
[RootClass setMethod : 3]; | |
[Subclass setMethod : 4]; | |
} |