From 180a2372dc7cd97f99b97115ec384e6bbfd402dd Mon Sep 17 00:00:00 2001 From: Charlie Savage Date: Mon, 9 Jan 2006 22:17:06 +0000 Subject: [PATCH] Attemp #2 at defining rb_eNullReferenceError. This is done for C++, but for C a more generic rb_eRuntimeError is thrown instead. git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8333 626c5289-ae23-0410-ae9c-e8d60b6d4f22 --- Lib/ruby/rubyerrors.swg | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Lib/ruby/rubyerrors.swg b/Lib/ruby/rubyerrors.swg index 155291add..f4ca8bc80 100644 --- a/Lib/ruby/rubyerrors.swg +++ b/Lib/ruby/rubyerrors.swg @@ -6,6 +6,12 @@ %insert("header") %{ +#ifdef __cplusplus +/* Define custom error for SWIG_NullReferenceError since Ruby does not have a + built-in error that seems appropriate. */ +static VALUE rb_eNullReferenceError = rb_define_class("NullReferenceError", rb_eRuntimeError); +#endif + SWIGINTERN VALUE SWIG_Ruby_ErrorType(int SWIG_code) { VALUE type; @@ -44,7 +50,11 @@ SWIG_Ruby_ErrorType(int SWIG_code) { type = rb_eRuntimeError; break; case SWIG_NullReferenceError: +#ifdef __cplusplus + type = rb_eNullReferenceError; +#else type = rb_eRuntimeError; +#endif break; case SWIG_UnknownError: type = rb_eRuntimeError;