swig/Examples/test-suite/allowexcept.i
Marcelo Matus 403e9ebc9e fix unused 'fail:' label warnings
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8716 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-02-05 04:08:56 +00:00

61 lines
1,012 B
OpenEdge ABL

// Test allowexcept feature
%module allowexcept
// First make sure %exception is not used by default for variable wrappers
%nodefaultctor;
%nodefaultdtor;
%exception {
This will not compile
}
%inline %{
struct UVW {};
UVW uvw_global_variable;
struct Bar {
UVW member_variable;
static UVW static_member_variable;
};
UVW Bar::static_member_variable;
%}
// Now test the allowexcept feature by making the usual $action uncompileable and ensuring the %exception is picked up
struct XYZ {
};
%{
struct XYZ {
void foo() {}
private:
XYZ& operator=(const XYZ& other); // prevent assignment used in normally generated set method
XYZ* operator&(); // prevent dereferencing used in normally generated get method
};
%}
#if defined(SWIGUTL)
%exception {
/*
$action
*/
SWIG_fail;
}
#else
%exception {
/*
$action
*/
}
#endif
%allowexception;
%inline %{
XYZ global_variable;
struct Foo {
XYZ member_variable;
static XYZ static_member_variable;
};
XYZ Foo::static_member_variable;
%}