Remove warning: 'self' is a ruby keyword, renaming to 'C_self' since improving autodoc for Ruby

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12882 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
William S Fulton 2011-12-21 22:01:27 +00:00
commit a5f8ffba91
4 changed files with 40 additions and 43 deletions

View file

@ -10,7 +10,7 @@
virtual std::string ping() { return "Foo::ping()"; } virtual std::string ping() { return "Foo::ping()"; }
virtual std::string pong() { return "Foo::pong();" + 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 ping();
virtual std::string pong(); virtual std::string pong();
static Foo* get_self(Foo *self); static Foo* get_self(Foo *slf);
}; };

View file

@ -55,14 +55,14 @@ NAME() {
return new TYPE(); return new TYPE();
} }
~NAME() { ~NAME() {
if (self) delete self; if ($self) delete $self;
} }
#else #else
NAME() { NAME() {
return (TYPE *) calloc(1,sizeof(TYPE)); return (TYPE *) calloc(1,sizeof(TYPE));
} }
~NAME() { ~NAME() {
if (self) free(self); if ($self) free($self);
} }
#endif #endif
} }
@ -70,13 +70,13 @@ NAME() {
%extend NAME { %extend NAME {
void assign(TYPE value) { void assign(TYPE value) {
*self = value; *$self = value;
} }
TYPE value() { TYPE value() {
return *self; return *$self;
} }
TYPE * cast() { TYPE * cast() {
return self; return $self;
} }
static NAME * frompointer(TYPE *t) { static NAME * frompointer(TYPE *t) {
return (NAME *) t; return (NAME *) t;
@ -126,34 +126,34 @@ static TYPE *copy_##NAME(TYPE value) { %}
#ifdef __cplusplus #ifdef __cplusplus
%{ return new TYPE(value); %} %{ return new TYPE(value); %}
#else #else
%{ TYPE *self = (TYPE *) calloc(1,sizeof(TYPE)); %{ TYPE *obj = (TYPE *) calloc(1,sizeof(TYPE));
*self = value; *obj = value;
return self; %} return obj; %}
#endif #endif
%{} %{}
static void delete_##NAME(TYPE *self) { %} static void delete_##NAME(TYPE *obj) { %}
#ifdef __cplusplus #ifdef __cplusplus
%{ if (self) delete self; %} %{ if (obj) delete obj; %}
#else #else
%{ if (self) free(self); %} %{ if (obj) free(obj); %}
#endif #endif
%{} %{}
static void NAME ##_assign(TYPE *self, TYPE value) { static void NAME ##_assign(TYPE *obj, TYPE value) {
*self = value; *obj = value;
} }
static TYPE NAME ##_value(TYPE *self) { static TYPE NAME ##_value(TYPE *obj) {
return *self; return *obj;
} }
%} %}
TYPE *new_##NAME(); TYPE *new_##NAME();
TYPE *copy_##NAME(TYPE value); TYPE *copy_##NAME(TYPE value);
void delete_##NAME(TYPE *self); void delete_##NAME(TYPE *obj);
void NAME##_assign(TYPE *self, TYPE value); void NAME##_assign(TYPE *obj, TYPE value);
TYPE NAME##_value(TYPE *self); TYPE NAME##_value(TYPE *obj);
%enddef %enddef

View file

@ -55,20 +55,20 @@ typedef struct {
return %new_instance(TYPE); return %new_instance(TYPE);
} }
~NAME() { ~NAME() {
if (self) %delete(self); if ($self) %delete($self);
} }
} }
%extend NAME { %extend NAME {
void assign(TYPE value) { void assign(TYPE value) {
*self = value; *$self = value;
} }
TYPE value() { TYPE value() {
return *self; return *$self;
} }
TYPE * cast() { TYPE * cast() {
return self; return $self;
} }
static NAME * frompointer(TYPE *t) { static NAME * frompointer(TYPE *t) {
return (NAME *) t; return (NAME *) t;
@ -113,24 +113,24 @@ typedef struct {
return %new_copy(value, TYPE); return %new_copy(value, TYPE);
} }
static void delete_##NAME(TYPE *self) { static void delete_##NAME(TYPE *obj) {
if (self) %delete(self); if (obj) %delete(obj);
} }
static void NAME ##_assign(TYPE *self, TYPE value) { static void NAME ##_assign(TYPE *obj, TYPE value) {
*self = value; *obj = value;
} }
static TYPE NAME ##_value(TYPE *self) { static TYPE NAME ##_value(TYPE *obj) {
return *self; return *obj;
} }
%} %}
TYPE *new_##NAME(); TYPE *new_##NAME();
TYPE *copy_##NAME(TYPE value); TYPE *copy_##NAME(TYPE value);
void delete_##NAME(TYPE *self); void delete_##NAME(TYPE *obj);
void NAME##_assign(TYPE *self, TYPE value); void NAME##_assign(TYPE *obj, TYPE value);
TYPE NAME##_value(TYPE *self); TYPE NAME##_value(TYPE *obj);
%enddef %enddef

View file

@ -657,9 +657,9 @@ private:
Printf(doc, " %s.new(%s)", class_name, paramList); Printf(doc, " %s.new(%s)", class_name, paramList);
else else
Printf(doc, " %s.new", class_name); Printf(doc, " %s.new", class_name);
} else } else {
Printf(doc, " %s.new(%s)", class_name, Printf(doc, " %s.new(%s)", class_name, make_autodocParmList(n, showTypes));
make_autodocParmList(n, showTypes)); }
break; break;
case AUTODOC_DTOR: case AUTODOC_DTOR:
@ -2640,9 +2640,12 @@ public:
current = CONSTRUCTOR_ALLOCATE; current = CONSTRUCTOR_ALLOCATE;
Swig_name_register("construct", "%n%c_allocate"); Swig_name_register("construct", "%n%c_allocate");
Language::constructorHandler(n); 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 * If we're wrapping the constructor of a C++ director class, prepend a new parameter
* to receive the scripting language object (e.g. 'self') * to receive the scripting language object (e.g. 'self')
@ -2665,13 +2668,7 @@ public:
Delete(self); Delete(self);
} }
/* Now do the instance initialize method */ /* Now do the instance initialize method */
String* docs = docstring(n, AUTODOC_CTOR);
Printf(f_wrappers, "%s", docs);
Delete(docs);
current = CONSTRUCTOR_INITIALIZE; current = CONSTRUCTOR_INITIALIZE;
Swig_name_register("construct", "new_%n%c"); Swig_name_register("construct", "new_%n%c");
Language::constructorHandler(n); Language::constructorHandler(n);