Bug 1371

Summary: Incorrect code generated for AMI with interface inheritance
Product: TAO Reporter: Carlos O'Ryan <coryan>
Component: IDL CompilerAssignee: Jeff Parsons <parsons>
Status: RESOLVED FIXED    
Severity: normal    
Priority: P3    
Version: 1.2.5   
Hardware: All   
OS: All   
Bug Depends on:    
Bug Blocks: 1277    

Description Carlos O'Ryan 2002-11-22 12:59:58 CST
Consider IDL as follows:

interface Foo {
 void operation(in long x);
};

interface Bar : Foo {
  void method(in short y);
};

The implied IDL should be:

interface AMI_BarHandler : AMI_FooHandler {
};

however TAO generates code as if it was:

interface AMI_BarHandler {
};

This is dead wrong and makes it impossible to use an AMI_BarHandler in the
Foo::sendc_operation()
Comment 1 Jeff Parsons 2002-11-22 15:36:28 CST
Fixed.

Fri Nov 22 15:30:28 2002  Jeff Parsons <parsons@isis-server.isis.vanderbilt.edu>

        * TAO_IDL/be/be_visitor_ami_pre_proc.cpp:

          Fixed the creation of the inheritance list for the implied
          AMI reply handler interface. It now inherits from the
          reply handler of each of the original interface's parents. Thanks
          to Carlos O'Ryan <coryan@atdesk> for pointing out the bug. This closes
          [BUGID:1371].