add/fix protected/private bases + template

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6747 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Marcelo Matus 2004-11-16 05:36:23 +00:00
commit b686ee01c5
2 changed files with 49 additions and 7 deletions

View file

@ -92,13 +92,17 @@ cparse_template_expand(Node *n, String *tname, String *rname, String *templatear
} else if (Strcmp(nodeType(n),"class") == 0) {
/* Patch base classes */
{
List *bases = Getattr(n,"baselist");
if (bases) {
int i;
for (i = 0; i < Len(bases); i++) {
String *name = Copy(Getitem(bases,i));
Setitem(bases,i,name);
Append(typelist,name);
char *baselists[] = {"baselist","protectedbaselist","privatebaselist"};
int b = 0;
for (b = 0; b < 3; ++b) {
List *bases = Getattr(n,baselists[b]);
if (bases) {
int i;
for (i = 0; i < Len(bases); i++) {
String *name = Copy(Getitem(bases,i));
Setitem(bases,i,name);
Append(typelist,name);
}
}
}
}