[Lazarus] Type helper now work with CodeTools?
Ondrej Pokorny
lazarus at kluug.net
Sat Oct 17 09:41:34 CEST 2015
On 17.10.2015 09:28, Sven Barth wrote:
> Also for numbers and enums?
>
> > It still looks strange to me.
>
> Well... It's a logical extension of the type helpers however (and
> Delphi compatible). The only critical part is that literal constants
> don't have a type per se and thus the chosen helper might be different
> :/ (e.g. an Int16 helper when one expected an Int32 one or so...)
>
For numbers, IMO it is over-complicated... Code like
15.Power2;
seems strange to me as well.
But it is definitely needed for enums:
program project1;
{$mode delphi}
type
TMyEnum = (eOne, eTwo, eThree);
TMyEnumHelper = record helper for TMyEnum
public
class function One: TMyEnum; static;
end;
{ TMyEnumHelper }
class function TMyEnumHelper.One: TMyEnum;
begin
Result := eOne;
end;
var
e: TMyEnum;
begin
e.|
TMyEnum.|;
end.
-> doesn't work for me. (I am not sure if it is a regression, though. I
don't remember everything. Nevertheless, it should work.)
Ondrej
More information about the Lazarus
mailing list