#define DOMEXCEPTION_TYPE_MISMATCH_ERR 17
#define V4THROW_DOM(error, string) { \
- QV4::ExecutionContext *ctx = v8::Isolate::GetEngine()->current; \
QV4::Value v = QV4::Value::fromString(ctx, QStringLiteral(string)); \
QV4::Object *ex = ctx->engine->newErrorObject(v); \
ex->put(ctx, ctx->engine->newIdentifier(QStringLiteral("code")), QV4::Value::fromInt32(error)); \
// a handle, qFatal() is called.
// #define QML_GLOBAL_HANDLE_DEBUGGING
-#define V8ENGINE() ((QV8Engine *)v8::External::Cast(args.Data().get())->Value())
-#define V8FUNCTION(function, engine) v8::FunctionTemplate::New(function, v8::External::New((QV8Engine*)engine))->GetFunction()
-#define V8THROW_ERROR(string) { \
- v8::ThrowException(v8::Exception::Error(v8::String::New(string))); \
- return v8::Handle<v8::Value>(); \
-}
-
#define V4THROW_ERROR(string) \
- v8::Isolate::GetEngine()->current->throwError(QString::fromUtf8(string));
+ ctx->throwError(QString::fromUtf8(string));
#define V4THROW_TYPE(string) \
- v8::Isolate::GetEngine()->current->throwError(QStringLiteral(string));
-
-#define V8ENGINE_ACCESSOR() ((QV8Engine *)v8::External::Cast(info.Data().get())->Value());
-#define V8THROW_ERROR_SETTER(string) { \
- v8::ThrowException(v8::Exception::Error(v8::String::New(string))); \
- return; \
-}
-
-#define V8ASSERT_TYPE(condition, string) \
- if (!(condition)) { \
- v8::ThrowException(v8::Exception::TypeError(v8::String::New(string))); \
- return v8::Handle<v8::Value>(); \
- }
-#define V8ASSERT_TYPE_SETTER(condition, string) \
- if (!(condition)) { \
- v8::ThrowException(v8::Exception::TypeError(v8::String::New(string))); \
- return; \
- }
+ ctx->throwTypeError(QStringLiteral(string));
#define V8_DEFINE_EXTENSION(dataclass, datafunction) \
static inline dataclass *datafunction(QV8Engine *engine) \