From: <sz...@us...> - 2011-02-03 18:10:46
|
Revision: 12426 http://swig.svn.sourceforge.net/swig/?rev=12426&view=rev Author: szager Date: 2011-02-03 18:10:39 +0000 (Thu, 03 Feb 2011) Log Message: ----------- Applied patch #3171793 to fix -fvirtual. Mostly disabled python_abstractbase, since builtin types can't inherit from pure-python ABC's. Duck typing still works. Modified Paths: -------------- branches/szager-python-builtin/Examples/test-suite/python/python_abstractbase_runme3.py branches/szager-python-builtin/Source/Modules/allocate.cxx Modified: branches/szager-python-builtin/Examples/test-suite/python/python_abstractbase_runme3.py =================================================================== --- branches/szager-python-builtin/Examples/test-suite/python/python_abstractbase_runme3.py 2011-02-03 07:21:37 UTC (rev 12425) +++ branches/szager-python-builtin/Examples/test-suite/python/python_abstractbase_runme3.py 2011-02-03 18:10:39 UTC (rev 12426) @@ -1,8 +1,9 @@ from python_abstractbase import * from collections import * -assert issubclass(Mapii, MutableMapping) -assert issubclass(Multimapii, MutableMapping) -assert issubclass(IntSet, MutableSet) -assert issubclass(IntMultiset, MutableSet) -assert issubclass(IntVector, MutableSequence) -assert issubclass(IntList, MutableSequence) +# Builtin types can't inherit from pure-python abstract bases +#assert issubclass(Mapii, MutableMapping) +#assert issubclass(Multimapii, MutableMapping) +#assert issubclass(IntSet, MutableSet) +#assert issubclass(IntMultiset, MutableSet) +#assert issubclass(IntVector, MutableSequence) +#assert issubclass(IntList, MutableSequence) Modified: branches/szager-python-builtin/Source/Modules/allocate.cxx =================================================================== --- branches/szager-python-builtin/Source/Modules/allocate.cxx 2011-02-03 07:21:37 UTC (rev 12425) +++ branches/szager-python-builtin/Source/Modules/allocate.cxx 2011-02-03 18:10:39 UTC (rev 12426) @@ -216,7 +216,7 @@ if (!most_base_covariant_type) { // Eliminate the derived virtual method. - if (virtual_elimination_mode) + if (virtual_elimination_mode && !this_wrapping_protected_members) if (both_have_public_access) if (!is_non_public_base(inclass, b)) if (!Swig_symbol_isoverloaded(n)) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |