Remove unnecessary interfaces for concrete classes

Add Java test for checking expected base and interfaces are generated (to be expanded further)
In the example, E was previously implementing IA, IB, IC. Now it doesn't implement any.
C# virtual/override still to be fixed for this test case
This commit is contained in:
William S Fulton 2016-02-10 19:52:52 +00:00
commit 3931b5800c
5 changed files with 117 additions and 8 deletions

View file

@ -1726,6 +1726,7 @@ public:
}
void addInterfaceNameAndUpcasts(String *interface_list, String *interface_upcasts, Hash *base_list, String *c_classname) {
// Printf(stdout, "addInterfaceNameAndUpcasts %s base_list", c_classname);
List *keys = Keys(base_list);
for (Iterator it = First(keys); it.item; it = Next(it)) {
Node *base = Getattr(base_list, it.item);
@ -1764,6 +1765,7 @@ public:
Delete(upcast_method);
Delete(c_baseclass);
}
// Printf(stdout, " => %s\n", interface_list);
Delete(keys);
}