Add test for class properties.
@@ -12,12 +12,15 @@ __attribute__((objc_root_class))
@interface helloclass {
@private int varName;
}
+@property (class, retain) id clsProp;
@property (readwrite,assign) int propName;
@end
@implementation helloclass
@synthesize propName = varName;
+ (id)class { return self; }
++ (id)clsProp { return nil; }
++ (void)setClsProp: (id)arg {}
@end
int main()
@@ -29,6 +32,15 @@ int main()
assert(strcmp(property_getName(property), "propName") == 0);
assert(strcmp(property_getAttributes(property), "Ti,VvarName") == 0);
free(properties);
+
+ objc_property_t *clsproperties = class_copyPropertyList(object_getClass([helloclass class]), &outCount);
+ assert(outCount == 1);
+ property = properties[0];
+ assert(strcmp(property_getName(property), "clsProp") == 0);
+ fprintf(stderr, "%s\n", property_getAttributes(property));
+ assert(strcmp(property_getAttributes(property), "T@,&") == 0);
+ free(properties);
+
Method* methods = class_copyMethodList([helloclass class], &outCount);
assert(outCount == 2);
free(methods);
