Moved the code for defining Ruby method aliases out into a separate function.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@4243 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
21718b73da
commit
3e7faf2ad0
1 changed files with 21 additions and 15 deletions
|
|
@ -429,6 +429,26 @@ public:
|
||||||
return SWIG_NOWRAP;
|
return SWIG_NOWRAP;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Process the comma-separated list of aliases (if any).
|
||||||
|
*/
|
||||||
|
void defineAliases(Node *n, const String_or_char *iname) {
|
||||||
|
String *aliasv = Getattr(n,"feature:alias");
|
||||||
|
if (aliasv) {
|
||||||
|
List *aliases = Split(aliasv,',',INT_MAX);
|
||||||
|
if (aliases && Len(aliases) > 0) {
|
||||||
|
String *alias = Firstitem(aliases);
|
||||||
|
while (alias) {
|
||||||
|
if (Len(alias) > 0) {
|
||||||
|
Printv(klass->init, tab4, "rb_define_alias(", klass->vname, ", \"", alias, "\", \"", iname, "\");\n", NIL);
|
||||||
|
}
|
||||||
|
alias = Nextitem(aliases);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Delete(aliases);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* ---------------------------------------------------------------------
|
/* ---------------------------------------------------------------------
|
||||||
* create_command(Node *n, char *iname)
|
* create_command(Node *n, char *iname)
|
||||||
*
|
*
|
||||||
|
|
@ -485,21 +505,7 @@ public:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Process the comma-separated list of aliases (if any) */
|
defineAliases(n, iname);
|
||||||
String *aliasv = Getattr(n,"feature:alias");
|
|
||||||
if (aliasv) {
|
|
||||||
List *aliases = Split(aliasv,',',INT_MAX);
|
|
||||||
if (aliases && Len(aliases) > 0) {
|
|
||||||
String *alias = Firstitem(aliases);
|
|
||||||
while (alias) {
|
|
||||||
if (Len(alias) > 0) {
|
|
||||||
Printv(klass->init, tab4, "rb_define_alias(", klass->vname, ", \"", alias, "\", \"", iname, "\");\n", NIL);
|
|
||||||
}
|
|
||||||
alias = Nextitem(aliases);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Delete(aliases);
|
|
||||||
}
|
|
||||||
|
|
||||||
Delete(temp);
|
Delete(temp);
|
||||||
Delete(s);
|
Delete(s);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue