On Sat, 6 Jul 2019, Ryan Joseph wrote:

Sorry to ask again but has it been decided that this code should *not* be 
allowed for ObjFPC mode? I’ll file a bug report right now if so. It will break 
existing code but when my patch gets applied it can be added back using proper 
properties.

     function GetValue(k0: variant): TJSON; overload;
     function GetValue(k0,k1: variant): TJSON; overload;
     function GetValue(k0,k1,k2: variant): TJSON; overload;
     function GetValue(k0,k1,k2,k3: variant): TJSON; overload;
     property Values[key: variant]: TJSON read GetValue; default;

Why should this declaration not be allowed ?

Only the first GetValue() should be called, of course.

i.e. statement 1:
A:=Values[MyVariant]
must work

but e.g. statement 2:
A:=Values[MyVariant1,MyVariant2]
must not work.

Only if overloaded array properties are allowed
   property Values[key: variant]: TJSON read GetValue; default;
   property Values[key1,key2: variant]: TJSON read GetValue; default;
may the second statement be accepted.

Michael.
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to