flag the memberget/memberset methods and use it to deactivate kwargs, reported by amaury

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8257 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Marcelo Matus 2006-01-06 16:55:58 +00:00
commit 68396be600
3 changed files with 7 additions and 2 deletions

View file

@ -2,9 +2,10 @@
%kwargs; %kwargs;
%rename(myDel) del;
%inline %inline
{ {
struct s { int a; }; struct s { int del; };
} }

View file

@ -1270,6 +1270,7 @@ Language::membervariableHandler(Node *n) {
} }
Swig_MembersetToFunction(n,ClassType, flags); Swig_MembersetToFunction(n,ClassType, flags);
Setattr(n,"memberset", "1");
if (!Extend) { if (!Extend) {
/* Check for a member in typemap here */ /* Check for a member in typemap here */
@ -1320,6 +1321,7 @@ Language::membervariableHandler(Node *n) {
Swig_MembergetToFunction(n,ClassType, flags); Swig_MembergetToFunction(n,ClassType, flags);
Setattr(n,"sym:name", mrename_get); Setattr(n,"sym:name", mrename_get);
Setattr(n,"memberget", "1");
functionWrapper(n); functionWrapper(n);
} }
Delete(mrename_get); Delete(mrename_get);

View file

@ -1269,7 +1269,9 @@ public:
* ------------------------------------------------------------ */ * ------------------------------------------------------------ */
int check_kwargs(Node *n) { int check_kwargs(Node *n) {
return (use_kw || GetFlag(n,"feature:kwargs")); return (use_kw || GetFlag(n,"feature:kwargs"))
&& !GetFlag(n,"memberset") && !GetFlag(n,"memberget")
&& !checkAttribute(n,"nodeType","destructor");
} }