Commit graph

159 commits

Author SHA1 Message Date
Charlie Savage
723d385e36 Added support for Ruby bang methods. Bang methods end in exclamation points and indicate that the object being worked on will be modified in-place as opposed to being copied.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8441 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-15 00:25:48 +00:00
Marcelo Matus
137ab96746 use internal SWIG_exception_fail, let SWIG_exception as in 1.3.27
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8434 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-14 21:23:36 +00:00
Charlie Savage
915cf82197 Added SWIG_POINTER_EXCEPTION for backwards compatibility.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8422 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-13 23:43:12 +00:00
Charlie Savage
ce0ec6ba6c Undid change to check for nil object since it was not valid because it disallowed passing null pointers.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8417 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-13 22:27:44 +00:00
Charlie Savage
237d452aba Added check for nil object being passed to SWIG_AsCharPtrAndSize. If a nil object is passed in then an error is returned.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8416 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-13 21:52:13 +00:00
Charlie Savage
8a3351d794 Fixed up checking for constants.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8408 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-13 01:49:29 +00:00
Charlie Savage
03aa663f5a Use new camelcase,undercase,lowercase aliases.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8406 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-13 00:56:29 +00:00
Charlie Savage
62cb2b8e90 Moved constant renames from the c++ code to ruby.swg to reuse the new %rename functionality.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8404 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-13 00:51:49 +00:00
Charlie Savage
032bf49f28 Added %rename to change function and method names from CamelCase to lower_case_with_underscores.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8399 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-12 23:35:46 +00:00
Marcelo Matus
bf2fef6438 add space for rename rules
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8395 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-12 21:10:54 +00:00
Charlie Savage
c2399a7aa2 Updated Ruby Exception handling. Classes that are specified in throws clauses, or are marked as %exceptionclass, are now inherited from rb_eRuntimeError. This allows instances of these classes to be returned to Ruby as exceptions. Thus if a C++ method throws an instance of MyException, the calling Ruby method will get back a MyException object. To see an example, look at ruby/examples/exception_class.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8353 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-10 19:19:19 +00:00
Charlie Savage
e0b9b9903f Wrapped customer error classes in function so they work in C and C++
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8343 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-10 03:38:08 +00:00
Charlie Savage
1256774cd5 Added SWIG_ObjectPreviouslyDeletedError for Ruby. This error happens when a Ruby object's underlying C++ object has been freed. This can happen if a Ruby/C++ object is put into a C++ container that then frees its objects when it goes out of scope, leaving a dangling reference in Ruby.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8340 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-10 00:52:37 +00:00
Charlie Savage
0e2a4d4156 Rearranged the code a bit to store a global reference to the Ruby hash table delete method, thereby making it possible to look it up once instead of each time SWIG_RubyRemoveTracking is called.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8339 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-10 00:30:43 +00:00
Charlie Savage
09df526ebf 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@8333 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-09 22:17:06 +00:00
Charlie Savage
9b2b3912cf Removed defining rb_eNullReferenceError since this doesn't work in C - it
causes a 'initializer element is not constant" error.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8326 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-09 20:11:37 +00:00
Charlie Savage
52ae3f6d24 Removed duplicate definition of struct Guard.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8325 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-09 20:00:56 +00:00
Charlie Savage
5f53a1357a Added Ruby support for SWIG_NullReferenceError.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8324 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-09 19:43:26 +00:00
William S Fulton
7f8b30f3b5 _std_deque.i moved from Lib directory
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8304 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-08 20:17:06 +00:00
Marcelo Matus
4e7bc4d6aa fix typo
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8275 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-07 07:15:58 +00:00
Marcelo Matus
ed53e75df6 add macros/names to avoid numeric warning codes. use them in tcl,perl,ruby and python
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8274 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-07 06:59:32 +00:00
Marcelo Matus
55d79fea4f add initial stl.i to ensure proper file inclussion and extensions for each language
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8232 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-06 00:37:31 +00:00
Marcelo Matus
8d812cd955 add stl.i files for each language to prevent improper includes
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8229 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-06 00:27:12 +00:00
Marcelo Matus
fb563123a5 uniform cni examples
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8197 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-03 19:48:06 +00:00
Marcelo Matus
990aa04cd2 better str_new
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8155 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-31 10:46:12 +00:00
Marcelo Matus
8c93709658 better kw from Olly's comments
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8151 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-31 10:43:06 +00:00
Marcelo Matus
f284375212 add tcl+java example
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8140 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-30 11:59:54 +00:00
Marcelo Matus
8db859aa80 add jstring.i for ruby
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8138 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-30 10:51:35 +00:00
Marcelo Matus
62ecf24b23 fix missing __PTHREAD__
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8109 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-28 08:46:45 +00:00
Charlie Savage
885247aef7 Fixes bug 1386579. When returning a vector of pointers, do not create
copies of the objects that are pointed to since they may not have
copy constructors.  This also is more inline with returning a vector from a method
in C++ where the pointers are copied but not what they point to.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8083 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-27 19:56:35 +00:00
Charlie Savage
5dd84412c3 Reimplementation of tracking objects in Ruby. Instead of passing the $track flag to
the methods SWIG_Ruby_ConvertPtrAndOwn and SWIG_Ruby_NewPointerObj,
now tracking information is held on swig_class.  This change reduces
significantly reduces the amount of code needed in ruby.cxx, is more robust, and is
more cohesive.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8082 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-27 18:02:51 +00:00
Marcelo Matus
dc26b91c35 keep old typemap code in place, but disable, for readers to look around, and rescue other lost typemaps
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7980 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-13 23:46:37 +00:00
Marcelo Matus
ea47af15fe more on the TypeQuery fix
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7971 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-10 23:53:53 +00:00
Marcelo Matus
3ead254d42 fix extra calls to TypeQuery for 'char *' and 'wchar_t *'
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7968 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-10 20:20:19 +00:00
Marcelo Matus
5ad5a61989 fix for ruby -w
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7948 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-08 08:46:04 +00:00
Marcelo Matus
fe06408c3d add missing 'const'
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7881 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-11-27 02:30:45 +00:00
William S Fulton
e013e7ff5a Use the system angle brackets for %include
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7871 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-11-26 09:28:20 +00:00
Marcelo Matus
0e34b75e44 more speed ups
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7864 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-11-24 00:54:46 +00:00
Marcelo Matus
fbdc4d8e3c fixes for directors + pointers
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7860 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-11-21 21:01:35 +00:00
Marcelo Matus
9ff4da9d4a add std_except typemaps to the unified typemap library
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7758 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-10-31 09:43:02 +00:00
Marcelo Matus
1d6f737ab1 prevents ConvertPtr to modified the result when fails
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7757 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-10-31 09:41:43 +00:00
Marcelo Matus
1c529aa802 move attribute.i to the typemap library, now is usable from all the languages
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7717 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-10-25 13:20:50 +00:00
Marcelo Matus
029ff00d77 eliminate compilation warnings, add docs, and centralize the access to the unified typemap library
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7710 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-10-25 09:31:15 +00:00
Marcelo Matus
f2f1b9889f Perl added to the Unified typemap library, cleaner way to use the library, and 'normalized' macro names
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7707 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-10-24 14:59:05 +00:00
Marcelo Matus
cacea2c73d include the user's fragment file in the same place
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7693 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-10-20 09:58:19 +00:00
Marcelo Matus
bd7b3fcb1d finishing the first stage of the typemap unification scheme, fixing issues with gcc and valgrind
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7692 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-10-20 09:47:56 +00:00
Marcelo Matus
8bcc0bf8eb fix warnings/errors for gcc4.0, icc and valgrind
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7689 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-10-19 14:26:13 +00:00
Marcelo Matus
3aac30b168 more typemaps unification and fixes for valgrind
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7684 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-10-19 10:52:50 +00:00
Marcelo Matus
ae6714aff3 cosmetic change, remove repeated docs
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7678 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-10-18 13:54:54 +00:00
Marcelo Matus
1c7c9e44f7 massive typemap unification
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7676 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-10-18 13:24:15 +00:00