Bug 2231

Summary: Possible IDL change
Product: TAO Reporter: Johnny Willemsen <jwillemsen>
Component: IDL CompilerAssignee: DOC Center Support List (internal) <tao-support>
Status: NEW ---    
Severity: normal    
Priority: P3    
Version: 1.4.7   
Hardware: All   
OS: All   

Description Johnny Willemsen 2005-09-02 05:12:57 CDT
Storing this for after my vaction. Instead of having are traits in the core libs
that depend on Any, let the IDL compiler generate the arg traits also for the
basic types when needed. Need to investigate whether this doesn't add more
footprint, it will lead to more generated code.

> 
> > > > > My idea is to only have the Arg_Traits in the core lib for 
> > > > > the stuff we use
> > > > > there ourselves, the remaining is then generated by the IDL 
> > > > > compiler. This
> > > > > also for the basic types. This will mean more generation of 
> > > > > code, but will
> > > > > this also lead to a bigger footprint? Is this doable? What 
> > > > > are your ideas?
> > > > 
> > > > If I understand you correctly, you suggest having the 
> IDL compiler
> > > > generate arg traits for some basic types, but not others. 
> > > 
> > > I have thought a little bit more about this, I want to 
> > > propose to let the
> > > IDL compiler generate all Arg_Traits, so that we don't have 
> > > any at all in
> > > the core TAO lib. This will lead to some bigger generated 
> > > files, but will
> > > reduce the number of methods in the AnyTypeCode adapter which 
> > > will help a
> > > lot.
> > 
> > I realize that if we left all the arg traits out of generated
> > code, we would have an adapter class with lots of operations,
> > but they will be coded once, I'm not sure I see why you think
> > putting them always in generated code is better.
> 
> That way we don't have to bother about the fact that the user 
> links in the
> AnyTypeCode library and that the static initializer is called 
> to load the
> AnyTypeCode library on demand. We just generate an include of 
> a file in the
> AnyTypeCode library and that just uses the normal <<= insertion.

Okay, that makes sense. It may take me a couple of days to get
this done.

Jeff
Comment 1 Johnny Willemsen 2005-09-02 05:13:10 CDT
reassign to myself
Comment 2 Johnny Willemsen 2006-04-05 09:16:17 CDT
accept
Comment 3 Johnny Willemsen 2007-04-11 06:01:45 CDT
to pool