[fpc-devel] Suggestion for change: Overly strict check
Michael Van Canneyt
michael at freepascal.org
Thu Sep 28 11:40:54 CEST 2006
On Wed, 27 Sep 2006, Christian Iversen wrote:
>
> Hi all.
>
> I was hoping there could be a discussion of a certain feature in FPC, which
> doesn't work very well for us. Ultimately, I would like to see it gone
> completely. It's a very small extra-strong syntax check, appearantly
> implemented to avoid bad code. However, it's not entirely obvious why this is
> supposed to help.
>
> Please consider this example:
>
> type
> tfoo = class(tbar)
> private
> public
> procedure Frob();
> procedure Wait(delay: integer);
> procedure ReadStuff(buffer: tbuffer; wait: boolean);
> end;
>
> When declaring classes or interfaces, it is specifically checked that the
> names of methods are NOT the same as _any_ variable name of _any_ other
> method in the class. This means that the example above will NOT compile.
>
>
> Now, in Delphi mode this check is not performed, and so the code above will
> compile without problems.
So, compile using Delphi mode. What's the problem ?
The check ensures that the namespace of the class is cleaner than in Delphi.
I have had several live examples where FPC has caught a bug in my Delphi code
like this.
So it stays in as far as I'm concerned, I think it is a very good check.
At the best, we could provide a command-line switch or directive to disable
or enable this check, but I would not recommend this at all.
Michael.
More information about the fpc-devel
mailing list