discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: @dynamic property synthesis


From: David Chisnall
Subject: Re: @dynamic property synthesis
Date: Sun, 5 Aug 2012 15:06:38 +0100

Hi Ivan,

Your question is strange because @dynamic is the opposite of @synthesize.  If 
what you meant was 'can we use declared properties' then the answer is that 
we've been able to with clang and the GNUstep runtime for ages, and with GCC 
since 4.6.  

There is no such thing as 'runtime-generated @properties', the compiler is 
responsible for generating these functions, although it does call out to the 
runtime for some simple cases to avoid burning instruction cache for no reason. 
 Glancing over the CALayer class reference, they all look like properties that 
will work with trivial @synthesized implementations.

Glancing over your last commit, I can't even begin to work out what you think 
you are trying to do, but it looks like whatever it is you are not doing it in 
a sensible way.  Either you are confusing KVC with declared properties, or you 
don't understand what @dynamic means.  A CoreAnimation implementation does not 
need these contortions.

David

On 5 Aug 2012, at 14:58, Ivan Vučica wrote:

> Hi all,
> 
> CALayers need support for @dynamically synthesized accessors. Do we have a 
> correct implementation of such runtime-generated @properties?
> 
> I've begun work on this, but it looks rather hard to get right: accessors can 
> have custom names so IMPs cannot simply access a dictionary with values based 
> on the value of _cmd, then there needs to be support for structs, etc. I 
> might be able to successfully implement this, but it'd take a while and it 
> sounds like something someone else must have done before.
> 
> I've committed my progress so far, but if someone's done this before, I'd 
> appreciate hints and code.
> 
> --
> Ivan Vučica
> 
> 
> 
> -- 
> Ivan Vučica - ivan@vucica.net
> 
> 
> _______________________________________________
> Discuss-gnustep mailing list
> Discuss-gnustep@gnu.org
> https://lists.gnu.org/mailman/listinfo/discuss-gnustep

--
This email complies with ISO 3103




reply via email to

[Prev in Thread] Current Thread [Next in Thread]