Skip to content

Commit d4231e7

Browse files
authored
Split main promise event filter into multiple filters (#4792)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
1 parent f6eac3a commit d4231e7

File tree

4 files changed

+20
-14
lines changed

4 files changed

+20
-14
lines changed

docs/02.API-REFERENCE.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1301,9 +1301,11 @@ described in [jerry_promise_event_type_t](#jerry_promise_event_type_t).
13011301
Possible values:
13021302

13031303
- JERRY_PROMISE_EVENT_FILTER_DISABLE - Disable reporting of all events.
1304-
- JERRY_PROMISE_EVENT_FILTER_MAIN - Enables the following events:
1304+
- JERRY_PROMISE_EVENT_FILTER_CREATE - Enables the following event:
13051305
- JERRY_PROMISE_EVENT_CREATE
1306+
- JERRY_PROMISE_EVENT_FILTER_RESOLVE - Enables the following event:
13061307
- JERRY_PROMISE_EVENT_RESOLVE
1308+
- JERRY_PROMISE_EVENT_FILTER_REJECT - Enables the following event:
13071309
- JERRY_PROMISE_EVENT_REJECT
13081310
- JERRY_PROMISE_EVENT_FILTER_ERROR - Enables the following events:
13091311
- JERRY_PROMISE_EVENT_RESOLVE_FULFILLED
@@ -6152,7 +6154,7 @@ main (void)
61526154
{
61536155
jerry_init (JERRY_INIT_EMPTY);
61546156

6155-
jerry_promise_set_callback (JERRY_PROMISE_EVENT_FILTER_MAIN, promise_callback, NULL);
6157+
jerry_promise_set_callback (JERRY_PROMISE_EVENT_FILTER_CREATE, promise_callback, NULL);
61566158

61576159
const char *source_p = "var p = Promise.resolve(0)\n"
61586160
"p.then(function (v) { return v; })";

jerry-core/ecma/operations/ecma-promise-object.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ ecma_reject_promise (ecma_value_t promise, /**< promise */
195195
JERRY_ASSERT (ecma_promise_get_flags (obj_p) & ECMA_PROMISE_IS_PENDING);
196196

197197
#if JERRY_PROMISE_CALLBACK
198-
if (JERRY_UNLIKELY (JERRY_CONTEXT (promise_callback_filters) & JERRY_PROMISE_EVENT_FILTER_MAIN))
198+
if (JERRY_UNLIKELY (JERRY_CONTEXT (promise_callback_filters) & JERRY_PROMISE_EVENT_FILTER_REJECT))
199199
{
200200
JERRY_ASSERT (JERRY_CONTEXT (promise_callback) != NULL);
201201
JERRY_CONTEXT (promise_callback) (JERRY_PROMISE_EVENT_REJECT,
@@ -282,7 +282,7 @@ ecma_fulfill_promise (ecma_value_t promise, /**< promise */
282282
}
283283

284284
#if JERRY_PROMISE_CALLBACK
285-
if (JERRY_UNLIKELY (JERRY_CONTEXT (promise_callback_filters) & JERRY_PROMISE_EVENT_FILTER_MAIN))
285+
if (JERRY_UNLIKELY (JERRY_CONTEXT (promise_callback_filters) & JERRY_PROMISE_EVENT_FILTER_RESOLVE))
286286
{
287287
JERRY_ASSERT (JERRY_CONTEXT (promise_callback) != NULL);
288288
JERRY_CONTEXT (promise_callback) (JERRY_PROMISE_EVENT_RESOLVE,
@@ -514,7 +514,7 @@ ecma_op_create_promise_object (ecma_value_t executor, /**< the executor function
514514
promise_object_p->reactions = reactions;
515515

516516
#if JERRY_PROMISE_CALLBACK
517-
if (JERRY_UNLIKELY (JERRY_CONTEXT (promise_callback_filters) & JERRY_PROMISE_EVENT_FILTER_MAIN))
517+
if (JERRY_UNLIKELY (JERRY_CONTEXT (promise_callback_filters) & JERRY_PROMISE_EVENT_FILTER_CREATE))
518518
{
519519
JERRY_ASSERT (JERRY_CONTEXT (promise_callback) != NULL);
520520
JERRY_CONTEXT (promise_callback) (JERRY_PROMISE_EVENT_CREATE,

jerry-core/include/jerryscript-types.h

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -688,21 +688,23 @@ typedef enum
688688
typedef enum
689689
{
690690
JERRY_PROMISE_EVENT_FILTER_DISABLE = 0, /**< disable reporting of all events */
691-
JERRY_PROMISE_EVENT_FILTER_MAIN = (1 << 0), /**< enables the following events:
692-
* JERRY_PROMISE_EVENT_CREATE
693-
* JERRY_PROMISE_EVENT_RESOLVE
694-
* JERRY_PROMISE_EVENT_REJECT */
695-
JERRY_PROMISE_EVENT_FILTER_ERROR = (1 << 1), /**< enables the following events:
691+
JERRY_PROMISE_EVENT_FILTER_CREATE = (1 << 0), /**< enables the following event:
692+
* JERRY_PROMISE_EVENT_CREATE */
693+
JERRY_PROMISE_EVENT_FILTER_RESOLVE = (1 << 1), /**< enables the following event:
694+
* JERRY_PROMISE_EVENT_RESOLVE */
695+
JERRY_PROMISE_EVENT_FILTER_REJECT = (1 << 2), /**< enables the following event:
696+
* JERRY_PROMISE_EVENT_REJECT */
697+
JERRY_PROMISE_EVENT_FILTER_ERROR = (1 << 3), /**< enables the following events:
696698
* JERRY_PROMISE_EVENT_RESOLVE_FULFILLED
697699
* JERRY_PROMISE_EVENT_REJECT_FULFILLED
698700
* JERRY_PROMISE_EVENT_REJECT_WITHOUT_HANDLER
699701
* JERRY_PROMISE_EVENT_CATCH_HANDLER_ADDED */
700-
JERRY_PROMISE_EVENT_FILTER_REACTION_JOB = (1 << 2), /**< enables the following events:
702+
JERRY_PROMISE_EVENT_FILTER_REACTION_JOB = (1 << 4), /**< enables the following events:
701703
* JERRY_PROMISE_EVENT_BEFORE_REACTION_JOB
702704
* JERRY_PROMISE_EVENT_AFTER_REACTION_JOB */
703-
JERRY_PROMISE_EVENT_FILTER_ASYNC_MAIN = (1 << 3), /**< enables the following events:
705+
JERRY_PROMISE_EVENT_FILTER_ASYNC_MAIN = (1 << 5), /**< enables the following event:
704706
* JERRY_PROMISE_EVENT_ASYNC_AWAIT */
705-
JERRY_PROMISE_EVENT_FILTER_ASYNC_REACTION_JOB = (1 << 4), /**< enables the following events:
707+
JERRY_PROMISE_EVENT_FILTER_ASYNC_REACTION_JOB = (1 << 6), /**< enables the following events:
706708
* JERRY_PROMISE_EVENT_ASYNC_BEFORE_RESOLVE
707709
* JERRY_PROMISE_EVENT_ASYNC_BEFORE_REJECT
708710
* JERRY_PROMISE_EVENT_ASYNC_AFTER_RESOLVE

tests/unit-core/test-promise-callback.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,9 @@ main (void)
134134

135135
jerry_init (JERRY_INIT_EMPTY);
136136

137-
jerry_promise_event_filter_t filters = (JERRY_PROMISE_EVENT_FILTER_MAIN
137+
jerry_promise_event_filter_t filters = (JERRY_PROMISE_EVENT_FILTER_CREATE
138+
| JERRY_PROMISE_EVENT_FILTER_RESOLVE
139+
| JERRY_PROMISE_EVENT_FILTER_REJECT
138140
| JERRY_PROMISE_EVENT_FILTER_ERROR
139141
| JERRY_PROMISE_EVENT_FILTER_REACTION_JOB
140142
| JERRY_PROMISE_EVENT_FILTER_ASYNC_MAIN

0 commit comments

Comments
 (0)