Merge pull request #2111 from swig/remove-obsolete-js-support
Remove obsolete js support
This commit is contained in:
commit
51f586bc4c
9 changed files with 13 additions and 483 deletions
3
.github/workflows/ci.yml
vendored
3
.github/workflows/ci.yml
vendored
|
|
@ -89,9 +89,6 @@ jobs:
|
|||
CPPSTD: c++14
|
||||
- SWIGLANG: javascript
|
||||
ENGINE: jsc
|
||||
- SWIGLANG: javascript
|
||||
ENGINE: v8
|
||||
os: ubuntu-18.04 # libv8-dev only actually provides v8 in 18.04.
|
||||
- SWIGLANG: lua
|
||||
- SWIGLANG: lua
|
||||
VER: '5.3'
|
||||
|
|
|
|||
|
|
@ -89,24 +89,10 @@ $ swig -javascript -jsc example.i</pre>
|
|||
<pre>
|
||||
$ swig -c++ -javascript -jsc example.i</pre>
|
||||
</div>
|
||||
<p>The V8 code that SWIG generates should work with most versions from 3.11.10.
|
||||
However, the only early version that receives some testing is 3.14.5, which is
|
||||
still shipped with Ubuntu for some reason. Other than that it's probably safer
|
||||
to assume that versions earlier than 5.0 are no longer supported. Keep in mind
|
||||
that these are V8 versions, not Node.js. To give some perspective, Node.js v6.0
|
||||
<p>The V8 code that SWIG generates requires at least V8 5.0. Keep in mind
|
||||
that this is theV8 version, not Node.js. To give some perspective, Node.js v6.0
|
||||
uses V8 5.0, v12.0 - 7.4, v14.0 - 8.1...</p>
|
||||
<p>The API headers for V8 >= 4.3.10 define constants which SWIG can use to
|
||||
determine the V8 version it is compiling for. For versions < 4.3.10, you
|
||||
need to specify the V8 version when running SWIG. This is specified as a hex
|
||||
constant, but the constant is read as pairs of decimal digits, so for V8
|
||||
3.25.30 use constant 0x032530. This scheme can't represent components > 99,
|
||||
but this constant is only useful for V8 < 4.3.10, and no V8 versions from
|
||||
that era had a component > 99. For example:</p>
|
||||
<div class="shell">
|
||||
<pre>
|
||||
$ swig -c++ -javascript -v8 -DV8_VERSION=0x032530 example.i</pre>
|
||||
</div>
|
||||
<p>If you're targeting V8 >= 4.3.10, you would just run swig like so:</p>
|
||||
<p>To generate code for V8, you would run swig like so:</p>
|
||||
<div class="shell">
|
||||
<pre>
|
||||
$ swig -c++ -javascript -v8 example.i</pre>
|
||||
|
|
|
|||
|
|
@ -105,17 +105,10 @@ fail:
|
|||
%{
|
||||
if(args.Length() == $jsargcount) {
|
||||
errorHandler.err.Clear();
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031903)
|
||||
self = $jswrapper(args, errorHandler);
|
||||
if(errorHandler.err.IsEmpty()) {
|
||||
SWIGV8_ESCAPE(self);
|
||||
}
|
||||
#else
|
||||
$jswrapper(args, errorHandler);
|
||||
if(errorHandler.err.IsEmpty()) {
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
%}
|
||||
|
||||
|
|
@ -127,22 +120,8 @@ fail:
|
|||
%fragment ("js_dtor", "templates")
|
||||
%{
|
||||
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031710)
|
||||
static void $jswrapper(v8::Persistent< v8::Value > object, void *parameter) {
|
||||
SWIGV8_Proxy *proxy = static_cast<SWIGV8_Proxy *>(parameter);
|
||||
#elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031900)
|
||||
static void $jswrapper(v8::Isolate *isolate, v8::Persistent<v8::Value> object, void *parameter) {
|
||||
SWIGV8_Proxy *proxy = static_cast<SWIGV8_Proxy *>(parameter);
|
||||
#elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION)
|
||||
static void $jswrapper(v8::Isolate *isolate, v8::Persistent<v8::Object> *object, SWIGV8_Proxy *proxy) {
|
||||
#elif (V8_MAJOR_VERSION-0) < 5
|
||||
static void $jswrapper(const v8::WeakCallbackData<v8::Object, SWIGV8_Proxy> &data) {
|
||||
v8::Local<v8::Object> object = data.GetValue();
|
||||
static void $jswrapper(const v8::WeakCallbackInfo<SWIGV8_Proxy> &data) {
|
||||
SWIGV8_Proxy *proxy = data.GetParameter();
|
||||
#else
|
||||
static void $jswrapper(const v8::WeakCallbackInfo<SWIGV8_Proxy> &data) {
|
||||
SWIGV8_Proxy *proxy = data.GetParameter();
|
||||
#endif
|
||||
|
||||
if(proxy->swigCMemOwn && proxy->swigCObject) {
|
||||
#ifdef SWIGRUNTIME_DEBUG
|
||||
|
|
@ -151,20 +130,6 @@ static void $jswrapper(const v8::WeakCallbackData<v8::Object, SWIGV8_Proxy> &dat
|
|||
$jsfree proxy->swigCObject;
|
||||
}
|
||||
delete proxy;
|
||||
|
||||
#if (V8_MAJOR_VERSION-0) < 5
|
||||
object.Clear();
|
||||
#endif
|
||||
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031710)
|
||||
object.Dispose();
|
||||
#elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031900)
|
||||
object.Dispose(isolate);
|
||||
#elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x032100)
|
||||
object->Dispose(isolate);
|
||||
#elif (V8_MAJOR_VERSION-0) < 5
|
||||
object->Dispose();
|
||||
#endif
|
||||
}
|
||||
%}
|
||||
|
||||
|
|
@ -176,40 +141,14 @@ static void $jswrapper(const v8::WeakCallbackData<v8::Object, SWIGV8_Proxy> &dat
|
|||
* ----------------------------------------------------------------------------- */
|
||||
%fragment ("js_dtoroverride", "templates")
|
||||
%{
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031710)
|
||||
static void $jswrapper(v8::Persistent<v8::Value> object, void *parameter) {
|
||||
SWIGV8_Proxy *proxy = static_cast<SWIGV8_Proxy *>(parameter);
|
||||
#elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031900)
|
||||
static void $jswrapper(v8::Isolate *isolate, v8::Persistent<v8::Value> object, void *parameter) {
|
||||
SWIGV8_Proxy *proxy = static_cast<SWIGV8_Proxy *>(parameter);
|
||||
#elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION)
|
||||
static void $jswrapper(v8::Isolate *isolate, v8::Persistent< v8::Object> *object, SWIGV8_Proxy *proxy) {
|
||||
#elif (V8_MAJOR_VERSION-0) < 5
|
||||
static void $jswrapper(const v8::WeakCallbackData<v8::Object, SWIGV8_Proxy> &data) {
|
||||
v8::Local<v8::Object> object = data.GetValue();
|
||||
SWIGV8_Proxy *proxy = data.GetParameter();
|
||||
#else
|
||||
static void $jswrapper(const v8::WeakCallbackInfo<SWIGV8_Proxy> &data) {
|
||||
SWIGV8_Proxy *proxy = data.GetParameter();
|
||||
#endif
|
||||
|
||||
if(proxy->swigCMemOwn && proxy->swigCObject) {
|
||||
$jstype arg1 = ($jstype)proxy->swigCObject;
|
||||
${destructor_action}
|
||||
}
|
||||
delete proxy;
|
||||
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031710)
|
||||
object.Dispose();
|
||||
#elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031900)
|
||||
object.Dispose(isolate);
|
||||
#elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x032100)
|
||||
object->Dispose(isolate);
|
||||
#elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION)
|
||||
object->Dispose();
|
||||
#elif (V8_MAJOR_VERSION-0) < 5
|
||||
object.Clear();
|
||||
#endif
|
||||
}
|
||||
%}
|
||||
|
||||
|
|
@ -221,11 +160,7 @@ static void $jswrapper(const v8::WeakCallbackInfo<SWIGV8_Proxy> &data) {
|
|||
* ----------------------------------------------------------------------------- */
|
||||
%fragment("js_getter", "templates")
|
||||
%{
|
||||
#if (V8_MAJOR_VERSION-0) < 5
|
||||
static SwigV8ReturnValue $jswrapper(v8::Local<v8::String> property, const SwigV8PropertyCallbackInfo &info) {
|
||||
#else
|
||||
static SwigV8ReturnValue $jswrapper(v8::Local<v8::Name> property, const SwigV8PropertyCallbackInfo &info) {
|
||||
#endif
|
||||
SWIGV8_HANDLESCOPE();
|
||||
|
||||
SWIGV8_VALUE jsresult;
|
||||
|
|
@ -247,11 +182,7 @@ fail:
|
|||
* ----------------------------------------------------------------------------- */
|
||||
%fragment("js_setter", "templates")
|
||||
%{
|
||||
#if (V8_MAJOR_VERSION-0) < 5
|
||||
static void $jswrapper(v8::Local<v8::String> property, v8::Local<v8::Value> value, const SwigV8PropertyCallbackInfoVoid &info) {
|
||||
#else
|
||||
static void $jswrapper(v8::Local<v8::Name> property, v8::Local<v8::Value> value, const SwigV8PropertyCallbackInfoVoid &info) {
|
||||
#endif
|
||||
SWIGV8_HANDLESCOPE();
|
||||
|
||||
$jslocals
|
||||
|
|
@ -344,17 +275,10 @@ fail:
|
|||
|
||||
if(args.Length() == $jsargcount) {
|
||||
errorHandler.err.Clear();
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031903)
|
||||
jsresult = $jswrapper(args, errorHandler);
|
||||
if(errorHandler.err.IsEmpty()) {
|
||||
SWIGV8_ESCAPE(jsresult);
|
||||
}
|
||||
#else
|
||||
$jswrapper(args, errorHandler);
|
||||
if(errorHandler.err.IsEmpty()) {
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
%}
|
||||
|
||||
|
|
@ -394,15 +318,11 @@ fail:
|
|||
%{
|
||||
if (SWIGTYPE_p$jsbaseclass->clientdata && !(static_cast<SWIGV8_ClientData *>(SWIGTYPE_p$jsbaseclass->clientdata)->class_templ.IsEmpty()))
|
||||
{
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031903)
|
||||
$jsmangledname_class->Inherit(static_cast<SWIGV8_ClientData *>(SWIGTYPE_p$jsbaseclass->clientdata)->class_templ);
|
||||
#else
|
||||
$jsmangledname_class->Inherit(
|
||||
v8::Local<v8::FunctionTemplate>::New(
|
||||
v8::Isolate::GetCurrent(),
|
||||
static_cast<SWIGV8_ClientData *>(SWIGTYPE_p$jsbaseclass->clientdata)->class_templ)
|
||||
);
|
||||
#endif
|
||||
|
||||
#ifdef SWIGRUNTIME_DEBUG
|
||||
printf("Inheritance successful $jsmangledname $jsbaseclass\n");
|
||||
|
|
@ -425,10 +345,7 @@ fail:
|
|||
SWIGV8_FUNCTION_TEMPLATE $jsmangledname_class_0 = SWIGV8_CreateClassTemplate("$jsname");
|
||||
$jsmangledname_class_0->SetCallHandler($jsctor);
|
||||
$jsmangledname_class_0->Inherit($jsmangledname_class);
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031903)
|
||||
$jsmangledname_class_0->SetHiddenPrototype(true);
|
||||
v8::Handle<v8::Object> $jsmangledname_obj = $jsmangledname_class_0->GetFunction();
|
||||
#elif (SWIG_V8_VERSION < 0x0704)
|
||||
#if (SWIG_V8_VERSION < 0x0704)
|
||||
$jsmangledname_class_0->SetHiddenPrototype(true);
|
||||
v8::Local<v8::Object> $jsmangledname_obj = $jsmangledname_class_0->GetFunction();
|
||||
#else
|
||||
|
|
@ -444,12 +361,7 @@ fail:
|
|||
* ----------------------------------------------------------------------------- */
|
||||
%fragment("jsv8_register_class", "templates")
|
||||
%{
|
||||
#if (V8_MAJOR_VERSION-0) < 5
|
||||
$jsparent_obj->Set(SWIGV8_SYMBOL_NEW("$jsname"), $jsmangledname_obj);
|
||||
#else
|
||||
SWIGV8_MAYBE_CHECK($jsparent_obj->Set(context, SWIGV8_SYMBOL_NEW("$jsname"), $jsmangledname_obj));
|
||||
#endif
|
||||
|
||||
%}
|
||||
|
||||
/* -----------------------------------------------------------------------------
|
||||
|
|
@ -469,11 +381,7 @@ fail:
|
|||
* ----------------------------------------------------------------------------- */
|
||||
%fragment("jsv8_register_namespace", "templates")
|
||||
%{
|
||||
#if (V8_MAJOR_VERSION-0) < 5
|
||||
$jsparent_obj->Set(SWIGV8_SYMBOL_NEW("$jsname"), $jsmangledname_obj);
|
||||
#else
|
||||
SWIGV8_MAYBE_CHECK($jsparent_obj->Set(context, SWIGV8_SYMBOL_NEW("$jsname"), $jsmangledname_obj));
|
||||
#endif
|
||||
%}
|
||||
|
||||
/* -----------------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -1,22 +1,9 @@
|
|||
%insert(runtime) %{
|
||||
|
||||
// Note: since 3.19 there are new CallBack types, since 03.21.9 the old ones have been removed
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031903)
|
||||
typedef v8::InvocationCallback SwigV8FunctionCallback;
|
||||
typedef v8::AccessorGetter SwigV8AccessorGetterCallback;
|
||||
typedef v8::AccessorSetter SwigV8AccessorSetterCallback;
|
||||
typedef v8::AccessorInfo SwigV8PropertyCallbackInfoVoid;
|
||||
#elif (V8_MAJOR_VERSION-0) < 5
|
||||
typedef v8::FunctionCallback SwigV8FunctionCallback;
|
||||
typedef v8::AccessorGetterCallback SwigV8AccessorGetterCallback;
|
||||
typedef v8::AccessorSetterCallback SwigV8AccessorSetterCallback;
|
||||
typedef v8::PropertyCallbackInfo<void> SwigV8PropertyCallbackInfoVoid;
|
||||
#else
|
||||
typedef v8::FunctionCallback SwigV8FunctionCallback;
|
||||
typedef v8::AccessorNameGetterCallback SwigV8AccessorGetterCallback;
|
||||
typedef v8::AccessorNameSetterCallback SwigV8AccessorSetterCallback;
|
||||
typedef v8::PropertyCallbackInfo<void> SwigV8PropertyCallbackInfoVoid;
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Creates a class template for a class with specified initialization function.
|
||||
|
|
@ -62,11 +49,7 @@ SWIGRUNTIME void SWIGV8_AddMemberVariable(SWIGV8_FUNCTION_TEMPLATE class_templ,
|
|||
*/
|
||||
SWIGRUNTIME void SWIGV8_AddStaticFunction(SWIGV8_OBJECT obj, const char* symbol,
|
||||
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(context, SWIGV8_SYMBOL_NEW(symbol), SWIGV8_FUNCTEMPLATE_NEW(_func)->GetFunction(context).ToLocalChecked()));
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -75,27 +58,15 @@ SWIGRUNTIME void SWIGV8_AddStaticFunction(SWIGV8_OBJECT obj, const char* symbol,
|
|||
SWIGRUNTIME void SWIGV8_AddStaticVariable(SWIGV8_OBJECT obj, const char* symbol,
|
||||
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(context, SWIGV8_SYMBOL_NEW(symbol), getter, setter));
|
||||
#endif
|
||||
}
|
||||
|
||||
#if (V8_MAJOR_VERSION-0) < 5
|
||||
SWIGRUNTIME void JS_veto_set_variable(v8::Local<v8::String> property, v8::Local<v8::Value> value, const SwigV8PropertyCallbackInfoVoid& info)
|
||||
#else
|
||||
SWIGRUNTIME void JS_veto_set_variable(v8::Local<v8::Name> property, v8::Local<v8::Value> value, const SwigV8PropertyCallbackInfoVoid& info)
|
||||
#endif
|
||||
{
|
||||
char buffer[256];
|
||||
char msg[512];
|
||||
int res;
|
||||
|
||||
#if (V8_MAJOR_VERSION-0) < 5
|
||||
property->WriteUtf8(buffer, 256);
|
||||
res = sprintf(msg, "Tried to write read-only variable: %s.", buffer);
|
||||
#else
|
||||
v8::Local<v8::String> sproperty;
|
||||
if (property->ToString(SWIGV8_CURRENT_CONTEXT()).ToLocal(&sproperty)) {
|
||||
SWIGV8_WRITE_UTF8(sproperty, buffer, 256);
|
||||
|
|
@ -104,7 +75,6 @@ SWIGRUNTIME void JS_veto_set_variable(v8::Local<v8::Name> property, v8::Local<v8
|
|||
else {
|
||||
res = -1;
|
||||
}
|
||||
#endif
|
||||
|
||||
if(res<0) {
|
||||
SWIG_exception(SWIG_ERROR, "Tried to write read-only variable.");
|
||||
|
|
|
|||
|
|
@ -9,25 +9,17 @@ 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(context, privateKey, mod);
|
||||
#endif
|
||||
}
|
||||
|
||||
SWIGRUNTIME swig_module_info *
|
||||
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(context, privateKey).ToLocal(&moduleinfo))
|
||||
return 0;
|
||||
#endif
|
||||
|
||||
if (moduleinfo.IsEmpty() || moduleinfo->IsNull() || moduleinfo->IsUndefined())
|
||||
{
|
||||
|
|
|
|||
|
|
@ -4,56 +4,26 @@
|
|||
* Useful table of versions: https://nodejs.org/en/download/releases/
|
||||
* ---------------------------------------------------------------------------*/
|
||||
|
||||
// First v8 version that uses "SetWeak" and not "MakeWeak"
|
||||
|
||||
#define SWIGV8_SETWEAK_VERSION 0x032224
|
||||
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031803)
|
||||
#define SWIGV8_STRING_NEW2(cstr, len) v8::String::New(cstr, len)
|
||||
#elif (SWIG_V8_VERSION < 0x0704)
|
||||
#if (SWIG_V8_VERSION < 0x0704)
|
||||
#define SWIGV8_STRING_NEW2(cstr, len) v8::String::NewFromUtf8(v8::Isolate::GetCurrent(), cstr, v8::String::kNormalString, len)
|
||||
#else
|
||||
#define SWIGV8_STRING_NEW2(cstr, len) (v8::String::NewFromUtf8(v8::Isolate::GetCurrent(), cstr, v8::NewStringType::kNormal, len)).ToLocalChecked()
|
||||
#endif
|
||||
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031903)
|
||||
typedef v8::Handle<v8::Value> SwigV8ReturnValue;
|
||||
typedef v8::Arguments SwigV8Arguments;
|
||||
typedef v8::AccessorInfo SwigV8PropertyCallbackInfo;
|
||||
#define SWIGV8_RETURN(val) return scope.Close(val)
|
||||
#define SWIGV8_RETURN_INFO(val, info) return scope.Close(val)
|
||||
#else
|
||||
typedef void SwigV8ReturnValue;
|
||||
typedef v8::FunctionCallbackInfo<v8::Value> SwigV8Arguments;
|
||||
typedef v8::PropertyCallbackInfo<v8::Value> SwigV8PropertyCallbackInfo;
|
||||
#define SWIGV8_RETURN(val) args.GetReturnValue().Set(val); return
|
||||
#define SWIGV8_RETURN_INFO(val, info) info.GetReturnValue().Set(val); return
|
||||
#endif
|
||||
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x032117)
|
||||
#define SWIGV8_HANDLESCOPE() v8::HandleScope scope
|
||||
#define SWIGV8_HANDLESCOPE_ESC() v8::HandleScope scope
|
||||
#define SWIGV8_ESCAPE(val) return scope.Close(val)
|
||||
#elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x032224)
|
||||
#define SWIGV8_HANDLESCOPE() v8::HandleScope scope(v8::Isolate::GetCurrent());
|
||||
#define SWIGV8_HANDLESCOPE_ESC() v8::HandleScope scope(v8::Isolate::GetCurrent());
|
||||
#define SWIGV8_ESCAPE(val) return scope.Close(val)
|
||||
#else
|
||||
#define SWIGV8_HANDLESCOPE() v8::HandleScope scope(v8::Isolate::GetCurrent());
|
||||
#define SWIGV8_HANDLESCOPE_ESC() v8::EscapableHandleScope scope(v8::Isolate::GetCurrent());
|
||||
#define SWIGV8_ESCAPE(val) return scope.Escape(val)
|
||||
#endif
|
||||
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x032224)
|
||||
#define SWIGV8_ADJUST_MEMORY(size) v8::V8::AdjustAmountOfExternalAllocatedMemory(size)
|
||||
#define SWIGV8_CURRENT_CONTEXT() v8::Context::GetCurrent()
|
||||
#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)
|
||||
#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)
|
||||
|
|
@ -61,37 +31,13 @@ typedef v8::PropertyCallbackInfo<v8::Value> SwigV8PropertyCallbackInfo;
|
|||
#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 (V8_MAJOR_VERSION-0) < 5
|
||||
#define SWIGV8_MAYBE_CHECK(maybe) maybe
|
||||
#elif (SWIG_V8_VERSION < 0x0704)
|
||||
#if (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(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)
|
||||
#define SWIGV8_FUNCTEMPLATE_NEW_VOID() v8::FunctionTemplate::New()
|
||||
#define SWIGV8_INT32_NEW(num) v8::Int32::New(num)
|
||||
#define SWIGV8_INTEGER_NEW(num) v8::Integer::New(num)
|
||||
#define SWIGV8_INTEGER_NEW_UNS(num) v8::Integer::NewFromUnsigned(num)
|
||||
#define SWIGV8_NUMBER_NEW(num) v8::Number::New(num)
|
||||
#define SWIGV8_OBJECT_NEW() v8::Object::New()
|
||||
#define SWIGV8_UNDEFINED() v8::Undefined()
|
||||
#define SWIGV8_ARRAY v8::Handle<v8::Array>
|
||||
#define SWIGV8_FUNCTION_TEMPLATE v8::Handle<v8::FunctionTemplate>
|
||||
#define SWIGV8_OBJECT v8::Handle<v8::Object>
|
||||
#define SWIGV8_OBJECT_TEMPLATE v8::Handle<v8::ObjectTemplate>
|
||||
#define SWIGV8_VALUE v8::Handle<v8::Value>
|
||||
#define SWIGV8_NULL() v8::Null()
|
||||
#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(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)
|
||||
|
|
@ -111,17 +57,10 @@ typedef v8::PropertyCallbackInfo<v8::Value> SwigV8PropertyCallbackInfo;
|
|||
#define SWIGV8_NULL() v8::Null(v8::Isolate::GetCurrent())
|
||||
#define SWIGV8_ARRAY_GET(array, index) (array)->Get(SWIGV8_CURRENT_CONTEXT(), index).ToLocalChecked()
|
||||
#define SWIGV8_ARRAY_SET(array, index, value) SWIGV8_MAYBE_CHECK((array)->Set(SWIGV8_CURRENT_CONTEXT(), index, value))
|
||||
#endif
|
||||
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031710)
|
||||
#define SWIGV8_SET_CLASS_TEMPL(class_templ, class) class_templ = v8::Persistent<v8::FunctionTemplate>::New(class);
|
||||
#elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031900)
|
||||
#define SWIGV8_SET_CLASS_TEMPL(class_templ, class) class_templ = v8::Persistent<v8::FunctionTemplate>::New(v8::Isolate::GetCurrent(), class);
|
||||
#else
|
||||
#define SWIGV8_SET_CLASS_TEMPL(class_templ, class) class_templ.Reset(v8::Isolate::GetCurrent(), class);
|
||||
#endif
|
||||
|
||||
#if (V8_MAJOR_VERSION-0) < 6 || (SWIG_V8_VERSION < 0x0608)
|
||||
#if 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()
|
||||
|
|
@ -208,23 +147,8 @@ public:
|
|||
};
|
||||
|
||||
~SWIGV8_Proxy() {
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031710)
|
||||
handle.ClearWeak();
|
||||
handle.Dispose();
|
||||
#elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x032100)
|
||||
handle.ClearWeak(v8::Isolate::GetCurrent());
|
||||
handle.Dispose(v8::Isolate::GetCurrent());
|
||||
#elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION)
|
||||
handle.ClearWeak();
|
||||
handle.Dispose();
|
||||
#else
|
||||
handle.ClearWeak();
|
||||
handle.Reset();
|
||||
#endif
|
||||
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION)
|
||||
handle.Clear();
|
||||
#endif
|
||||
|
||||
SWIGV8_ADJUST_MEMORY(-SWIGV8_AVG_OBJ_SIZE);
|
||||
}
|
||||
|
|
@ -239,17 +163,7 @@ class SWIGV8_ClientData {
|
|||
public:
|
||||
v8::Persistent<v8::FunctionTemplate> class_templ;
|
||||
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031710)
|
||||
void (*dtor) (v8::Persistent< v8::Value> object, void *parameter);
|
||||
#elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031900)
|
||||
void (*dtor) (v8::Isolate *isolate, v8::Persistent< v8::Value> object, void *parameter);
|
||||
#elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION)
|
||||
void (*dtor) (v8::Isolate *isolate, v8::Persistent< v8::Object > *object, SWIGV8_Proxy *proxy);
|
||||
#elif (V8_MAJOR_VERSION-0) < 5
|
||||
void (*dtor) (const v8::WeakCallbackData<v8::Object, SWIGV8_Proxy> &data);
|
||||
#else
|
||||
void (*dtor) (const v8::WeakCallbackInfo<SWIGV8_Proxy> &data);
|
||||
#endif
|
||||
};
|
||||
|
||||
SWIGRUNTIME v8::Persistent<v8::FunctionTemplate> SWIGV8_SWIGTYPE_Proxy_class_templ;
|
||||
|
|
@ -259,12 +173,7 @@ SWIGRUNTIME int SWIG_V8_ConvertInstancePtr(SWIGV8_OBJECT objRef, void **ptr, swi
|
|||
|
||||
if(objRef->InternalFieldCount() < 1) return SWIG_ERROR;
|
||||
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031511)
|
||||
v8::Handle<v8::Value> cdataRef = objRef->GetInternalField(0);
|
||||
SWIGV8_Proxy *cdata = static_cast<SWIGV8_Proxy *>(v8::External::Unwrap(cdataRef));
|
||||
#else
|
||||
SWIGV8_Proxy *cdata = static_cast<SWIGV8_Proxy *>(objRef->GetAlignedPointerFromInternalField(0));
|
||||
#endif
|
||||
|
||||
if(cdata == NULL) {
|
||||
return SWIG_ERROR;
|
||||
|
|
@ -292,22 +201,8 @@ SWIGRUNTIME int SWIG_V8_ConvertInstancePtr(SWIGV8_OBJECT objRef, void **ptr, swi
|
|||
}
|
||||
|
||||
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031710)
|
||||
SWIGRUNTIME void SWIGV8_Proxy_DefaultDtor(v8::Persistent< v8::Value > object, void *parameter) {
|
||||
SWIGV8_Proxy *proxy = static_cast<SWIGV8_Proxy *>(parameter);
|
||||
#elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031900)
|
||||
SWIGRUNTIME void SWIGV8_Proxy_DefaultDtor(v8::Isolate *, v8::Persistent< v8::Value > object, void *parameter) {
|
||||
SWIGV8_Proxy *proxy = static_cast<SWIGV8_Proxy *>(parameter);
|
||||
#elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION)
|
||||
SWIGRUNTIME void SWIGV8_Proxy_DefaultDtor(v8::Isolate *, v8::Persistent< v8::Object > *object, SWIGV8_Proxy *proxy) {
|
||||
#elif (V8_MAJOR_VERSION-0) < 5
|
||||
SWIGRUNTIME void SWIGV8_Proxy_DefaultDtor(const v8::WeakCallbackData<v8::Object, SWIGV8_Proxy> &data) {
|
||||
SWIGV8_Proxy *proxy = data.GetParameter();
|
||||
#else
|
||||
SWIGRUNTIME void SWIGV8_Proxy_DefaultDtor(const v8::WeakCallbackInfo<SWIGV8_Proxy> &data) {
|
||||
SWIGV8_Proxy *proxy = data.GetParameter();
|
||||
#endif
|
||||
|
||||
delete proxy;
|
||||
}
|
||||
|
||||
|
|
@ -319,12 +214,7 @@ SWIGRUNTIME int SWIG_V8_GetInstancePtr(SWIGV8_VALUE valRef, void **ptr) {
|
|||
|
||||
if(objRef->InternalFieldCount() < 1) return SWIG_ERROR;
|
||||
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031511)
|
||||
v8::Handle<v8::Value> cdataRef = objRef->GetInternalField(0);
|
||||
SWIGV8_Proxy *cdata = static_cast<SWIGV8_Proxy *>(v8::External::Unwrap(cdataRef));
|
||||
#else
|
||||
SWIGV8_Proxy *cdata = static_cast<SWIGV8_Proxy *>(objRef->GetAlignedPointerFromInternalField(0));
|
||||
#endif
|
||||
|
||||
if(cdata == NULL) {
|
||||
return SWIG_ERROR;
|
||||
|
|
@ -341,58 +231,17 @@ SWIGRUNTIME void SWIGV8_SetPrivateData(SWIGV8_OBJECT obj, void *ptr, swig_type_i
|
|||
cdata->swigCMemOwn = (flags & SWIG_POINTER_OWN) ? 1 : 0;
|
||||
cdata->info = info;
|
||||
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031511)
|
||||
obj->SetPointerInInternalField(0, cdata);
|
||||
#else
|
||||
obj->SetAlignedPointerInInternalField(0, cdata);
|
||||
#endif
|
||||
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031710)
|
||||
cdata->handle = v8::Persistent<v8::Object>::New(obj);
|
||||
#elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031900)
|
||||
cdata->handle = v8::Persistent<v8::Object>::New(v8::Isolate::GetCurrent(), obj);
|
||||
#else
|
||||
cdata->handle.Reset(v8::Isolate::GetCurrent(), obj);
|
||||
#endif
|
||||
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031710)
|
||||
// clientdata must be set for owned data as we need to register the dtor
|
||||
if(cdata->swigCMemOwn && (SWIGV8_ClientData*)info->clientdata) {
|
||||
cdata->handle.MakeWeak(cdata, ((SWIGV8_ClientData*)info->clientdata)->dtor);
|
||||
} else {
|
||||
cdata->handle.MakeWeak(cdata, SWIGV8_Proxy_DefaultDtor);
|
||||
}
|
||||
#elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031918)
|
||||
if(cdata->swigCMemOwn && (SWIGV8_ClientData*)info->clientdata) {
|
||||
cdata->handle.MakeWeak(v8::Isolate::GetCurrent(), cdata, ((SWIGV8_ClientData*)info->clientdata)->dtor);
|
||||
} else {
|
||||
cdata->handle.MakeWeak(v8::Isolate::GetCurrent(), cdata, SWIGV8_Proxy_DefaultDtor);
|
||||
}
|
||||
#elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION)
|
||||
if(cdata->swigCMemOwn && (SWIGV8_ClientData*)info->clientdata) {
|
||||
cdata->handle.MakeWeak(cdata, ((SWIGV8_ClientData*)info->clientdata)->dtor);
|
||||
} else {
|
||||
cdata->handle.MakeWeak(cdata, SWIGV8_Proxy_DefaultDtor);
|
||||
}
|
||||
#elif (V8_MAJOR_VERSION-0) < 5
|
||||
if(cdata->swigCMemOwn && (SWIGV8_ClientData*)info->clientdata) {
|
||||
cdata->handle.SetWeak(cdata, ((SWIGV8_ClientData*)info->clientdata)->dtor);
|
||||
} else {
|
||||
cdata->handle.SetWeak(cdata, SWIGV8_Proxy_DefaultDtor);
|
||||
}
|
||||
#else
|
||||
if(cdata->swigCMemOwn && (SWIGV8_ClientData*)info->clientdata) {
|
||||
cdata->handle.SetWeak(cdata, ((SWIGV8_ClientData*)info->clientdata)->dtor, v8::WeakCallbackType::kParameter);
|
||||
} else {
|
||||
cdata->handle.SetWeak(cdata, SWIGV8_Proxy_DefaultDtor, v8::WeakCallbackType::kParameter);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031710)
|
||||
cdata->handle.MarkIndependent();
|
||||
#elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x032100)
|
||||
cdata->handle.MarkIndependent(v8::Isolate::GetCurrent());
|
||||
#elif (SWIG_V8_VERSION < 0x0704)
|
||||
#if (SWIG_V8_VERSION < 0x0704)
|
||||
cdata->handle.MarkIndependent();
|
||||
// Looks like future versions do not require that anymore:
|
||||
// https://monorail-prod.appspot.com/p/chromium/issues/detail?id=923361#c11
|
||||
|
|
@ -420,21 +269,10 @@ SWIGRUNTIME SWIGV8_VALUE SWIG_V8_NewPointerObj(void *ptr, swig_type_info *info,
|
|||
SWIGV8_FUNCTION_TEMPLATE class_templ;
|
||||
|
||||
if (ptr == NULL) {
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031903)
|
||||
SWIGV8_ESCAPE(SWIGV8_NULL());
|
||||
#else
|
||||
v8::Local<v8::Primitive> result = SWIGV8_NULL();
|
||||
SWIGV8_ESCAPE(result);
|
||||
#endif
|
||||
}
|
||||
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031903)
|
||||
if(info->clientdata != 0) {
|
||||
class_templ = ((SWIGV8_ClientData*) info->clientdata)->class_templ;
|
||||
} else {
|
||||
class_templ = SWIGV8_SWIGTYPE_Proxy_class_templ;
|
||||
}
|
||||
#else
|
||||
v8::Isolate *isolate = v8::Isolate::GetCurrent();
|
||||
|
||||
if(info->clientdata != 0) {
|
||||
|
|
@ -442,13 +280,8 @@ SWIGRUNTIME SWIGV8_VALUE SWIG_V8_NewPointerObj(void *ptr, swig_type_info *info,
|
|||
} else {
|
||||
class_templ = v8::Local<v8::FunctionTemplate>::New(isolate, SWIGV8_SWIGTYPE_Proxy_class_templ);
|
||||
}
|
||||
#endif
|
||||
|
||||
#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();
|
||||
#endif
|
||||
|
||||
SWIGV8_SetPrivateData(result, ptr, info, flags);
|
||||
|
||||
|
|
@ -543,14 +376,10 @@ int SwigV8Packed_Check(SWIGV8_VALUE valRef) {
|
|||
|
||||
SWIGV8_OBJECT objRef = SWIGV8_TO_OBJECT(valRef);
|
||||
if(objRef->InternalFieldCount() < 1) return false;
|
||||
#if (V8_MAJOR_VERSION-0) < 5
|
||||
v8::Handle<v8::Value> flag = objRef->GetHiddenValue(SWIGV8_STRING_NEW("__swig__packed_data__"));
|
||||
#else
|
||||
v8::Local<v8::Private> privateKey = v8::Private::ForApi(v8::Isolate::GetCurrent(), SWIGV8_STRING_NEW("__swig__packed_data__"));
|
||||
v8::Local<v8::Value> flag;
|
||||
if (!objRef->GetPrivate(SWIGV8_CURRENT_CONTEXT(), privateKey).ToLocal(&flag))
|
||||
return false;
|
||||
#endif
|
||||
return (flag->IsBoolean() && SWIGV8_BOOLEAN_VALUE(flag));
|
||||
}
|
||||
|
||||
|
|
@ -563,12 +392,7 @@ swig_type_info *SwigV8Packed_UnpackData(SWIGV8_VALUE valRef, void *ptr, size_t s
|
|||
|
||||
SWIGV8_OBJECT objRef = SWIGV8_TO_OBJECT(valRef);
|
||||
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031511)
|
||||
v8::Handle<v8::Value> cdataRef = objRef->GetInternalField(0);
|
||||
sobj = static_cast<SwigV8PackedData*>(v8::External::Unwrap(cdataRef));
|
||||
#else
|
||||
sobj = static_cast<SwigV8PackedData*>(objRef->GetAlignedPointerFromInternalField(0));
|
||||
#endif
|
||||
if (sobj == NULL || sobj->size != size) return 0;
|
||||
memcpy(ptr, sobj->data, size);
|
||||
return sobj->type;
|
||||
|
|
@ -591,38 +415,9 @@ int SWIGV8_ConvertPacked(SWIGV8_VALUE valRef, void *ptr, size_t sz, swig_type_in
|
|||
return SWIG_OK;
|
||||
}
|
||||
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031710)
|
||||
SWIGRUNTIME void _wrap_SwigV8PackedData_delete(v8::Persistent< v8::Value > object, void *parameter) {
|
||||
SwigV8PackedData *cdata = static_cast<SwigV8PackedData *>(parameter);
|
||||
#elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031900)
|
||||
SWIGRUNTIME void _wrap_SwigV8PackedData_delete(v8::Isolate *isolate, v8::Persistent<v8::Value> object, void *parameter) {
|
||||
SwigV8PackedData *cdata = static_cast<SwigV8PackedData *>(parameter);
|
||||
#elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION)
|
||||
SWIGRUNTIME void _wrap_SwigV8PackedData_delete(v8::Isolate *isolate, v8::Persistent<v8::Object> *object, SwigV8PackedData *cdata) {
|
||||
#elif (V8_MAJOR_VERSION-0) < 5
|
||||
SWIGRUNTIME void _wrap_SwigV8PackedData_delete(const v8::WeakCallbackData<v8::Object, SwigV8PackedData> &data) {
|
||||
v8::Local<v8::Object> object = data.GetValue();
|
||||
SwigV8PackedData *cdata = data.GetParameter();
|
||||
#else
|
||||
SWIGRUNTIME void _wrap_SwigV8PackedData_delete(const v8::WeakCallbackInfo<SwigV8PackedData> &data) {
|
||||
SwigV8PackedData *cdata = data.GetParameter();
|
||||
#endif
|
||||
|
||||
delete cdata;
|
||||
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031710)
|
||||
object.Clear();
|
||||
object.Dispose();
|
||||
#elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031900)
|
||||
object.Clear();
|
||||
object.Dispose(isolate);
|
||||
#elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x032100)
|
||||
object->Dispose(isolate);
|
||||
#elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION)
|
||||
object->Dispose();
|
||||
#elif (V8_MAJOR_VERSION-0) < 5
|
||||
object.Clear();
|
||||
#endif
|
||||
}
|
||||
|
||||
SWIGRUNTIME
|
||||
|
|
@ -633,46 +428,16 @@ SWIGV8_VALUE SWIGV8_NewPackedObj(void *data, size_t size, swig_type_info *type)
|
|||
// v8::Handle<v8::Object> obj = SWIGV8_OBJECT_NEW();
|
||||
v8::Local<v8::Object> obj = SWIGV8_OBJECT_NEW();
|
||||
|
||||
#if (V8_MAJOR_VERSION-0) < 5
|
||||
obj->SetHiddenValue(SWIGV8_STRING_NEW("__swig__packed_data__"), SWIGV8_BOOLEAN_NEW(true));
|
||||
#else
|
||||
v8::Local<v8::Private> privateKey = v8::Private::ForApi(v8::Isolate::GetCurrent(), SWIGV8_STRING_NEW("__swig__packed_data__"));
|
||||
obj->SetPrivate(SWIGV8_CURRENT_CONTEXT(), privateKey, SWIGV8_BOOLEAN_NEW(true));
|
||||
#endif
|
||||
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031511)
|
||||
obj->SetPointerInInternalField(0, cdata);
|
||||
#else
|
||||
obj->SetAlignedPointerInInternalField(0, cdata);
|
||||
#endif
|
||||
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031710)
|
||||
cdata->handle = v8::Persistent<v8::Object>::New(obj);
|
||||
#elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031900)
|
||||
cdata->handle = v8::Persistent<v8::Object>::New(v8::Isolate::GetCurrent(), obj);
|
||||
#else
|
||||
cdata->handle.Reset(v8::Isolate::GetCurrent(), obj);
|
||||
#endif
|
||||
|
||||
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031710)
|
||||
cdata->handle.MakeWeak(cdata, _wrap_SwigV8PackedData_delete);
|
||||
#elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031918)
|
||||
cdata->handle.MakeWeak(v8::Isolate::GetCurrent(), cdata, _wrap_SwigV8PackedData_delete);
|
||||
#elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION)
|
||||
cdata->handle.MakeWeak(cdata, _wrap_SwigV8PackedData_delete);
|
||||
#elif (V8_MAJOR_VERSION-0) < 5
|
||||
cdata->handle.SetWeak(cdata, _wrap_SwigV8PackedData_delete);
|
||||
// v8::V8::SetWeak(&cdata->handle, cdata, _wrap_SwigV8PackedData_delete);
|
||||
#else
|
||||
cdata->handle.SetWeak(cdata, _wrap_SwigV8PackedData_delete, v8::WeakCallbackType::kParameter);
|
||||
#endif
|
||||
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031710)
|
||||
cdata->handle.MarkIndependent();
|
||||
#elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x032100)
|
||||
cdata->handle.MarkIndependent(v8::Isolate::GetCurrent());
|
||||
#elif (SWIG_V8_VERSION < 0x0704)
|
||||
#if (SWIG_V8_VERSION < 0x0704)
|
||||
cdata->handle.MarkIndependent();
|
||||
// Looks like future versions do not require that anymore:
|
||||
// https://monorail-prod.appspot.com/p/chromium/issues/detail?id=923361#c11
|
||||
|
|
|
|||
|
|
@ -7,36 +7,8 @@
|
|||
// ----------------
|
||||
//
|
||||
// v8 added version macros V8_MAJOR_VERSION, V8_MINOR_VERSION, V8_BUILD_NUMBER
|
||||
// and V8_PATCH_LEVEL in version 4.3.0. SWIG generated code uses these if
|
||||
// they are defined - to support earlier versions you can specify the V8 version
|
||||
// in use via the command line when you run SWIG:
|
||||
//
|
||||
// swig -c++ -javascript -v8 -DV8_VERSION=0x032530 example.i
|
||||
//
|
||||
// Or code in the interface file using SWIG_V8_VERSION:
|
||||
//
|
||||
// %begin %{#define SWIG_V8_VERSION 0x031110%}
|
||||
//
|
||||
// This is specified as a hex constant, but the constant is read as pairs of
|
||||
// decimal digits, so for V8 3.25.30 use constant 0x032530. This scheme can't
|
||||
// represent components > 99, but this constant is only useful for V8 < 4.3.0,
|
||||
// and no V8 versions from that era had a component > 99.
|
||||
|
||||
%define %swig_v8_define_version(version)
|
||||
%insert("runtime") %{
|
||||
#ifndef SWIG_V8_VERSION
|
||||
#define SWIG_V8_VERSION version
|
||||
#endif
|
||||
%}
|
||||
%enddef
|
||||
|
||||
#ifdef V8_VERSION
|
||||
%swig_v8_define_version(V8_VERSION)
|
||||
#else
|
||||
// HACK: defining a default version
|
||||
%swig_v8_define_version(0x031110)
|
||||
#endif
|
||||
|
||||
// and V8_PATCH_LEVEL in version 4.3.0. SWIG doesn't support anything that
|
||||
// old so SWIG generated code can rely on these.
|
||||
|
||||
// Node support
|
||||
// ------------
|
||||
|
|
@ -56,13 +28,11 @@
|
|||
%insert(runtime) %{
|
||||
#include <v8.h>
|
||||
|
||||
#if defined(V8_MAJOR_VERSION) && defined(V8_MINOR_VERSION)
|
||||
#undef SWIG_V8_VERSION
|
||||
#define SWIG_V8_VERSION ((V8_MAJOR_VERSION / 10) * 4096 + \
|
||||
(V8_MAJOR_VERSION % 10) * 256 + \
|
||||
(V8_MINOR_VERSION / 10) * 16 + \
|
||||
(V8_MINOR_VERSION % 10))
|
||||
#endif
|
||||
|
||||
#include <errno.h>
|
||||
#include <limits.h>
|
||||
|
|
|
|||
|
|
@ -7,11 +7,7 @@ SWIGINTERN int
|
|||
SWIG_AsCharPtrAndSize(SWIGV8_VALUE valRef, char** cptr, size_t* psize, int *alloc)
|
||||
{
|
||||
if(valRef->IsString()) {
|
||||
%#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031903)
|
||||
v8::Handle<v8::String> js_str = v8::Handle<v8::String>::Cast(valRef);
|
||||
%#else
|
||||
v8::Local<v8::String> js_str = v8::Local<v8::String>::Cast(valRef);
|
||||
%#endif
|
||||
|
||||
size_t len = SWIGV8_UTF8_LENGTH(js_str) + 1;
|
||||
char* cstr = (char*) %new_array(len, char);
|
||||
|
|
@ -53,11 +49,7 @@ SWIG_FromCharPtrAndSize(const char* carray, size_t size)
|
|||
// TODO: handle extra long strings
|
||||
return SWIGV8_UNDEFINED();
|
||||
} else {
|
||||
%#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031903)
|
||||
v8::Handle<v8::String> js_str = SWIGV8_STRING_NEW2(carray, size);
|
||||
%#else
|
||||
v8::Local<v8::String> js_str = SWIGV8_STRING_NEW2(carray, size);
|
||||
%#endif
|
||||
return js_str;
|
||||
}
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -13,57 +13,24 @@ typedef int (*V8ExtensionInitializer) (v8::Handle<v8::Object> module);
|
|||
|
||||
// Note: these typedefs and defines are used to deal with v8 API changes since version 3.19.00
|
||||
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031903)
|
||||
typedef v8::Handle<v8::Value> SwigV8ReturnValue;
|
||||
typedef v8::Arguments SwigV8Arguments;
|
||||
typedef v8::AccessorInfo SwigV8PropertyCallbackInfo;
|
||||
#define SWIGV8_RETURN(val) return scope.Close(val)
|
||||
#define SWIGV8_RETURN_INFO(val, info) return scope.Close(val)
|
||||
#else
|
||||
typedef void SwigV8ReturnValue;
|
||||
typedef v8::FunctionCallbackInfo<v8::Value> SwigV8Arguments;
|
||||
typedef v8::PropertyCallbackInfo<v8::Value> SwigV8PropertyCallbackInfo;
|
||||
#define SWIGV8_RETURN(val) args.GetReturnValue().Set(val); return
|
||||
#define SWIGV8_RETURN_INFO(val, info) info.GetReturnValue().Set(val); return
|
||||
#endif
|
||||
|
||||
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x032117)
|
||||
#define SWIGV8_HANDLESCOPE() v8::HandleScope scope
|
||||
#define SWIGV8_HANDLESCOPE_ESC() v8::HandleScope scope
|
||||
#define SWIGV8_ESCAPE(val) return scope.Close(val)
|
||||
#elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x032318)
|
||||
#define SWIGV8_HANDLESCOPE() v8::HandleScope scope(v8::Isolate::GetCurrent());
|
||||
#define SWIGV8_HANDLESCOPE_ESC() v8::HandleScope scope(v8::Isolate::GetCurrent());
|
||||
#define SWIGV8_ESCAPE(val) return scope.Close(val)
|
||||
#else
|
||||
#define SWIGV8_HANDLESCOPE() v8::HandleScope scope(v8::Isolate::GetCurrent());
|
||||
#define SWIGV8_HANDLESCOPE_ESC() v8::EscapableHandleScope scope(v8::Isolate::GetCurrent());
|
||||
#define SWIGV8_ESCAPE(val) return scope.Escape(val)
|
||||
#endif
|
||||
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x032318)
|
||||
#define SWIGV8_CURRENT_CONTEXT() v8::Context::GetCurrent()
|
||||
#define SWIGV8_STRING_NEW(str) v8::String::New(str)
|
||||
#define SWIGV8_FUNCTEMPLATE_NEW(func) v8::FunctionTemplate::New(func)
|
||||
#define SWIGV8_OBJECT_NEW() v8::Object::New()
|
||||
#define SWIGV8_EXTERNAL_NEW(val) v8::External::New(val)
|
||||
#define SWIGV8_UNDEFINED() v8::Undefined()
|
||||
#else
|
||||
#define SWIGV8_CURRENT_CONTEXT() v8::Isolate::GetCurrent()->GetCurrentContext()
|
||||
#define SWIGV8_STRING_NEW(str) v8::String::NewFromUtf8(v8::Isolate::GetCurrent(), str)
|
||||
#define SWIGV8_FUNCTEMPLATE_NEW(func) v8::FunctionTemplate::New(v8::Isolate::GetCurrent(), func)
|
||||
#define SWIGV8_OBJECT_NEW() v8::Object::New(v8::Isolate::GetCurrent())
|
||||
#define SWIGV8_EXTERNAL_NEW(val) v8::External::New(v8::Isolate::GetCurrent(), val)
|
||||
#define SWIGV8_UNDEFINED() v8::Undefined(v8::Isolate::GetCurrent())
|
||||
#endif
|
||||
|
||||
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031900)
|
||||
typedef v8::Persistent<v8::Context> SwigV8Context;
|
||||
#else
|
||||
typedef v8::Local<v8::Context> SwigV8Context;
|
||||
#endif
|
||||
|
||||
class V8Shell: public JSShell {
|
||||
|
||||
|
|
@ -149,13 +116,7 @@ bool V8Shell::RunScript(const std::string &scriptPath) {
|
|||
|
||||
context->Exit();
|
||||
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031710)
|
||||
context.Dispose();
|
||||
#elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031900)
|
||||
context.Dispose(v8::Isolate::GetCurrent());
|
||||
#else
|
||||
// context.Dispose();
|
||||
#endif
|
||||
|
||||
// v8::V8::Dispose();
|
||||
|
||||
|
|
@ -193,13 +154,7 @@ bool V8Shell::RunShell() {
|
|||
|
||||
context->Exit();
|
||||
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031710)
|
||||
context.Dispose();
|
||||
#elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031900)
|
||||
context.Dispose(v8::Isolate::GetCurrent());
|
||||
#else
|
||||
// context.Dispose();
|
||||
#endif
|
||||
|
||||
// v8::V8::Dispose();
|
||||
|
||||
|
|
@ -249,13 +204,8 @@ SwigV8Context V8Shell::CreateShellContext() {
|
|||
global->Set(SWIGV8_STRING_NEW("require"), SWIGV8_FUNCTEMPLATE_NEW(V8Shell::Require));
|
||||
global->Set(SWIGV8_STRING_NEW("version"), SWIGV8_FUNCTEMPLATE_NEW(V8Shell::Version));
|
||||
|
||||
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031900)
|
||||
SwigV8Context context = v8::Context::New(NULL, global);
|
||||
return context;
|
||||
#else
|
||||
SwigV8Context context = v8::Context::New(v8::Isolate::GetCurrent(), NULL, global);
|
||||
return context;
|
||||
#endif
|
||||
}
|
||||
|
||||
v8::Handle<v8::Value> V8Shell::Import(const std::string &module_path)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue