Minor rewrites of some recent builtin changes

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/szager-python-builtin@12516 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
William S Fulton 2011-03-03 19:39:48 +00:00
commit cca5a76d91

View file

@ -931,7 +931,8 @@ public:
add_pyinstancemethod_new(); add_pyinstancemethod_new();
if (builtin) { if (builtin) {
String *s = NewString("p.SwigPyObject"); SwigType *s = NewString("SwigPyObject");
SwigType_add_pointer(s);
SwigType_remember(s); SwigType_remember(s);
Delete(s); Delete(s);
} }
@ -2126,7 +2127,7 @@ public:
for (Node *sibling = n; sibling; sibling = Getattr(sibling, "sym:nextSibling")) for (Node *sibling = n; sibling; sibling = Getattr(sibling, "sym:nextSibling"))
Setattr(sibling, "sym:over_varargs", over_varargs_attr); Setattr(sibling, "sym:over_varargs", over_varargs_attr);
} }
if (strcmp(Char(over_varargs_attr), "0")) if (Strcmp(over_varargs_attr, "0") != 0)
over_varargs = true; over_varargs = true;
} }
@ -3249,7 +3250,7 @@ public:
Printv(f_init, "PyDict_SetItemString(d, \"thisown\", thisown_descr);\n", NIL); Printv(f_init, "PyDict_SetItemString(d, \"thisown\", thisown_descr);\n", NIL);
// Now, the rest of the attributes // Now, the rest of the attributes
for (DohIterator member_iter = First(builtin_getset); member_iter.item; member_iter = Next(member_iter)) { for (Iterator member_iter = First(builtin_getset); member_iter.item; member_iter = Next(member_iter)) {
String *memname = member_iter.key; String *memname = member_iter.key;
Hash *mgetset = member_iter.item; Hash *mgetset = member_iter.item;
String *getter = Getattr(mgetset, "getter"); String *getter = Getattr(mgetset, "getter");
@ -4169,10 +4170,13 @@ public:
* ------------------------------------------------------------ */ * ------------------------------------------------------------ */
virtual int destructorHandler(Node *n) { virtual int destructorHandler(Node *n) {
String *symname = Getattr(n, "sym:name");
int oldshadow = shadow;
if (builtin && in_class) { if (builtin && in_class) {
Node *cls = Swig_methodclass(n); Node *cls = Swig_methodclass(n);
if (!Getattr(cls, "feature:tp_dealloc")) { if (!Getattr(cls, "feature:tp_dealloc")) {
String *dealloc = Swig_name_destroy(NSPACE_TODO, Getattr(cls, "sym:name")); String *dealloc = Swig_name_destroy(NSPACE_TODO, symname);
String *wdealloc = Swig_name_wrapper(dealloc); String *wdealloc = Swig_name_wrapper(dealloc);
Setattr(cls, "feature:tp_dealloc", wdealloc); Setattr(cls, "feature:tp_dealloc", wdealloc);
Delete(wdealloc); Delete(wdealloc);
@ -4180,9 +4184,6 @@ public:
} }
} }
String *symname = Getattr(n, "sym:name");
int oldshadow = shadow;
if (shadow) if (shadow)
shadow = shadow | PYSHADOW_MEMBER; shadow = shadow | PYSHADOW_MEMBER;
//Setattr(n,"emit:dealloc","1"); //Setattr(n,"emit:dealloc","1");