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