brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.0 KiB · dee85cb Raw
56 lines · plain
1// RUN: %clang_cc1 -fsyntax-only -verify %s2// expected-no-diagnostics3 4@interface Test {}5+ (Test*)one;6- (int)two;7@end8 9int main (void)10{11  return Test.one.two;12}13 14__attribute__((objc_root_class))15@interface RootClass { 16  Class isa; 17}18 19@property int property;20-(int)method;21- (void) setMethod : (int)arg;22+(int)classMethod;23@end24 25@interface Subclass : RootClass @end26void Test1(void) { 27    // now okay28    (void)RootClass.property;29    (void)Subclass.property;30    (void)RootClass.method;31    (void)Subclass.method;32 33    RootClass.property = 1;34    Subclass.property = 2;35    RootClass.method = 3;36    Subclass.method = 4;37 38    // okay39    (void)RootClass.classMethod;40    (void)Subclass.classMethod;41 42    // also okay43    (void)[RootClass property];44    (void)[Subclass property];45    [RootClass method];46    [Subclass method];47    [RootClass classMethod];48    [Subclass classMethod];49 50    // also okay51    [RootClass setProperty : 1];52    [Subclass setProperty : 2];53    [RootClass setMethod : 3];54    [Subclass setMethod : 4];55}56