http://www.freepascal.org/docs-html/ref/refch12.html#x120-13000012
lists
Show quoted text 13 lines
This does not include:
^ deref
- unary minus
. accessing a member of a class/record (not unary)
Assuming they are in the "Highest" group, then they have same precedence as "@".
In an expression containing a mix, I would assume a left to right order.
However this does not compile (project1.lpr(6,10) Error: Illegal qualifier)
{$T+} var i: integer
if @i^ = 0 then ;If left to right had taken place, then the above would be equal to
if (@i)^ = 0 then ;And that compiles.
So it appears that ^ takes precedence over @ ? Or is this a bug?
It also appears that the "." takes precedence over @ @Object.Foo
is equal to
@(Object.Foo)
well otherwise it could not compile
