Moved the code for defining Ruby method aliases out into a separate function.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4243 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
8afc2083b9
commit
a77bc8c3e1
1 changed files with 21 additions and 15 deletions
|
|
@ -429,6 +429,26 @@ public:
|
|||
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)
|
||||
*
|
||||
|
|
@ -485,21 +505,7 @@ public:
|
|||
break;
|
||||
}
|
||||
|
||||
/* Process the comma-separated list of aliases (if any) */
|
||||
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);
|
||||
}
|
||||
defineAliases(n, iname);
|
||||
|
||||
Delete(temp);
|
||||
Delete(s);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue