Commit Graph

141 Commits

Author SHA1 Message Date
Oliver Buchtala a4036deda8 Add pre-processor defines to detect the javascript engine. 2013-08-31 03:34:38 +02:00
Oliver Buchtala 8b10c47ed8 Fix regression: add an include for Node.js header. 2013-08-31 03:34:37 +02:00
Oliver Buchtala caa92740d3 Add an option to deactivate creation of an extra module object in javascript.
This is useful, if the extension host calls the initializer with custom
local variables.
E.g., this is the case with node.js.
2013-08-31 03:23:12 +02:00
Oliver Buchtala 4fea3a403e Generate an extra file part after the initializer for v8 modules.
E.g., this is useful for creating node.js modules.
2013-08-31 03:23:12 +02:00
Oliver Buchtala 2c4a90a37d Generate defines for initializer function. 2013-08-31 03:23:11 +02:00
Oliver Buchtala 6754bf2b49 Generate cleanup code for %newobject. 2013-08-31 03:23:10 +02:00
Oliver Buchtala 57980975a0 Generate cleanup code. 2013-08-31 03:23:10 +02:00
Oliver Buchtala 94730dad7a Beautify output of v8 emitter.
Trimming some of the code templates.

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13830 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:16:54 +00:00
Oliver Buchtala 217ffb11d0 Fix regressions of latest commits.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13828 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:16:26 +00:00
Oliver Buchtala 9b06144d39 Fix handling of overloaded ctors in v8 emitter.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13827 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:16:09 +00:00
Oliver Buchtala 131a106204 Improve names and comments of code templates for javascript emitters.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13826 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:15:51 +00:00
Oliver Buchtala 7c7d1cf3b9 Fix errors related to wrapping and destruction of (undefined) SWIG_TYPES.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13824 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:15:12 +00:00
Oliver Buchtala f814a8e702 Fix errors concerning object wrapping and cleanup in v8 emitter.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13819 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:14:02 +00:00
Oliver Buchtala 91fc0ff205 Use a throwing default setter in v8 emitter.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13815 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:13:03 +00:00
Oliver Buchtala d13289cc91 Fix function dispatching for v8.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13812 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:12:18 +00:00
Oliver Buchtala da6307a19e Enable overloading ctors for v8.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13810 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:11:32 +00:00
Oliver Buchtala 2893df9f73 Several fixes in v8 emitter.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13806 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:10:27 +00:00
Oliver Buchtala c4ab879027 Fix string warnings of for char* constants in CPP wrappers.
This has been done by changing the implementation of marshalOutputArgs,
which now does not create a local result variable in this case, and
uses the constant inline in the output typemap.

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13805 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:10:10 +00:00
Oliver Buchtala f1e9b21dfd Add missing swig_type_info registration in v8 emitter.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13799 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:08:50 +00:00
Oliver Buchtala 21bdb78f1c Activate SwigModuleInitializer for in v8 emitter.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13798 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:08:33 +00:00
Oliver Buchtala 46cff47ada Several fixes in generator for v8 initializer function.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13796 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:08:03 +00:00
Oliver Buchtala cda09239ad Several fixes in v8 emitter and code templates.
Achieves first compile of example "class" after re-integration.

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13793 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:06:58 +00:00
Oliver Buchtala 0cae8fccd0 Minor refactor of marshalInputArgs for generalization.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13792 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:06:39 +00:00
Oliver Buchtala 9b0c8dae83 Add argcount checking to functions and ctors.
Before argument counts were only checked for overloaded functions/ctors.

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13791 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:06:26 +00:00
Oliver Buchtala d5c5f7ebee Generalize ctor overloading.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13790 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:06:08 +00:00
Oliver Buchtala 78442b2764 Several adaptations and fixes on the way to get V8 emitter running.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13788 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:05:37 +00:00
Oliver Buchtala 8d72616e65 Refactor emitter and code templates to use defined template variables.
Also switched from "${...}" to $..., which is swig's common notation
of typemap variables.

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13787 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:05:11 +00:00
Oliver Buchtala 07d5ec24ce Add support for type-based dispatching of overloaded functions.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13779 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:02:16 +00:00
Oliver Buchtala 4d9ca620ab Refactored JSEmitters to share unified code.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13776 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:00:15 +00:00
Oliver Buchtala 387da69e84 Pull namespace implementation up to be shared between js emitters.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13775 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 00:59:55 +00:00
Oliver Buchtala 66ead9afb2 Simplify implementation using new issetter flag.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13774 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 00:59:43 +00:00
Oliver Buchtala 16077503c8 Fix former workaround by concerning static member functions.
"storage" attribute is removed by Language::staticmemberfunctionHandler
which was resolved by a workaround before.
Now, the implementation relies completely on state flags retrieved at
a proper point.

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13772 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 00:59:18 +00:00
Oliver Buchtala c470864d12 Remove some dead code and an obsolete member variable from JSEmitter.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13771 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 00:59:03 +00:00
Oliver Buchtala 46624e24e5 Remove member variable current_wrapper from JSEmitter.
Instead each emitting function creates local wrapper instance.

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13770 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 00:58:49 +00:00
Oliver Buchtala 8577ae4179 Minor clean up.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13769 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 00:58:37 +00:00
Oliver Buchtala b778c4816b Remove a global variable from JSEmitter by making use of JSEmitterState.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13768 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 00:58:23 +00:00
Oliver Buchtala 9af3c4879b Switch to global variable for enabling code template debug information.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13767 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 00:58:11 +00:00
Oliver Buchtala b39e2bfff0 Refactor JSC emitter to reduce global state variables.
Also meld v8 emitter into javascript.cxx (provisional).

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13766 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 00:57:57 +00:00
Oliver Buchtala 050219d998 Merge branch 'devel' of https://github.com/Neha03/gsoc2012-javascript into devel
Conflicts:
	.project
	COPYRIGHT
	Doc/Manual/style.css
	Examples/Makefile.in
	Examples/test-suite/common.mk
	Lib/typemaps/strings.swg
	Makefile.in
	Source/DOH/fio.c
	Source/Makefile.am
	Source/Modules/emit.cxx
	Source/Modules/javascript.cxx
	configure.in

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13764 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 00:56:48 +00:00
Oliver Buchtala 3c30e2d382 Add initial Javascript V8 emitter implementation.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13743 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 00:47:19 +00:00
Oliver Buchtala d71a5f483a Add module for Javascript target.
This module comes with a design that allows different code emitter implementations.
For the the phase of development the module is split into multiple files
which will be merged together when development converges.

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13737 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 00:44:54 +00:00