std::string throws typemaps
Go, Guile, Racket, Scilab: Add throws typemaps for std::string so that thrown string exception messages can be seen. Test all language for std::string throws typemaps
This commit is contained in:
parent
4a29229bab
commit
ed333b6b97
24 changed files with 225 additions and 12 deletions
|
|
@ -52,6 +52,9 @@ class string;
|
|||
%typemap(godirectorin,fragment="CopyString") string
|
||||
%{ $result = swigCopyString($input) %}
|
||||
|
||||
%typemap(throws) string
|
||||
%{ _swig_gopanic($1.c_str()); %}
|
||||
|
||||
%typemap(in) const string &
|
||||
%{
|
||||
$*1_ltype $1_str($input.p, $input.n);
|
||||
|
|
@ -88,6 +91,9 @@ class string;
|
|||
%typemap(godirectorin,fragment="CopyString") const string &
|
||||
%{ $result = swigCopyString($input) %}
|
||||
|
||||
%typemap(throws) const string &
|
||||
%{ _swig_gopanic($1.c_str()); %}
|
||||
|
||||
|
||||
%typemap(gotype) string * "*string"
|
||||
|
||||
|
|
|
|||
|
|
@ -83,4 +83,13 @@ namespace std {
|
|||
$result = SWIG_str02scm($1.c_str());
|
||||
}
|
||||
|
||||
%typemap(throws) string {
|
||||
scm_throw(scm_from_locale_symbol((char *) "swig-exception"),
|
||||
scm_list_n(SWIG_str02scm($1.c_str()), SCM_UNDEFINED));
|
||||
}
|
||||
|
||||
%typemap(throws) const string & {
|
||||
scm_throw(scm_from_locale_symbol((char *) "swig-exception"),
|
||||
scm_list_n(SWIG_str02scm($1.c_str()), SCM_UNDEFINED));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -52,6 +52,13 @@ namespace std {
|
|||
$result = scheme_make_string($1->c_str());
|
||||
}
|
||||
|
||||
%typemap(throws) string {
|
||||
scheme_signal_error("%s: %s", FUNC_NAME, $1.c_str());
|
||||
}
|
||||
|
||||
%typemap(throws) const string & {
|
||||
scheme_signal_error("%s: %s", FUNC_NAME, $1.c_str());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -37,3 +37,11 @@ SWIG_From_dec(std::string)(std::string pstValue) {
|
|||
}
|
||||
|
||||
%include <typemaps/std_string.swg>
|
||||
|
||||
%typemap(throws, noblock=1) std::string {
|
||||
SWIG_Scilab_Raise_Ex($1.c_str(), "$type", $&descriptor);
|
||||
}
|
||||
|
||||
%typemap(throws, noblock=1) const std::string & {
|
||||
SWIG_Scilab_Raise_Ex($1.c_str(), "$type", $descriptor);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue