- explicitcall feature removed.

- Instead of using the swig_up flag in each director method (Python, Ruby, Ocaml) to indicate
whether the explicit C++ call to the appropriate base class method or a normal
polymorphic C++ call should be made, the new approach makes one of these calls
directly from the wrapper method.
- Java/C# recursive director method calls fixed (no need for explicitcall feature to solve this now)


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@9279 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
William S Fulton 2006-09-13 21:16:34 +00:00
commit fadfebf367
3 changed files with 0 additions and 213 deletions

View file

@ -1,57 +0,0 @@
from explicitcall import *
# Test classic usage of the %explicitcall - using base class method from derived class
class Mother(Person):
def talk(self):
return Person.talkPerson(self)
class Daughter(Child):
def talk(self):
return Person.talkPerson(self) + ":" + Child.talkChild(self)
class GrandDaughter(GrandChild):
def talk(self):
return Person.talkPerson(self) + ":" + Child.talkChild(self) + ":" + GrandChild.talkBambino(self)
gc = GrandChild()
if (gc.talkPerson() != "Person"):
raise RuntimeError, "Explicit Person"
if (gc.talkChild() != "Child"):
raise RuntimeError, "Explicit Child"
if (gc.talkBambino() != "GrandChild"):
raise RuntimeError, "Explicit GrandChild"
if (gc.talk() != "GrandChild"):
raise RuntimeError, "virtual GrandChild"
p = Mother()
if (p.talk() != "Person"):
raise RuntimeError, "Mother"
p = Daughter()
if (p.talk() != "Person:Child"):
raise RuntimeError, "Daughter"
p = GrandDaughter()
if (p.talk() != "Person:Child:GrandChild"):
raise RuntimeError, "GrandDaughter"
t = TemplateString()
if (t.barTemplateString(0) != "Template"):
raise RuntimeError, "Template"
td = TDerived()
if (td.barTDerived() != "TDerived"):
raise RuntimeError, "TDerived TDerived()"
if (td.barTemplateString() != "Template"):
raise RuntimeError, "TDerived Template()"
if (td.barTDerived(0) != "TDerived"):
raise RuntimeError, "TDerived TDerived(0)"
if (td.barTemplateString(0) != "Template"):
raise RuntimeError, "TDerived Template(0)"