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:
Logan Johnson 2003-01-28 15:07:20 +00:00
commit a77bc8c3e1

View file

@ -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);