diff options
Diffstat (limited to 'clang/test/SemaObjC/class-property-access.m')
| -rw-r--r-- | clang/test/SemaObjC/class-property-access.m | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/clang/test/SemaObjC/class-property-access.m b/clang/test/SemaObjC/class-property-access.m index 735b51a3c43..a4c188c434e 100644 --- a/clang/test/SemaObjC/class-property-access.m +++ b/clang/test/SemaObjC/class-property-access.m @@ -11,3 +11,46 @@ 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 + [RootClass property]; + [Subclass property]; + [RootClass method]; + [Subclass method]; + [RootClass classMethod]; + [Subclass classMethod]; + + // also okay + [RootClass setProperty : 1]; + [Subclass setProperty : 2]; + [RootClass setMethod : 3]; + [Subclass setMethod : 4]; +} |

