[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