| Index: src/api.cc
|
| diff --git a/src/api.cc b/src/api.cc
|
| index 560dc34b3004860c59c24f2c60e10c0bef7ce342..84348c9c8b0474a119ca4b0789a17c7755079239 100644
|
| --- a/src/api.cc
|
| +++ b/src/api.cc
|
| @@ -6259,6 +6259,70 @@ size_t v8::Map::Size() const {
|
| }
|
|
|
|
|
| +void Map::Clear() {
|
| + auto self = Utils::OpenHandle(this);
|
| + i::Isolate* isolate = self->GetIsolate();
|
| + LOG_API(isolate, "Map::Clear");
|
| + ENTER_V8(isolate);
|
| + i::Runtime::JSMapClear(isolate, self);
|
| +}
|
| +
|
| +
|
| +MaybeLocal<Value> Map::Get(Local<Context> context, Local<Value> key) {
|
| + PREPARE_FOR_EXECUTION(context, "Map::Get", Value);
|
| + auto self = Utils::OpenHandle(this);
|
| + Local<Value> result;
|
| + i::Handle<i::Object> argv[] = {Utils::OpenHandle(*key)};
|
| + has_pending_exception =
|
| + !ToLocal<Value>(i::Execution::Call(isolate, isolate->map_get(), self,
|
| + arraysize(argv), argv, false),
|
| + &result);
|
| + RETURN_ON_FAILED_EXECUTION(Value);
|
| + RETURN_ESCAPED(result);
|
| +}
|
| +
|
| +
|
| +MaybeLocal<Map> Map::Set(Local<Context> context, Local<Value> key,
|
| + Local<Value> value) {
|
| + PREPARE_FOR_EXECUTION(context, "Map::Set", Map);
|
| + auto self = Utils::OpenHandle(this);
|
| + i::Handle<i::Object> result;
|
| + i::Handle<i::Object> argv[] = {Utils::OpenHandle(*key),
|
| + Utils::OpenHandle(*value)};
|
| + has_pending_exception =
|
| + !i::Execution::Call(isolate, isolate->map_set(), self, arraysize(argv),
|
| + argv, false).ToHandle(&result);
|
| + RETURN_ON_FAILED_EXECUTION(Map);
|
| + RETURN_ESCAPED(Local<Map>::Cast(Utils::ToLocal(result)));
|
| +}
|
| +
|
| +
|
| +Maybe<bool> Map::Has(Local<Context> context, Local<Value> key) {
|
| + PREPARE_FOR_EXECUTION_PRIMITIVE(context, "Map::Has", bool);
|
| + auto self = Utils::OpenHandle(this);
|
| + i::Handle<i::Object> result;
|
| + i::Handle<i::Object> argv[] = {Utils::OpenHandle(*key)};
|
| + has_pending_exception =
|
| + !i::Execution::Call(isolate, isolate->map_has(), self, arraysize(argv),
|
| + argv, false).ToHandle(&result);
|
| + RETURN_ON_FAILED_EXECUTION_PRIMITIVE(bool);
|
| + return Just(result->IsTrue());
|
| +}
|
| +
|
| +
|
| +Maybe<bool> Map::Delete(Local<Context> context, Local<Value> key) {
|
| + PREPARE_FOR_EXECUTION_PRIMITIVE(context, "Map::Delete", bool);
|
| + auto self = Utils::OpenHandle(this);
|
| + i::Handle<i::Object> result;
|
| + i::Handle<i::Object> argv[] = {Utils::OpenHandle(*key)};
|
| + has_pending_exception =
|
| + !i::Execution::Call(isolate, isolate->map_delete(), self, arraysize(argv),
|
| + argv, false).ToHandle(&result);
|
| + RETURN_ON_FAILED_EXECUTION_PRIMITIVE(bool);
|
| + return Just(result->IsTrue());
|
| +}
|
| +
|
| +
|
| Local<Array> Map::AsArray() const {
|
| i::Handle<i::JSMap> obj = Utils::OpenHandle(this);
|
| i::Isolate* isolate = obj->GetIsolate();
|
| @@ -6311,6 +6375,54 @@ size_t v8::Set::Size() const {
|
| }
|
|
|
|
|
| +void Set::Clear() {
|
| + auto self = Utils::OpenHandle(this);
|
| + i::Isolate* isolate = self->GetIsolate();
|
| + LOG_API(isolate, "Set::Clear");
|
| + ENTER_V8(isolate);
|
| + i::Runtime::JSSetClear(isolate, self);
|
| +}
|
| +
|
| +
|
| +MaybeLocal<Set> Set::Add(Local<Context> context, Local<Value> key) {
|
| + PREPARE_FOR_EXECUTION(context, "Set::Add", Set);
|
| + auto self = Utils::OpenHandle(this);
|
| + i::Handle<i::Object> result;
|
| + i::Handle<i::Object> argv[] = {Utils::OpenHandle(*key)};
|
| + has_pending_exception =
|
| + !i::Execution::Call(isolate, isolate->set_add(), self, arraysize(argv),
|
| + argv, false).ToHandle(&result);
|
| + RETURN_ON_FAILED_EXECUTION(Set);
|
| + RETURN_ESCAPED(Local<Set>::Cast(Utils::ToLocal(result)));
|
| +}
|
| +
|
| +
|
| +Maybe<bool> Set::Has(Local<Context> context, Local<Value> key) {
|
| + PREPARE_FOR_EXECUTION_PRIMITIVE(context, "Set::Has", bool);
|
| + auto self = Utils::OpenHandle(this);
|
| + i::Handle<i::Object> result;
|
| + i::Handle<i::Object> argv[] = {Utils::OpenHandle(*key)};
|
| + has_pending_exception =
|
| + !i::Execution::Call(isolate, isolate->set_has(), self, arraysize(argv),
|
| + argv, false).ToHandle(&result);
|
| + RETURN_ON_FAILED_EXECUTION_PRIMITIVE(bool);
|
| + return Just(result->IsTrue());
|
| +}
|
| +
|
| +
|
| +Maybe<bool> Set::Delete(Local<Context> context, Local<Value> key) {
|
| + PREPARE_FOR_EXECUTION_PRIMITIVE(context, "Set::Delete", bool);
|
| + auto self = Utils::OpenHandle(this);
|
| + i::Handle<i::Object> result;
|
| + i::Handle<i::Object> argv[] = {Utils::OpenHandle(*key)};
|
| + has_pending_exception =
|
| + !i::Execution::Call(isolate, isolate->set_delete(), self, arraysize(argv),
|
| + argv, false).ToHandle(&result);
|
| + RETURN_ON_FAILED_EXECUTION_PRIMITIVE(bool);
|
| + return Just(result->IsTrue());
|
| +}
|
| +
|
| +
|
| Local<Array> Set::AsArray() const {
|
| i::Handle<i::JSSet> obj = Utils::OpenHandle(this);
|
| i::Isolate* isolate = obj->GetIsolate();
|
|
|