[lazarus] Patch win32: 'as' usage
Micha Nelissen
M.Nelissen at student.tue.nl
Sun Aug 31 10:29:03 EDT 2003
Mattias Gaertner wrote:
> On Sun, 31 Aug 2003 15:47:42 +0200
> Micha Nelissen <M.Nelissen at student.tue.nl> wrote:
>
>
>>Hi,
>>
>>Attached patch greatly reduces the usage of the 'as' operator. Goal was
>>to keep current functionality: only changes are made to those statements
>>where the type was already verified before, either by 'is' or another
>>'as'.
>>
>>Question: what assumptions can we make about function entry? Then we can
>>further reduce usage of as.
>>1) Can we assume Sender parameter is of type as FCompStyle indicates?
>>Ie. csButton is a TButton?
>
>
> Yes.
>
>
>
>>2) Can we assume basic class like TWinControl? Some function seem to
>>assume it by starting with an 'as' right at the beginning of the
>>function. It may be an idea to change 'Sender: TObject' to 'Sender:
>>TWinControl' if this is the case.
>
>
> Yes, for most functions. There are some exceptions: dialog's and menu's base
> class is only TComponent.
> Also consider that replacing an 'as' operator, that is not in a loop, will
> not get any measurable acceleration and you will loose an extra consistency
> check.
OK, I have made a new patch using assumption #1. Please apply it. I
haven't removed all 'as' usage: still half of them are there. It just
seems very paranoid to use so much 'as'.
Regards,
Micha.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bin00065.bin
Type: application/octet-stream
Size: 5074 bytes
Desc: "as.patch.gz"
Url : http://localhost/pipermail/lazarus/attachments/20030831/0b433401/bin00065.bin
More information about the Lazarus
mailing list