...The OB4 IDL translator is correct, the IDL is illegal. "Switch" clashes with the keyword "switch", and the type "InterfaceType" with the declarator "interfaceType". Case does not matter, IDL is case-insensitive when detecting name clashes...
I talked with Marcel who forwarded it to jacORB. They answered
Today, Marcel Ruff wrote in an email addressed to 'JacORB': > > is the IDL usually case insensitiv or not? IDL is a mixed bag, it is both case sensitive and case insensitive. This was done to allow simple mappings to both kinds of programing languages, those that are and those that are not case sensitive. The first rule is that in a given scope an identifier must always be spelled in exactly the same way including case. This is the case sensitive aspect of IDL. The second rule is that it is illegal for two identifiers in the same scope to differ only in case. This is the case insensitive aspect of IDL: For the purpose of detecting name clashes case does not matter. > doSomething(MyStruct myStruct) > > is this allowed? No, this is illegal. > JacORB and MICO take it without problems, > > Orbacus claims this is wrong: > > Who is right? Orbacus is right. Joachim -- joachim at kraut.bc.ca (http://www.kraut.bc.ca) joachim at mercury.bc.ca (http://www.mercury.bc.ca)
This means that the messageUnit and messageUnitArr are not legal
names in IDL and even jacORB and MICO who are erroneously accepting them
today might complain tomorrow.
Cheers
Michele
-- ------------------------------------------------- Michele Laghi Av. Benavides 163 dpto. 301 MIRAFLORES-LIMA (PERU) tel. +51 1 4463956 e-mail: michele.laghi at attglobal.net -------------------------------------------------