Commit graph

3,281 commits

Author SHA1 Message Date
Eric Wing
4503c53903 Since this code uses assert, #include <assert.h> is needed. 2013-08-31 03:46:07 +02:00
Eric Wing
65a0be8876 v8: variable name bug fix in my template modifications for pointers to structs. 2013-08-31 03:46:07 +02:00
Eric Wing
f8feeacb68 v8: Removed the extern "C" around the initialize function because it makes no sense since it requires a C++ templates object as a parameter. 2013-08-31 03:46:07 +02:00
Eric Wing
ed729f7d3a This brings over the memory leak fixes for pointers to structs with a %extend destructor from my Neha fork. The generator was not generating and connecting the needed code for the requested destructor to the v8 dtor finalizer.
I did not realize this branch has some JavaScriptCore stuff in it too. Unfortunately, it seems to have its own unique problems (like creating C++ files when it should be generating C files). My changes are targeted for v8, and I don't think my JSCore changes fully reach in this JSCore implementation so more work would need to be done to get this branch working. I think my Neha fork is in better shape at the moment.

Also, I did port over the 'NULL out the dtor function pointer' in the %nodefaultdtor fix to v8.

Usage case:
struct MyData {
%extend {
~MyData() {
FreeData($self);
}
}
};
%newobject CreateData;
struct MyData* CreateData(void);
%delobject FreeData;
void FreeData(struct MyData* the_data);

where the use case is something like:
var my_data = example.CreateData();
my_data = null;
2013-08-31 03:46:07 +02:00
Eric Wing
d5df0bb721 Added #if defined guard for V8_3_14 to allow users from the original SWIG v8 implementation to continue using the new changes. It works similarly to the BUILDING_NODE_EXTENSION in all but two places. This define must be explicitly set by users because there is no way to auto detect. (Perhaps a command line switch can be added to generate this on request?) 2013-08-31 03:46:06 +02:00
Vladimir Menshakov
3af7d543cb fixed crash while instantiating generic-wrapped objects from external code, please review 2013-08-31 03:46:06 +02:00
Vladimir Menshakov
9e74bdb97e added virtual dtor to V8ErrorHandler 2013-08-31 03:46:06 +02:00
Jason Turner
046ca7686b Adjust for v8::Persistent API which was deprecated @ 3.19.16
https://groups.google.com/forum/#!topic/v8-users/oBE_DTpRC08
2013-08-31 03:46:06 +02:00
Jason Turner
cf9b7e89ac Get memory updates working with Node.js again. 2013-08-31 03:46:06 +02:00
Oliver Buchtala
868803ce2a Merge replayed as done by c778d16abed35829b103d607a53c8f88e3b2d595 2013-08-31 03:44:44 +02:00
Vladimir Menshakov
45bfc97ef4 converted function templates to the persistent ones (fixed crash on large wrappers) 2013-08-31 03:34:39 +02:00
Vladimir Menshakov
9b6a4870dd added missing scope.Close() 2013-08-31 03:34:39 +02:00
Vladimir Menshakov
fe25e2dfc8 replaced GetInternalField with GetAlignedPointer (it does not work with SetAlignedPointer, btw) 2013-08-31 03:34:39 +02:00
Vladimir Menshakov
9111773400 generate v8-3.19.x compatible code 2013-08-31 03:34:39 +02:00
Oliver Buchtala
b511e33121 Remove std::iostream relicts from generated v8 wrapper code. 2013-08-31 03:34:38 +02:00
Oliver Buchtala
d3aa8e06fb Bugfix: treat persistent V8 references correctly.
V8 is somewhat inconvenient regarding invoke of destructors for C++ proxies.
2013-08-31 03:34:38 +02:00
Oliver Buchtala
827cef75a3 Add an ifndef-guard to resolve a warning when building nodejs extension. 2013-08-31 03:34:38 +02:00
Oliver Buchtala
31feff8586 Add missing return statement in v8 code template. 2013-08-31 03:34:38 +02:00
Oliver Buchtala
5da4f5794c Add preprocessor define for building node.js extensions. 2013-08-31 03:34:38 +02:00
Oliver Buchtala
65560a8664 Fix v8 string conversion in case of null arguments. 2013-08-31 03:34:38 +02:00
Oliver Buchtala
b0cb875ac1 Merge branch 'devel' of github.com:oliver----/swig-v8 into devel 2013-08-31 03:34:37 +02:00
Oliver Buchtala
8b10c47ed8 Fix regression: add an include for Node.js header. 2013-08-31 03:34:37 +02:00
Oliver Buchtala
04cdde0563 Add test to check javascript unicode strings. 2013-08-31 03:34:37 +02:00
Oliver Buchtala
213c107b7f Add a swig macro to register node.js extensions. 2013-08-31 03:23:12 +02:00
Oliver Buchtala
31844ac72a Simplify the signature of the v8 module intializer. 2013-08-31 03:23:11 +02:00
Oliver Buchtala
9d630ab930 Fix std::string support for v8. 2013-08-31 03:23:11 +02:00
Oliver Buchtala
2c4a90a37d Generate defines for initializer function. 2013-08-31 03:23:11 +02:00
Oliver Buchtala
be06ceea26 Fixes in std_string for JSC generator. 2013-08-31 03:23:11 +02:00
Oliver Buchtala
7fffd801e4 Fix std_string.i which generated compile errors in certain cases. 2013-08-31 03:23:11 +02:00
Oliver Buchtala
fb9c4955fb Not a real change: removed some trailing spaces. 2013-08-31 03:23:11 +02:00
Oliver Buchtala
9d22644563 Rename a argument variable to avoid errors with overloaded functions. 2013-08-31 03:23:11 +02:00
Oliver Buchtala
008adca72f Provide more control about the target object/namespace where a v8 module is registered to. 2013-08-31 03:23:10 +02:00
William S Fulton
678058dbc7 Revert non-scilab changes: Octave modifications 2013-08-30 19:07:10 +01:00
Miles Bader
c746ae7a0f Include Lua error locus in SWIG error messages
This is standard information in Lua error messages, and makes it much
easier to find bugs.
2013-08-30 06:56:33 +01:00
Miles Bader
663c41e248 Add Lua runtime helper functions for error-handling
Add two helper functions to the Lua runtime, "SWIG_Lua_pusherrstring"
and "SWIG_Lua_pushferrstring".

These are like the standard Lua functions lua_pushstring and
lua_pushfstring respectively, except that the strings are prefixed
with the location of the innermost Lua call-point (as generated by
luaL_where).
2013-08-30 06:56:33 +01:00
Vadim Zeitlin
9efaf954c7 Add support for std::map<> comparator template argument for C#.
Allow exporting maps using non-default comparison function.

Closes #77
2013-08-29 19:08:15 +01:00
William S Fulton
1cc735df5e %implicitconv will now accept None where the implicit conversion takes a C/C++ pointer.
Problem highlighted by Bo Peng on the swig-user mailing list. SF patch #230.
2013-08-28 20:28:15 +01:00
Simon Marchetto
7655b6df6d Scilab: fix arrays_global test case 2013-08-21 14:35:48 +02:00
Simon Marchetto
0fc9e4d0a4 Scilab: support of Scilab 5.3.3 (api_scilab: Rhs, Lhs, ..) 2013-08-19 17:57:56 +02:00
Kris Thielemans
a495b5a985 Remove SwigPyObject_print and SwigPyObject_str, and make the generated wrapper use the default python implementations, which will fall back to repr (for -builtin option).
Advantages:
- it avoids the swig user having to jump through hoops to get print to
  work as expected when redefining repr/str slots.
- typing the name of a variable on the python prompt now prints the
  result of a (possibly redefined) repr, without the swig user having to
do any extra work.
- when redefining repr, the swig user doesn't necessarily have to
  redefine str as it will call the redefined repr
- the behaviour is exactly the same as without the -builtin option while
  requiring no extra work by the user (aside from adding the
%feature("python:slot...) statements of course)
- the patch simplifies pyrun.swg a tiny bit.

Disadvantage:
- default str() will give different (but clearer?) output on swigged
  classes compared to unpatched swig

SF Bug #326
2013-08-07 20:22:03 +01:00
Simon Marchetto
2bd8c0eada Merge branch 'gsoc2012-scilab' of https://github.com/swig/swig into gsoc2012-scilab 2013-08-06 10:23:07 +02:00
Sylvestre Ledru
21e17eaa73 Merge remote-tracking branch 'origin/master' into gsoc2012-scilab
Conflicts:
	Examples/Makefile.in
2013-08-06 10:06:31 +02:00
William S Fulton
80f8d1d922 Fix for missing C++ code in std::multimap wrappers.
%template for a std::multimap generated uncompilable code unless a
%template for a std::map of the same template types was also coded up.

This patch is needed in conjunction with previous commit - 5f1fff1849

Closes #64
Closes #65
2013-08-06 07:02:49 +01:00
Simon Marchetto
774dddca00 Scilab: fix li_std_vector & ignore_template_constructor test case
fix: return a runtime error for not supported type containers
2013-08-02 12:09:11 +02:00
Simon Marchetto
6735b9727f Scilab: fix arrays_global test_case 2013-07-31 18:28:45 +02:00
Simon Marchetto
255603639f Scilab: rollback, support of container<class*> only (not <class>) 2013-07-31 18:28:23 +02:00
Simon Marchetto
077e69a851 Scilab: fix SWIT_Init() close in C mode 2013-07-31 11:57:16 +02:00
Andrew Simmons
5f1fff1849 Copied std::pair<> fragment from Lib/std/std_map.i into Lib/std/std_multimap.i. This fixes an error when a std::multimap template is wrapped by itself. 2013-07-25 18:23:45 +01:00
Simon Marchetto
25ffa87cab Scilab: fix dynamic_cast test case
Close SWIG_Init() in Scilab executable.
2013-07-23 15:02:39 +02:00
Simon Marchetto
2ea501d488 Scilab: small typo fix 2013-07-22 17:39:25 +02:00