Fix #1505591 Throwing exceptions in extended directors
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@9361 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
0919c0de1e
commit
da079c2d2b
4 changed files with 16 additions and 8 deletions
|
|
@ -359,7 +359,8 @@ class CSHARP : public Language {
|
|||
Printf(f_directors, "/* ---------------------------------------------------\n");
|
||||
Printf(f_directors, " * C++ director class methods\n");
|
||||
Printf(f_directors, " * --------------------------------------------------- */\n\n");
|
||||
Printf(f_directors, "#include \"%s\"\n\n", Swig_file_filename(outfile_h));
|
||||
if (outfile_h)
|
||||
Printf(f_directors, "#include \"%s\"\n\n", Swig_file_filename(outfile_h));
|
||||
}
|
||||
|
||||
String *wrapper_name = NewString("");
|
||||
|
|
|
|||
|
|
@ -362,7 +362,8 @@ class JAVA : public Language {
|
|||
Printf(f_directors, "/* ---------------------------------------------------\n");
|
||||
Printf(f_directors, " * C++ director class methods\n");
|
||||
Printf(f_directors, " * --------------------------------------------------- */\n\n");
|
||||
Printf(f_directors, "#include \"%s\"\n\n", Swig_file_filename(outfile_h));
|
||||
if (outfile_h)
|
||||
Printf(f_directors, "#include \"%s\"\n\n", Swig_file_filename(outfile_h));
|
||||
}
|
||||
|
||||
String *wrapper_name = NewString("");
|
||||
|
|
|
|||
|
|
@ -295,7 +295,6 @@ public:
|
|||
|
||||
if( directorsEnabled() ) {
|
||||
Printf( f_runtime, "#define SWIG_DIRECTORS\n");
|
||||
Swig_insert_file("director.swg", f_directors_h);
|
||||
}
|
||||
|
||||
/* Produce the enum_to_int and int_to_enum functions */
|
||||
|
|
@ -347,6 +346,11 @@ public:
|
|||
Printf( f_enumtypes_value, "]\n\n"
|
||||
"type c_obj = c_enum_value c_obj_t\n" );
|
||||
|
||||
if (directorsEnabled()) {
|
||||
// Insert director runtime into the f_runtime file (make it occur before %header section)
|
||||
Swig_insert_file("director.swg", f_runtime);
|
||||
}
|
||||
|
||||
SwigType_emit_type_table (f_runtime, f_wrappers);
|
||||
/* Close all of the files */
|
||||
Dump(f_directors_h,f_header);
|
||||
|
|
|
|||
|
|
@ -645,16 +645,13 @@ public:
|
|||
Printf(f_directors_h, "#include <map>\n");
|
||||
Printf(f_directors_h, "#include <string>\n\n");
|
||||
}
|
||||
/* Printf(f_directors_h, "class Swig::Director;\n\n"); */
|
||||
Swig_insert_file("director_h.swg", f_directors_h);
|
||||
|
||||
Printf(f_directors, "\n\n");
|
||||
Printf(f_directors, "/* ---------------------------------------------------\n");
|
||||
Printf(f_directors, " * C++ director class methods\n");
|
||||
Printf(f_directors, " * --------------------------------------------------- */\n\n");
|
||||
if (outfile_h) {
|
||||
if (outfile_h)
|
||||
Printf(f_directors, "#include \"%s\"\n\n",Swig_file_filename(outfile_h));
|
||||
}
|
||||
Swig_insert_file("director.swg", f_directors);
|
||||
}
|
||||
|
||||
/* If shadow classing is enabled, we're going to change the module name to "_module" */
|
||||
|
|
@ -801,6 +798,11 @@ public:
|
|||
/* emit code */
|
||||
Language::top(n);
|
||||
|
||||
if (directorsEnabled()) {
|
||||
// Insert director runtime into the f_runtime file (make it occur before %header section)
|
||||
Swig_insert_file("director.swg", f_runtime);
|
||||
}
|
||||
|
||||
/* Close language module */
|
||||
Append(methods,"\t { NULL, NULL, 0, NULL }\n");
|
||||
Append(methods,"};\n");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue