Commit graph

359 commits

Author SHA1 Message Date
Charlie Savage
924a56a1aa 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/SWIG@8441 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-15 00:25:48 +00:00
Marcelo Matus
507a8184cc use internal SWIG_exception_fail, let SWIG_exception as in 1.3.27
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8434 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-14 21:23:36 +00:00
Charlie Savage
0d57e7af5b Added SWIG_POINTER_EXCEPTION for backwards compatibility.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8422 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-13 23:43:12 +00:00
Charlie Savage
5ff6b71990 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/SWIG@8417 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-13 22:27:44 +00:00
Charlie Savage
231d2a5f7b 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/SWIG@8416 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-13 21:52:13 +00:00
Charlie Savage
b07505cc7b Fixed up checking for constants.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8408 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-13 01:49:29 +00:00
Charlie Savage
282a18a62a Use new camelcase,undercase,lowercase aliases.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8406 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-13 00:56:29 +00:00
Charlie Savage
f4d48d7bfc 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/SWIG@8404 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-13 00:51:49 +00:00
Charlie Savage
00f241311b 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/SWIG@8399 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-12 23:35:46 +00:00
Marcelo Matus
4b38b9da56 add space for rename rules
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8395 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-12 21:10:54 +00:00
Charlie Savage
ee63d5276c 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/SWIG@8353 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-10 19:19:19 +00:00
Charlie Savage
7d44f269fb Wrapped customer error classes in function so they work in C and C++
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8343 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-10 03:38:08 +00:00
Charlie Savage
7e96a9e2d5 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/SWIG@8340 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-10 00:52:37 +00:00
Charlie Savage
e3822ad9d4 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/SWIG@8339 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-10 00:30:43 +00:00
Charlie Savage
180a2372dc 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
2006-01-09 22:17:06 +00:00
Charlie Savage
0fe0086def 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/SWIG@8326 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-09 20:11:37 +00:00
Charlie Savage
a023f56b0c Removed duplicate definition of struct Guard.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8325 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-09 20:00:56 +00:00
Charlie Savage
384de7d10b Added Ruby support for SWIG_NullReferenceError.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8324 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-09 19:43:26 +00:00
William S Fulton
742afce44c _std_deque.i moved from Lib directory
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8304 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-08 20:17:06 +00:00
Marcelo Matus
e73b4e1036 fix typo
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8275 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-07 07:15:58 +00:00
Marcelo Matus
6e95b6433b 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/SWIG@8274 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-07 06:59:32 +00:00
Marcelo Matus
69c14f087e 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/SWIG@8232 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-06 00:37:31 +00:00
Marcelo Matus
e222e63bc2 add stl.i files for each language to prevent improper includes
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8229 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-06 00:27:12 +00:00
Marcelo Matus
d5cb3bbcb9 uniform cni examples
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8197 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-03 19:48:06 +00:00
Marcelo Matus
ae41da15df better str_new
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8155 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-31 10:46:12 +00:00
Marcelo Matus
f3262ed3d9 better kw from Olly's comments
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8151 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-31 10:43:06 +00:00
Marcelo Matus
b4e4fe23ca add tcl+java example
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8140 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-30 11:59:54 +00:00
Marcelo Matus
dc915a44a1 add jstring.i for ruby
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8138 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-30 10:51:35 +00:00
Marcelo Matus
e85a31e26d fix missing __PTHREAD__
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8109 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-28 08:46:45 +00:00
Charlie Savage
e5443e3bd4 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/SWIG@8083 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-27 19:56:35 +00:00
Charlie Savage
6c8dd53ee8 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/SWIG@8082 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-27 18:02:51 +00:00
Marcelo Matus
32cbb57ab6 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/SWIG@7980 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-13 23:46:37 +00:00
Marcelo Matus
abbf8b406a more on the TypeQuery fix
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7971 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-10 23:53:53 +00:00
Marcelo Matus
ae761ca3ba fix extra calls to TypeQuery for 'char *' and 'wchar_t *'
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7968 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-10 20:20:19 +00:00
Marcelo Matus
f222064ffd fix for ruby -w
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7948 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-08 08:46:04 +00:00
Marcelo Matus
cdb2097cf5 add missing 'const'
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7881 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-11-27 02:30:45 +00:00
William S Fulton
cfdad24993 Use the system angle brackets for %include
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7871 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-11-26 09:28:20 +00:00
Marcelo Matus
cb4a1ff465 more speed ups
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7864 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-11-24 00:54:46 +00:00
Marcelo Matus
f3c24eff33 fixes for directors + pointers
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7860 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-11-21 21:01:35 +00:00
Marcelo Matus
71df9fc8b6 add std_except typemaps to the unified typemap library
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7758 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-10-31 09:43:02 +00:00
Marcelo Matus
536621e82b prevents ConvertPtr to modified the result when fails
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7757 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-10-31 09:41:43 +00:00
Marcelo Matus
8be1b7a07c 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/SWIG@7717 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-10-25 13:20:50 +00:00
Marcelo Matus
e7eeff806a 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/SWIG@7710 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-10-25 09:31:15 +00:00
Marcelo Matus
3c65cea431 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/SWIG@7707 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-10-24 14:59:05 +00:00
Marcelo Matus
2811e2a09a include the user's fragment file in the same place
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7693 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-10-20 09:58:19 +00:00
Marcelo Matus
ba3efb0917 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/SWIG@7692 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-10-20 09:47:56 +00:00
Marcelo Matus
7564088646 fix warnings/errors for gcc4.0, icc and valgrind
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7689 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-10-19 14:26:13 +00:00
Marcelo Matus
aadff06f45 more typemaps unification and fixes for valgrind
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7684 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-10-19 10:52:50 +00:00
Marcelo Matus
c0c3495ee4 cosmetic change, remove repeated docs
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7678 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-10-18 13:54:54 +00:00
Marcelo Matus
7e5e4fd1f9 massive typemap unification
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7676 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-10-18 13:24:15 +00:00