Commit graph

234 commits

Author SHA1 Message Date
William S Fulton
3f391478c4 Merge branch 'v8-context-aware-race-free-preparation'
* v8-context-aware-race-free-preparation:
  Lib/javascript/v8: use ::Cast instead of To* when possible.
  Lib/javascript/v8/javascriptrun.swg: clean up pre-processor conditions.
  Lib/javascript/jsc/javascriptinit.swg: shortcut JSGlobalContextRef casts.
  Examples/test-suite/grouping.i: resolve compiler warning.
2021-03-11 22:48:38 +00:00
William S Fulton
6aef217438 Add Javascript (JSC) support for type conversion
Fix types_directive testcase to ensure the %types code is actually
called and not just cast from one type to the other.
2021-03-11 20:18:58 +00:00
William S Fulton
04b46cc8a3 Javascript type conversion support
Add testcase for previous commit.
Add missing assert for future type conversions support that will use
the heap instead of pointer casts (for smart pointer type conversions).

Closes #1963
2021-03-11 20:10:13 +00:00
Andy Polyakov
2870e750f0 Lib/javascript/v8: use ::Cast instead of To* when possible.
If type is checked with Is*, it's safe to use corresponding ::Cast,
which is more optimal.
2021-03-10 14:51:08 +01:00
Andy Polyakov
b56814ce08 Lib/javascript/v8/javascriptrun.swg: clean up pre-processor conditions.
Harmonize javascriptcode.swg javascripthelpers.swg and clarify
documentation.
2021-03-10 14:51:08 +01:00
Andy Polyakov
0c10c0596f Lib/javascript/jsc/javascriptinit.swg: shortcut JSGlobalContextRef casts. 2021-03-10 14:48:18 +01:00
Sergio Garcia Murillo
fee5e239ec Use SWIG_TypeCast in SWIG_V8_ConvertInstancePtr if types don't match (#3)
Use SWIG_TypeCast in SWIG_V8_ConvertInstancePtr if types don't match
2021-03-10 08:34:45 +00:00
William S Fulton
513ea736d3 Merge branch 'array_fix'
* array_fix:
  add javascript_arays.i fix to changes file
  Convert javascript_arrays.i example into testcase
  Update .gitignore for java doxygen output
  Javascript code formatting corrections
  Fix Javascript arrays for modern node versions
  Fix for new SWIGV8_ARRAY_NEW definition
  Proper array typemaps in Javascript
2021-03-06 11:08:58 +00:00
William S Fulton
db175f76c1
Merge pull request #1957 from dot-asm/v8-context-aware
Lib/javascript/v8: use context-aware initialization.
2021-03-05 22:28:42 +00:00
William S Fulton
b6aa39b82a Javascript code formatting corrections 2021-03-03 22:22:47 +00:00
William S Fulton
c4d003e442 Fix Javascript arrays for modern node versions 2021-03-03 22:19:29 +00:00
William S Fulton
53bdc3964d Fix for new SWIGV8_ARRAY_NEW definition 2021-03-03 22:19:22 +00:00
William S Fulton
1a4dc82931
Merge branch 'master' into array_fix 2021-03-03 21:54:30 +00:00
William S Fulton
d38c8d512f Merge branch 'vaughamhong-master'
* vaughamhong-master:
  fixed build error - ISO C90 forbids mixed declarations and code for jsc
  touch to kickoff another build - from accidental close pull request
  Implemented SetModule / GetModule for JSC to allow type sharing across modules - with fix for passing NULL to non-pointer argument
  Implemented SetModule / GetModule for JSC to allow type sharing across modules
2021-03-03 21:35:34 +00:00
Andy Polyakov
b0c01ea851 Lib/javascript/v8: use context-aware initialization.
Context-aware initialization allows to instantiate add-ons multiple
times, most importantly in multiple Workers' contexts. Workers made
first appearance in v10.5. Context-aware initialization was option
earlier than that, even before supported minimum v6.x, yet condition
is chosen more conservatively as NODE_MODULE_VERSION >= 64, a.k.a.
v10.0.
2021-03-02 15:31:28 +01:00
Andy Polyakov
0215eaa344 Lib/javascript/v8/javascriptrun.swg: minor versioning cleanup.
|| (SWIG_V8_VERSION < 0x0704) is better handled in SWIGV8_MAYBE_CHECK.
2021-03-02 15:21:02 +01:00
William S Fulton
e74876f1b8 Add table of v8/node versions 2021-03-01 22:08:12 +00:00
William S Fulton
4b64becbbb OUTPUT typemaps on methods that don't return void
SWIGJSC_ValueIsArray could be implemented by JSValueIsArray in later
versions of Javascript webkit, similar fix to previous commits for v8.

Enhance testing of OUTPUT typemaps to test more than one output.
2021-03-01 14:20:18 +00:00
William S Fulton
30216c4fb8 Merge branch 'js-fix-626'
* js-fix-626:
  Added check to prevent crash on illegal constructor call
2021-02-28 22:00:55 +00:00
William S Fulton
7005b156cc Modify SWIGV8_AppendOutput to work with newer versions of node 2021-02-28 20:59:46 +00:00
Olegs Jeremejevs
f7756be391 Fix SWIGV8_AppendOutput for OUTPUT typemaps
Create array to append to if the existing return type is not void.

Closes #405
Closes #1121
2021-02-28 20:46:38 +00:00
William S Fulton
59b780efed Cosmetic whitespace 2021-02-28 20:26:03 +00:00
William S Fulton
11deb82354 Restore complex number support for ancient v8 versions 2021-02-27 22:18:47 +00:00
William S Fulton
0e36b5d6fd Fixes for node v12.0-12.5 2021-02-27 22:18:27 +00:00
William S Fulton
7cb719ee67 -Wunused-result fixes for Node < 12
Fix 0533fc26c which adds in calls to Check(), which was added in Node 12.
Also fix e6315eedd which calls the new Set() and Check() method.
2021-02-27 22:17:59 +00:00
William S Fulton
bcc0b6b616 Use SWIGV8_INTEGER_NEW_UNS always for unsigned long long 2021-02-26 23:24:49 +00:00
Sergio Garcia Murillo
355ef40bc1 Use SWIGV8_INTEGER_NEW_UNS always for unsigned values 2021-02-26 23:23:36 +00:00
William S Fulton
e6315eedd0 Fix -Wunused-result warnings in node wrappers 2021-02-26 22:38:28 +00:00
William S Fulton
0533fc26ca Fix -Wunused-result warnings in node wrappers 2021-02-26 22:23:57 +00:00
William S Fulton
776917e43e Javascript: Stop using deprecated Array::Get method 2021-02-26 21:52:05 +00:00
William S Fulton
7b37c8cd02 Merge branch 'pr/new-node-fixes'
* pr/new-node-fixes:
  Travis testing: Node 12 support not fully working yet
  Revert "Merge pull request #3 from tungntpham/new-node-fixes-refactor"
  OPTIM: Restructured the code where it checks for V8 version, removing duplicate code and potentially improving the readability.
  Nodejs: run tests against Node.js v12
  Add support for Node.js v12
  Replace Handle with Local depending on Node.js version
  Introduce macros to support both Handle and Local types
2021-02-24 22:14:47 +00:00
tungpham25
36960396ba Revert "Merge pull request #3 from tungntpham/new-node-fixes-refactor"
This reverts commit 35f05bd541, reversing
changes made to 0ea6a3bdbf.
2021-01-28 21:48:45 +00:00
TungPham51D
4ce34742a7 OPTIM: Restructured the code where it checks for V8 version, removing duplicate code and potentially improving the readability. 2021-01-14 13:48:19 +00:00
William S Fulton
4b5baf0a60 0.0 float warning fix 2020-10-10 15:02:26 +01:00
William S Fulton
9a2513bf85 Javascript v8 C complex wrappers fix 2020-10-10 14:53:46 +01:00
Leo Singer
511df0e642 More C99 complex fixes, plus Python tests 2020-06-24 20:21:47 -04:00
Leo Singer
07b4b274e5 Restore _Complex as standalone type 2020-06-24 20:21:47 -04:00
Leo Singer
1adc7dac5d Small corrections for handling C99 _Complex 2020-06-24 20:21:47 -04:00
Leo Singer
13260f95b0 Properly handle C99 complex types even in C++ mode
Use the `_Complex` keyword rather than the `complex` macro.

Fixes #1487.
2020-06-24 20:21:47 -04:00
Yegor Yefremov
113d78a083 Add support for Node.js v12 2020-04-07 15:23:31 +02:00
Yegor Yefremov
26fc996ad6 Replace Handle with Local depending on Node.js version
Use newly introduced macros like SWIGV8_VALUE to use v8::Handle or
v8::Local depending on the selected Node.js version where possible.
2020-04-07 14:13:12 +02:00
Tom Leavy
554aeead56 Introduce macros to support both Handle and Local types
The old Node.js versions don't treat v8::Handle and v8::Local as
the same types, and the latest versions (v12 and newer) have
removed v8::Handle at all.

This patch introduces the following macros that use v8::Handle or
v8::Local depending on the selected Node.js version:

- SWIGV8_ARRAY
- SWIGV8_FUNCTION_TEMPLATE
- SWIGV8_OBJECT
- SWIGV8_OBJECT_TEMPLATE
- SWIGV8_VALUE
2020-04-07 07:54:12 +02:00
mochizk
1e981dfc23 Fix node.js deprecated warnings >= v10.12.0 2019-03-13 23:09:57 +09:00
William S Fulton
52063a732b Consistent parameter names for std::pair 2019-02-14 22:44:27 +00:00
William S Fulton
6d27ead9c0 Add STL container copy constructors where missing
Also provide consistent copy constructor declarations.
2019-02-14 18:53:05 +00:00
William S Fulton
e26f6bb4e2 Add missing typedefs to std::vector + typedef corrections
Tests for std::vector of pointers added which check
 std::vector<T*>::const_reference and std::vector<T*>::reference
usage which gave compilation errors in Python and Perl which had
specialized these vectors incorrectly.
2019-02-13 22:46:28 +00:00
William S Fulton
a47c2553f5 Add missing typedefs to std::pair 2019-02-13 22:46:28 +00:00
William S Fulton
9dd33e6367 Add missing typedefs to std::map 2019-02-13 22:46:27 +00:00
William S Fulton
6d0c495fd0 Add missing parameter names in STL container wrappers
Mostly in STL copy constructors.

Best to have parameter names as they make their way into the wrappers in
some target languages.
2019-02-13 22:45:47 +00:00
William S Fulton
ec8d978995 Overloading for non-pointers and NULL - Javascript
Overloading support for Javascript is generally incomplete as there are
no typecheck typemaps, so the overloading and NULL support added here
doesn't work and won't work until the typecheck typemaps are
implemented.
2018-12-30 10:11:35 +00:00