theraven
58a574b34f
Fixed a great many property introspection bugs and added test case.
...
Test case by Jean-Charles Bertin!
2013-02-28 14:09:00 +00:00
theraven
aeb0c913b9
Enabled property attribute test, fixed failure.
2013-01-09 21:50:11 +00:00
theraven
d1f3463ac7
Make sure that there is always a comma between T and V in property attributes.
2013-01-09 18:56:05 +00:00
theraven
d0562d2127
Added helper function for C++ non-POD type atomic properties.
...
Fixed prototypes of specialised property functions.
2012-12-17 15:51:19 +00:00
theraven
a9be008911
Add optimised special-case property function.
2012-12-17 12:52:16 +00:00
theraven
713957f9d2
Fix lookup of properties after getting their attributes.
2012-12-11 17:30:04 +00:00
theraven
c7419155d5
Add some explicit NULL checks in property introspection code.
2012-12-10 16:38:15 +00:00
theraven
abc1d44c9c
Fix handling of properties that refer to an instance variable other than the
...
default.
2012-10-17 09:02:45 +00:00
theraven
cdc31c6c0d
Fix class_addProperty().
...
Reported by Luboš Doležel!
2012-10-09 12:35:54 +00:00
theraven
3c8407c41d
Fix incorrect malloc size.
2011-11-21 23:19:06 +00:00
theraven
dc8be2905e
Add explicit cast to silence a warning.
2011-10-22 22:04:43 +00:00
theraven
4796a41e4e
Finished implementing the new runtime APIs.
2011-10-11 18:42:34 +00:00
theraven
663995f08c
Small cleanup. Use the ARC functions for retain / release / autorelease messages everywhere. This will make properties faster if we're using an ARC-compatible NSObject.
2011-07-04 20:58:46 +00:00
theraven
fe5d1b892a
Tweak GC check, make sure GC_init() is called even when ObjC code isn't using GC (stuff internal to the runtime may be)
2011-05-28 14:38:02 +00:00
theraven
e05c9c2ff5
More GC fixes
2011-05-26 13:28:31 +00:00
theraven
01237af0fc
Add GC-aware property accessors (in GC mode, we don't need all of the atomic juggling, because the GC looks after that stuff for us).
2011-05-25 12:15:58 +00:00
theraven
76ef007766
Actually return the correct value in case of races.
2011-04-29 11:21:59 +00:00
theraven
94f72f539b
Fixed thread safety for constructing property attributes.
2011-04-29 11:19:42 +00:00
theraven
8ee4d9c38a
Added implementation of property_getAttributes(). This is a horrible interface, both to implement and to use. We should add some better interfaces.
2011-04-28 20:36:36 +00:00
theraven
e198597bd3
Added support for associative references. Modified sync code to use this.
2011-04-15 11:20:37 +00:00
theraven
b416b31957
Property sizes should be specified in ptrdiff_t sizes.
2011-02-23 13:58:24 +00:00
theraven
661d406a8c
Added property structure copy functions.
2010-12-26 21:34:23 +00:00
ericwa
d56930241e
Stylistic fixes
2010-09-26 19:39:39 +00:00
ericwa
ed1c9d41eb
libobjc2: Add a pile of NULL checks. In general, any public function should be able to handle NULL for any object/class/selector/pointer to opaque structure without blowing up.
2010-09-25 20:56:19 +00:00
theraven
025688a2d5
Added property_getName(). Added non-portable API documentation.
2010-09-21 13:51:47 +00:00
theraven
d70523947b
Implement some missing runtime functions.
2010-09-21 13:05:24 +00:00
ericwa
7a2c302c5f
libobjc2: tweaks to build on Windows
2010-09-03 21:08:06 +00:00
theraven
352e721861
Changed ptrdiff_t to int in property accessors. This is for compatibility with some changes in clang that are required to prevent things from breaking on LP64 platforms.
...
It would be cleaner to use a ptrdiff_t here, but unfortunately we can't because the ivar_offset field in the runtime metadata is an int so ivar offsets beyond 4GB will not work on LP64 platforms.
This probably isn't a limitation. If you have more than 4GB of ivars in one object, you've done something badly wrong and probably shouldn't be allowed to write code anymore.
2010-03-23 16:11:57 +00:00
theraven
492b2315c1
Rewrote property locking to be faster and not require @synchronized (which breaks if you call it in the object's -dealloc method).
2010-03-11 12:55:31 +00:00
theraven
baed61c3e6
Added property support functions, NSBlock base classes and uncaught exception handler.
2009-11-17 21:13:41 +00:00