diff --git a/Examples/test-suite/director_basic.i b/Examples/test-suite/director_basic.i index 12cb0db65..56864f4a7 100644 --- a/Examples/test-suite/director_basic.i +++ b/Examples/test-suite/director_basic.i @@ -10,7 +10,7 @@ virtual std::string ping() { return "Foo::ping()"; } virtual std::string pong() { return "Foo::pong();" + ping(); } - static Foo* get_self(Foo *self) {return self;} + static Foo* get_self(Foo *slf) {return slf;} }; @@ -27,7 +27,7 @@ virtual std::string ping(); virtual std::string pong(); - static Foo* get_self(Foo *self); + static Foo* get_self(Foo *slf); }; diff --git a/Lib/cpointer.i b/Lib/cpointer.i index 6b15a8417..881c511fc 100644 --- a/Lib/cpointer.i +++ b/Lib/cpointer.i @@ -55,14 +55,14 @@ NAME() { return new TYPE(); } ~NAME() { - if (self) delete self; + if ($self) delete $self; } #else NAME() { return (TYPE *) calloc(1,sizeof(TYPE)); } ~NAME() { - if (self) free(self); + if ($self) free($self); } #endif } @@ -70,13 +70,13 @@ NAME() { %extend NAME { void assign(TYPE value) { - *self = value; + *$self = value; } TYPE value() { - return *self; + return *$self; } TYPE * cast() { - return self; + return $self; } static NAME * frompointer(TYPE *t) { return (NAME *) t; @@ -126,34 +126,34 @@ static TYPE *copy_##NAME(TYPE value) { %} #ifdef __cplusplus %{ return new TYPE(value); %} #else -%{ TYPE *self = (TYPE *) calloc(1,sizeof(TYPE)); - *self = value; - return self; %} +%{ TYPE *obj = (TYPE *) calloc(1,sizeof(TYPE)); + *obj = value; + return obj; %} #endif %{} -static void delete_##NAME(TYPE *self) { %} +static void delete_##NAME(TYPE *obj) { %} #ifdef __cplusplus -%{ if (self) delete self; %} +%{ if (obj) delete obj; %} #else -%{ if (self) free(self); %} +%{ if (obj) free(obj); %} #endif %{} -static void NAME ##_assign(TYPE *self, TYPE value) { - *self = value; +static void NAME ##_assign(TYPE *obj, TYPE value) { + *obj = value; } -static TYPE NAME ##_value(TYPE *self) { - return *self; +static TYPE NAME ##_value(TYPE *obj) { + return *obj; } %} TYPE *new_##NAME(); TYPE *copy_##NAME(TYPE value); -void delete_##NAME(TYPE *self); -void NAME##_assign(TYPE *self, TYPE value); -TYPE NAME##_value(TYPE *self); +void delete_##NAME(TYPE *obj); +void NAME##_assign(TYPE *obj, TYPE value); +TYPE NAME##_value(TYPE *obj); %enddef diff --git a/Lib/typemaps/cpointer.swg b/Lib/typemaps/cpointer.swg index f797a6895..94bbbd6bc 100644 --- a/Lib/typemaps/cpointer.swg +++ b/Lib/typemaps/cpointer.swg @@ -55,20 +55,20 @@ typedef struct { return %new_instance(TYPE); } ~NAME() { - if (self) %delete(self); + if ($self) %delete($self); } } %extend NAME { void assign(TYPE value) { - *self = value; + *$self = value; } TYPE value() { - return *self; + return *$self; } TYPE * cast() { - return self; + return $self; } static NAME * frompointer(TYPE *t) { return (NAME *) t; @@ -113,24 +113,24 @@ typedef struct { return %new_copy(value, TYPE); } - static void delete_##NAME(TYPE *self) { - if (self) %delete(self); + static void delete_##NAME(TYPE *obj) { + if (obj) %delete(obj); } - static void NAME ##_assign(TYPE *self, TYPE value) { - *self = value; + static void NAME ##_assign(TYPE *obj, TYPE value) { + *obj = value; } - static TYPE NAME ##_value(TYPE *self) { - return *self; + static TYPE NAME ##_value(TYPE *obj) { + return *obj; } %} TYPE *new_##NAME(); TYPE *copy_##NAME(TYPE value); -void delete_##NAME(TYPE *self); -void NAME##_assign(TYPE *self, TYPE value); -TYPE NAME##_value(TYPE *self); +void delete_##NAME(TYPE *obj); +void NAME##_assign(TYPE *obj, TYPE value); +TYPE NAME##_value(TYPE *obj); %enddef diff --git a/Source/Modules/ruby.cxx b/Source/Modules/ruby.cxx index f9582b8f4..5520ff2dc 100644 --- a/Source/Modules/ruby.cxx +++ b/Source/Modules/ruby.cxx @@ -657,9 +657,9 @@ private: Printf(doc, " %s.new(%s)", class_name, paramList); else Printf(doc, " %s.new", class_name); - } else - Printf(doc, " %s.new(%s)", class_name, - make_autodocParmList(n, showTypes)); + } else { + Printf(doc, " %s.new(%s)", class_name, make_autodocParmList(n, showTypes)); + } break; case AUTODOC_DTOR: @@ -2640,9 +2640,12 @@ public: current = CONSTRUCTOR_ALLOCATE; Swig_name_register("construct", "%n%c_allocate"); - Language::constructorHandler(n); + String* docs = docstring(n, AUTODOC_CTOR); + Printf(f_wrappers, "%s", docs); + Delete(docs); + /* * If we're wrapping the constructor of a C++ director class, prepend a new parameter * to receive the scripting language object (e.g. 'self') @@ -2665,13 +2668,7 @@ public: Delete(self); } - - /* Now do the instance initialize method */ - String* docs = docstring(n, AUTODOC_CTOR); - Printf(f_wrappers, "%s", docs); - Delete(docs); - current = CONSTRUCTOR_INITIALIZE; Swig_name_register("construct", "new_%n%c"); Language::constructorHandler(n);