[lazarus] Patch win32: 'as' usage

Mattias Gaertner nc-gaertnma at netcologne.de
Sun Aug 31 10:52:36 EDT 2003


On Sun, 31 Aug 2003 16:29:17 +0200
Micha Nelissen <M.Nelissen at student.tue.nl> wrote:

> 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. 

Done.


> I 
> haven't removed all 'as' usage: still half of them are there. It just 
> seems very paranoid to use so much 'as'.

You should see the gtk lib code. ;)


Mattias






More information about the Lazarus mailing list