[Mono-devel-list] CLS compliance
olaf at atozed.com
Wed Jun 15 05:44:09 EDT 2005
Atsushi Eno wrote:
> The same argument about pascal compiler bug was there.
Sorry, I was not yet subscribed to this list when that was discussed.
However, this is not really about XML.MiniParser - its just an example,
other spots with the same issue may exist.
Its not really a Pascal compiler bug btw. (besides that the "error"
should be labled a "warning", which is currently under discussion)
>> I did not try to find out what CLS compliancy requirements are not met
>> in detail, but there is one which causes this class to be less usable
>> with some .NET languages:
> This is not true. Microsoft VBC did not complain anything.
Huh? Where did I mention VBC? Even if it did not complain, it does not
mean that this works. Did you try to access line *and* Line from VB?
>> ps: the [CLSCompliant(*false*)] correctly declares that piece of code
>> to be non-compliant, but of course it does not make Pascal-compilers
>> case-senstive ;-)
> This should not matter. Those case insensitive compilers should
> avoid to examine those non-CLSCompliant types.
You are missing the point: If you have identifiers in *protected* or
*public* interfaces which differ by their case only, how should a
case-insensitive compiler access them? As long as you do not *touch*
them, the compiler still can produce the code though. (Basically VBC
just *hides* the fact that there are inaccessible things)
> If you were right,
> then ANY types that is not CLSCompliant must not contain such
> case-insensitively equivalent names, no?
"Must not" is relative - in private sections, you can do whatever you
want, but public/protected interfaces are the problem here - if
portability is one of the goals.
More information about the Mono-devel-list