From: William F. <wsf...@us...> - 2004-11-30 20:13:40
|
Update of /cvsroot/swig/SWIG/Source/Modules In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22082/Source/Modules Modified Files: allocate.cxx Log Message: Complete the virtual:type for covariant return types Index: allocate.cxx =================================================================== RCS file: /cvsroot/swig/SWIG/Source/Modules/allocate.cxx,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** allocate.cxx 15 Nov 2004 22:51:15 -0000 1.30 --- allocate.cxx 30 Nov 2004 20:13:31 -0000 1.31 *************** *** 115,121 **** } } else { ! // if the types are different, we record the original ! // virtual base type in case some language needs it. ! Setattr(c, "virtual:type", Getattr(temp, "type")); } --- 115,128 ---- } } else { ! // if the types are different, we record the base type ! // those languages that need to know about covariant return types ! SwigType *ty = NewString(Getattr(temp,"type")); ! SwigType_push(ty,Getattr(temp,"decl")); ! if (SwigType_isqualifier(ty)) { ! SwigType_pop(ty); ! } ! Delete(SwigType_pop_function(ty)); ! ! Setattr(c, "virtual:type", ty); } |