Clean up in javascripttypemaps.swg.
- following the same layout/order as pytypemaps - added typemaps for `long long` and `unsigned long long`, which are only copies of those for `long` and `unsigned long` and hence are just experimental.
This commit is contained in:
parent
fc4d9b665c
commit
407d8ef5ac
6 changed files with 287 additions and 53 deletions
23
Lib/javascript/jsc/javascriptfragments.swg
Normal file
23
Lib/javascript/jsc/javascriptfragments.swg
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
/*
|
||||||
|
|
||||||
|
Create a file with this name, 'javascriptfragments.swg', in your working
|
||||||
|
directory and add all the %fragments you want to take precedence
|
||||||
|
over the default ones defined by swig.
|
||||||
|
|
||||||
|
For example, if you add:
|
||||||
|
|
||||||
|
%fragment(SWIG_AsVal_frag(int),"header") {
|
||||||
|
SWIGINTERNINLINE int
|
||||||
|
SWIG_AsVal(int)(PyObject *obj, int *val)
|
||||||
|
{
|
||||||
|
<your code here>;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
this will replace the code used to retrieve an integer value for all
|
||||||
|
the typemaps that need it, including:
|
||||||
|
|
||||||
|
int, std::vector<int>, std::list<std::pair<int,int> >, etc.
|
||||||
|
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
@ -1,5 +1,11 @@
|
||||||
|
/* ------------------------------------------------------------
|
||||||
|
* Primitive Types
|
||||||
|
* ------------------------------------------------------------ */
|
||||||
|
|
||||||
|
/* boolean */
|
||||||
|
|
||||||
%fragment(SWIG_From_frag(bool),"header") {
|
%fragment(SWIG_From_frag(bool),"header") {
|
||||||
SWIGINTERNINLINE
|
SWIGINTERNINLINE
|
||||||
JSValueRef SWIG_From_dec(bool)(bool value)
|
JSValueRef SWIG_From_dec(bool)(bool value)
|
||||||
{
|
{
|
||||||
return JSValueMakeBoolean(context, value);
|
return JSValueMakeBoolean(context, value);
|
||||||
|
|
@ -19,6 +25,8 @@ int SWIG_AsVal_dec(bool)(JSValueRef obj, bool *val)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* int */
|
||||||
|
|
||||||
%fragment(SWIG_From_frag(int),"header") {
|
%fragment(SWIG_From_frag(int),"header") {
|
||||||
SWIGINTERNINLINE JSValueRef
|
SWIGINTERNINLINE JSValueRef
|
||||||
SWIG_From_dec(int)(int value)
|
SWIG_From_dec(int)(int value)
|
||||||
|
|
@ -27,9 +35,11 @@ SWIGINTERNINLINE JSValueRef
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* long */
|
||||||
|
|
||||||
%fragment(SWIG_From_frag(long),"header") {
|
%fragment(SWIG_From_frag(long),"header") {
|
||||||
SWIGINTERNINLINE JSValueRef
|
SWIGINTERNINLINE JSValueRef
|
||||||
SWIG_From_dec(long)(long value)
|
SWIG_From_dec(long)(long value)
|
||||||
{
|
{
|
||||||
return JSValueMakeNumber(context, value);
|
return JSValueMakeNumber(context, value);
|
||||||
}
|
}
|
||||||
|
|
@ -44,7 +54,7 @@ SWIG_AsVal_dec(long)(JSValueRef obj, long* val)
|
||||||
return SWIG_TypeError;
|
return SWIG_TypeError;
|
||||||
}
|
}
|
||||||
if(val) *val = (long) JSValueToNumber(context, obj, NULL);
|
if(val) *val = (long) JSValueToNumber(context, obj, NULL);
|
||||||
|
|
||||||
return SWIG_OK;
|
return SWIG_OK;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -53,35 +63,97 @@ SWIG_AsVal_dec(long)(JSValueRef obj, long* val)
|
||||||
|
|
||||||
%fragment(SWIG_From_frag(unsigned long),"header",
|
%fragment(SWIG_From_frag(unsigned long),"header",
|
||||||
fragment=SWIG_From_frag(long)) {
|
fragment=SWIG_From_frag(long)) {
|
||||||
SWIGINTERNINLINE JSValueRef
|
SWIGINTERNINLINE JSValueRef
|
||||||
SWIG_From_dec(unsigned long)(unsigned long value)
|
SWIG_From_dec(unsigned long)(unsigned long value)
|
||||||
{
|
{
|
||||||
return (value > LONG_MAX) ?
|
return (value > LONG_MAX) ?
|
||||||
JSValueMakeNumber(context, value) : JSValueMakeNumber(context, %numeric_cast(value,long));
|
JSValueMakeNumber(context, value) : JSValueMakeNumber(context, %numeric_cast(value,long));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
%fragment(SWIG_AsVal_frag(unsigned long),"header",
|
%fragment(SWIG_AsVal_frag(unsigned long),"header",
|
||||||
fragment="SWIG_CanCastAsInteger") {
|
fragment="SWIG_CanCastAsInteger") {
|
||||||
SWIGINTERN int
|
SWIGINTERN int
|
||||||
SWIG_AsVal_dec(unsigned long)(JSValueRef obj, unsigned long *val)
|
SWIG_AsVal_dec(unsigned long)(JSValueRef obj, unsigned long *val)
|
||||||
{
|
{
|
||||||
if(!JSValueIsNumber(context, obj)) {
|
if(!JSValueIsNumber(context, obj)) {
|
||||||
return SWIG_TypeError;
|
return SWIG_TypeError;
|
||||||
}
|
}
|
||||||
|
|
||||||
long longVal = (long) JSValueToNumber(context, obj, NULL);
|
long longVal = (long) JSValueToNumber(context, obj, NULL);
|
||||||
|
|
||||||
if(longVal < 0) {
|
if(longVal < 0) {
|
||||||
return SWIG_OverflowError;
|
return SWIG_OverflowError;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(val) *val = longVal;
|
if(val) *val = longVal;
|
||||||
|
|
||||||
return SWIG_OK;
|
return SWIG_OK;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* long long */
|
||||||
|
// Note: these are copied from 'long' and probably need fixing
|
||||||
|
|
||||||
|
%fragment(SWIG_From_frag(long long),"header") {
|
||||||
|
SWIGINTERNINLINE JSValueRef
|
||||||
|
SWIG_From_dec(long long)(long long value)
|
||||||
|
{
|
||||||
|
return JSValueMakeNumber(context, value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
%fragment(SWIG_AsVal_frag(long long),"header",
|
||||||
|
fragment="SWIG_CanCastAsInteger") {
|
||||||
|
SWIGINTERN int
|
||||||
|
SWIG_AsVal_dec(long long)(JSValueRef obj, long long* val)
|
||||||
|
{
|
||||||
|
if (!JSValueIsNumber(context, obj)) {
|
||||||
|
return SWIG_TypeError;
|
||||||
|
}
|
||||||
|
if(val) *val = (long long) JSValueToNumber(context, obj, NULL);
|
||||||
|
|
||||||
|
return SWIG_OK;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* unsigned long long */
|
||||||
|
// Note: these are copied from 'unsigned long' and probably need fixing
|
||||||
|
|
||||||
|
%fragment(SWIG_From_frag(unsigned long long),"header",
|
||||||
|
fragment=SWIG_From_frag(long long),
|
||||||
|
fragment="<limits.h>") {
|
||||||
|
SWIGINTERN JSValueRef
|
||||||
|
SWIG_From_dec(unsigned long long)(unsigned long long value)
|
||||||
|
{
|
||||||
|
return (value > LONG_MAX) ?
|
||||||
|
JSValueMakeNumber(context, value) : JSValueMakeNumber(context, %numeric_cast(value,long));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
%fragment(SWIG_AsVal_frag(unsigned long long),"header",
|
||||||
|
fragment="SWIG_CanCastAsInteger") {
|
||||||
|
SWIGINTERN int
|
||||||
|
SWIG_AsVal_dec(unsigned long long)(JSValueRef obj, unsigned long long *val)
|
||||||
|
{
|
||||||
|
if(!JSValueIsNumber(context, obj)) {
|
||||||
|
return SWIG_TypeError;
|
||||||
|
}
|
||||||
|
|
||||||
|
long long longVal = (unsigned long long) JSValueToNumber(context, obj, NULL);
|
||||||
|
|
||||||
|
if(longVal < 0) {
|
||||||
|
return SWIG_OverflowError;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(val) *val = longVal;
|
||||||
|
|
||||||
|
return SWIG_OK;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* double */
|
||||||
|
|
||||||
%fragment(SWIG_From_frag(double),"header") {
|
%fragment(SWIG_From_frag(double),"header") {
|
||||||
SWIGINTERN JSValueRef
|
SWIGINTERN JSValueRef
|
||||||
SWIG_From_dec(double) (double val)
|
SWIG_From_dec(double) (double val)
|
||||||
|
|
@ -98,7 +170,7 @@ SWIG_AsVal_dec(double)(JSValueRef obj, double *val)
|
||||||
return SWIG_TypeError;
|
return SWIG_TypeError;
|
||||||
}
|
}
|
||||||
if(val) *val = JSValueToNumber(context, obj, NULL);
|
if(val) *val = JSValueToNumber(context, obj, NULL);
|
||||||
|
|
||||||
return SWIG_OK;
|
return SWIG_OK;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1,21 +1,46 @@
|
||||||
|
/* ------------------------------------------------------------
|
||||||
|
* Typemap specializations for Javascript
|
||||||
|
* ------------------------------------------------------------ */
|
||||||
|
|
||||||
|
/* ------------------------------------------------------------
|
||||||
|
* Fragment section
|
||||||
|
* ------------------------------------------------------------ */
|
||||||
|
|
||||||
|
/* These macros are necessary to provide an extra parameter
|
||||||
|
to SWIG_AsVal_dec functions (JSContextRef context).
|
||||||
|
*/
|
||||||
#define SWIG_FROM_DECL_ARGS SWIG_JSC_FROM_DECL_ARGS
|
#define SWIG_FROM_DECL_ARGS SWIG_JSC_FROM_DECL_ARGS
|
||||||
#define SWIG_FROM_CALL_ARGS SWIG_JSC_FROM_CALL_ARGS
|
#define SWIG_FROM_CALL_ARGS SWIG_JSC_FROM_CALL_ARGS
|
||||||
#define SWIG_AS_DECL_ARGS SWIG_JSC_AS_DECL_ARGS
|
#define SWIG_AS_DECL_ARGS SWIG_JSC_AS_DECL_ARGS
|
||||||
#define SWIG_AS_CALL_ARGS SWIG_JSC_AS_CALL_ARGS
|
#define SWIG_AS_CALL_ARGS SWIG_JSC_AS_CALL_ARGS
|
||||||
#define SWIG_Object JSValueRef
|
|
||||||
#define VOID_Object JSValueMakeUndefined(context)
|
|
||||||
#define SWIG_AppendOutput(result, obj)
|
|
||||||
#define SWIG_SetConstant(name, obj)
|
|
||||||
#define SWIG_Raise(obj, type, desc) SWIG_Javascript_Raise(context, exception, type)
|
|
||||||
|
|
||||||
/* Include fundamental fragemt definitions */
|
/* Include fundamental fragemt definitions */
|
||||||
%include <typemaps/fragments.swg>
|
%include <typemaps/fragments.swg>
|
||||||
|
|
||||||
/* Python fragments for fundamental types */
|
/* Look for user fragments file. */
|
||||||
%include <javascriptprimitives.swg>
|
%include <javascriptfragments.swg>
|
||||||
|
|
||||||
|
/* Javascript fragments for fundamental types */
|
||||||
|
%include <javascriptprimtypes.swg>
|
||||||
|
|
||||||
|
/* Javascript fragments for char* strings */
|
||||||
%include <javascriptstrings.swg>
|
%include <javascriptstrings.swg>
|
||||||
|
|
||||||
|
/* ------------------------------------------------------------
|
||||||
|
* Unified typemap section
|
||||||
|
* ------------------------------------------------------------ */
|
||||||
|
|
||||||
|
#define SWIG_Object JSValueRef
|
||||||
|
#define VOID_Object JSValueMakeUndefined(context)
|
||||||
|
|
||||||
|
/* append output */
|
||||||
|
#define SWIG_AppendOutput(result, obj)
|
||||||
|
|
||||||
|
/* set constant */
|
||||||
|
#define SWIG_SetConstant(name, obj)
|
||||||
|
|
||||||
|
/* raise */
|
||||||
|
#define SWIG_Raise(obj, type, desc) SWIG_Javascript_Raise(context, exception, type)
|
||||||
|
|
||||||
/* Include the unified typemap library */
|
/* Include the unified typemap library */
|
||||||
%include <typemaps/swigtypemaps.swg>
|
%include <typemaps/swigtypemaps.swg>
|
||||||
|
|
|
||||||
23
Lib/javascript/v8/javascriptfragments.swg
Normal file
23
Lib/javascript/v8/javascriptfragments.swg
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
/*
|
||||||
|
|
||||||
|
Create a file with this name, 'javascriptfragments.swg', in your working
|
||||||
|
directory and add all the %fragments you want to take precedence
|
||||||
|
over the default ones defined by swig.
|
||||||
|
|
||||||
|
For example, if you add:
|
||||||
|
|
||||||
|
%fragment(SWIG_AsVal_frag(int),"header") {
|
||||||
|
SWIGINTERNINLINE int
|
||||||
|
SWIG_AsVal(int)(PyObject *obj, int *val)
|
||||||
|
{
|
||||||
|
<your code here>;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
this will replace the code used to retrieve an integer value for all
|
||||||
|
the typemaps that need it, including:
|
||||||
|
|
||||||
|
int, std::vector<int>, std::list<std::pair<int,int> >, etc.
|
||||||
|
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
@ -1,6 +1,12 @@
|
||||||
|
/* ------------------------------------------------------------
|
||||||
|
* Primitive Types
|
||||||
|
* ------------------------------------------------------------ */
|
||||||
|
|
||||||
|
/* boolean */
|
||||||
|
|
||||||
%fragment(SWIG_From_frag(bool),"header") {
|
%fragment(SWIG_From_frag(bool),"header") {
|
||||||
SWIGINTERNINLINE
|
SWIGINTERNINLINE
|
||||||
v8::Handle<v8::Value>
|
v8::Handle<v8::Value>
|
||||||
SWIG_From_dec(bool)(bool value)
|
SWIG_From_dec(bool)(bool value)
|
||||||
{
|
{
|
||||||
return v8::Boolean::New(value);
|
return v8::Boolean::New(value);
|
||||||
|
|
@ -15,12 +21,14 @@ int SWIG_AsVal_dec(bool)(v8::Handle<v8::Value> obj, bool *val)
|
||||||
if(!obj->IsBoolean()) {
|
if(!obj->IsBoolean()) {
|
||||||
return SWIG_ERROR;
|
return SWIG_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (val) *val = obj->BooleanValue();
|
if (val) *val = obj->BooleanValue();
|
||||||
return SWIG_OK;
|
return SWIG_OK;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* int */
|
||||||
|
|
||||||
%fragment(SWIG_From_frag(int),"header") {
|
%fragment(SWIG_From_frag(int),"header") {
|
||||||
SWIGINTERNINLINE
|
SWIGINTERNINLINE
|
||||||
v8::Handle<v8::Value> SWIG_From_dec(int)(int value)
|
v8::Handle<v8::Value> SWIG_From_dec(int)(int value)
|
||||||
|
|
@ -30,18 +38,19 @@ v8::Handle<v8::Value> SWIG_From_dec(int)(int value)
|
||||||
}
|
}
|
||||||
|
|
||||||
%fragment(SWIG_AsVal_frag(int),"header") {
|
%fragment(SWIG_AsVal_frag(int),"header") {
|
||||||
SWIGINTERN
|
SWIGINTERN
|
||||||
int SWIG_AsVal_dec(int)(v8::Handle<v8::Value> valRef, int* val)
|
int SWIG_AsVal_dec(int)(v8::Handle<v8::Value> valRef, int* val)
|
||||||
{
|
{
|
||||||
if (!valRef->IsNumber()) {
|
if (!valRef->IsNumber()) {
|
||||||
return SWIG_TypeError;
|
return SWIG_TypeError;
|
||||||
}
|
}
|
||||||
if(val) *val = valRef->IntegerValue();
|
if(val) *val = valRef->IntegerValue();
|
||||||
|
|
||||||
return SWIG_OK;
|
return SWIG_OK;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* long */
|
||||||
|
|
||||||
%fragment(SWIG_From_frag(long),"header") {
|
%fragment(SWIG_From_frag(long),"header") {
|
||||||
SWIGINTERNINLINE
|
SWIGINTERNINLINE
|
||||||
|
|
@ -53,14 +62,14 @@ v8::Handle<v8::Value> SWIG_From_dec(long)(long value)
|
||||||
|
|
||||||
%fragment(SWIG_AsVal_frag(long),"header",
|
%fragment(SWIG_AsVal_frag(long),"header",
|
||||||
fragment="SWIG_CanCastAsInteger") {
|
fragment="SWIG_CanCastAsInteger") {
|
||||||
SWIGINTERN
|
SWIGINTERN
|
||||||
int SWIG_AsVal_dec(long)(v8::Handle<v8::Value> obj, long* val)
|
int SWIG_AsVal_dec(long)(v8::Handle<v8::Value> obj, long* val)
|
||||||
{
|
{
|
||||||
if (!obj->IsNumber()) {
|
if (!obj->IsNumber()) {
|
||||||
return SWIG_TypeError;
|
return SWIG_TypeError;
|
||||||
}
|
}
|
||||||
if(val) *val = (long) obj->IntegerValue();
|
if(val) *val = (long) obj->IntegerValue();
|
||||||
|
|
||||||
return SWIG_OK;
|
return SWIG_OK;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -69,37 +78,98 @@ int SWIG_AsVal_dec(long)(v8::Handle<v8::Value> obj, long* val)
|
||||||
|
|
||||||
%fragment(SWIG_From_frag(unsigned long),"header",
|
%fragment(SWIG_From_frag(unsigned long),"header",
|
||||||
fragment=SWIG_From_frag(long)) {
|
fragment=SWIG_From_frag(long)) {
|
||||||
SWIGINTERNINLINE
|
SWIGINTERNINLINE
|
||||||
v8::Handle<v8::Value> SWIG_From_dec(unsigned long)(unsigned long value)
|
v8::Handle<v8::Value> SWIG_From_dec(unsigned long)(unsigned long value)
|
||||||
{
|
{
|
||||||
return (value > LONG_MAX) ?
|
return (value > LONG_MAX) ?
|
||||||
v8::Integer::NewFromUnsigned(value) : v8::Integer::New(%numeric_cast(value,long));
|
v8::Integer::NewFromUnsigned(value) : v8::Integer::New(%numeric_cast(value,long));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
%fragment(SWIG_AsVal_frag(unsigned long),"header",
|
%fragment(SWIG_AsVal_frag(unsigned long),"header",
|
||||||
fragment="SWIG_CanCastAsInteger") {
|
fragment="SWIG_CanCastAsInteger") {
|
||||||
SWIGINTERN
|
SWIGINTERN
|
||||||
int SWIG_AsVal_dec(unsigned long)(v8::Handle<v8::Value> obj, unsigned long *val)
|
int SWIG_AsVal_dec(unsigned long)(v8::Handle<v8::Value> obj, unsigned long *val)
|
||||||
{
|
{
|
||||||
if(!obj->IsNumber()) {
|
if(!obj->IsNumber()) {
|
||||||
return SWIG_TypeError;
|
return SWIG_TypeError;
|
||||||
}
|
}
|
||||||
|
|
||||||
long longVal = (long) obj->NumberValue();
|
long longVal = (long) obj->NumberValue();
|
||||||
|
|
||||||
if(longVal < 0) {
|
if(longVal < 0) {
|
||||||
return SWIG_OverflowError;
|
return SWIG_OverflowError;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(val) *val = longVal;
|
if(val) *val = longVal;
|
||||||
|
|
||||||
return SWIG_OK;
|
return SWIG_OK;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* long long */
|
||||||
|
// Note: these are copied from 'long' and probably need fixing
|
||||||
|
|
||||||
|
%fragment(SWIG_From_frag(long long),"header") {
|
||||||
|
SWIGINTERNINLINE
|
||||||
|
v8::Handle<v8::Value> SWIG_From_dec(long long)(long long value)
|
||||||
|
{
|
||||||
|
return v8::Number::New(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
%fragment(SWIG_AsVal_frag(long long),"header",
|
||||||
|
fragment="SWIG_CanCastAsInteger") {
|
||||||
|
SWIGINTERN
|
||||||
|
int SWIG_AsVal_dec(long)(v8::Handle<v8::Value> obj, long long* val)
|
||||||
|
{
|
||||||
|
if (!obj->IsNumber()) {
|
||||||
|
return SWIG_TypeError;
|
||||||
|
}
|
||||||
|
if(val) *val = (long long) obj->IntegerValue();
|
||||||
|
|
||||||
|
return SWIG_OK;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* unsigned long long */
|
||||||
|
// Note: these are copied from 'unsigned long' and probably need fixing
|
||||||
|
|
||||||
|
%fragment(SWIG_From_frag(unsigned long long),"header",
|
||||||
|
fragment=SWIG_From_frag(long long)) {
|
||||||
|
SWIGINTERNINLINE
|
||||||
|
v8::Handle<v8::Value> SWIG_From_dec(unsigned long long)(unsigned long long value)
|
||||||
|
{
|
||||||
|
return (value > LONG_MAX) ?
|
||||||
|
v8::Integer::NewFromUnsigned(value) : v8::Integer::New(%numeric_cast(value,long));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
%fragment(SWIG_AsVal_frag(unsigned long long),"header",
|
||||||
|
fragment="SWIG_CanCastAsInteger") {
|
||||||
|
SWIGINTERN
|
||||||
|
int SWIG_AsVal_dec(unsigned long)(v8::Handle<v8::Value> obj, unsigned long long *val)
|
||||||
|
{
|
||||||
|
if(!obj->IsNumber()) {
|
||||||
|
return SWIG_TypeError;
|
||||||
|
}
|
||||||
|
|
||||||
|
long long longVal = (long long) obj->NumberValue();
|
||||||
|
|
||||||
|
if(longVal < 0) {
|
||||||
|
return SWIG_OverflowError;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(val) *val = longVal;
|
||||||
|
|
||||||
|
return SWIG_OK;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* double */
|
||||||
|
|
||||||
%fragment(SWIG_From_frag(double),"header") {
|
%fragment(SWIG_From_frag(double),"header") {
|
||||||
SWIGINTERN
|
SWIGINTERN
|
||||||
v8::Handle<v8::Value> SWIG_From_dec(double) (double val)
|
v8::Handle<v8::Value> SWIG_From_dec(double) (double val)
|
||||||
{
|
{
|
||||||
return v8::Number::New(val);
|
return v8::Number::New(val);
|
||||||
|
|
@ -107,21 +177,15 @@ v8::Handle<v8::Value> SWIG_From_dec(double) (double val)
|
||||||
}
|
}
|
||||||
|
|
||||||
%fragment(SWIG_AsVal_frag(double),"header") {
|
%fragment(SWIG_AsVal_frag(double),"header") {
|
||||||
SWIGINTERN
|
SWIGINTERN
|
||||||
int SWIG_AsVal_dec(double)(v8::Handle<v8::Value> obj, double *val)
|
int SWIG_AsVal_dec(double)(v8::Handle<v8::Value> obj, double *val)
|
||||||
{
|
{
|
||||||
if(!obj->IsNumber()) {
|
if(!obj->IsNumber()) {
|
||||||
return SWIG_TypeError;
|
return SWIG_TypeError;
|
||||||
}
|
}
|
||||||
if(val) *val = obj->NumberValue();
|
if(val) *val = obj->NumberValue();
|
||||||
|
|
||||||
return SWIG_OK;
|
return SWIG_OK;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
%typemap(in) char *
|
|
||||||
%{
|
|
||||||
v8::String::Utf8Value _$1($input);
|
|
||||||
$1 = *_$1;
|
|
||||||
%}
|
|
||||||
|
|
||||||
|
|
@ -1,16 +1,43 @@
|
||||||
#define SWIG_Object v8::Handle<v8::Value>
|
/* ------------------------------------------------------------
|
||||||
#define VOID_Object v8::Undefined()
|
* Typemap specializations for Javascript
|
||||||
#define SWIG_AppendOutput(result, obj)
|
* ------------------------------------------------------------ */
|
||||||
#define SWIG_SetConstant(name, obj)
|
|
||||||
#define SWIG_Raise(obj, type, desc) SWIG_V8_Raise(type)
|
/* ------------------------------------------------------------
|
||||||
|
* Fragment section
|
||||||
|
* ------------------------------------------------------------ */
|
||||||
|
|
||||||
/* Include fundamental fragemt definitions */
|
/* Include fundamental fragemt definitions */
|
||||||
%include <typemaps/fragments.swg>
|
%include <typemaps/fragments.swg>
|
||||||
|
|
||||||
/* Python fragments for fundamental types */
|
/* Look for user fragments file. */
|
||||||
%include <javascriptprimitives.swg>
|
%include <javascriptfragments.swg>
|
||||||
|
|
||||||
|
/* Javascript fragments for fundamental types */
|
||||||
|
%include <javascriptprimtypes.swg>
|
||||||
|
|
||||||
|
/* Javascript fragments for char* strings */
|
||||||
%include <javascriptstrings.swg>
|
%include <javascriptstrings.swg>
|
||||||
|
|
||||||
|
|
||||||
|
/* ------------------------------------------------------------
|
||||||
|
* Unified typemap section
|
||||||
|
* ------------------------------------------------------------ */
|
||||||
|
|
||||||
|
/* Javascript types */
|
||||||
|
|
||||||
|
#define SWIG_Object v8::Handle<v8::Value>
|
||||||
|
#define VOID_Object v8::Undefined()
|
||||||
|
|
||||||
|
/* Overload of the output/constant/exception/dirout handling */
|
||||||
|
|
||||||
|
/* append output */
|
||||||
|
#define SWIG_AppendOutput(result, obj)
|
||||||
|
|
||||||
|
/* set constant */
|
||||||
|
#define SWIG_SetConstant(name, obj)
|
||||||
|
|
||||||
|
/* raise */
|
||||||
|
#define SWIG_Raise(obj, type, desc) SWIG_V8_Raise(type)
|
||||||
|
|
||||||
/* Include the unified typemap library */
|
/* Include the unified typemap library */
|
||||||
%include <typemaps/swigtypemaps.swg>
|
%include <typemaps/swigtypemaps.swg>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue