Improve handling parameters clashing with language keywords
Previously, only Python tried to preserve the original parameter name (by prepending or appending an underscore to it, but otherwise keeping the original name) if it conflicted with one of the language keywords, while all the other languages replaced the parameter name with a meaningless "argN" in this case. Now do this for all languages as this results in more readable generated code and there doesn't seem to be any reason to restrict this to Python only.
This commit is contained in:
parent
fa0c3fe5c2
commit
3f5c17824c
2 changed files with 9 additions and 18 deletions
|
|
@ -1591,21 +1591,6 @@ public:
|
|||
return ds;
|
||||
}
|
||||
|
||||
virtual String *makeParameterName(Node *n, Parm *p, int arg_num, bool = false) const {
|
||||
// For the keyword arguments, we want to preserve the names as much as possible,
|
||||
// so we only minimally rename them in Swig_name_make(), e.g. replacing "keyword"
|
||||
// with "_keyword" if they have any name at all.
|
||||
if (check_kwargs(n)) {
|
||||
String *name = Getattr(p, "name");
|
||||
if (name)
|
||||
return Swig_name_make(p, 0, name, 0, 0);
|
||||
}
|
||||
|
||||
// For the other cases use the general function which replaces arguments whose
|
||||
// names clash with keywords with (less useful) "argN".
|
||||
return Language::makeParameterName(n, p, arg_num);
|
||||
}
|
||||
|
||||
/* -----------------------------------------------------------------------------
|
||||
* addMissingParameterNames()
|
||||
*
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue