+static objc_property_t CYFindProperty(CYPool &pool, Class _class, const char *name) {
+ if (_class == Nil)
+ return NULL;
+ if (objc_property_t property = class_getProperty(_class, name))
+ return property;
+ return NULL;
+
+ /* // XXX: I don't think any of this is required
+ unsigned int count;
+ Protocol **protocols(class_copyProtocolList(_class, &count));
+ // XXX: just implement a scope guard already :/
+ pool.atexit(free, protocols);
+
+ for (unsigned int i(0); i != count; ++i)
+ if (objc_property_t property = protocol_getProperty(protocols[i], name, true, true))
+ return property;
+
+ return CYFindProperty(pool, class_getSuperclass(_class), name); */
+}
+