Another stupid bug.

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@242 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Dave Beazley 2000-02-15 23:06:38 +00:00
commit 1ee134c656

View file

@ -149,33 +149,34 @@ void PYTHON::cpp_member_func(char *name, char *iname, DataType *t, ParmList *l)
/* *pyclass << tab4 << realname << " = " << module << ".__shadow__." << name_member(realname,class_name) << "\n"; */ /* *pyclass << tab4 << realname << " = " << module << ".__shadow__." << name_member(realname,class_name) << "\n"; */
} else { } else {
// Now add it to the class // Now add it to the class
if (use_kw) if (use_kw)
*pyclass << tab4 << "def " << realname << "(*args, **kwargs):\n"; *pyclass << tab4 << "def " << realname << "(*args, **kwargs):\n";
else else
*pyclass << tab4 << "def " << realname << "(*args):\n"; *pyclass << tab4 << "def " << realname << "(*args):\n";
if (use_kw)
*pyclass << tab8 << "val = apply(" << module << "." << name_member(realname,class_name) << ",args, kwargs)\n";
else
*pyclass << tab8 << "val = apply(" << module << "." << name_member(realname,class_name) << ",args)\n";
// Check to see if the return type is an object if (use_kw)
if ((hash.lookup(t->name)) && (t->is_pointer <= 1)) { *pyclass << tab8 << "val = apply(" << module << "." << name_member(realname,class_name) << ",args, kwargs)\n";
if (!typemap_check("out",typemap_lang,t,name_member(realname,class_name))) { else
if (!have_output) { *pyclass << tab8 << "val = apply(" << module << "." << name_member(realname,class_name) << ",args)\n";
*pyclass << tab8 << "if val: val = " << (char *) hash.lookup(t->name) << "Ptr(val) ";
if (((hash.lookup(t->name)) && (t->is_pointer < 1)) || // Check to see if the return type is an object
((hash.lookup(t->name)) && (t->is_pointer == 1) && NewObject)) if ((hash.lookup(t->name)) && (t->is_pointer <= 1)) {
*pyclass << "; val.thisown = 1\n"; if (!typemap_check("out",typemap_lang,t,name_member(realname,class_name))) {
else if (!have_output) {
*pyclass << "\n"; *pyclass << tab8 << "if val: val = " << (char *) hash.lookup(t->name) << "Ptr(val) ";
} else { if (((hash.lookup(t->name)) && (t->is_pointer < 1)) ||
// Do nothing! ((hash.lookup(t->name)) && (t->is_pointer == 1) && NewObject))
*pyclass << "; val.thisown = 1\n";
else
*pyclass << "\n";
} else {
// Do nothing!
}
} }
} }
} *pyclass << tab8 << "return val\n";
} }
// emitAddPragmas(*pyclass, realname, tab8); // emitAddPragmas(*pyclass, realname, tab8);
// *pyclass << tab8 << "return val\n"; // *pyclass << tab8 << "return val\n";