diff options
-rw-r--r-- | AK/Try.h | 7 | ||||
-rw-r--r-- | Userland/Libraries/LibJS/Runtime/Completion.h | 13 |
2 files changed, 7 insertions, 13 deletions
@@ -16,3 +16,10 @@ return _temporary_result.release_error(); \ _temporary_result.release_value(); \ }) + +#define MUST(expression) \ + ({ \ + auto _temporary_result = (expression); \ + VERIFY(!_temporary_result.is_error()); \ + _temporary_result.release_value(); \ + }) diff --git a/Userland/Libraries/LibJS/Runtime/Completion.h b/Userland/Libraries/LibJS/Runtime/Completion.h index c6cefab011..26c4c07ae7 100644 --- a/Userland/Libraries/LibJS/Runtime/Completion.h +++ b/Userland/Libraries/LibJS/Runtime/Completion.h @@ -26,19 +26,6 @@ namespace JS { _temporary_result.release_value(); \ }) -// MUST() is to the spec's `!` what TRY() is to `?`. -// https://tc39.es/ecma262/#sec-returnifabrupt-shorthands -#define MUST(expression) \ - ({ \ - auto _temporary_result = (expression); \ - VERIFY(!_temporary_result.is_error()); \ - /* The return value of "! Something()" is commonly */ \ - /* ignored, so we assign to a temporary variable here */ \ - /* to avoid having to (void) all the things. */ \ - auto _temporary_value = _temporary_result.release_value(); \ - move(_temporary_value); \ - }) - // 6.2.3 The Completion Record Specification Type, https://tc39.es/ecma262/#sec-completion-record-specification-type class [[nodiscard]] Completion { public: |