Fix some bugs since change of vtable to use List instead of Hash

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@9409 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
William S Fulton 2006-10-04 17:32:47 +00:00
commit 1137bf3ec8

View file

@ -1832,6 +1832,8 @@ int Language::unrollVirtualMethods(Node *n,
} else { } else {
/* or just delete from the vm, since is not a director method */ /* or just delete from the vm, since is not a director method */
Delitem(vm, i); Delitem(vm, i);
len--;
i--;
} }
} }
} }
@ -2472,9 +2474,8 @@ int Language::constructorDeclaration(Node *n) {
} }
Delete(base); Delete(base);
} }
/* Only create a constructor if the class is not abstract */ /* Only create a constructor if the class is not abstract */
if (!Abstract) { if (!Abstract) {
Node *over; Node *over;
over = Swig_symbol_isoverloaded(n); over = Swig_symbol_isoverloaded(n);
@ -3212,6 +3213,14 @@ int Language::abstractClassTest(Node *n) {
break; break;
} }
} }
#ifdef SWIG_DEBUG
Printf(stderr,"method %s %d\n",method_id,exists_item ? 1 : 0);
#endif
Delete(method_id);
if (!exists_item) {
dirabstract = ni;
break;
}
} }
if (dirabstract) { if (dirabstract) {
if (is_public(dirabstract)) { if (is_public(dirabstract)) {