From 098cd2cd05bea50f50d94bc755861a0862b916e9 Mon Sep 17 00:00:00 2001 From: Ron Buckton Date: Thu, 21 Mar 2024 18:12:45 -0400 Subject: [PATCH] Fix GetDisposeMethod to match consensus --- spec.emu | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/spec.emu b/spec.emu index 5fd1008..1208f5b 100644 --- a/spec.emu +++ b/spec.emu @@ -1068,12 +1068,13 @@ contributors: Ron Buckton, Ecma International 1. Let _method_ be ? GetMethod(_V_, @@asyncDispose). 1. If _method_ is *undefined*, then 1. Set _method_ to ? GetMethod(_V_, @@dispose). - 1. Let _closure_ be a new Abstract Closure with no parameters that captures _method_ and performs the following steps when called: - 1. Let _O_ be the *this* value. - 1. Perform ? Call(_method_, _O_). - 1. Return *undefined*. - 1. NOTE: This function is not observable to user code. It is used to ensure that a Promise returned from a synchronous `@@dispose` method will not be awaited. - 1. Return CreateBuiltinFunction(_closure_, 0, *""*, « »). + 1. If _method_ is not *undefined*, then + 1. Let _closure_ be a new Abstract Closure with no parameters that captures _method_ and performs the following steps when called: + 1. Let _O_ be the *this* value. + 1. Perform ? Call(_method_, _O_). + 1. Return *undefined*. + 1. NOTE: This function is not observable to user code. It is used to ensure that a Promise returned from a synchronous `@@dispose` method will not be awaited. + 1. Return CreateBuiltinFunction(_closure_, 0, *""*, « »). 1. Else, 1. Let _method_ be ? GetMethod(_V_, @@dispose). 1. Return _method_.