[fpc-devel] C style operator doesn't work with properties in 2.3.1
Jonas Maebe
jonas.maebe at elis.ugent.be
Thu Jul 17 09:13:45 CEST 2008
On 17 Jul 2008, at 08:48, Graeme Geldenhuys wrote:
> On Wed, Jul 16, 2008 at 5:37 PM, Jonas Maebe <jonas.maebe at elis.ugent.be
> > wrote:
>> Indeed. I've checked the code and properties are explicitly not
>> allowed for
>> the C-style operators. The reason is that the x+=y is translated into
>> "x:=x+y" at the parser level rather than at the lexical level. This
>> means
>> that in case x is a property, at the point that this transformation
>> is
>> performed the compiler already resolved it into the setter property
>> (so it
>> can no longer access the getter).
>
> Sorry if the following sounds stupid, but I'm a applications
> developer, not a compiler developer. I do not know or understand the
> internals of a compiler.
>
> So is what you mentioned above by design, or an oversight?
I'm fairly certain that the C-style operators were implemented long
before most, if any, Delphi feature had been implemented (possibly
even before Delphi had properties).
> We spoke earlier in another thread about hidden exceptions (rules)
> which will just complicate things in the long run. Well to me, this
> looks like one of those exceptions which the FPC core would like to
> prevent.
Feel free to file a bug report.
Jonas
More information about the fpc-devel
mailing list