fix overload + protected member issue reported by Colin McDonald
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8851 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
a66fa50a8c
commit
0e217ce9fb
3 changed files with 22 additions and 4 deletions
|
|
@ -49,10 +49,12 @@ void clean_overloaded(Node *n) {
|
|||
Node *first = 0;
|
||||
int cnt = 0;
|
||||
while (nn) {
|
||||
if ((Strcmp(nodeType(nn),"template") == 0) ||
|
||||
(GetFlag(nn,"feature:ignore")) ||
|
||||
String *ntype = nodeType(nn);
|
||||
if ((GetFlag(nn,"feature:ignore")) ||
|
||||
(Getattr(nn,"error")) ||
|
||||
((Strcmp(nodeType(nn),"using") == 0) && !firstChild(nn))) {
|
||||
(Strcmp(ntype,"template") == 0) ||
|
||||
((Strcmp(ntype,"cdecl") == 0) && is_protected(n) && !is_member_director(n)) ||
|
||||
((Strcmp(ntype,"using") == 0) && !firstChild(nn))) {
|
||||
/* Remove from overloaded list */
|
||||
Node *ps = Getattr(nn,"sym:previousSibling");
|
||||
Node *ns = Getattr(nn,"sym:nextSibling");
|
||||
|
|
@ -67,7 +69,7 @@ void clean_overloaded(Node *n) {
|
|||
Delattr(nn,"sym:overloaded");
|
||||
nn = ns;
|
||||
continue;
|
||||
} else if ((Strcmp(nodeType(nn),"using") == 0)) {
|
||||
} else if ((Strcmp(ntype,"using") == 0)) {
|
||||
/* A possibly dangerous parse tree hack. We're going to
|
||||
cut the parse tree node out and stick in the resolved
|
||||
using declarations */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue