Merge branch 'fix-cast' into master
This commit is contained in:
commit
975a36d5a5
537 changed files with 6412 additions and 29161 deletions
|
|
@ -21,105 +21,66 @@
|
|||
* fs = example.FiddleSticks;
|
||||
* ----------------------------------------------------------------------------- */
|
||||
|
||||
%fragment("SWIG_JSCGetIntProperty", "header", fragment=SWIG_AsVal_frag(int)) {}
|
||||
|
||||
%fragment("SWIG_JSCGetIntProperty", "header", fragment=SWIG_AsVal_frag(int)) {}
|
||||
%fragment("SWIG_JSCGetNumberProperty", "header", fragment=SWIG_AsVal_frag(double)) {}
|
||||
%fragment("SWIG_JSCOutInt", "header", fragment=SWIG_From_frag(int)) {}
|
||||
%fragment("SWIG_JSCOutNumber", "header", fragment=SWIG_From_frag(double)) {}
|
||||
|
||||
%typemap(in, fragment="SWIG_JSCGetIntProperty") int[], int[ANY]
|
||||
(int length = 0, v8::Local<v8::Array> array, v8::Local<v8::Value> jsvalue, int i = 0, int res = 0, $*1_ltype temp) {
|
||||
if ($input->IsArray())
|
||||
{
|
||||
%define JAVASCRIPT_ARRAYS_IN_DECL(NAME, CTYPE, ANY, ANYLENGTH)
|
||||
|
||||
%typemap(in, fragment=NAME) CTYPE[ANY] {
|
||||
if ($input->IsArray()) {
|
||||
// Convert into Array
|
||||
array = v8::Local<v8::Array>::Cast($input);
|
||||
v8::Local<v8::Array> array = v8::Local<v8::Array>::Cast($input);
|
||||
|
||||
length = $1_dim0;
|
||||
int length = ANYLENGTH;
|
||||
|
||||
$1 = ($*1_ltype *)malloc(sizeof($*1_ltype) * length);
|
||||
$1 = ($*1_ltype *)malloc(sizeof($*1_ltype) * length);
|
||||
|
||||
// Get each element from array
|
||||
for (i = 0; i < length; i++)
|
||||
{
|
||||
jsvalue = array->Get(i);
|
||||
for (int i = 0; i < length; i++) {
|
||||
v8::Local<v8::Value> jsvalue = SWIGV8_ARRAY_GET(array, i);
|
||||
$*1_ltype temp;
|
||||
|
||||
// Get primitive value from JSObject
|
||||
res = SWIG_AsVal(int)(jsvalue, &temp);
|
||||
if (!SWIG_IsOK(res))
|
||||
{
|
||||
int res = SWIG_AsVal(CTYPE)(jsvalue, &temp);
|
||||
if (!SWIG_IsOK(res)) {
|
||||
SWIG_exception_fail(SWIG_ERROR, "Failed to convert $input to double");
|
||||
}
|
||||
arg$argnum[i] = temp;
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
SWIG_exception_fail(SWIG_ERROR, "$input is not JSObjectRef");
|
||||
} else {
|
||||
SWIG_exception_fail(SWIG_ERROR, "$input is not an array");
|
||||
}
|
||||
}
|
||||
|
||||
%typemap(freearg) int[], int[ANY] {
|
||||
free($1);
|
||||
%typemap(freearg) CTYPE[ANY] {
|
||||
free($1);
|
||||
}
|
||||
|
||||
%typemap(out, fragment=SWIG_From_frag(int)) int[], int[ANY] (int length = 0, int i = 0)
|
||||
{
|
||||
length = $1_dim0;
|
||||
v8::Local<v8::Array> array = v8::Array::New(length);
|
||||
%enddef
|
||||
|
||||
for (i = 0; i < length; i++)
|
||||
{
|
||||
array->Set(i, SWIG_From(int)($1[i]));
|
||||
%define JAVASCRIPT_ARRAYS_OUT_DECL(NAME, CTYPE)
|
||||
|
||||
%typemap(out, fragment=NAME) CTYPE[ANY] {
|
||||
int length = $1_dim0;
|
||||
v8::Local<v8::Array> array = SWIGV8_ARRAY_NEW(length);
|
||||
|
||||
for (int i = 0; i < length; i++) {
|
||||
SWIGV8_ARRAY_SET(array, i, SWIG_From(CTYPE)($1[i]));
|
||||
}
|
||||
|
||||
|
||||
$result = array;
|
||||
}
|
||||
|
||||
%typemap(in, fragment="SWIG_JSCGetNumberProperty") double[], double[ANY]
|
||||
(int length = 0, v8::Local<v8::Array> array, v8::Local<v8::Value> jsvalue, int i = 0, int res = 0, $*1_ltype temp) {
|
||||
if ($input->IsArray())
|
||||
{
|
||||
// Convert into Array
|
||||
array = v8::Local<v8::Array>::Cast($input);
|
||||
%enddef
|
||||
|
||||
length = $1_dim0;
|
||||
JAVASCRIPT_ARRAYS_IN_DECL("SWIG_JSCGetIntProperty", int, , array->Length())
|
||||
JAVASCRIPT_ARRAYS_IN_DECL("SWIG_JSCGetIntProperty", int, ANY, $1_dim0)
|
||||
JAVASCRIPT_ARRAYS_IN_DECL("SWIG_JSCGetNumberProperty", double, , array->Length())
|
||||
JAVASCRIPT_ARRAYS_IN_DECL("SWIG_JSCGetNumberProperty", double, ANY, $1_dim0)
|
||||
|
||||
$1 = ($*1_ltype *)malloc(sizeof($*1_ltype) * length);
|
||||
JAVASCRIPT_ARRAYS_OUT_DECL("SWIG_JSCOutInt", int)
|
||||
JAVASCRIPT_ARRAYS_OUT_DECL("SWIG_JSCOutNumber", double)
|
||||
|
||||
// Get each element from array
|
||||
for (i = 0; i < length; i++)
|
||||
{
|
||||
jsvalue = array->Get(i);
|
||||
|
||||
// Get primitive value from JSObject
|
||||
res = SWIG_AsVal(double)(jsvalue, &temp);
|
||||
if (!SWIG_IsOK(res))
|
||||
{
|
||||
SWIG_exception_fail(SWIG_ERROR, "Failed to convert $input to double");
|
||||
}
|
||||
arg$argnum[i] = temp;
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
SWIG_exception_fail(SWIG_ERROR, "$input is not JSObjectRef");
|
||||
}
|
||||
}
|
||||
|
||||
%typemap(freearg) double[], double[ANY] {
|
||||
free($1);
|
||||
}
|
||||
|
||||
%typemap(out, fragment=SWIG_From_frag(double)) double[], double[ANY] (int length = 0, int i = 0)
|
||||
{
|
||||
length = $1_dim0;
|
||||
v8::Local<v8::Array> array = v8::Array::New(length);
|
||||
|
||||
for (i = 0; i < length; i++)
|
||||
{
|
||||
array->Set(i, SWIG_From(double)($1[i]));
|
||||
}
|
||||
|
||||
|
||||
$result = array;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -432,7 +432,7 @@ fail:
|
|||
$jsmangledname_class_0->SetHiddenPrototype(true);
|
||||
v8::Local<v8::Object> $jsmangledname_obj = $jsmangledname_class_0->GetFunction();
|
||||
#else
|
||||
v8::Local<v8::Object> $jsmangledname_obj = $jsmangledname_class_0->GetFunction(SWIGV8_CURRENT_CONTEXT()).ToLocalChecked();
|
||||
v8::Local<v8::Object> $jsmangledname_obj = $jsmangledname_class_0->GetFunction(context).ToLocalChecked();
|
||||
#endif
|
||||
%}
|
||||
|
||||
|
|
@ -444,10 +444,10 @@ fail:
|
|||
* ----------------------------------------------------------------------------- */
|
||||
%fragment("jsv8_register_class", "templates")
|
||||
%{
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031903)
|
||||
#if (V8_MAJOR_VERSION-0) < 5
|
||||
$jsparent_obj->Set(SWIGV8_SYMBOL_NEW("$jsname"), $jsmangledname_obj);
|
||||
#else
|
||||
SWIGV8_MAYBE_CHECK($jsparent_obj->Set(SWIGV8_CURRENT_CONTEXT(), SWIGV8_SYMBOL_NEW("$jsname"), $jsmangledname_obj));
|
||||
SWIGV8_MAYBE_CHECK($jsparent_obj->Set(context, SWIGV8_SYMBOL_NEW("$jsname"), $jsmangledname_obj));
|
||||
#endif
|
||||
|
||||
%}
|
||||
|
|
@ -469,10 +469,10 @@ fail:
|
|||
* ----------------------------------------------------------------------------- */
|
||||
%fragment("jsv8_register_namespace", "templates")
|
||||
%{
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031903)
|
||||
#if (V8_MAJOR_VERSION-0) < 5
|
||||
$jsparent_obj->Set(SWIGV8_SYMBOL_NEW("$jsname"), $jsmangledname_obj);
|
||||
#else
|
||||
SWIGV8_MAYBE_CHECK($jsparent_obj->Set(SWIGV8_CURRENT_CONTEXT(), SWIGV8_SYMBOL_NEW("$jsname"), $jsmangledname_obj));
|
||||
SWIGV8_MAYBE_CHECK($jsparent_obj->Set(context, SWIGV8_SYMBOL_NEW("$jsname"), $jsmangledname_obj));
|
||||
#endif
|
||||
%}
|
||||
|
||||
|
|
@ -509,7 +509,7 @@ fail:
|
|||
* ----------------------------------------------------------------------------- */
|
||||
%fragment("jsv8_register_static_function", "templates")
|
||||
%{
|
||||
SWIGV8_AddStaticFunction($jsparent_obj, "$jsname", $jswrapper);
|
||||
SWIGV8_AddStaticFunction($jsparent_obj, "$jsname", $jswrapper, context);
|
||||
%}
|
||||
|
||||
/* -----------------------------------------------------------------------------
|
||||
|
|
@ -523,5 +523,5 @@ fail:
|
|||
* ----------------------------------------------------------------------------- */
|
||||
%fragment("jsv8_register_static_variable", "templates")
|
||||
%{
|
||||
SWIGV8_AddStaticVariable($jsparent_obj, "$jsname", $jsgetter, $jssetter);
|
||||
SWIGV8_AddStaticVariable($jsparent_obj, "$jsname", $jsgetter, $jssetter, context);
|
||||
%}
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ SWIG_From_dec(Type)(%ifcplusplus(const Type&, Type) c)
|
|||
{
|
||||
SWIGV8_HANDLESCOPE_ESC();
|
||||
|
||||
v8::Local<v8::Array> vals = SWIGV8_ARRAY_NEW();
|
||||
v8::Local<v8::Array> vals = SWIGV8_ARRAY_NEW(0);
|
||||
|
||||
SWIGV8_ARRAY_SET(vals, 0, SWIG_From(double)(Real(c)));
|
||||
SWIGV8_ARRAY_SET(vals, 1, SWIG_From(double)(Imag(c)));
|
||||
|
|
@ -39,23 +39,23 @@ SWIG_AsVal_dec(Type) (SWIGV8_VALUE o, Type* val)
|
|||
if (o->IsArray()) {
|
||||
SWIGV8_ARRAY array = SWIGV8_ARRAY::Cast(o);
|
||||
|
||||
if(array->Length() != 2) SWIG_Error(SWIG_TypeError, "Illegal argument for complex: must be array[2].");
|
||||
if (array->Length() != 2) SWIG_Error(SWIG_TypeError, "Illegal argument for complex: must be array[2].");
|
||||
double re, im;
|
||||
int res;
|
||||
|
||||
res = SWIG_AsVal(double)(SWIGV8_ARRAY_GET(array, 0), &re);
|
||||
if(!SWIG_IsOK(res)) {
|
||||
if (!SWIG_IsOK(res)) {
|
||||
return SWIG_TypeError;
|
||||
}
|
||||
|
||||
res = SWIG_AsVal(double)(SWIGV8_ARRAY_GET(array, 1), &im);
|
||||
if(!SWIG_IsOK(res)) {
|
||||
if (!SWIG_IsOK(res)) {
|
||||
return SWIG_TypeError;
|
||||
}
|
||||
|
||||
if (val) *val = Constructor(re, im);
|
||||
return SWIG_OK;
|
||||
} else if(o->IsNumber()){
|
||||
} else if (o->IsNumber()) {
|
||||
double d;
|
||||
int res = SWIG_AddCast(SWIG_AsVal(double)(o, &d));
|
||||
if (SWIG_IsOK(res)) {
|
||||
|
|
@ -81,17 +81,17 @@ SWIG_AsVal_dec(Type) (SWIGV8_VALUE o, Type* val)
|
|||
if (o->IsArray()) {
|
||||
SWIGV8_ARRAY array = SWIGV8_ARRAY::Cast(o);
|
||||
|
||||
if(array->Length() != 2) SWIG_Error(SWIG_TypeError, "Illegal argument for complex: must be array[2].");
|
||||
if (array->Length() != 2) SWIG_Error(SWIG_TypeError, "Illegal argument for complex: must be array[2].");
|
||||
double re, im;
|
||||
int res;
|
||||
|
||||
res = SWIG_AsVal(double)(SWIGV8_ARRAY_GET(array, 0), &re);
|
||||
if(!SWIG_IsOK(res)) {
|
||||
if (!SWIG_IsOK(res)) {
|
||||
return SWIG_TypeError;
|
||||
}
|
||||
|
||||
res = SWIG_AsVal(double)(SWIGV8_ARRAY_GET(array, 1), &im);
|
||||
if(!SWIG_IsOK(res)) {
|
||||
if (!SWIG_IsOK(res)) {
|
||||
return SWIG_TypeError;
|
||||
}
|
||||
|
||||
|
|
@ -102,7 +102,7 @@ SWIG_AsVal_dec(Type) (SWIGV8_VALUE o, Type* val)
|
|||
} else {
|
||||
return SWIG_OverflowError;
|
||||
}
|
||||
} else if(o->IsNumber()){
|
||||
} else if (o->IsNumber()) {
|
||||
float re;
|
||||
int res = SWIG_AddCast(SWIG_AsVal(float)(o, &re));
|
||||
if (SWIG_IsOK(res)) {
|
||||
|
|
|
|||
|
|
@ -61,11 +61,11 @@ SWIGRUNTIME void SWIGV8_AddMemberVariable(SWIGV8_FUNCTION_TEMPLATE class_templ,
|
|||
* Registers a class method with given name for a given object.
|
||||
*/
|
||||
SWIGRUNTIME void SWIGV8_AddStaticFunction(SWIGV8_OBJECT obj, const char* symbol,
|
||||
const SwigV8FunctionCallback& _func) {
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031903) || (SWIG_V8_VERSION < 0x0704)
|
||||
const SwigV8FunctionCallback& _func, v8::Local<v8::Context> context) {
|
||||
#if (V8_MAJOR_VERSION-0) < 5
|
||||
obj->Set(SWIGV8_SYMBOL_NEW(symbol), SWIGV8_FUNCTEMPLATE_NEW(_func)->GetFunction());
|
||||
#else
|
||||
SWIGV8_MAYBE_CHECK(obj->Set(SWIGV8_CURRENT_CONTEXT(), SWIGV8_SYMBOL_NEW(symbol), SWIGV8_FUNCTEMPLATE_NEW(_func)->GetFunction(SWIGV8_CURRENT_CONTEXT()).ToLocalChecked()));
|
||||
SWIGV8_MAYBE_CHECK(obj->Set(context, SWIGV8_SYMBOL_NEW(symbol), SWIGV8_FUNCTEMPLATE_NEW(_func)->GetFunction(context).ToLocalChecked()));
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
@ -73,11 +73,12 @@ SWIGRUNTIME void SWIGV8_AddStaticFunction(SWIGV8_OBJECT obj, const char* symbol,
|
|||
* Registers a class method with given name for a given object.
|
||||
*/
|
||||
SWIGRUNTIME void SWIGV8_AddStaticVariable(SWIGV8_OBJECT obj, const char* symbol,
|
||||
SwigV8AccessorGetterCallback getter, SwigV8AccessorSetterCallback setter) {
|
||||
SwigV8AccessorGetterCallback getter, SwigV8AccessorSetterCallback setter,
|
||||
v8::Local<v8::Context> context) {
|
||||
#if (V8_MAJOR_VERSION-0) < 5
|
||||
obj->SetAccessor(SWIGV8_SYMBOL_NEW(symbol), getter, setter);
|
||||
#else
|
||||
SWIGV8_MAYBE_CHECK(obj->SetAccessor(SWIGV8_CURRENT_CONTEXT(), SWIGV8_SYMBOL_NEW(symbol), getter, setter));
|
||||
SWIGV8_MAYBE_CHECK(obj->SetAccessor(context, SWIGV8_SYMBOL_NEW(symbol), getter, setter));
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,27 +5,27 @@
|
|||
%insert(init) %{
|
||||
|
||||
SWIGRUNTIME void
|
||||
SWIG_V8_SetModule(void *, swig_module_info *swig_module) {
|
||||
v8::Local<v8::Object> global_obj = SWIGV8_CURRENT_CONTEXT()->Global();
|
||||
SWIG_V8_SetModule(v8::Local<v8::Context> context, swig_module_info *swig_module) {
|
||||
v8::Local<v8::Object> global_obj = context->Global();
|
||||
v8::Local<v8::External> mod = SWIGV8_EXTERNAL_NEW(swig_module);
|
||||
assert(!mod.IsEmpty());
|
||||
#if (V8_MAJOR_VERSION-0) < 5
|
||||
global_obj->SetHiddenValue(SWIGV8_STRING_NEW("swig_module_info_data"), mod);
|
||||
#else
|
||||
v8::Local<v8::Private> privateKey = v8::Private::ForApi(v8::Isolate::GetCurrent(), SWIGV8_STRING_NEW("swig_module_info_data"));
|
||||
global_obj->SetPrivate(SWIGV8_CURRENT_CONTEXT(), privateKey, mod);
|
||||
global_obj->SetPrivate(context, privateKey, mod);
|
||||
#endif
|
||||
}
|
||||
|
||||
SWIGRUNTIME swig_module_info *
|
||||
SWIG_V8_GetModule(void *) {
|
||||
v8::Local<v8::Object> global_obj = SWIGV8_CURRENT_CONTEXT()->Global();
|
||||
SWIG_V8_GetModule(v8::Local<v8::Context> context) {
|
||||
v8::Local<v8::Object> global_obj = context->Global();
|
||||
#if (V8_MAJOR_VERSION-0) < 5
|
||||
v8::Local<v8::Value> moduleinfo = global_obj->GetHiddenValue(SWIGV8_STRING_NEW("swig_module_info_data"));
|
||||
#else
|
||||
v8::Local<v8::Private> privateKey = v8::Private::ForApi(v8::Isolate::GetCurrent(), SWIGV8_STRING_NEW("swig_module_info_data"));
|
||||
v8::Local<v8::Value> moduleinfo;
|
||||
if (!global_obj->GetPrivate(SWIGV8_CURRENT_CONTEXT(), privateKey).ToLocal(&moduleinfo))
|
||||
if (!global_obj->GetPrivate(context, privateKey).ToLocal(&moduleinfo))
|
||||
return 0;
|
||||
#endif
|
||||
|
||||
|
|
@ -52,6 +52,7 @@ SWIG_V8_GetModule(void *) {
|
|||
|
||||
#define SWIG_GetModule(clientdata) SWIG_V8_GetModule(clientdata)
|
||||
#define SWIG_SetModule(clientdata, pointer) SWIG_V8_SetModule(clientdata, pointer)
|
||||
#define SWIG_INIT_CLIENT_DATA_TYPE v8::Local<v8::Context>
|
||||
|
||||
%}
|
||||
|
||||
|
|
@ -64,20 +65,20 @@ SWIG_V8_GetModule(void *) {
|
|||
%}
|
||||
|
||||
%insert(init) %{
|
||||
#if !defined(NODE_MODULE_VERSION) || (NODE_MODULE_VERSION < 12)
|
||||
// Note: 'extern "C"'' disables name mangling which makes it easier to load the symbol manually
|
||||
// TODO: is it ok to do that?
|
||||
extern "C"
|
||||
#if (NODE_MODULE_VERSION < 0x000C)
|
||||
void SWIGV8_INIT (SWIGV8_OBJECT exports)
|
||||
extern "C" void SWIGV8_INIT (SWIGV8_OBJECT exports_obj)
|
||||
#elif (NODE_MODULE_VERSION < 64)
|
||||
void SWIGV8_INIT (SWIGV8_OBJECT exports_obj, SWIGV8_VALUE /*module*/, void*)
|
||||
#else
|
||||
void SWIGV8_INIT (SWIGV8_OBJECT exports, SWIGV8_OBJECT /*module*/)
|
||||
void SWIGV8_INIT (SWIGV8_OBJECT exports_obj, SWIGV8_VALUE /*module*/, v8::Local<v8::Context> context, void*)
|
||||
#endif
|
||||
{
|
||||
SWIG_InitializeModule(static_cast<void *>(&exports));
|
||||
#if !defined(NODE_MODULE_VERSION) || NODE_MODULE_VERSION < 64
|
||||
v8::Local<v8::Context> context = SWIGV8_CURRENT_CONTEXT();
|
||||
#endif
|
||||
|
||||
SWIGV8_HANDLESCOPE();
|
||||
|
||||
SWIGV8_OBJECT exports_obj = exports;
|
||||
SWIG_InitializeModule(context);
|
||||
%}
|
||||
|
||||
|
||||
|
|
@ -124,6 +125,10 @@ void SWIGV8_INIT (SWIGV8_OBJECT exports, SWIGV8_OBJECT /*module*/)
|
|||
}
|
||||
|
||||
#if defined(BUILDING_NODE_EXTENSION)
|
||||
#if (NODE_MODULE_VERSION < 64)
|
||||
NODE_MODULE($jsname, $jsname_initialize)
|
||||
#else
|
||||
NODE_MODULE_CONTEXT_AWARE($jsname, $jsname_initialize)
|
||||
#endif
|
||||
#endif
|
||||
%}
|
||||
|
|
|
|||
|
|
@ -50,28 +50,29 @@ typedef v8::PropertyCallbackInfo<v8::Value> SwigV8PropertyCallbackInfo;
|
|||
#define SWIGV8_THROW_EXCEPTION(err) v8::ThrowException(err)
|
||||
#define SWIGV8_STRING_NEW(str) v8::String::New(str)
|
||||
#define SWIGV8_SYMBOL_NEW(sym) v8::String::NewSymbol(sym)
|
||||
#elif (SWIG_V8_VERSION < 0x0704)
|
||||
#define SWIGV8_ADJUST_MEMORY(size) v8::Isolate::GetCurrent()->AdjustAmountOfExternalAllocatedMemory(size)
|
||||
#define SWIGV8_CURRENT_CONTEXT() v8::Isolate::GetCurrent()->GetCurrentContext()
|
||||
#define SWIGV8_THROW_EXCEPTION(err) v8::Isolate::GetCurrent()->ThrowException(err)
|
||||
#define SWIGV8_STRING_NEW(str) v8::String::NewFromUtf8(v8::Isolate::GetCurrent(), str, v8::String::kNormalString)
|
||||
#define SWIGV8_SYMBOL_NEW(sym) v8::String::NewFromUtf8(v8::Isolate::GetCurrent(), sym, v8::String::kNormalString)
|
||||
#else
|
||||
#define SWIGV8_ADJUST_MEMORY(size) v8::Isolate::GetCurrent()->AdjustAmountOfExternalAllocatedMemory(size)
|
||||
#define SWIGV8_CURRENT_CONTEXT() v8::Isolate::GetCurrent()->GetCurrentContext()
|
||||
#define SWIGV8_THROW_EXCEPTION(err) v8::Isolate::GetCurrent()->ThrowException(err)
|
||||
#if (SWIG_V8_VERSION < 0x0704)
|
||||
#define SWIGV8_STRING_NEW(str) v8::String::NewFromUtf8(v8::Isolate::GetCurrent(), str, v8::String::kNormalString)
|
||||
#define SWIGV8_SYMBOL_NEW(sym) v8::String::NewFromUtf8(v8::Isolate::GetCurrent(), sym, v8::String::kNormalString)
|
||||
#else
|
||||
#define SWIGV8_STRING_NEW(str) (v8::String::NewFromUtf8(v8::Isolate::GetCurrent(), str, v8::NewStringType::kNormal)).ToLocalChecked()
|
||||
#define SWIGV8_SYMBOL_NEW(sym) (v8::String::NewFromUtf8(v8::Isolate::GetCurrent(), sym, v8::NewStringType::kNormal)).ToLocalChecked()
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if (SWIG_V8_VERSION < 0x0704)
|
||||
#if (V8_MAJOR_VERSION-0) < 5
|
||||
#define SWIGV8_MAYBE_CHECK(maybe) maybe
|
||||
#elif (SWIG_V8_VERSION < 0x0704)
|
||||
#define SWIGV8_MAYBE_CHECK(maybe) maybe.FromJust()
|
||||
#else
|
||||
#define SWIGV8_MAYBE_CHECK(maybe) maybe.Check()
|
||||
#endif
|
||||
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x032318)
|
||||
#define SWIGV8_ARRAY_NEW() v8::Array::New()
|
||||
#define SWIGV8_ARRAY_NEW(size) v8::Array::New(size)
|
||||
#define SWIGV8_BOOLEAN_NEW(bool) v8::Boolean::New(bool)
|
||||
#define SWIGV8_EXTERNAL_NEW(val) v8::External::New(val)
|
||||
#define SWIGV8_FUNCTEMPLATE_NEW(func) v8::FunctionTemplate::New(func)
|
||||
|
|
@ -91,7 +92,7 @@ typedef v8::PropertyCallbackInfo<v8::Value> SwigV8PropertyCallbackInfo;
|
|||
#define SWIGV8_ARRAY_GET(array, index) (array)->Get(index)
|
||||
#define SWIGV8_ARRAY_SET(array, index, value) (array)->Set(index, value)
|
||||
#else
|
||||
#define SWIGV8_ARRAY_NEW() v8::Array::New(v8::Isolate::GetCurrent())
|
||||
#define SWIGV8_ARRAY_NEW(size) v8::Array::New(v8::Isolate::GetCurrent(), size)
|
||||
#define SWIGV8_BOOLEAN_NEW(bool) v8::Boolean::New(v8::Isolate::GetCurrent(), bool)
|
||||
#define SWIGV8_EXTERNAL_NEW(val) v8::External::New(v8::Isolate::GetCurrent(), val)
|
||||
#define SWIGV8_FUNCTEMPLATE_NEW(func) v8::FunctionTemplate::New(v8::Isolate::GetCurrent(), func)
|
||||
|
|
@ -120,15 +121,7 @@ typedef v8::PropertyCallbackInfo<v8::Value> SwigV8PropertyCallbackInfo;
|
|||
#define SWIGV8_SET_CLASS_TEMPL(class_templ, class) class_templ.Reset(v8::Isolate::GetCurrent(), class);
|
||||
#endif
|
||||
|
||||
#ifdef NODE_VERSION
|
||||
#if NODE_VERSION_AT_LEAST(10, 12, 0)
|
||||
#define SWIG_NODE_AT_LEAST_1012
|
||||
#endif
|
||||
#endif
|
||||
|
||||
//Necessary to check Node.js version because V8 API changes are backported in Node.js
|
||||
#if (defined(NODE_VERSION) && !defined(SWIG_NODE_AT_LEAST_1012)) || \
|
||||
(!defined(NODE_VERSION) && (V8_MAJOR_VERSION-0) < 7)
|
||||
#if (V8_MAJOR_VERSION-0) < 6 || (SWIG_V8_VERSION < 0x0608)
|
||||
#define SWIGV8_TO_OBJECT(handle) (handle)->ToObject()
|
||||
#define SWIGV8_TO_STRING(handle) (handle)->ToString()
|
||||
#define SWIGV8_NUMBER_VALUE(handle) (handle)->NumberValue()
|
||||
|
|
@ -136,22 +129,18 @@ typedef v8::PropertyCallbackInfo<v8::Value> SwigV8PropertyCallbackInfo;
|
|||
#define SWIGV8_BOOLEAN_VALUE(handle) (handle)->BooleanValue()
|
||||
#define SWIGV8_WRITE_UTF8(handle, buffer, len) (handle)->WriteUtf8(buffer, len)
|
||||
#define SWIGV8_UTF8_LENGTH(handle) (handle)->Utf8Length()
|
||||
#elif (SWIG_V8_VERSION < 0x0704)
|
||||
#define SWIGV8_TO_OBJECT(handle) (handle)->ToObject(SWIGV8_CURRENT_CONTEXT()).ToLocalChecked()
|
||||
#define SWIGV8_TO_STRING(handle) (handle)->ToString(SWIGV8_CURRENT_CONTEXT()).ToLocalChecked()
|
||||
#define SWIGV8_NUMBER_VALUE(handle) (handle)->NumberValue(SWIGV8_CURRENT_CONTEXT()).ToChecked()
|
||||
#define SWIGV8_INTEGER_VALUE(handle) (handle)->IntegerValue(SWIGV8_CURRENT_CONTEXT()).ToChecked()
|
||||
#define SWIGV8_BOOLEAN_VALUE(handle) (handle)->BooleanValue(SWIGV8_CURRENT_CONTEXT()).ToChecked()
|
||||
#define SWIGV8_WRITE_UTF8(handle, buffer, len) (handle)->WriteUtf8(v8::Isolate::GetCurrent(), buffer, len)
|
||||
#define SWIGV8_UTF8_LENGTH(handle) (handle)->Utf8Length(v8::Isolate::GetCurrent())
|
||||
#else
|
||||
#define SWIGV8_TO_OBJECT(handle) (handle)->ToObject(SWIGV8_CURRENT_CONTEXT()).ToLocalChecked()
|
||||
#define SWIGV8_TO_STRING(handle) (handle)->ToString(SWIGV8_CURRENT_CONTEXT()).ToLocalChecked()
|
||||
#define SWIGV8_NUMBER_VALUE(handle) (handle)->NumberValue(SWIGV8_CURRENT_CONTEXT()).ToChecked()
|
||||
#define SWIGV8_INTEGER_VALUE(handle) (handle)->IntegerValue(SWIGV8_CURRENT_CONTEXT()).ToChecked()
|
||||
#define SWIGV8_BOOLEAN_VALUE(handle) (handle)->BooleanValue(v8::Isolate::GetCurrent())
|
||||
#define SWIGV8_WRITE_UTF8(handle, buffer, len) (handle)->WriteUtf8(v8::Isolate::GetCurrent(), buffer, len)
|
||||
#define SWIGV8_UTF8_LENGTH(handle) (handle)->Utf8Length(v8::Isolate::GetCurrent())
|
||||
#if (SWIG_V8_VERSION < 0x0704)
|
||||
#define SWIGV8_BOOLEAN_VALUE(handle) (handle)->BooleanValue(SWIGV8_CURRENT_CONTEXT()).ToChecked()
|
||||
#else
|
||||
#define SWIGV8_BOOLEAN_VALUE(handle) (handle)->BooleanValue(v8::Isolate::GetCurrent())
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* ---------------------------------------------------------------------------
|
||||
|
|
@ -291,6 +280,7 @@ SWIGRUNTIME int SWIG_V8_ConvertInstancePtr(SWIGV8_OBJECT objRef, void **ptr, swi
|
|||
}
|
||||
int newmemory = 0;
|
||||
*ptr = SWIG_TypeCast(tc, cdata->swigCObject, &newmemory);
|
||||
assert(!newmemory); /* newmemory handling not yet implemented */
|
||||
} else {
|
||||
*ptr = cdata->swigCObject;
|
||||
}
|
||||
|
|
@ -325,7 +315,7 @@ SWIGRUNTIME int SWIG_V8_GetInstancePtr(SWIGV8_VALUE valRef, void **ptr) {
|
|||
if(!valRef->IsObject()) {
|
||||
return SWIG_TypeError;
|
||||
}
|
||||
SWIGV8_OBJECT objRef = SWIGV8_TO_OBJECT(valRef);
|
||||
SWIGV8_OBJECT objRef = SWIGV8_OBJECT::Cast(valRef);
|
||||
|
||||
if(objRef->InternalFieldCount() < 1) return SWIG_ERROR;
|
||||
|
||||
|
|
@ -420,7 +410,7 @@ SWIGRUNTIME int SWIG_V8_ConvertPtr(SWIGV8_VALUE valRef, void **ptr, swig_type_in
|
|||
if(!valRef->IsObject()) {
|
||||
return SWIG_TypeError;
|
||||
}
|
||||
SWIGV8_OBJECT objRef = SWIGV8_TO_OBJECT(valRef);
|
||||
SWIGV8_OBJECT objRef = SWIGV8_OBJECT::Cast(valRef);
|
||||
return SWIG_V8_ConvertInstancePtr(objRef, ptr, info, flags);
|
||||
}
|
||||
|
||||
|
|
@ -454,7 +444,7 @@ SWIGRUNTIME SWIGV8_VALUE SWIG_V8_NewPointerObj(void *ptr, swig_type_info *info,
|
|||
}
|
||||
#endif
|
||||
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031903) || (SWIG_V8_VERSION < 0x0704)
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031903)
|
||||
v8::Local<v8::Object> result = class_templ->InstanceTemplate()->NewInstance();
|
||||
#else
|
||||
v8::Local<v8::Object> result = class_templ->InstanceTemplate()->NewInstance(SWIGV8_CURRENT_CONTEXT()).ToLocalChecked();
|
||||
|
|
@ -707,9 +697,9 @@ SWIGV8_VALUE SWIGV8_AppendOutput(SWIGV8_VALUE result, SWIGV8_VALUE obj) {
|
|||
SWIGV8_HANDLESCOPE_ESC();
|
||||
|
||||
if (result->IsUndefined()) {
|
||||
result = SWIGV8_ARRAY_NEW();
|
||||
result = SWIGV8_ARRAY_NEW(0);
|
||||
} else if (!result->IsArray()) {
|
||||
SWIGV8_ARRAY tmparr = SWIGV8_ARRAY_NEW();
|
||||
SWIGV8_ARRAY tmparr = SWIGV8_ARRAY_NEW(0);
|
||||
SWIGV8_ARRAY_SET(tmparr, 0, result);
|
||||
result = tmparr;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -64,6 +64,7 @@
|
|||
#include <errno.h>
|
||||
#include <limits.h>
|
||||
#include <stdlib.h>
|
||||
#include <assert.h>
|
||||
%}
|
||||
|
||||
%insert(runtime) "swigrun.swg"; /* SWIG API */
|
||||
|
|
|
|||
|
|
@ -8,13 +8,13 @@ SWIG_AsCharPtrAndSize(SWIGV8_VALUE valRef, char** cptr, size_t* psize, int *allo
|
|||
{
|
||||
if(valRef->IsString()) {
|
||||
%#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031903)
|
||||
v8::Handle<v8::String> js_str = SWIGV8_TO_STRING(valRef);
|
||||
v8::Handle<v8::String> js_str = v8::Handle<v8::String>::Cast(valRef);
|
||||
%#else
|
||||
v8::Local<v8::String> js_str = SWIGV8_TO_STRING(valRef);
|
||||
v8::Local<v8::String> js_str = v8::Local<v8::String>::Cast(valRef);
|
||||
%#endif
|
||||
|
||||
size_t len = SWIGV8_UTF8_LENGTH(js_str) + 1;
|
||||
char* cstr = new char[len];
|
||||
char* cstr = (char*) %new_array(len, char);
|
||||
SWIGV8_WRITE_UTF8(js_str, cstr, len);
|
||||
|
||||
if(alloc) *alloc = SWIG_NEWOBJ;
|
||||
|
|
@ -24,7 +24,7 @@ SWIG_AsCharPtrAndSize(SWIGV8_VALUE valRef, char** cptr, size_t* psize, int *allo
|
|||
return SWIG_OK;
|
||||
} else {
|
||||
if(valRef->IsObject()) {
|
||||
SWIGV8_OBJECT obj = SWIGV8_TO_OBJECT(valRef);
|
||||
SWIGV8_OBJECT obj = SWIGV8_OBJECT::Cast(valRef);
|
||||
// try if the object is a wrapped char[]
|
||||
swig_type_info* pchar_descriptor = SWIG_pchar_descriptor();
|
||||
if (pchar_descriptor) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue