[fpc-devel] mode Delphi, property overload, and svn 19564
David Jenkins
david at scootersoftware.com
Mon Apr 25 23:52:41 CEST 2016
I was trying to compile code with overloaded properties:
MyClass = class
function GetX(idx: integer): integer;
function GetX(idxStr: string): integer;
public
property X[ id : integer] : integer read GetX;
property X[ id : string] : integer read GetX;
end;
I got the 'duplicate X' error. I googled and found that previously this
should compile with {$mode delphi} (a google hit from before 2011).
However setting mode delphi resulted in the same error.
Digging around in the compiler code and the repository I found SVN rev
19564 which was responding to Mantis 20580. I verified that the lines
removed from symtable.pas:tObjectSymtable.checkduplicate lines 1298 -
1301 seem to have been the same code that allowed overloaded properties
in Delphi mode (I stuck them back in and I was able to compile my
overloaded properties code).
So the question is:
Mantis 20580 & SVN 19564 are about duplicate symbols but not overloaded
properties in particular. However overloaded properties in mode Delphi
appear to have gone away with that change. Was this intentional? (I
tried to find discussion on this and couldn't).
I guess the other question would be if I am right that overloaded
properties in mode delphi don't work since that change.
This is not critical to my work just something I ran across and wanted
to get some clarification. I saw several discussions that indicated
that overloaded properties are not available for objfpc (and not
intended to be available). But I couldn't find anything recent about
whether it was still intended to be available for mode delphi.
Thanks
David Jenkins
More information about the fpc-devel
mailing list