Bug 1371 - Incorrect code generated for AMI with interface inheritance
Summary: Incorrect code generated for AMI with interface inheritance
Status: RESOLVED FIXED
Alias: None
Product: TAO
Classification: Unclassified
Component: IDL Compiler (show other bugs)
Version: 1.2.5
Hardware: All All
: P3 normal
Assignee: Jeff Parsons
URL:
Depends on:
Blocks: 1277
  Show dependency tree
 
Reported: 2002-11-22 12:59 CST by Carlos O'Ryan
Modified: 2002-11-22 15:36 CST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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].