From a77bc8c3e101bf613f63aede254c8a9031437912 Mon Sep 17 00:00:00 2001 From: Logan Johnson Date: Tue, 28 Jan 2003 15:07:20 +0000 Subject: [PATCH] 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 --- Source/Modules/ruby.cxx | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/Source/Modules/ruby.cxx b/Source/Modules/ruby.cxx index e4eaf77af..e831b1b66 100644 --- a/Source/Modules/ruby.cxx +++ b/Source/Modules/ruby.cxx @@ -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);