*** empty log message ***
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4496 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
58d87c5c99
commit
f0250d6ccb
2 changed files with 31 additions and 0 deletions
|
|
@ -1247,6 +1247,33 @@ public:
|
|||
Replaceall(klass->header,"$freeproto", "");
|
||||
}
|
||||
|
||||
void baseClassHandler(Node *n) {
|
||||
Node *c;
|
||||
for (c = firstChild(n); c; c = nextSibling(c)) {
|
||||
char *tag = Char(nodeType(c));
|
||||
if (!tag) {
|
||||
Printf(stderr,"SWIG: Fatal internal error. Malformed parse tree node!\n");
|
||||
return;
|
||||
}
|
||||
// emit_one(c);
|
||||
}
|
||||
}
|
||||
|
||||
void copyBaseClassMembers(Node *n) {
|
||||
List *baselist = Getattr(n,"bases");
|
||||
if (baselist && Len(baselist) > 0) {
|
||||
/* Skip the first base class */
|
||||
Node *base = Firstitem(baselist);
|
||||
|
||||
/* Loop over remaining base classes */
|
||||
base = Nextitem(baselist);
|
||||
while (base) {
|
||||
baseClassHandler(base);
|
||||
base = Nextitem(baselist);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
* classHandler()
|
||||
* ---------------------------------------------------------------------- */
|
||||
|
|
@ -1288,6 +1315,8 @@ public:
|
|||
"$freeproto",
|
||||
NIL);
|
||||
|
||||
copyBaseClassMembers(n);
|
||||
|
||||
Language::classHandler(n);
|
||||
|
||||
handleBaseClasses(n);
|
||||
|
|
|
|||
2
TODO
2
TODO
|
|
@ -191,6 +191,8 @@ Tcl
|
|||
Ruby
|
||||
----
|
||||
|
||||
**** Add Ruby support for Mark Rose's polymorphism code.
|
||||
|
||||
**** Investigate the new object allocation framework that has been
|
||||
implemented for Ruby 1.8 and determine what (if anything) needs
|
||||
to be changed for the wrapper code generated by SWIG. For background
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue