ObjFW  Check-in [aac3aaf9cc]

Overview
Comment:Make properties behave like with the Apple runtime.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: aac3aaf9ccbe2faf5c1158408d588291300c77f76e41f25974d7a4def9358942
User & Date: js on 2010-01-16 13:20:42
Other Links: manifest | tags
Context
2010-01-16
13:37
Test if compiler supports properties and if so run property tests. check-in: df5b90cf6a user: js tags: trunk
13:20
Make properties behave like with the Apple runtime. check-in: aac3aaf9cc user: js tags: trunk
13:19
Remove useless definitions in headers. check-in: 9f3151f200 user: js tags: trunk
Changes

Modified src/objc_properties.m from [2f04d69904] to [11db8370a9].

21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
	if (atomic) {
		@synchronized (self) {
			id ptr = *(id*)((char*)self + offset);
			return [[ptr retain] autorelease];
		}
	}

	return [[*(id*)((char*)self + offset) retain] autorelease];
}

void
objc_setProperty(id self, SEL _cmd, ptrdiff_t offset, id value, BOOL atomic,
    BOOL copy)
{
	if (atomic) {







|







21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
	if (atomic) {
		@synchronized (self) {
			id ptr = *(id*)((char*)self + offset);
			return [[ptr retain] autorelease];
		}
	}

	return *(id*)((char*)self + offset);
}

void
objc_setProperty(id self, SEL _cmd, ptrdiff_t offset, id value, BOOL atomic,
    BOOL copy)
{
	if (atomic) {