*** 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", "");
|
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()
|
* classHandler()
|
||||||
* ---------------------------------------------------------------------- */
|
* ---------------------------------------------------------------------- */
|
||||||
|
|
@ -1288,6 +1315,8 @@ public:
|
||||||
"$freeproto",
|
"$freeproto",
|
||||||
NIL);
|
NIL);
|
||||||
|
|
||||||
|
copyBaseClassMembers(n);
|
||||||
|
|
||||||
Language::classHandler(n);
|
Language::classHandler(n);
|
||||||
|
|
||||||
handleBaseClasses(n);
|
handleBaseClasses(n);
|
||||||
|
|
|
||||||
2
TODO
2
TODO
|
|
@ -191,6 +191,8 @@ Tcl
|
||||||
Ruby
|
Ruby
|
||||||
----
|
----
|
||||||
|
|
||||||
|
**** Add Ruby support for Mark Rose's polymorphism code.
|
||||||
|
|
||||||
**** Investigate the new object allocation framework that has been
|
**** Investigate the new object allocation framework that has been
|
||||||
implemented for Ruby 1.8 and determine what (if anything) needs
|
implemented for Ruby 1.8 and determine what (if anything) needs
|
||||||
to be changed for the wrapper code generated by SWIG. For background
|
to be changed for the wrapper code generated by SWIG. For background
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue