[Lazarus] Mac OS X or iPhone applications created with Lazarus
Graeme Geldenhuys
graemeg.lists at gmail.com
Mon Mar 23 17:52:58 CET 2009
Codetools has a feature, that tries to keep track of renamed or altered
declaration of procedures.
If you change the name of a procedure inside the object declaration, and
then press code-completion => Codetools will see the old method in the
implementation.. It will detect that the old method no longer has a
declaration, and assume it must have been renamed.
It changes the old implementation to match the new declaration
type
TA = Class
public
//Procedure bar(a: Integer);
procedure foo; virtual;
end;
implementation
procedure TA.bar(a: Integer);
begin
end;
In this example TA.bar will be updated to TA.foo.
It would be create if it was possible to disable this feature. (I'll
bring it up for discussion here, before filing a feature request)
Personally I think this doubles the refactor/"rename identifier" tool.
And I had several occasions where this feature did more harm than use.
For example when I extract parts of a class, into another class, I have
to remove a lot of methods and introduce some new ones. (For the new
ones I use code-completion)
Without this function, if I forget the body of an old/removed method,
the compiler gives a warning.
With it, code tools has renamed the "not-deleted-implementation" to one
of the new methods; and I spend valuable time to find out where that
code comes from.
Best Regards
Martin
More information about the Lazarus
mailing list