add the %throws directive

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8348 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Marcelo Matus 2006-01-10 10:12:32 +00:00
commit 9916e30489
5 changed files with 112 additions and 0 deletions

View file

@ -346,6 +346,18 @@ void emit_action(Node *n, Wrapper *f) {
String *wrap;
SwigType *rt;
ParmList *throws = Getattr(n,"throws");
if (!throws) {
String *tmp = 0;
String *sthrows = Getattr(n,"feature:throws");
if (sthrows) {
char *cthrows = Char(sthrows);
if (cthrows && cthrows[0] != '(') {
sthrows = tmp = NewStringf("(%s)",sthrows);
}
throws = SwigType_function_parms(sthrows);
if (tmp) Delete (tmp);
}
}
/* Look for fragments */
{