CFFI - Fix seg faults when for %extend and using statements
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11136 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
531c4454b8
commit
3d05f50eab
2 changed files with 9 additions and 6 deletions
|
|
@ -1,6 +1,9 @@
|
|||
Version 1.3.39 (in progress)
|
||||
============================
|
||||
|
||||
2008-02-20: wsfulton
|
||||
[CFFI] Fix seg faults when for %extend and using statements.
|
||||
|
||||
2008-02-20: wsfulton
|
||||
Fix SF #2605955: -co option which broke in 1.3.37.
|
||||
|
||||
|
|
|
|||
|
|
@ -245,7 +245,7 @@ void CFFI::emit_defmethod(Node *n) {
|
|||
|
||||
ParmList *pl = Getattr(n, "parms");
|
||||
int argnum = 0;
|
||||
Node *parent = parentNode(n);
|
||||
Node *parent = getCurrentClass();
|
||||
bool first = 0;
|
||||
|
||||
for (Parm *p = pl; p; p = nextSibling(p), argnum++) {
|
||||
|
|
@ -300,7 +300,7 @@ void CFFI::emit_initialize_instance(Node *n) {
|
|||
|
||||
ParmList *pl = Getattr(n, "parms");
|
||||
int argnum = 0;
|
||||
Node *parent = parentNode(n);
|
||||
Node *parent = getCurrentClass();
|
||||
|
||||
for (Parm *p = pl; p; p = nextSibling(p), argnum++) {
|
||||
String *argname = Getattr(p, "name");
|
||||
|
|
@ -337,18 +337,18 @@ void CFFI::emit_initialize_instance(Node *n) {
|
|||
}
|
||||
|
||||
void CFFI::emit_setter(Node *n) {
|
||||
Node *p = parentNode(n);
|
||||
Node *parent = getCurrentClass();
|
||||
Printf(f_clos, "(cl:defmethod (cl:setf %s) (arg0 (obj %s))\n (%s (ff-pointer obj) arg0))\n\n",
|
||||
lispify_name(n, Getattr(n, "name"), "'method"),
|
||||
lispify_name(p, lispy_name(Char(Getattr(p, "sym:name"))), "'class"), lispify_name(n, Getattr(n, "sym:name"), "'function"));
|
||||
lispify_name(parent, lispy_name(Char(Getattr(parent, "sym:name"))), "'class"), lispify_name(n, Getattr(n, "sym:name"), "'function"));
|
||||
}
|
||||
|
||||
|
||||
void CFFI::emit_getter(Node *n) {
|
||||
Node *p = parentNode(n);
|
||||
Node *parent = getCurrentClass();
|
||||
Printf(f_clos, "(cl:defmethod %s ((obj %s))\n (%s (ff-pointer obj)))\n\n",
|
||||
lispify_name(n, Getattr(n, "name"), "'method"),
|
||||
lispify_name(p, lispy_name(Char(Getattr(p, "sym:name"))), "'class"), lispify_name(n, Getattr(n, "sym:name"), "'function"));
|
||||
lispify_name(parent, lispy_name(Char(Getattr(parent, "sym:name"))), "'class"), lispify_name(n, Getattr(n, "sym:name"), "'function"));
|
||||
}
|
||||
|
||||
int CFFI::memberfunctionHandler(Node *n) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue