Two additional special variable are expanded in %exception - $parentname
and $parentsymname git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13870 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
77d9ad5354
commit
2598a1daf2
5 changed files with 68 additions and 5 deletions
|
|
@ -381,6 +381,21 @@ int emit_action_code(Node *n, String *wrappercode, String *eaction) {
|
|||
Replaceall(tm, "$fulldecl", fulldecl);
|
||||
Delete(fulldecl);
|
||||
}
|
||||
|
||||
Node *parentnode = parentNode(n);
|
||||
Node *parentclass = (parentnode && Equal(nodeType(parentnode), "class")) ? parentnode : 0;
|
||||
if (Strstr(tm, "$parentclasssymname")) {
|
||||
String *parentclasssymname = 0;
|
||||
if (parentclass)
|
||||
parentclasssymname = Getattr(parentclass, "sym:name");
|
||||
Replaceall(tm, "$parentclasssymname", parentclasssymname ? parentclasssymname : "");
|
||||
}
|
||||
if (Strstr(tm, "$parentclassname")) {
|
||||
String *parentclassname = 0;
|
||||
if (parentclass)
|
||||
parentclassname = Getattr(parentclass, "name");
|
||||
Replaceall(tm, "$parentclassname", parentclassname ? parentclassname : "");
|
||||
}
|
||||
}
|
||||
Printv(wrappercode, tm, "\n", NIL);
|
||||
Delete(tm);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue