fix previous overload +protected member issue, as reported by Colin McDonald
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8855 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
95815dd5a2
commit
60fca08fd8
2 changed files with 3 additions and 2 deletions
|
|
@ -171,6 +171,7 @@ long long ll(long long ull) { return ull; }
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
ClassA() {}
|
ClassA() {}
|
||||||
|
int method1( ) {return 0;}
|
||||||
int method1( int arg1 ) {return arg1;}
|
int method1( int arg1 ) {return arg1;}
|
||||||
protected:
|
protected:
|
||||||
int method1( int arg1, int arg2 ) {return arg1 + arg2;}
|
int method1( int arg1, int arg2 ) {return arg1 + arg2;}
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ int is_member_director(Node* parentnode, Node* member)
|
||||||
if (parentnode && checkAttribute(member, "storage", "virtual")) {
|
if (parentnode && checkAttribute(member, "storage", "virtual")) {
|
||||||
int parent_nodirector = GetFlag(parentnode,"feature:nodirector");
|
int parent_nodirector = GetFlag(parentnode,"feature:nodirector");
|
||||||
if (parent_nodirector) return 0;
|
if (parent_nodirector) return 0;
|
||||||
int parent_director = director_mode || GetFlag(parentnode,"feature:director");
|
int parent_director = director_mode && GetFlag(parentnode,"feature:director");
|
||||||
int cdecl_director = parent_director || GetFlag(member,"feature:director");
|
int cdecl_director = parent_director || GetFlag(member,"feature:director");
|
||||||
int cdecl_nodirector = GetFlag(member,"feature:nodirector");
|
int cdecl_nodirector = GetFlag(member,"feature:nodirector");
|
||||||
return cdecl_director && !cdecl_nodirector;
|
return cdecl_director && !cdecl_nodirector;
|
||||||
|
|
@ -53,7 +53,7 @@ void clean_overloaded(Node *n) {
|
||||||
if ((GetFlag(nn,"feature:ignore")) ||
|
if ((GetFlag(nn,"feature:ignore")) ||
|
||||||
(Getattr(nn,"error")) ||
|
(Getattr(nn,"error")) ||
|
||||||
(Strcmp(ntype,"template") == 0) ||
|
(Strcmp(ntype,"template") == 0) ||
|
||||||
((Strcmp(ntype,"cdecl") == 0) && is_protected(n) && !is_member_director(n)) ||
|
((Strcmp(ntype,"cdecl") == 0) && is_protected(nn) && !is_member_director(nn)) ||
|
||||||
((Strcmp(ntype,"using") == 0) && !firstChild(nn))) {
|
((Strcmp(ntype,"using") == 0) && !firstChild(nn))) {
|
||||||
/* Remove from overloaded list */
|
/* Remove from overloaded list */
|
||||||
Node *ps = Getattr(nn,"sym:previousSibling");
|
Node *ps = Getattr(nn,"sym:previousSibling");
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue