[omniORB] IDL formal parameter name clash
Brian Wallis
brian.wallis at ot.com.au
Tue May 3 12:41:15 BST 2005
On Friday 29 April 2005 9:00 pm, Duncan Grisby <duncan at grisby.org> wrote:
> omniidl is correct. Using the module name introduces it into the scope
> of the operation parameters. See section 3.15.2 of the CORBA 2.6 spec.
> It says:
Hmm. I did read that section and wondered if it applied to formal parameter
names. I'm not convinced that it does.
Does the formal parameter name introduce a name into the scope that can be
used for anything? I thought formal parameter names are just a placeholder in
the IDL.
I've tried a number of other IDL compilers (TAO 1.4.4, JDK 1.4.2 and 1.5 idlj,
fnorb fnidl 1.3) that are happy with this. Orbix 2000 1.2.3 on the other hand
gets an error.
But on testing, If I modify the IDL like so:
module aSAP {
typedef long ASAP_T;
};
interface Test {
void getASAP(
in string aSAPName,
out ::aSAP::ASAP_T aSAP);
};
ie: explicitly scope the aSAP module to global scope then everyone is happy
including omniORB. I suppose that in this case the aSAP module name is not
introduced into that scope?
All somewhat beside the point since I shouldn't need to modify IDL that is
part of a published standard (TMF814). Perhaps I need to bug report this to
the TMF.
--
brian wallis...
Open Telecommunications
http://www.ot.com.au/
More information about the omniORB-list
mailing list