next up previous
Next: Can't have passive Up: Proxy Generator Bugs Previous: No called name

Problem with inheritance

There are problems with the way the proxygenerator generates and checks activatable classes, where multiple inhertance means that such a class inherits also from a passive class.

The issue of how the proxy generator interacts in general with inheritance, particularly multiple inheritance, needs to be confronted.

In fact there is actually a problem with the following situation:

class A : public Activatable {
public:
A();
virtual void f();
virtual int g();
virtual real h();
};

class B : public A {
public:
B();
void f();
};
/*
 error: the proxy generated for B will not override A::g() and A::h()
*/

The problem is that the proxy generator does not yet walk up through the supertypes to override all the inherited virtual functions that are not locally overridden. For the general case, including multiple inheritance this is quite a difficult task.



send comments or suggestions to J.Poole@cs.ucl.ac.uk

Click here for more information on UCL-CS.