<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[203858] trunk</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/203858">203858</a></dd>
<dt>Author</dt> <dd>commit-queue@webkit.org</dd>
<dt>Date</dt> <dd>2016-07-28 23:45:21 -0700 (Thu, 28 Jul 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>Binding generator should expose the visible interface name in error messages
https://bugs.webkit.org/show_bug.cgi?id=160192

Source/WebCore:

Patch by Youenn Fablet &lt;youenn@apple.com&gt; on 2016-07-28
Reviewed by Darin Adler.

Covered by updated layout and binding tests.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation): Using visibleInterfaceName instead of interfaceName.
(GenerateFunctionCastedThis): Ditto.
(GenerateParametersCheck): Ditto.
(GenerateConstructorDefinition): Ditto.
* bindings/scripts/test/JS/JSTestObj.cpp: Rebased.
* bindings/scripts/test/TestObj.idl: Adding ConstructorCallWith to exercice change in GenerateConstructorDefinition.

LayoutTests:

Patch by Youenn Fablet &lt;youennf@gmail.com&gt; on 2016-07-28
Reviewed by Darin Adler.

* editing/selection/extend-expected.txt:
* fast/dom/Window/getComputedStyle-missing-parameter-expected.txt:
* fast/dom/Window/getComputedStyle-missing-parameter.html:
* fetch/fetch-error-messages-expected.txt:
* fetch/fetch-error-messages.html: Adding test for Request.
* js/dom/toString-and-valueOf-override-expected.txt:
* js/getOwnPropertyDescriptor-unforgeable-attributes-expected.txt:
* js/getOwnPropertyDescriptor-window-attributes-expected.txt:
* media/encrypted-media/encrypted-media-v2-syntax-expected.txt:
* media/encrypted-media/encrypted-media-v2-syntax.html:
* webaudio/createMediaStreamSource-null-expected.txt:
* webaudio/createMediaStreamSource-null.html:
* webaudio/decode-audio-data-basic-expected.txt:
* webaudio/decode-audio-data-basic.html:
* webaudio/mediaelementaudiosourcenode-expected.txt:
* webaudio/mediaelementaudiosourcenode.html:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestseditingselectionextendexpectedtxt">trunk/LayoutTests/editing/selection/extend-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastdomWindowgetComputedStylemissingparameterexpectedtxt">trunk/LayoutTests/fast/dom/Window/getComputedStyle-missing-parameter-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastdomWindowgetComputedStylemissingparameterhtml">trunk/LayoutTests/fast/dom/Window/getComputedStyle-missing-parameter.html</a></li>
<li><a href="#trunkLayoutTestsfetchfetcherrormessagesexpectedtxt">trunk/LayoutTests/fetch/fetch-error-messages-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfetchfetcherrormessageshtml">trunk/LayoutTests/fetch/fetch-error-messages.html</a></li>
<li><a href="#trunkLayoutTestsjsdomtoStringandvalueOfoverrideexpectedtxt">trunk/LayoutTests/js/dom/toString-and-valueOf-override-expected.txt</a></li>
<li><a href="#trunkLayoutTestsjsgetOwnPropertyDescriptorunforgeableattributesexpectedtxt">trunk/LayoutTests/js/getOwnPropertyDescriptor-unforgeable-attributes-expected.txt</a></li>
<li><a href="#trunkLayoutTestsjsgetOwnPropertyDescriptorwindowattributesexpectedtxt">trunk/LayoutTests/js/getOwnPropertyDescriptor-window-attributes-expected.txt</a></li>
<li><a href="#trunkLayoutTestsmediaencryptedmediaencryptedmediav2syntaxexpectedtxt">trunk/LayoutTests/media/encrypted-media/encrypted-media-v2-syntax-expected.txt</a></li>
<li><a href="#trunkLayoutTestsmediaencryptedmediaencryptedmediav2syntaxhtml">trunk/LayoutTests/media/encrypted-media/encrypted-media-v2-syntax.html</a></li>
<li><a href="#trunkLayoutTestswebaudiocreateMediaStreamSourcenullexpectedtxt">trunk/LayoutTests/webaudio/createMediaStreamSource-null-expected.txt</a></li>
<li><a href="#trunkLayoutTestswebaudiocreateMediaStreamSourcenullhtml">trunk/LayoutTests/webaudio/createMediaStreamSource-null.html</a></li>
<li><a href="#trunkLayoutTestswebaudiodecodeaudiodatabasicexpectedtxt">trunk/LayoutTests/webaudio/decode-audio-data-basic-expected.txt</a></li>
<li><a href="#trunkLayoutTestswebaudiodecodeaudiodatabasichtml">trunk/LayoutTests/webaudio/decode-audio-data-basic.html</a></li>
<li><a href="#trunkLayoutTestswebaudiomediaelementaudiosourcenodeexpectedtxt">trunk/LayoutTests/webaudio/mediaelementaudiosourcenode-expected.txt</a></li>
<li><a href="#trunkLayoutTestswebaudiomediaelementaudiosourcenodehtml">trunk/LayoutTests/webaudio/mediaelementaudiosourcenode.html</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptsCodeGeneratorJSpm">trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestObjcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestTestObjidl">trunk/Source/WebCore/bindings/scripts/test/TestObj.idl</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (203857 => 203858)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2016-07-29 05:22:14 UTC (rev 203857)
+++ trunk/LayoutTests/ChangeLog        2016-07-29 06:45:21 UTC (rev 203858)
</span><span class="lines">@@ -1,3 +1,27 @@
</span><ins>+2016-07-28  Youenn Fablet  &lt;youennf@gmail.com&gt;
+
+        Binding generator should expose the visible interface name in error messages
+        https://bugs.webkit.org/show_bug.cgi?id=160192
+
+        Reviewed by Darin Adler.
+
+        * editing/selection/extend-expected.txt:
+        * fast/dom/Window/getComputedStyle-missing-parameter-expected.txt:
+        * fast/dom/Window/getComputedStyle-missing-parameter.html:
+        * fetch/fetch-error-messages-expected.txt:
+        * fetch/fetch-error-messages.html: Adding test for Request.
+        * js/dom/toString-and-valueOf-override-expected.txt:
+        * js/getOwnPropertyDescriptor-unforgeable-attributes-expected.txt:
+        * js/getOwnPropertyDescriptor-window-attributes-expected.txt:
+        * media/encrypted-media/encrypted-media-v2-syntax-expected.txt:
+        * media/encrypted-media/encrypted-media-v2-syntax.html:
+        * webaudio/createMediaStreamSource-null-expected.txt:
+        * webaudio/createMediaStreamSource-null.html:
+        * webaudio/decode-audio-data-basic-expected.txt:
+        * webaudio/decode-audio-data-basic.html:
+        * webaudio/mediaelementaudiosourcenode-expected.txt:
+        * webaudio/mediaelementaudiosourcenode.html:
+
</ins><span class="cx"> 2016-07-28  Chris Dumez  &lt;cdumez@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Add support for Element.getAttributeNames()
</span></span></pre></div>
<a id="trunkLayoutTestseditingselectionextendexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/editing/selection/extend-expected.txt (203857 => 203858)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/editing/selection/extend-expected.txt        2016-07-29 05:22:14 UTC (rev 203857)
+++ trunk/LayoutTests/editing/selection/extend-expected.txt        2016-07-29 06:45:21 UTC (rev 203858)
</span><span class="lines">@@ -5,4 +5,4 @@
</span><span class="cx"> Success: window.getSelection() is b.
</span><span class="cx"> Success: window.getSelection() is arbaz.
</span><span class="cx"> Success: s.extend() raised TypeError: Not enough arguments.
</span><del>-Success: s.extend(null, 0) raised TypeError: Argument 1 ('node') to DOMSelection.extend must be an instance of Node.
</del><ins>+Success: s.extend(null, 0) raised TypeError: Argument 1 ('node') to Selection.extend must be an instance of Node.
</ins></span></pre></div>
<a id="trunkLayoutTestsfastdomWindowgetComputedStylemissingparameterexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/dom/Window/getComputedStyle-missing-parameter-expected.txt (203857 => 203858)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/dom/Window/getComputedStyle-missing-parameter-expected.txt        2016-07-29 05:22:14 UTC (rev 203857)
+++ trunk/LayoutTests/fast/dom/Window/getComputedStyle-missing-parameter-expected.txt        2016-07-29 06:45:21 UTC (rev 203858)
</span><span class="lines">@@ -4,7 +4,7 @@
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> PASS window.getComputedStyle() threw exception TypeError: Not enough arguments.
</span><del>-PASS window.getComputedStyle(null) threw exception TypeError: Argument 1 ('element') to DOMWindow.getComputedStyle must be an instance of Element.
</del><ins>+PASS window.getComputedStyle(null) threw exception TypeError: Argument 1 ('element') to Window.getComputedStyle must be an instance of Element.
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="trunkLayoutTestsfastdomWindowgetComputedStylemissingparameterhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/dom/Window/getComputedStyle-missing-parameter.html (203857 => 203858)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/dom/Window/getComputedStyle-missing-parameter.html        2016-07-29 05:22:14 UTC (rev 203857)
+++ trunk/LayoutTests/fast/dom/Window/getComputedStyle-missing-parameter.html        2016-07-29 06:45:21 UTC (rev 203858)
</span><span class="lines">@@ -6,7 +6,7 @@
</span><span class="cx"> description(&quot;Test that the first parameter to Window.getComputedStyle() is mandatory and not nullable.&quot;);
</span><span class="cx"> 
</span><span class="cx"> shouldThrow(&quot;window.getComputedStyle()&quot;, &quot;'TypeError: Not enough arguments'&quot;);
</span><del>-shouldThrow(&quot;window.getComputedStyle(null)&quot;, &quot;'TypeError: Argument 1 (\\'element\\') to DOMWindow.getComputedStyle must be an instance of Element'&quot;);
</del><ins>+shouldThrow(&quot;window.getComputedStyle(null)&quot;, &quot;'TypeError: Argument 1 (\\'element\\') to Window.getComputedStyle must be an instance of Element'&quot;);
</ins><span class="cx"> &lt;/script&gt;
</span><span class="cx"> &lt;script src=&quot;../../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
</span><span class="cx"> &lt;/body&gt;
</span></span></pre></div>
<a id="trunkLayoutTestsfetchfetcherrormessagesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fetch/fetch-error-messages-expected.txt (203857 => 203858)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fetch/fetch-error-messages-expected.txt        2016-07-29 05:22:14 UTC (rev 203857)
+++ trunk/LayoutTests/fetch/fetch-error-messages-expected.txt        2016-07-29 06:45:21 UTC (rev 203858)
</span><span class="lines">@@ -1,4 +1,6 @@
</span><span class="cx"> CONSOLE MESSAGE: line 11: TypeError: The Response.body getter can only be used on instances of Response
</span><ins>+CONSOLE MESSAGE: line 11: TypeError: The Request.method getter can only be used on instances of Request
+CONSOLE MESSAGE: line 11: TypeError: Can only call Request.clone on instances of Request
</ins><span class="cx"> 
</span><span class="cx"> PASS Exercising TypeError messages in Fetch Response 
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsfetchfetcherrormessageshtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fetch/fetch-error-messages.html (203857 => 203858)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fetch/fetch-error-messages.html        2016-07-29 05:22:14 UTC (rev 203857)
+++ trunk/LayoutTests/fetch/fetch-error-messages.html        2016-07-29 06:45:21 UTC (rev 203858)
</span><span class="lines">@@ -25,6 +25,8 @@
</span><span class="cx">     var response = new Response(&quot;&quot;);
</span><span class="cx"> 
</span><span class="cx">     printGetterError(response, &quot;body&quot;, request);
</span><ins>+    printGetterError(request, &quot;method&quot;, response);
+    printMethodError(request.clone, response);
</ins><span class="cx"> 
</span><span class="cx"> }, &quot;Exercising TypeError messages in Fetch Response&quot;);
</span><span class="cx"> &lt;/script&gt;
</span></span></pre></div>
<a id="trunkLayoutTestsjsdomtoStringandvalueOfoverrideexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/js/dom/toString-and-valueOf-override-expected.txt (203857 => 203858)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/js/dom/toString-and-valueOf-override-expected.txt        2016-07-29 05:22:14 UTC (rev 203857)
+++ trunk/LayoutTests/js/dom/toString-and-valueOf-override-expected.txt        2016-07-29 06:45:21 UTC (rev 203858)
</span><span class="lines">@@ -392,7 +392,7 @@
</span><span class="cx"> String(Selection) : 
</span><span class="cx"> String([Selection]) : 
</span><span class="cx"> Selection.toString : function toString() { [native code] }
</span><del>-TypeError: Can only call DOMSelection.toString on instances of DOMSelection
</del><ins>+TypeError: Can only call Selection.toString on instances of Selection
</ins><span class="cx"> Selection.toString() : 
</span><span class="cx"> [Selection].toString() : 
</span><span class="cx"> Selection.valueOf() : 
</span></span></pre></div>
<a id="trunkLayoutTestsjsgetOwnPropertyDescriptorunforgeableattributesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/js/getOwnPropertyDescriptor-unforgeable-attributes-expected.txt (203857 => 203858)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/js/getOwnPropertyDescriptor-unforgeable-attributes-expected.txt        2016-07-29 05:22:14 UTC (rev 203857)
+++ trunk/LayoutTests/js/getOwnPropertyDescriptor-unforgeable-attributes-expected.txt        2016-07-29 06:45:21 UTC (rev 203858)
</span><span class="lines">@@ -95,7 +95,7 @@
</span><span class="cx"> PASS descriptor.set is an instance of Function
</span><span class="cx"> PASS descriptor.enumerable is true
</span><span class="cx"> PASS descriptor.configurable is false
</span><del>-PASS descriptor.get.call(invalidObject) threw exception TypeError: The DOMWindow.location getter can only be used on instances of DOMWindow.
</del><ins>+PASS descriptor.get.call(invalidObject) threw exception TypeError: The Window.location getter can only be used on instances of Window.
</ins><span class="cx"> PASS descriptor.get.call(window) === window.location is true
</span><span class="cx"> 
</span><span class="cx"> * Window.window
</span><span class="lines">@@ -103,7 +103,7 @@
</span><span class="cx"> PASS descriptor.set is undefined.
</span><span class="cx"> PASS descriptor.enumerable is true
</span><span class="cx"> PASS descriptor.configurable is false
</span><del>-PASS descriptor.get.call(invalidObject) threw exception TypeError: The DOMWindow.window getter can only be used on instances of DOMWindow.
</del><ins>+PASS descriptor.get.call(invalidObject) threw exception TypeError: The Window.window getter can only be used on instances of Window.
</ins><span class="cx"> PASS descriptor.get.call(window) === window.window is true
</span><span class="cx"> 
</span><span class="cx"> * Window.top
</span><span class="lines">@@ -111,7 +111,7 @@
</span><span class="cx"> PASS descriptor.set is undefined.
</span><span class="cx"> PASS descriptor.enumerable is true
</span><span class="cx"> PASS descriptor.configurable is false
</span><del>-PASS descriptor.get.call(invalidObject) threw exception TypeError: The DOMWindow.top getter can only be used on instances of DOMWindow.
</del><ins>+PASS descriptor.get.call(invalidObject) threw exception TypeError: The Window.top getter can only be used on instances of Window.
</ins><span class="cx"> PASS descriptor.get.call(window) === window.top is true
</span><span class="cx"> 
</span><span class="cx"> * Window.document
</span><span class="lines">@@ -119,7 +119,7 @@
</span><span class="cx"> PASS descriptor.set is undefined.
</span><span class="cx"> PASS descriptor.enumerable is true
</span><span class="cx"> PASS descriptor.configurable is false
</span><del>-PASS descriptor.get.call(invalidObject) threw exception TypeError: The DOMWindow.document getter can only be used on instances of DOMWindow.
</del><ins>+PASS descriptor.get.call(invalidObject) threw exception TypeError: The Window.document getter can only be used on instances of Window.
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="trunkLayoutTestsjsgetOwnPropertyDescriptorwindowattributesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/js/getOwnPropertyDescriptor-window-attributes-expected.txt (203857 => 203858)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/js/getOwnPropertyDescriptor-window-attributes-expected.txt        2016-07-29 05:22:14 UTC (rev 203857)
+++ trunk/LayoutTests/js/getOwnPropertyDescriptor-window-attributes-expected.txt        2016-07-29 06:45:21 UTC (rev 203858)
</span><span class="lines">@@ -8,7 +8,7 @@
</span><span class="cx"> PASS descriptor.set is an instance of Function
</span><span class="cx"> PASS descriptor.enumerable is true
</span><span class="cx"> PASS descriptor.configurable is true
</span><del>-PASS descriptor.get.call(nonWindowObject) threw exception TypeError: The DOMWindow.screen getter can only be used on instances of DOMWindow.
</del><ins>+PASS descriptor.get.call(nonWindowObject) threw exception TypeError: The Window.screen getter can only be used on instances of Window.
</ins><span class="cx"> PASS descriptor.get.call(window) === window.screen is true
</span><span class="cx"> PASS descriptor.get.call() === window.screen is true
</span><span class="cx"> 
</span><span class="lines">@@ -17,7 +17,7 @@
</span><span class="cx"> PASS descriptor.set is undefined.
</span><span class="cx"> PASS descriptor.enumerable is true
</span><span class="cx"> PASS descriptor.configurable is true
</span><del>-PASS descriptor.get.call(nonWindowObject) threw exception TypeError: The DOMWindow.navigator getter can only be used on instances of DOMWindow.
</del><ins>+PASS descriptor.get.call(nonWindowObject) threw exception TypeError: The Window.navigator getter can only be used on instances of Window.
</ins><span class="cx"> PASS descriptor.get.call(window) === window.navigator is true
</span><span class="cx"> PASS descriptor.get.call() === window.navigator is true
</span><span class="cx"> 
</span><span class="lines">@@ -26,7 +26,7 @@
</span><span class="cx"> PASS descriptor.set is an instance of Function
</span><span class="cx"> PASS descriptor.enumerable is true
</span><span class="cx"> PASS descriptor.configurable is true
</span><del>-PASS descriptor.get.call(nonWindowObject) threw exception TypeError: The DOMWindow.self getter can only be used on instances of DOMWindow.
</del><ins>+PASS descriptor.get.call(nonWindowObject) threw exception TypeError: The Window.self getter can only be used on instances of Window.
</ins><span class="cx"> PASS descriptor.get.call(window) === window.self is true
</span><span class="cx"> PASS descriptor.get.call() === window.self is true
</span><span class="cx"> 
</span><span class="lines">@@ -35,7 +35,7 @@
</span><span class="cx"> PASS descriptor.set is undefined.
</span><span class="cx"> PASS descriptor.enumerable is true
</span><span class="cx"> PASS descriptor.configurable is true
</span><del>-PASS descriptor.get.call(nonWindowObject) threw exception TypeError: The DOMWindow.frameElement getter can only be used on instances of DOMWindow.
</del><ins>+PASS descriptor.get.call(nonWindowObject) threw exception TypeError: The Window.frameElement getter can only be used on instances of Window.
</ins><span class="cx"> PASS descriptor.get.call(window) === window.frameElement is true
</span><span class="cx"> PASS descriptor.get.call() === window.frameElement is true
</span><span class="cx"> 
</span><span class="lines">@@ -44,7 +44,7 @@
</span><span class="cx"> PASS descriptor.set is an instance of Function
</span><span class="cx"> PASS descriptor.enumerable is true
</span><span class="cx"> PASS descriptor.configurable is true
</span><del>-PASS descriptor.get.call(nonWindowObject) threw exception TypeError: The DOMWindow.name getter can only be used on instances of DOMWindow.
</del><ins>+PASS descriptor.get.call(nonWindowObject) threw exception TypeError: The Window.name getter can only be used on instances of Window.
</ins><span class="cx"> PASS descriptor.get.call(window) === window.name is true
</span><span class="cx"> PASS descriptor.get.call() === window.name is true
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsmediaencryptedmediaencryptedmediav2syntaxexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/media/encrypted-media/encrypted-media-v2-syntax-expected.txt (203857 => 203858)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/media/encrypted-media/encrypted-media-v2-syntax-expected.txt        2016-07-29 05:22:14 UTC (rev 203857)
+++ trunk/LayoutTests/media/encrypted-media/encrypted-media-v2-syntax-expected.txt        2016-07-29 06:45:21 UTC (rev 203858)
</span><span class="lines">@@ -22,6 +22,6 @@
</span><span class="cx"> EXPECTED (mediaKeySession.onwebkitkeyadded == 'null') OK
</span><span class="cx"> EXPECTED (mediaKeySession.onwebkitkeyerror == 'null') OK
</span><span class="cx"> EXPECTED (mediaKeySession.onwebkitkeymessage == 'null') OK
</span><del>-TEST(mediaKeySession.update(null)) THROWS('TypeError: Argument 1 (\'key\') to MediaKeySession.update must be an instance of Uint8Array') OK
</del><ins>+TEST(mediaKeySession.update(null)) THROWS('TypeError: Argument 1 (\'key\') to WebKitMediaKeySession.update must be an instance of Uint8Array') OK
</ins><span class="cx"> END OF TEST
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsmediaencryptedmediaencryptedmediav2syntaxhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/media/encrypted-media/encrypted-media-v2-syntax.html (203857 => 203858)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/media/encrypted-media/encrypted-media-v2-syntax.html        2016-07-29 05:22:14 UTC (rev 203857)
+++ trunk/LayoutTests/media/encrypted-media/encrypted-media-v2-syntax.html        2016-07-29 06:45:21 UTC (rev 203858)
</span><span class="lines">@@ -47,7 +47,7 @@
</span><span class="cx">                 testExpected('mediaKeySession.onwebkitkeyadded', null);
</span><span class="cx">                 testExpected('mediaKeySession.onwebkitkeyerror', null);
</span><span class="cx">                 testExpected('mediaKeySession.onwebkitkeymessage', null);
</span><del>-                testException('mediaKeySession.update(null)', &quot;'TypeError: Argument 1 (\\'key\\') to MediaKeySession.update must be an instance of Uint8Array'&quot;);
</del><ins>+                testException('mediaKeySession.update(null)', &quot;'TypeError: Argument 1 (\\'key\\') to WebKitMediaKeySession.update must be an instance of Uint8Array'&quot;);
</ins><span class="cx">                 endTest();
</span><span class="cx">             }
</span><span class="cx">         &lt;/script&gt;
</span></span></pre></div>
<a id="trunkLayoutTestswebaudiocreateMediaStreamSourcenullexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/createMediaStreamSource-null-expected.txt (203857 => 203858)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/createMediaStreamSource-null-expected.txt        2016-07-29 05:22:14 UTC (rev 203857)
+++ trunk/LayoutTests/webaudio/createMediaStreamSource-null-expected.txt        2016-07-29 06:45:21 UTC (rev 203858)
</span><span class="lines">@@ -3,7 +3,7 @@
</span><span class="cx"> On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-PASS context.createMediaStreamSource(null) threw exception TypeError: Argument 1 ('mediaStream') to AudioContext.createMediaStreamSource must be an instance of MediaStream.
</del><ins>+PASS context.createMediaStreamSource(null) threw exception TypeError: Argument 1 ('mediaStream') to webkitAudioContext.createMediaStreamSource must be an instance of MediaStream.
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="trunkLayoutTestswebaudiocreateMediaStreamSourcenullhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/createMediaStreamSource-null.html (203857 => 203858)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/createMediaStreamSource-null.html        2016-07-29 05:22:14 UTC (rev 203857)
+++ trunk/LayoutTests/webaudio/createMediaStreamSource-null.html        2016-07-29 06:45:21 UTC (rev 203858)
</span><span class="lines">@@ -9,7 +9,7 @@
</span><span class="cx"> description(&quot;Tests that passing null to context.createMediaStreamSource() throws a TypeError.&quot;);
</span><span class="cx"> 
</span><span class="cx"> var context = new webkitAudioContext();
</span><del>-shouldThrow(&quot;context.createMediaStreamSource(null)&quot;, &quot;'TypeError: Argument 1 (\\'mediaStream\\') to AudioContext.createMediaStreamSource must be an instance of MediaStream'&quot;);
</del><ins>+shouldThrow(&quot;context.createMediaStreamSource(null)&quot;, &quot;'TypeError: Argument 1 (\\'mediaStream\\') to webkitAudioContext.createMediaStreamSource must be an instance of MediaStream'&quot;);
</ins><span class="cx"> 
</span><span class="cx"> &lt;/script&gt;
</span><span class="cx"> &lt;script src=&quot;../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
</span></span></pre></div>
<a id="trunkLayoutTestswebaudiodecodeaudiodatabasicexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/decode-audio-data-basic-expected.txt (203857 => 203858)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/decode-audio-data-basic-expected.txt        2016-07-29 05:22:14 UTC (rev 203857)
+++ trunk/LayoutTests/webaudio/decode-audio-data-basic-expected.txt        2016-07-29 06:45:21 UTC (rev 203858)
</span><span class="lines">@@ -3,7 +3,7 @@
</span><span class="cx"> On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-PASS context.decodeAudioData(null, function(){}, function(){}); threw exception TypeError: Argument 1 ('audioData') to AudioContext.decodeAudioData must be an instance of ArrayBuffer.
</del><ins>+PASS context.decodeAudioData(null, function(){}, function(){}); threw exception TypeError: Argument 1 ('audioData') to webkitAudioContext.decodeAudioData must be an instance of ArrayBuffer.
</ins><span class="cx"> PASS The resources/media/24bit-44khz.wav test: successCallback has been called correctly.
</span><span class="cx"> PASS The resources/media/invalid-audio-file.txt test: errorCallback has been called correctly.
</span><span class="cx"> PASS successfullyParsed is true
</span></span></pre></div>
<a id="trunkLayoutTestswebaudiodecodeaudiodatabasichtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/decode-audio-data-basic.html (203857 => 203858)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/decode-audio-data-basic.html        2016-07-29 05:22:14 UTC (rev 203857)
+++ trunk/LayoutTests/webaudio/decode-audio-data-basic.html        2016-07-29 06:45:21 UTC (rev 203858)
</span><span class="lines">@@ -18,7 +18,7 @@
</span><span class="cx"> var context = new webkitAudioContext();
</span><span class="cx"> 
</span><span class="cx"> // decodeAudioData should raise exception when arraybuffer parameter is null.
</span><del>-shouldThrow(&quot;context.decodeAudioData(null, function(){}, function(){});&quot;, &quot;'TypeError: Argument 1 (\\'audioData\\') to AudioContext.decodeAudioData must be an instance of ArrayBuffer'&quot;);
</del><ins>+shouldThrow(&quot;context.decodeAudioData(null, function(){}, function(){});&quot;, &quot;'TypeError: Argument 1 (\\'audioData\\') to webkitAudioContext.decodeAudioData must be an instance of ArrayBuffer'&quot;);
</ins><span class="cx"> 
</span><span class="cx"> var decodeCaseArray = [{url: &quot;resources/media/24bit-44khz.wav&quot;, result: true},
</span><span class="cx">                        {url: &quot;resources/media/invalid-audio-file.txt&quot;, result: false}];
</span></span></pre></div>
<a id="trunkLayoutTestswebaudiomediaelementaudiosourcenodeexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/mediaelementaudiosourcenode-expected.txt (203857 => 203858)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/mediaelementaudiosourcenode-expected.txt        2016-07-29 05:22:14 UTC (rev 203857)
+++ trunk/LayoutTests/webaudio/mediaelementaudiosourcenode-expected.txt        2016-07-29 06:45:21 UTC (rev 203858)
</span><span class="lines">@@ -9,7 +9,7 @@
</span><span class="cx"> PASS connect() exception thrown for illegal input index.
</span><span class="cx"> PASS audioNode.connect(context.destination) succeeded.
</span><span class="cx"> PASS createMediaElementSource() threw error when called twice on same HTMLMediaElement.
</span><del>-PASS context.createMediaElementSource(null) threw exception TypeError: Argument 1 ('mediaElement') to AudioContext.createMediaElementSource must be an instance of HTMLMediaElement.
</del><ins>+PASS context.createMediaElementSource(null) threw exception TypeError: Argument 1 ('mediaElement') to webkitAudioContext.createMediaElementSource must be an instance of HTMLMediaElement.
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="trunkLayoutTestswebaudiomediaelementaudiosourcenodehtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/mediaelementaudiosourcenode.html (203857 => 203858)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/mediaelementaudiosourcenode.html        2016-07-29 05:22:14 UTC (rev 203857)
+++ trunk/LayoutTests/webaudio/mediaelementaudiosourcenode.html        2016-07-29 06:45:21 UTC (rev 203858)
</span><span class="lines">@@ -79,7 +79,7 @@
</span><span class="cx">         testPassed(&quot;createMediaElementSource() threw error when called twice on same HTMLMediaElement.&quot;);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    shouldThrow(&quot;context.createMediaElementSource(null)&quot;, &quot;'TypeError: Argument 1 (\\'mediaElement\\') to AudioContext.createMediaElementSource must be an instance of HTMLMediaElement'&quot;);
</del><ins>+    shouldThrow(&quot;context.createMediaElementSource(null)&quot;, &quot;'TypeError: Argument 1 (\\'mediaElement\\') to webkitAudioContext.createMediaElementSource must be an instance of HTMLMediaElement'&quot;);
</ins><span class="cx"> 
</span><span class="cx">     finishJSTest();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (203857 => 203858)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-07-29 05:22:14 UTC (rev 203857)
+++ trunk/Source/WebCore/ChangeLog        2016-07-29 06:45:21 UTC (rev 203858)
</span><span class="lines">@@ -1,3 +1,20 @@
</span><ins>+2016-07-28  Youenn Fablet  &lt;youenn@apple.com&gt;
+
+        Binding generator should expose the visible interface name in error messages
+        https://bugs.webkit.org/show_bug.cgi?id=160192
+
+        Reviewed by Darin Adler.
+
+        Covered by updated layout and binding tests.
+
+        * bindings/scripts/CodeGeneratorJS.pm:
+        (GenerateImplementation): Using visibleInterfaceName instead of interfaceName.
+        (GenerateFunctionCastedThis): Ditto.
+        (GenerateParametersCheck): Ditto.
+        (GenerateConstructorDefinition): Ditto.
+        * bindings/scripts/test/JS/JSTestObj.cpp: Rebased.
+        * bindings/scripts/test/TestObj.idl: Adding ConstructorCallWith to exercice change in GenerateConstructorDefinition.
+
</ins><span class="cx"> 2016-07-28  Carlos Garcia Campos  &lt;cgarcia@igalia.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Split calculateCacheSizes in two methods
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptsCodeGeneratorJSpm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (203857 => 203858)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2016-07-29 05:22:14 UTC (rev 203857)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2016-07-29 06:45:21 UTC (rev 203858)
</span><span class="lines">@@ -2569,7 +2569,7 @@
</span><span class="cx">                 if ($attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;LenientThis&quot;}) {
</span><span class="cx">                     push(@implContent, &quot;        return JSValue::encode(jsUndefined());\n&quot;);
</span><span class="cx">                 } else {
</span><del>-                    push(@implContent, &quot;        return throwGetterTypeError(*state, \&quot;$interfaceName\&quot;, \&quot;$name\&quot;);\n&quot;);
</del><ins>+                    push(@implContent, &quot;        return throwGetterTypeError(*state, \&quot;$visibleInterfaceName\&quot;, \&quot;$name\&quot;);\n&quot;);
</ins><span class="cx">                 }
</span><span class="cx">                 push(@implContent, &quot;    }\n&quot;);
</span><span class="cx">             }
</span><span class="lines">@@ -2860,7 +2860,7 @@
</span><span class="cx">                 if ($attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;LenientThis&quot;}) {
</span><span class="cx">                     push(@implContent, &quot;        return false;\n&quot;);
</span><span class="cx">                 } else {
</span><del>-                    push(@implContent, &quot;        return throwSetterTypeError(*state, \&quot;$interfaceName\&quot;, \&quot;$name\&quot;);\n&quot;);
</del><ins>+                    push(@implContent, &quot;        return throwSetterTypeError(*state, \&quot;$visibleInterfaceName\&quot;, \&quot;$name\&quot;);\n&quot;);
</ins><span class="cx">                 }
</span><span class="cx">                 push(@implContent, &quot;    }\n&quot;);
</span><span class="cx">             }
</span><span class="lines">@@ -2953,7 +2953,7 @@
</span><span class="cx">                         push(@implContent, &quot;        return false;\n&quot;);
</span><span class="cx">                     }
</span><span class="cx">                     push(@implContent, &quot;        if (UNLIKELY(!nativeValue)) {\n&quot;);
</span><del>-                    push(@implContent, &quot;            throwAttributeTypeError(*state, \&quot;$interfaceName\&quot;, \&quot;$name\&quot;, \&quot;$type\&quot;);\n&quot;);
</del><ins>+                    push(@implContent, &quot;            throwAttributeTypeError(*state, \&quot;$visibleInterfaceName\&quot;, \&quot;$name\&quot;, \&quot;$type\&quot;);\n&quot;);
</ins><span class="cx">                     push(@implContent, &quot;            return false;\n&quot;);
</span><span class="cx">                     push(@implContent, &quot;        }\n&quot;);
</span><span class="cx">                     push(@implContent, &quot;    }\n&quot;);
</span><span class="lines">@@ -2972,7 +2972,7 @@
</span><span class="cx"> 
</span><span class="cx">                 if ($shouldPassByReference) {
</span><span class="cx">                     push(@implContent, &quot;    if (UNLIKELY(!nativeValue)) {\n&quot;);
</span><del>-                    push(@implContent, &quot;        throwAttributeTypeError(*state, \&quot;$interfaceName\&quot;, \&quot;$name\&quot;, \&quot;$type\&quot;);\n&quot;);
</del><ins>+                    push(@implContent, &quot;        throwAttributeTypeError(*state, \&quot;$visibleInterfaceName\&quot;, \&quot;$name\&quot;, \&quot;$type\&quot;);\n&quot;);
</ins><span class="cx">                     push(@implContent, &quot;        return false;\n&quot;);
</span><span class="cx">                     push(@implContent, &quot;    }\n&quot;);
</span><span class="cx">                 }
</span><span class="lines">@@ -3468,9 +3468,11 @@
</span><span class="cx">         } else {
</span><span class="cx">             push(@implContent, &quot;    auto castedThis = $castingHelper(thisValue);\n&quot;);
</span><span class="cx">         }
</span><ins>+
+        my $visibleInterfaceName = $codeGenerator-&gt;GetVisibleInterfaceName($interface);
</ins><span class="cx">         my $domFunctionName = $function-&gt;signature-&gt;name;
</span><span class="cx">         push(@implContent, &quot;    if (UNLIKELY(!castedThis))\n&quot;);
</span><del>-        push(@implContent, &quot;        return throwThisTypeError(*state, \&quot;$interfaceName\&quot;, \&quot;$domFunctionName\&quot;);\n&quot;);
</del><ins>+        push(@implContent, &quot;        return throwThisTypeError(*state, \&quot;$visibleInterfaceName\&quot;, \&quot;$domFunctionName\&quot;);\n&quot;);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     push(@implContent, &quot;    ASSERT_GC_OBJECT_INHERITS(castedThis, ${className}::info());\n&quot;) unless $interface-&gt;name eq &quot;EventTarget&quot;;
</span><span class="lines">@@ -3593,6 +3595,7 @@
</span><span class="cx">     my ($outputArray, $function, $interface, $functionImplementationName, $svgPropertyType, $svgPropertyOrListPropertyType, $svgListPropertyType) = @_;
</span><span class="cx"> 
</span><span class="cx">     my $interfaceName = $interface-&gt;name;
</span><ins>+    my $visibleInterfaceName = $codeGenerator-&gt;GetVisibleInterfaceName($interface);
</ins><span class="cx">     my @arguments;
</span><span class="cx">     my $functionName;
</span><span class="cx">     my $implementedBy = $function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;ImplementedBy&quot;};
</span><span class="lines">@@ -3661,7 +3664,7 @@
</span><span class="cx">                 } else {
</span><span class="cx">                     push(@$outputArray, &quot;        if (!state-&gt;uncheckedArgument($argumentIndex).isObject())\n&quot;);
</span><span class="cx">                 }
</span><del>-                push(@$outputArray, &quot;            return throwArgumentMustBeFunctionError(*state, $argumentIndex, \&quot;$name\&quot;, \&quot;$interfaceName\&quot;, $quotedFunctionName);\n&quot;);
</del><ins>+                push(@$outputArray, &quot;            return throwArgumentMustBeFunctionError(*state, $argumentIndex, \&quot;$name\&quot;, \&quot;$visibleInterfaceName\&quot;, $quotedFunctionName);\n&quot;);
</ins><span class="cx">                 if ($function-&gt;isStatic) {
</span><span class="cx">                     AddToImplIncludes(&quot;CallbackFunction.h&quot;);
</span><span class="cx">                     push(@$outputArray, &quot;        $name = createFunctionOnlyCallback&lt;${callbackClassName}&gt;(state, jsCast&lt;JSDOMGlobalObject*&gt;(state-&gt;lexicalGlobalObject()), state-&gt;uncheckedArgument($argumentIndex));\n&quot;);
</span><span class="lines">@@ -3675,7 +3678,7 @@
</span><span class="cx">                 } else {
</span><span class="cx">                     push(@$outputArray, &quot;    if (UNLIKELY(!state-&gt;argument($argumentIndex).isObject()))\n&quot;);
</span><span class="cx">                 }
</span><del>-                push(@$outputArray, &quot;        return throwArgumentMustBeFunctionError(*state, $argumentIndex, \&quot;$name\&quot;, \&quot;$interfaceName\&quot;, $quotedFunctionName);\n&quot;);
</del><ins>+                push(@$outputArray, &quot;        return throwArgumentMustBeFunctionError(*state, $argumentIndex, \&quot;$name\&quot;, \&quot;$visibleInterfaceName\&quot;, $quotedFunctionName);\n&quot;);
</ins><span class="cx">                 if ($function-&gt;isStatic) {
</span><span class="cx">                     AddToImplIncludes(&quot;CallbackFunction.h&quot;);
</span><span class="cx">                     push(@$outputArray, &quot;    auto $name = createFunctionOnlyCallback&lt;${callbackClassName}&gt;(state, jsCast&lt;JSDOMGlobalObject*&gt;(state-&gt;lexicalGlobalObject()), state-&gt;uncheckedArgument($argumentIndex));\n&quot;);
</span><span class="lines">@@ -3693,7 +3696,7 @@
</span><span class="cx">                 push(@$outputArray, &quot;    for (unsigned i = $argumentIndex, count = state-&gt;argumentCount(); i &lt; count; ++i) {\n&quot;);
</span><span class="cx">                 push(@$outputArray, &quot;        auto* item = JS${type}::toWrapped(state-&gt;uncheckedArgument(i));\n&quot;);
</span><span class="cx">                 push(@$outputArray, &quot;        if (!item)\n&quot;);
</span><del>-                push(@$outputArray, &quot;            return throwArgumentTypeError(*state, i, \&quot;$name\&quot;, \&quot;$interfaceName\&quot;, $quotedFunctionName, \&quot;$type\&quot;);\n&quot;);
</del><ins>+                push(@$outputArray, &quot;            return throwArgumentTypeError(*state, i, \&quot;$name\&quot;, \&quot;$visibleInterfaceName\&quot;, $quotedFunctionName, \&quot;$type\&quot;);\n&quot;);
</ins><span class="cx">                 push(@$outputArray, &quot;        $name.uncheckedAppend(item);\n&quot;);
</span><span class="cx">                 push(@$outputArray, &quot;    }\n&quot;)
</span><span class="cx">             } else {
</span><span class="lines">@@ -3736,7 +3739,7 @@
</span><span class="cx">             push(@$outputArray, &quot;$indent    if (UNLIKELY(state-&gt;hadException()))\n&quot;);
</span><span class="cx">             push(@$outputArray, &quot;$indent        return JSValue::encode(jsUndefined());\n&quot;);
</span><span class="cx">             push(@$outputArray, &quot;$indent    if (UNLIKELY(!$optionalValue))\n&quot;);
</span><del>-            push(@$outputArray, &quot;$indent        return throwArgumentMustBeEnumError(*state, $argumentIndex, \&quot;$name\&quot;, \&quot;$interfaceName\&quot;, $quotedFunctionName, expectedEnumerationValues&lt;$className&gt;());\n&quot;);
</del><ins>+            push(@$outputArray, &quot;$indent        return throwArgumentMustBeEnumError(*state, $argumentIndex, \&quot;$name\&quot;, \&quot;$visibleInterfaceName\&quot;, $quotedFunctionName, expectedEnumerationValues&lt;$className&gt;());\n&quot;);
</ins><span class="cx">             push(@$outputArray, &quot;$indent    $name = optionalValue.value();\n&quot;) if $optionalValue ne $name;
</span><span class="cx"> 
</span><span class="cx">             push(@$outputArray, &quot;    }\n&quot;) if $indent ne &quot;&quot;;
</span><span class="lines">@@ -3760,7 +3763,7 @@
</span><span class="cx">                     push(@$outputArray, &quot;        return JSValue::encode(jsUndefined());\n&quot;);
</span><span class="cx">                 }
</span><span class="cx">                 push(@$outputArray, &quot;        if (UNLIKELY(!$name))\n&quot;);
</span><del>-                push(@$outputArray, &quot;            return throwArgumentTypeError(*state, $argumentIndex, \&quot;$name\&quot;, \&quot;$interfaceName\&quot;, $quotedFunctionName, \&quot;$type\&quot;);\n&quot;);
</del><ins>+                push(@$outputArray, &quot;            return throwArgumentTypeError(*state, $argumentIndex, \&quot;$name\&quot;, \&quot;$visibleInterfaceName\&quot;, $quotedFunctionName, \&quot;$type\&quot;);\n&quot;);
</ins><span class="cx">                 push(@$outputArray, &quot;    }\n&quot;);
</span><span class="cx">             } else {
</span><span class="cx">                 if ($parameter-&gt;isOptional &amp;&amp; defined($parameter-&gt;default) &amp;&amp; !WillConvertUndefinedToDefaultParameterValue($type, $parameter-&gt;default)) {
</span><span class="lines">@@ -3805,7 +3808,7 @@
</span><span class="cx"> 
</span><span class="cx">             if ($shouldPassByReference) {
</span><span class="cx">                 push(@$outputArray, &quot;    if (UNLIKELY(!$name))\n&quot;);
</span><del>-                push(@$outputArray, &quot;        return throwArgumentTypeError(*state, $argumentIndex, \&quot;$name\&quot;, \&quot;$interfaceName\&quot;, $quotedFunctionName, \&quot;$type\&quot;);\n&quot;);
</del><ins>+                push(@$outputArray, &quot;        return throwArgumentTypeError(*state, $argumentIndex, \&quot;$name\&quot;, \&quot;$visibleInterfaceName\&quot;, $quotedFunctionName, \&quot;$type\&quot;);\n&quot;);
</ins><span class="cx">                 $value = $isTearOff ? &quot;$name-&gt;propertyReference()&quot; : &quot;*$name&quot;;
</span><span class="cx">             }
</span><span class="cx"> 
</span><span class="lines">@@ -5133,7 +5136,7 @@
</span><span class="cx">                 push(@constructorArgList, &quot;*context&quot;);
</span><span class="cx">                 push(@$outputArray, &quot;    ScriptExecutionContext* context = castedThis-&gt;scriptExecutionContext();\n&quot;);
</span><span class="cx">                 push(@$outputArray, &quot;    if (UNLIKELY(!context))\n&quot;);
</span><del>-                push(@$outputArray, &quot;        return throwConstructorDocumentUnavailableError(*state, \&quot;${interfaceName}\&quot;);\n&quot;);
</del><ins>+                push(@$outputArray, &quot;        return throwConstructorDocumentUnavailableError(*state, \&quot;${visibleInterfaceName}\&quot;);\n&quot;);
</ins><span class="cx">             }
</span><span class="cx">             if ($codeGenerator-&gt;ExtendedAttributeContains($interface-&gt;extendedAttributes-&gt;{&quot;ConstructorCallWith&quot;}, &quot;Document&quot;)) {
</span><span class="cx">                 $implIncludes{&quot;Document.h&quot;} = 1;
</span><span class="lines">@@ -5140,7 +5143,7 @@
</span><span class="cx">                 push(@constructorArgList, &quot;document&quot;);
</span><span class="cx">                 push(@$outputArray, &quot;    ScriptExecutionContext* context = castedThis-&gt;scriptExecutionContext();\n&quot;);
</span><span class="cx">                 push(@$outputArray, &quot;    if (UNLIKELY(!context))\n&quot;);
</span><del>-                push(@$outputArray, &quot;        return throwConstructorDocumentUnavailableError(*state, \&quot;${interfaceName}\&quot;);\n&quot;);
</del><ins>+                push(@$outputArray, &quot;        return throwConstructorDocumentUnavailableError(*state, \&quot;${visibleInterfaceName}\&quot;);\n&quot;);
</ins><span class="cx">                 push(@$outputArray, &quot;    ASSERT(context-&gt;isDocument());\n&quot;);
</span><span class="cx">                 push(@$outputArray, &quot;    auto&amp; document = downcast&lt;Document&gt;(*context);\n&quot;);
</span><span class="cx">             }
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestObjcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp (203857 => 203858)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp        2016-07-29 05:22:14 UTC (rev 203857)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp        2016-07-29 06:45:21 UTC (rev 203858)
</span><span class="lines">@@ -1013,12 +1013,17 @@
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 2))
</span><span class="cx">         return throwVMError(state, createNotEnoughArgumentsError(state));
</span><span class="cx">     if (UNLIKELY(!state-&gt;argument(0).isObject()))
</span><del>-        return throwArgumentMustBeFunctionError(*state, 0, &quot;testCallback&quot;, &quot;TestObj&quot;, nullptr);
</del><ins>+        return throwArgumentMustBeFunctionError(*state, 0, &quot;testCallback&quot;, &quot;TestObject&quot;, nullptr);
</ins><span class="cx">     auto testCallback = JSTestCallback::create(asObject(state-&gt;uncheckedArgument(0)), castedThis-&gt;globalObject());
</span><span class="cx">     if (UNLIKELY(!state-&gt;argument(1).isFunction()))
</span><del>-        return throwArgumentMustBeFunctionError(*state, 1, &quot;testCallbackFunction&quot;, &quot;TestObj&quot;, nullptr);
</del><ins>+        return throwArgumentMustBeFunctionError(*state, 1, &quot;testCallbackFunction&quot;, &quot;TestObject&quot;, nullptr);
</ins><span class="cx">     auto testCallbackFunction = JSTestCallbackFunction::create(asObject(state-&gt;uncheckedArgument(1)), castedThis-&gt;globalObject());
</span><del>-    auto object = TestObj::create(*testCallback, *testCallbackFunction);
</del><ins>+    ScriptExecutionContext* context = castedThis-&gt;scriptExecutionContext();
+    if (UNLIKELY(!context))
+        return throwConstructorDocumentUnavailableError(*state, &quot;TestObject&quot;);
+    ASSERT(context-&gt;isDocument());
+    auto&amp; document = downcast&lt;Document&gt;(*context);
+    auto object = TestObj::create(document, *testCallback, *testCallbackFunction);
</ins><span class="cx">     return JSValue::encode(asObject(toJSNewlyCreated(state, castedThis-&gt;globalObject(), WTFMove(object))));
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1385,7 +1390,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;readOnlyLongAttr&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;readOnlyLongAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsNumber(impl.readOnlyLongAttr());
</span><span class="lines">@@ -1400,7 +1405,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;readOnlyStringAttr&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;readOnlyStringAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsStringWithCache(state, impl.readOnlyStringAttr());
</span><span class="lines">@@ -1415,7 +1420,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;readOnlyTestObjAttr&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;readOnlyTestObjAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = toJS(state, castedThis-&gt;globalObject(), impl.readOnlyTestObjAttr());
</span><span class="lines">@@ -1448,7 +1453,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;TestSubObj&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;TestSubObj&quot;);
</ins><span class="cx">     }
</span><span class="cx">     return JSValue::encode(JSTestSubObj::getConstructor(state-&gt;vm(), castedThis-&gt;globalObject()));
</span><span class="cx"> }
</span><span class="lines">@@ -1461,7 +1466,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;TestSubObjEnabledBySetting&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;TestSubObjEnabledBySetting&quot;);
</ins><span class="cx">     }
</span><span class="cx">     if (UNLIKELY(!castedThis-&gt;wrapped().frame()))
</span><span class="cx">         return JSValue::encode(jsUndefined());
</span><span class="lines">@@ -1479,7 +1484,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;enumAttr&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;enumAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsStringWithCache(state, impl.enumAttr());
</span><span class="lines">@@ -1494,7 +1499,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;byteAttr&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;byteAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsNumber(impl.byteAttr());
</span><span class="lines">@@ -1509,7 +1514,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;octetAttr&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;octetAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsNumber(impl.octetAttr());
</span><span class="lines">@@ -1524,7 +1529,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;shortAttr&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;shortAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsNumber(impl.shortAttr());
</span><span class="lines">@@ -1539,7 +1544,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;clampedShortAttr&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;clampedShortAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsNumber(impl.clampedShortAttr());
</span><span class="lines">@@ -1554,7 +1559,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;enforceRangeShortAttr&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;enforceRangeShortAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsNumber(impl.enforceRangeShortAttr());
</span><span class="lines">@@ -1569,7 +1574,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;unsignedShortAttr&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;unsignedShortAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsNumber(impl.unsignedShortAttr());
</span><span class="lines">@@ -1584,7 +1589,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;longAttr&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;longAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsNumber(impl.longAttr());
</span><span class="lines">@@ -1599,7 +1604,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;longLongAttr&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;longLongAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsNumber(impl.longLongAttr());
</span><span class="lines">@@ -1614,7 +1619,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;unsignedLongLongAttr&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;unsignedLongLongAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsNumber(impl.unsignedLongLongAttr());
</span><span class="lines">@@ -1629,7 +1634,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;stringAttr&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;stringAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsStringWithCache(state, impl.stringAttr());
</span><span class="lines">@@ -1644,7 +1649,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;testObjAttr&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;testObjAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = toJS(state, castedThis-&gt;globalObject(), impl.testObjAttr());
</span><span class="lines">@@ -1659,7 +1664,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;testNullableObjAttr&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;testNullableObjAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = toJS(state, castedThis-&gt;globalObject(), impl.testNullableObjAttr());
</span><span class="lines">@@ -1689,7 +1694,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;unforgeableAttr&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;unforgeableAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsStringWithCache(state, impl.unforgeableAttr());
</span><span class="lines">@@ -1704,7 +1709,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;stringAttrTreatingNullAsEmptyString&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;stringAttrTreatingNullAsEmptyString&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsStringWithCache(state, impl.stringAttrTreatingNullAsEmptyString());
</span><span class="lines">@@ -1719,7 +1724,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;XMLObjAttr&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;XMLObjAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = toJS(state, castedThis-&gt;globalObject(), impl.xmlObjAttr());
</span><span class="lines">@@ -1734,7 +1739,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;create&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;create&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsBoolean(impl.isCreate());
</span><span class="lines">@@ -1749,7 +1754,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;reflectedStringAttr&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;reflectedStringAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsStringWithCache(state, impl.attributeWithoutSynchronization(WebCore::HTMLNames::reflectedstringattrAttr));
</span><span class="lines">@@ -1764,7 +1769,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;reflectedIntegralAttr&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;reflectedIntegralAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsNumber(impl.getIntegralAttribute(WebCore::HTMLNames::reflectedintegralattrAttr));
</span><span class="lines">@@ -1779,7 +1784,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;reflectedUnsignedIntegralAttr&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;reflectedUnsignedIntegralAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsNumber(std::max(0, impl.getIntegralAttribute(WebCore::HTMLNames::reflectedunsignedintegralattrAttr)));
</span><span class="lines">@@ -1794,7 +1799,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;reflectedBooleanAttr&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;reflectedBooleanAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsBoolean(impl.hasAttributeWithoutSynchronization(WebCore::HTMLNames::reflectedbooleanattrAttr));
</span><span class="lines">@@ -1809,7 +1814,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;reflectedURLAttr&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;reflectedURLAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsStringWithCache(state, impl.getURLAttribute(WebCore::HTMLNames::reflectedurlattrAttr));
</span><span class="lines">@@ -1824,7 +1829,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;reflectedStringAttr&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;reflectedStringAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsStringWithCache(state, impl.attributeWithoutSynchronization(WebCore::HTMLNames::customContentStringAttrAttr));
</span><span class="lines">@@ -1839,7 +1844,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;reflectedCustomIntegralAttr&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;reflectedCustomIntegralAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsNumber(impl.getIntegralAttribute(WebCore::HTMLNames::customContentIntegralAttrAttr));
</span><span class="lines">@@ -1854,7 +1859,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;reflectedCustomBooleanAttr&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;reflectedCustomBooleanAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsBoolean(impl.hasAttributeWithoutSynchronization(WebCore::HTMLNames::customContentBooleanAttrAttr));
</span><span class="lines">@@ -1869,7 +1874,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;reflectedCustomURLAttr&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;reflectedCustomURLAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsStringWithCache(state, impl.getURLAttribute(WebCore::HTMLNames::customContentURLAttrAttr));
</span><span class="lines">@@ -1885,7 +1890,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;enabledAtRuntimeAttribute&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;enabledAtRuntimeAttribute&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsStringWithCache(state, impl.enabledAtRuntimeAttribute());
</span><span class="lines">@@ -1901,7 +1906,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;typedArrayAttr&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;typedArrayAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = toJS(state, castedThis-&gt;globalObject(), impl.typedArrayAttr());
</span><span class="lines">@@ -1916,7 +1921,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;attrWithGetterException&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;attrWithGetterException&quot;);
</ins><span class="cx">     }
</span><span class="cx">     ExceptionCode ec = 0;
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="lines">@@ -1933,7 +1938,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;attrWithGetterExceptionWithMessage&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;attrWithGetterExceptionWithMessage&quot;);
</ins><span class="cx">     }
</span><span class="cx">     ExceptionCodeWithMessage ec;
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="lines">@@ -1950,7 +1955,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;attrWithSetterException&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;attrWithSetterException&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsNumber(impl.attrWithSetterException());
</span><span class="lines">@@ -1965,7 +1970,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;attrWithSetterExceptionWithMessage&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;attrWithSetterExceptionWithMessage&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsNumber(impl.attrWithSetterExceptionWithMessage());
</span><span class="lines">@@ -1980,7 +1985,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;stringAttrWithGetterException&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;stringAttrWithGetterException&quot;);
</ins><span class="cx">     }
</span><span class="cx">     ExceptionCode ec = 0;
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="lines">@@ -1997,7 +2002,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;stringAttrWithSetterException&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;stringAttrWithSetterException&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsStringWithCache(state, impl.stringAttrWithSetterException());
</span><span class="lines">@@ -2012,7 +2017,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;strictTypeCheckingAttribute&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;strictTypeCheckingAttribute&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = toJS(state, castedThis-&gt;globalObject(), impl.strictTypeCheckingAttribute());
</span><span class="lines">@@ -2027,7 +2032,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;customAttr&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;customAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     return JSValue::encode(castedThis-&gt;customAttr(*state));
</span><span class="cx"> }
</span><span class="lines">@@ -2040,7 +2045,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;onfoo&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;onfoo&quot;);
</ins><span class="cx">     }
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx">     return JSValue::encode(eventHandlerAttribute(castedThis-&gt;wrapped(), eventNames().fooEvent));
</span><span class="lines">@@ -2054,7 +2059,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;onwebkitfoo&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;onwebkitfoo&quot;);
</ins><span class="cx">     }
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx">     return JSValue::encode(eventHandlerAttribute(castedThis-&gt;wrapped(), eventNames().fooEvent));
</span><span class="lines">@@ -2068,7 +2073,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;withScriptStateAttribute&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;withScriptStateAttribute&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsNumber(impl.withScriptStateAttribute(*state));
</span><span class="lines">@@ -2083,7 +2088,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;withCallWithAndSetterCallWithAttribute&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;withCallWithAndSetterCallWithAttribute&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsNumber(impl.withCallWithAndSetterCallWithAttribute(*state));
</span><span class="lines">@@ -2098,7 +2103,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;withScriptExecutionContextAttribute&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;withScriptExecutionContextAttribute&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto* context = jsCast&lt;JSDOMGlobalObject*&gt;(state-&gt;lexicalGlobalObject())-&gt;scriptExecutionContext();
</span><span class="cx">     if (!context)
</span><span class="lines">@@ -2116,7 +2121,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;withScriptStateAttributeRaises&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;withScriptStateAttributeRaises&quot;);
</ins><span class="cx">     }
</span><span class="cx">     ExceptionCode ec = 0;
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="lines">@@ -2133,7 +2138,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;withScriptExecutionContextAttributeRaises&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;withScriptExecutionContextAttributeRaises&quot;);
</ins><span class="cx">     }
</span><span class="cx">     ExceptionCode ec = 0;
</span><span class="cx">     auto* context = jsCast&lt;JSDOMGlobalObject*&gt;(state-&gt;lexicalGlobalObject())-&gt;scriptExecutionContext();
</span><span class="lines">@@ -2153,7 +2158,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;withScriptExecutionContextAndScriptStateAttribute&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;withScriptExecutionContextAndScriptStateAttribute&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto* context = jsCast&lt;JSDOMGlobalObject*&gt;(state-&gt;lexicalGlobalObject())-&gt;scriptExecutionContext();
</span><span class="cx">     if (!context)
</span><span class="lines">@@ -2171,7 +2176,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;withScriptExecutionContextAndScriptStateAttributeRaises&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;withScriptExecutionContextAndScriptStateAttributeRaises&quot;);
</ins><span class="cx">     }
</span><span class="cx">     ExceptionCode ec = 0;
</span><span class="cx">     auto* context = jsCast&lt;JSDOMGlobalObject*&gt;(state-&gt;lexicalGlobalObject())-&gt;scriptExecutionContext();
</span><span class="lines">@@ -2191,7 +2196,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;withScriptExecutionContextAndScriptStateWithSpacesAttribute&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;withScriptExecutionContextAndScriptStateWithSpacesAttribute&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto* context = jsCast&lt;JSDOMGlobalObject*&gt;(state-&gt;lexicalGlobalObject())-&gt;scriptExecutionContext();
</span><span class="cx">     if (!context)
</span><span class="lines">@@ -2209,7 +2214,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;withScriptArgumentsAndCallStackAttribute&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;withScriptArgumentsAndCallStackAttribute&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = toJS(state, castedThis-&gt;globalObject(), impl.withScriptArgumentsAndCallStackAttribute());
</span><span class="lines">@@ -2225,7 +2230,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;conditionalAttr1&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;conditionalAttr1&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsNumber(impl.conditionalAttr1());
</span><span class="lines">@@ -2242,7 +2247,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;conditionalAttr2&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;conditionalAttr2&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsNumber(impl.conditionalAttr2());
</span><span class="lines">@@ -2259,7 +2264,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;conditionalAttr3&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;conditionalAttr3&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsNumber(impl.conditionalAttr3());
</span><span class="lines">@@ -2276,7 +2281,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;conditionalAttr4&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;conditionalAttr4&quot;);
</ins><span class="cx">     }
</span><span class="cx">     return JSValue::encode(JSTestObjectA::getConstructor(state-&gt;vm(), castedThis-&gt;globalObject()));
</span><span class="cx"> }
</span><span class="lines">@@ -2291,7 +2296,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;conditionalAttr5&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;conditionalAttr5&quot;);
</ins><span class="cx">     }
</span><span class="cx">     return JSValue::encode(JSTestObjectB::getConstructor(state-&gt;vm(), castedThis-&gt;globalObject()));
</span><span class="cx"> }
</span><span class="lines">@@ -2306,7 +2311,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;conditionalAttr6&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;conditionalAttr6&quot;);
</ins><span class="cx">     }
</span><span class="cx">     return JSValue::encode(JSTestObjectC::getConstructor(state-&gt;vm(), castedThis-&gt;globalObject()));
</span><span class="cx"> }
</span><span class="lines">@@ -2320,7 +2325,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;cachedAttribute1&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;cachedAttribute1&quot;);
</ins><span class="cx">     }
</span><span class="cx">     if (JSValue cachedValue = castedThis-&gt;m_cachedAttribute1.get())
</span><span class="cx">         return JSValue::encode(cachedValue);
</span><span class="lines">@@ -2338,7 +2343,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;cachedAttribute2&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;cachedAttribute2&quot;);
</ins><span class="cx">     }
</span><span class="cx">     if (JSValue cachedValue = castedThis-&gt;m_cachedAttribute2.get())
</span><span class="cx">         return JSValue::encode(cachedValue);
</span><span class="lines">@@ -2356,7 +2361,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;anyAttribute&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;anyAttribute&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = impl.anyAttribute();
</span><span class="lines">@@ -2371,7 +2376,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;contentDocument&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;contentDocument&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     return JSValue::encode(shouldAllowAccessToNode(state, impl.contentDocument()) ? toJS(state, castedThis-&gt;globalObject(), impl.contentDocument()) : jsNull());
</span><span class="lines">@@ -2385,7 +2390,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;mutablePoint&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;mutablePoint&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = toJS(state, castedThis-&gt;globalObject(), SVGStaticPropertyTearOff&lt;TestObj, SVGPoint&gt;::create(impl, impl.mutablePoint(), &amp;TestObj::updateMutablePoint));
</span><span class="lines">@@ -2400,7 +2405,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;immutablePoint&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;immutablePoint&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = toJS(state, castedThis-&gt;globalObject(), SVGPropertyTearOff&lt;SVGPoint&gt;::create(impl.immutablePoint()));
</span><span class="lines">@@ -2415,7 +2420,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;strawberry&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;strawberry&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsNumber(impl.blueberry());
</span><span class="lines">@@ -2430,7 +2435,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;strictFloat&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;strictFloat&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsNumber(impl.strictFloat());
</span><span class="lines">@@ -2445,7 +2450,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;description&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;description&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsNumber(impl.description());
</span><span class="lines">@@ -2460,7 +2465,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;id&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;id&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsNumber(impl.id());
</span><span class="lines">@@ -2475,7 +2480,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;hash&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;hash&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsStringWithCache(state, impl.hash());
</span><span class="lines">@@ -2490,7 +2495,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;replaceableAttribute&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;replaceableAttribute&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsNumber(impl.replaceableAttribute());
</span><span class="lines">@@ -2505,7 +2510,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;nullableDoubleAttribute&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;nullableDoubleAttribute&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = toNullableJSNumber(impl.nullableDoubleAttribute());
</span><span class="lines">@@ -2520,7 +2525,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;nullableLongAttribute&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;nullableLongAttribute&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = toNullableJSNumber(impl.nullableLongAttribute());
</span><span class="lines">@@ -2535,7 +2540,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;nullableBooleanAttribute&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;nullableBooleanAttribute&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsBoolean(impl.nullableBooleanAttribute());
</span><span class="lines">@@ -2550,7 +2555,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;nullableStringAttribute&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;nullableStringAttribute&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsStringOrNull(state, impl.nullableStringAttribute());
</span><span class="lines">@@ -2565,7 +2570,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;nullableLongSettableAttribute&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;nullableLongSettableAttribute&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = toNullableJSNumber(impl.nullableLongSettableAttribute());
</span><span class="lines">@@ -2580,7 +2585,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;nullableStringSettableAttribute&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;nullableStringSettableAttribute&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsStringOrNull(state, impl.nullableStringSettableAttribute());
</span><span class="lines">@@ -2595,7 +2600,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;nullableStringValue&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;nullableStringValue&quot;);
</ins><span class="cx">     }
</span><span class="cx">     ExceptionCode ec = 0;
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="lines">@@ -2612,7 +2617,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;attribute&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;attribute&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsStringWithCache(state, impl.attribute());
</span><span class="lines">@@ -2627,7 +2632,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;attributeWithReservedEnumType&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;attributeWithReservedEnumType&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsStringWithCache(state, impl.attributeWithReservedEnumType());
</span><span class="lines">@@ -2642,7 +2647,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;putForwardsAttribute&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;putForwardsAttribute&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = toJS(state, castedThis-&gt;globalObject(), impl.putForwardsAttribute());
</span><span class="lines">@@ -2657,7 +2662,7 @@
</span><span class="cx">     JSValue decodedThisValue = JSValue::decode(thisValue);
</span><span class="cx">     auto* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(decodedThisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwGetterTypeError(*state, &quot;TestObj&quot;, &quot;putForwardsNullableAttribute&quot;);
</del><ins>+        return throwGetterTypeError(*state, &quot;TestObject&quot;, &quot;putForwardsNullableAttribute&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = toJS(state, castedThis-&gt;globalObject(), impl.putForwardsNullableAttribute());
</span><span class="lines">@@ -2702,7 +2707,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;TestSubObjEnabledBySetting&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;TestSubObjEnabledBySetting&quot;);
</ins><span class="cx">     }
</span><span class="cx">     // Shadowing a built-in constructor.
</span><span class="cx">     return castedThis-&gt;putDirect(state-&gt;vm(), Identifier::fromString(state, &quot;TestSubObjEnabledBySetting&quot;), value);
</span><span class="lines">@@ -2715,7 +2720,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;enumAttr&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;enumAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = parse&lt;TestObj::EnumType&gt;(*state, value);
</span><span class="lines">@@ -2734,7 +2739,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;byteAttr&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;byteAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = convert&lt;int8_t&gt;(*state, value, NormalConversion);
</span><span class="lines">@@ -2751,7 +2756,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;octetAttr&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;octetAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = convert&lt;uint8_t&gt;(*state, value, NormalConversion);
</span><span class="lines">@@ -2768,7 +2773,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;shortAttr&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;shortAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = convert&lt;int16_t&gt;(*state, value, NormalConversion);
</span><span class="lines">@@ -2785,7 +2790,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;clampedShortAttr&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;clampedShortAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = convert&lt;int16_t&gt;(*state, value, Clamp);
</span><span class="lines">@@ -2802,7 +2807,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;enforceRangeShortAttr&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;enforceRangeShortAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = convert&lt;int16_t&gt;(*state, value, EnforceRange);
</span><span class="lines">@@ -2819,7 +2824,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;unsignedShortAttr&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;unsignedShortAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = convert&lt;uint16_t&gt;(*state, value, NormalConversion);
</span><span class="lines">@@ -2836,7 +2841,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;longAttr&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;longAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = convert&lt;int32_t&gt;(*state, value, NormalConversion);
</span><span class="lines">@@ -2853,7 +2858,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;longLongAttr&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;longLongAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = convert&lt;int64_t&gt;(*state, value, NormalConversion);
</span><span class="lines">@@ -2870,7 +2875,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;unsignedLongLongAttr&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;unsignedLongLongAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = convert&lt;uint64_t&gt;(*state, value, NormalConversion);
</span><span class="lines">@@ -2887,7 +2892,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;stringAttr&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;stringAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = value.toWTFString(state);
</span><span class="lines">@@ -2904,12 +2909,12 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;testObjAttr&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;testObjAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = JSTestObj::toWrapped(value);
</span><span class="cx">     if (UNLIKELY(!nativeValue)) {
</span><del>-        throwAttributeTypeError(*state, &quot;TestObj&quot;, &quot;testObjAttr&quot;, &quot;TestObj&quot;);
</del><ins>+        throwAttributeTypeError(*state, &quot;TestObject&quot;, &quot;testObjAttr&quot;, &quot;TestObj&quot;);
</ins><span class="cx">         return false;
</span><span class="cx">     }
</span><span class="cx">     impl.setTestObjAttr(*nativeValue);
</span><span class="lines">@@ -2923,7 +2928,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;testNullableObjAttr&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;testNullableObjAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = JSTestObj::toWrapped(value);
</span><span class="lines">@@ -2943,7 +2948,7 @@
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = JSTestObj::toWrapped(value);
</span><span class="cx">     if (UNLIKELY(!nativeValue)) {
</span><del>-        throwAttributeTypeError(*state, &quot;TestObj&quot;, &quot;lenientTestObjAttr&quot;, &quot;TestObj&quot;);
</del><ins>+        throwAttributeTypeError(*state, &quot;TestObject&quot;, &quot;lenientTestObjAttr&quot;, &quot;TestObj&quot;);
</ins><span class="cx">         return false;
</span><span class="cx">     }
</span><span class="cx">     impl.setLenientTestObjAttr(*nativeValue);
</span><span class="lines">@@ -2957,7 +2962,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;stringAttrTreatingNullAsEmptyString&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;stringAttrTreatingNullAsEmptyString&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = valueToStringTreatingNullAsEmptyString(state, value);
</span><span class="lines">@@ -2974,12 +2979,12 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;XMLObjAttr&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;XMLObjAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = JSTestObj::toWrapped(value);
</span><span class="cx">     if (UNLIKELY(!nativeValue)) {
</span><del>-        throwAttributeTypeError(*state, &quot;TestObj&quot;, &quot;XMLObjAttr&quot;, &quot;TestObj&quot;);
</del><ins>+        throwAttributeTypeError(*state, &quot;TestObject&quot;, &quot;XMLObjAttr&quot;, &quot;TestObj&quot;);
</ins><span class="cx">         return false;
</span><span class="cx">     }
</span><span class="cx">     impl.setXMLObjAttr(*nativeValue);
</span><span class="lines">@@ -2993,7 +2998,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;create&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;create&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = value.toBoolean(state);
</span><span class="lines">@@ -3010,7 +3015,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;reflectedStringAttr&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;reflectedStringAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = value.toWTFString(state);
</span><span class="lines">@@ -3027,7 +3032,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;reflectedIntegralAttr&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;reflectedIntegralAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = convert&lt;int32_t&gt;(*state, value, NormalConversion);
</span><span class="lines">@@ -3044,7 +3049,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;reflectedUnsignedIntegralAttr&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;reflectedUnsignedIntegralAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = convert&lt;uint32_t&gt;(*state, value, NormalConversion);
</span><span class="lines">@@ -3061,7 +3066,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;reflectedBooleanAttr&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;reflectedBooleanAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = value.toBoolean(state);
</span><span class="lines">@@ -3078,7 +3083,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;reflectedURLAttr&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;reflectedURLAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = value.toWTFString(state);
</span><span class="lines">@@ -3095,7 +3100,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;reflectedStringAttr&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;reflectedStringAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = value.toWTFString(state);
</span><span class="lines">@@ -3112,7 +3117,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;reflectedCustomIntegralAttr&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;reflectedCustomIntegralAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = convert&lt;int32_t&gt;(*state, value, NormalConversion);
</span><span class="lines">@@ -3129,7 +3134,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;reflectedCustomBooleanAttr&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;reflectedCustomBooleanAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = value.toBoolean(state);
</span><span class="lines">@@ -3146,7 +3151,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;reflectedCustomURLAttr&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;reflectedCustomURLAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = value.toWTFString(state);
</span><span class="lines">@@ -3164,7 +3169,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;enabledAtRuntimeAttribute&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;enabledAtRuntimeAttribute&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = value.toWTFString(state);
</span><span class="lines">@@ -3182,7 +3187,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;typedArrayAttr&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;typedArrayAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = toFloat32Array(value);
</span><span class="lines">@@ -3189,7 +3194,7 @@
</span><span class="cx">     if (UNLIKELY(state-&gt;hadException()))
</span><span class="cx">         return false;
</span><span class="cx">     if (UNLIKELY(!nativeValue)) {
</span><del>-        throwAttributeTypeError(*state, &quot;TestObj&quot;, &quot;typedArrayAttr&quot;, &quot;Float32Array&quot;);
</del><ins>+        throwAttributeTypeError(*state, &quot;TestObject&quot;, &quot;typedArrayAttr&quot;, &quot;Float32Array&quot;);
</ins><span class="cx">         return false;
</span><span class="cx">     }
</span><span class="cx">     impl.setTypedArrayAttr(nativeValue.get());
</span><span class="lines">@@ -3203,7 +3208,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;attrWithGetterException&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;attrWithGetterException&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = convert&lt;int32_t&gt;(*state, value, NormalConversion);
</span><span class="lines">@@ -3220,7 +3225,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;attrWithGetterExceptionWithMessage&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;attrWithGetterExceptionWithMessage&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = convert&lt;int32_t&gt;(*state, value, NormalConversion);
</span><span class="lines">@@ -3237,7 +3242,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;attrWithSetterException&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;attrWithSetterException&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     ExceptionCode ec = 0;
</span><span class="lines">@@ -3256,7 +3261,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;attrWithSetterExceptionWithMessage&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;attrWithSetterExceptionWithMessage&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     ExceptionCodeWithMessage ec;
</span><span class="lines">@@ -3275,7 +3280,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;stringAttrWithGetterException&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;stringAttrWithGetterException&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = value.toWTFString(state);
</span><span class="lines">@@ -3292,7 +3297,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;stringAttrWithSetterException&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;stringAttrWithSetterException&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     ExceptionCode ec = 0;
</span><span class="lines">@@ -3311,7 +3316,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;strictTypeCheckingAttribute&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;strictTypeCheckingAttribute&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     TestObj* nativeValue = nullptr;
</span><span class="lines">@@ -3318,7 +3323,7 @@
</span><span class="cx">     if (!value.isUndefinedOrNull()) {
</span><span class="cx">         nativeValue = JSTestObj::toWrapped(value);
</span><span class="cx">         if (UNLIKELY(!nativeValue)) {
</span><del>-            throwAttributeTypeError(*state, &quot;TestObj&quot;, &quot;strictTypeCheckingAttribute&quot;, &quot;TestObj&quot;);
</del><ins>+            throwAttributeTypeError(*state, &quot;TestObject&quot;, &quot;strictTypeCheckingAttribute&quot;, &quot;TestObj&quot;);
</ins><span class="cx">             return false;
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="lines">@@ -3333,7 +3338,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;customAttr&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;customAttr&quot;);
</ins><span class="cx">     }
</span><span class="cx">     castedThis-&gt;setCustomAttr(*state, value);
</span><span class="cx">     return true;
</span><span class="lines">@@ -3346,7 +3351,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;onfoo&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;onfoo&quot;);
</ins><span class="cx">     }
</span><span class="cx">     setEventHandlerAttribute(*state, *castedThis, castedThis-&gt;wrapped(), eventNames().fooEvent, value);
</span><span class="cx">     return true;
</span><span class="lines">@@ -3359,7 +3364,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;onwebkitfoo&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;onwebkitfoo&quot;);
</ins><span class="cx">     }
</span><span class="cx">     setEventHandlerAttribute(*state, *castedThis, castedThis-&gt;wrapped(), eventNames().fooEvent, value);
</span><span class="cx">     return true;
</span><span class="lines">@@ -3372,7 +3377,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;withScriptStateAttribute&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;withScriptStateAttribute&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = convert&lt;int32_t&gt;(*state, value, NormalConversion);
</span><span class="lines">@@ -3389,7 +3394,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;withCallWithAndSetterCallWithAttribute&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;withCallWithAndSetterCallWithAttribute&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = convert&lt;int32_t&gt;(*state, value, NormalConversion);
</span><span class="lines">@@ -3406,12 +3411,12 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;withScriptExecutionContextAttribute&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;withScriptExecutionContextAttribute&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = JSTestObj::toWrapped(value);
</span><span class="cx">     if (UNLIKELY(!nativeValue)) {
</span><del>-        throwAttributeTypeError(*state, &quot;TestObj&quot;, &quot;withScriptExecutionContextAttribute&quot;, &quot;TestObj&quot;);
</del><ins>+        throwAttributeTypeError(*state, &quot;TestObject&quot;, &quot;withScriptExecutionContextAttribute&quot;, &quot;TestObj&quot;);
</ins><span class="cx">         return false;
</span><span class="cx">     }
</span><span class="cx">     auto* context = jsCast&lt;JSDOMGlobalObject*&gt;(state-&gt;lexicalGlobalObject())-&gt;scriptExecutionContext();
</span><span class="lines">@@ -3428,12 +3433,12 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;withScriptStateAttributeRaises&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;withScriptStateAttributeRaises&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = JSTestObj::toWrapped(value);
</span><span class="cx">     if (UNLIKELY(!nativeValue)) {
</span><del>-        throwAttributeTypeError(*state, &quot;TestObj&quot;, &quot;withScriptStateAttributeRaises&quot;, &quot;TestObj&quot;);
</del><ins>+        throwAttributeTypeError(*state, &quot;TestObject&quot;, &quot;withScriptStateAttributeRaises&quot;, &quot;TestObj&quot;);
</ins><span class="cx">         return false;
</span><span class="cx">     }
</span><span class="cx">     impl.setWithScriptStateAttributeRaises(*state, *nativeValue);
</span><span class="lines">@@ -3447,12 +3452,12 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;withScriptExecutionContextAttributeRaises&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;withScriptExecutionContextAttributeRaises&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = JSTestObj::toWrapped(value);
</span><span class="cx">     if (UNLIKELY(!nativeValue)) {
</span><del>-        throwAttributeTypeError(*state, &quot;TestObj&quot;, &quot;withScriptExecutionContextAttributeRaises&quot;, &quot;TestObj&quot;);
</del><ins>+        throwAttributeTypeError(*state, &quot;TestObject&quot;, &quot;withScriptExecutionContextAttributeRaises&quot;, &quot;TestObj&quot;);
</ins><span class="cx">         return false;
</span><span class="cx">     }
</span><span class="cx">     auto* context = jsCast&lt;JSDOMGlobalObject*&gt;(state-&gt;lexicalGlobalObject())-&gt;scriptExecutionContext();
</span><span class="lines">@@ -3469,12 +3474,12 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;withScriptExecutionContextAndScriptStateAttribute&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;withScriptExecutionContextAndScriptStateAttribute&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = JSTestObj::toWrapped(value);
</span><span class="cx">     if (UNLIKELY(!nativeValue)) {
</span><del>-        throwAttributeTypeError(*state, &quot;TestObj&quot;, &quot;withScriptExecutionContextAndScriptStateAttribute&quot;, &quot;TestObj&quot;);
</del><ins>+        throwAttributeTypeError(*state, &quot;TestObject&quot;, &quot;withScriptExecutionContextAndScriptStateAttribute&quot;, &quot;TestObj&quot;);
</ins><span class="cx">         return false;
</span><span class="cx">     }
</span><span class="cx">     auto* context = jsCast&lt;JSDOMGlobalObject*&gt;(state-&gt;lexicalGlobalObject())-&gt;scriptExecutionContext();
</span><span class="lines">@@ -3491,12 +3496,12 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;withScriptExecutionContextAndScriptStateAttributeRaises&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;withScriptExecutionContextAndScriptStateAttributeRaises&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = JSTestObj::toWrapped(value);
</span><span class="cx">     if (UNLIKELY(!nativeValue)) {
</span><del>-        throwAttributeTypeError(*state, &quot;TestObj&quot;, &quot;withScriptExecutionContextAndScriptStateAttributeRaises&quot;, &quot;TestObj&quot;);
</del><ins>+        throwAttributeTypeError(*state, &quot;TestObject&quot;, &quot;withScriptExecutionContextAndScriptStateAttributeRaises&quot;, &quot;TestObj&quot;);
</ins><span class="cx">         return false;
</span><span class="cx">     }
</span><span class="cx">     auto* context = jsCast&lt;JSDOMGlobalObject*&gt;(state-&gt;lexicalGlobalObject())-&gt;scriptExecutionContext();
</span><span class="lines">@@ -3513,12 +3518,12 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;withScriptExecutionContextAndScriptStateWithSpacesAttribute&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;withScriptExecutionContextAndScriptStateWithSpacesAttribute&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = JSTestObj::toWrapped(value);
</span><span class="cx">     if (UNLIKELY(!nativeValue)) {
</span><del>-        throwAttributeTypeError(*state, &quot;TestObj&quot;, &quot;withScriptExecutionContextAndScriptStateWithSpacesAttribute&quot;, &quot;TestObj&quot;);
</del><ins>+        throwAttributeTypeError(*state, &quot;TestObject&quot;, &quot;withScriptExecutionContextAndScriptStateWithSpacesAttribute&quot;, &quot;TestObj&quot;);
</ins><span class="cx">         return false;
</span><span class="cx">     }
</span><span class="cx">     auto* context = jsCast&lt;JSDOMGlobalObject*&gt;(state-&gt;lexicalGlobalObject())-&gt;scriptExecutionContext();
</span><span class="lines">@@ -3535,12 +3540,12 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;withScriptArgumentsAndCallStackAttribute&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;withScriptArgumentsAndCallStackAttribute&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = JSTestObj::toWrapped(value);
</span><span class="cx">     if (UNLIKELY(!nativeValue)) {
</span><del>-        throwAttributeTypeError(*state, &quot;TestObj&quot;, &quot;withScriptArgumentsAndCallStackAttribute&quot;, &quot;TestObj&quot;);
</del><ins>+        throwAttributeTypeError(*state, &quot;TestObject&quot;, &quot;withScriptArgumentsAndCallStackAttribute&quot;, &quot;TestObj&quot;);
</ins><span class="cx">         return false;
</span><span class="cx">     }
</span><span class="cx">     impl.setWithScriptArgumentsAndCallStackAttribute(*nativeValue);
</span><span class="lines">@@ -3555,7 +3560,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;conditionalAttr1&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;conditionalAttr1&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = convert&lt;int32_t&gt;(*state, value, NormalConversion);
</span><span class="lines">@@ -3574,7 +3579,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;conditionalAttr2&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;conditionalAttr2&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = convert&lt;int32_t&gt;(*state, value, NormalConversion);
</span><span class="lines">@@ -3593,7 +3598,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;conditionalAttr3&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;conditionalAttr3&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = convert&lt;int32_t&gt;(*state, value, NormalConversion);
</span><span class="lines">@@ -3612,7 +3617,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;conditionalAttr4&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;conditionalAttr4&quot;);
</ins><span class="cx">     }
</span><span class="cx">     // Shadowing a built-in constructor.
</span><span class="cx">     return castedThis-&gt;putDirect(state-&gt;vm(), Identifier::fromString(state, &quot;conditionalAttr4&quot;), value);
</span><span class="lines">@@ -3627,7 +3632,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;conditionalAttr5&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;conditionalAttr5&quot;);
</ins><span class="cx">     }
</span><span class="cx">     // Shadowing a built-in constructor.
</span><span class="cx">     return castedThis-&gt;putDirect(state-&gt;vm(), Identifier::fromString(state, &quot;conditionalAttr5&quot;), value);
</span><span class="lines">@@ -3642,7 +3647,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;conditionalAttr6&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;conditionalAttr6&quot;);
</ins><span class="cx">     }
</span><span class="cx">     // Shadowing a built-in constructor.
</span><span class="cx">     return castedThis-&gt;putDirect(state-&gt;vm(), Identifier::fromString(state, &quot;conditionalAttr6&quot;), value);
</span><span class="lines">@@ -3656,7 +3661,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;anyAttribute&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;anyAttribute&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = value;
</span><span class="lines">@@ -3671,7 +3676,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;mutablePoint&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;mutablePoint&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = JSSVGPoint::toWrapped(value);
</span><span class="lines">@@ -3686,7 +3691,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;immutablePoint&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;immutablePoint&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = JSSVGPoint::toWrapped(value);
</span><span class="lines">@@ -3701,7 +3706,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;strawberry&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;strawberry&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = convert&lt;int32_t&gt;(*state, value, NormalConversion);
</span><span class="lines">@@ -3718,7 +3723,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;strictFloat&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;strictFloat&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = convert&lt;float&gt;(*state, value, ShouldAllowNonFinite::Yes);
</span><span class="lines">@@ -3735,7 +3740,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;id&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;id&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = convert&lt;int32_t&gt;(*state, value, NormalConversion);
</span><span class="lines">@@ -3752,7 +3757,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;replaceableAttribute&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;replaceableAttribute&quot;);
</ins><span class="cx">     }
</span><span class="cx">     // Shadowing a built-in property.
</span><span class="cx">     return castedThis-&gt;putDirect(state-&gt;vm(), Identifier::fromString(state, &quot;replaceableAttribute&quot;), value);
</span><span class="lines">@@ -3765,7 +3770,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;nullableLongSettableAttribute&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;nullableLongSettableAttribute&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = convert&lt;int32_t&gt;(*state, value, NormalConversion);
</span><span class="lines">@@ -3782,7 +3787,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;nullableStringSettableAttribute&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;nullableStringSettableAttribute&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = valueToStringWithUndefinedOrNullCheck(state, value);
</span><span class="lines">@@ -3799,7 +3804,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;nullableStringValue&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;nullableStringValue&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = convert&lt;int32_t&gt;(*state, value, NormalConversion);
</span><span class="lines">@@ -3816,7 +3821,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;attributeWithReservedEnumType&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;attributeWithReservedEnumType&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto nativeValue = parse&lt;TestObj::Optional&gt;(*state, value);
</span><span class="lines">@@ -3835,7 +3840,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;putForwardsAttribute&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;putForwardsAttribute&quot;);
</ins><span class="cx">     }
</span><span class="cx">     Ref&lt;TestNode&gt; forwardedImpl = castedThis-&gt;wrapped().putForwardsAttribute();
</span><span class="cx">     auto&amp; impl = forwardedImpl.get();
</span><span class="lines">@@ -3853,7 +3858,7 @@
</span><span class="cx">     UNUSED_PARAM(thisValue);
</span><span class="cx">     JSTestObj* castedThis = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (UNLIKELY(!castedThis)) {
</span><del>-        return throwSetterTypeError(*state, &quot;TestObj&quot;, &quot;putForwardsNullableAttribute&quot;);
</del><ins>+        return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;putForwardsNullableAttribute&quot;);
</ins><span class="cx">     }
</span><span class="cx">     RefPtr&lt;TestNode&gt; forwardedImpl = castedThis-&gt;wrapped().putForwardsNullableAttribute();
</span><span class="cx">     if (!forwardedImpl)
</span><span class="lines">@@ -3887,7 +3892,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;enabledAtRuntimeOperation&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;enabledAtRuntimeOperation&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="lines">@@ -3907,7 +3912,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;enabledAtRuntimeOperation&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;enabledAtRuntimeOperation&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="lines">@@ -3944,7 +3949,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;voidMethod&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;voidMethod&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     impl.voidMethod();
</span><span class="lines">@@ -3956,7 +3961,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;voidMethodWithArgs&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;voidMethodWithArgs&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 3))
</span><span class="lines">@@ -3969,7 +3974,7 @@
</span><span class="cx">         return JSValue::encode(jsUndefined());
</span><span class="cx">     auto objArg = JSTestObj::toWrapped(state-&gt;argument(2));
</span><span class="cx">     if (UNLIKELY(!objArg))
</span><del>-        return throwArgumentTypeError(*state, 2, &quot;objArg&quot;, &quot;TestObj&quot;, &quot;voidMethodWithArgs&quot;, &quot;TestObj&quot;);
</del><ins>+        return throwArgumentTypeError(*state, 2, &quot;objArg&quot;, &quot;TestObject&quot;, &quot;voidMethodWithArgs&quot;, &quot;TestObj&quot;);
</ins><span class="cx">     impl.voidMethodWithArgs(WTFMove(longArg), WTFMove(strArg), *objArg);
</span><span class="cx">     return JSValue::encode(jsUndefined());
</span><span class="cx"> }
</span><span class="lines">@@ -3979,7 +3984,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;byteMethod&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;byteMethod&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsNumber(impl.byteMethod());
</span><span class="lines">@@ -3991,7 +3996,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;byteMethodWithArgs&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;byteMethodWithArgs&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 3))
</span><span class="lines">@@ -4004,7 +4009,7 @@
</span><span class="cx">         return JSValue::encode(jsUndefined());
</span><span class="cx">     auto objArg = JSTestObj::toWrapped(state-&gt;argument(2));
</span><span class="cx">     if (UNLIKELY(!objArg))
</span><del>-        return throwArgumentTypeError(*state, 2, &quot;objArg&quot;, &quot;TestObj&quot;, &quot;byteMethodWithArgs&quot;, &quot;TestObj&quot;);
</del><ins>+        return throwArgumentTypeError(*state, 2, &quot;objArg&quot;, &quot;TestObject&quot;, &quot;byteMethodWithArgs&quot;, &quot;TestObj&quot;);
</ins><span class="cx">     JSValue result = jsNumber(impl.byteMethodWithArgs(WTFMove(byteArg), WTFMove(strArg), *objArg));
</span><span class="cx">     return JSValue::encode(result);
</span><span class="cx"> }
</span><span class="lines">@@ -4014,7 +4019,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;octetMethod&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;octetMethod&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsNumber(impl.octetMethod());
</span><span class="lines">@@ -4026,7 +4031,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;octetMethodWithArgs&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;octetMethodWithArgs&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 3))
</span><span class="lines">@@ -4039,7 +4044,7 @@
</span><span class="cx">         return JSValue::encode(jsUndefined());
</span><span class="cx">     auto objArg = JSTestObj::toWrapped(state-&gt;argument(2));
</span><span class="cx">     if (UNLIKELY(!objArg))
</span><del>-        return throwArgumentTypeError(*state, 2, &quot;objArg&quot;, &quot;TestObj&quot;, &quot;octetMethodWithArgs&quot;, &quot;TestObj&quot;);
</del><ins>+        return throwArgumentTypeError(*state, 2, &quot;objArg&quot;, &quot;TestObject&quot;, &quot;octetMethodWithArgs&quot;, &quot;TestObj&quot;);
</ins><span class="cx">     JSValue result = jsNumber(impl.octetMethodWithArgs(WTFMove(octetArg), WTFMove(strArg), *objArg));
</span><span class="cx">     return JSValue::encode(result);
</span><span class="cx"> }
</span><span class="lines">@@ -4049,7 +4054,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;longMethod&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;longMethod&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsNumber(impl.longMethod());
</span><span class="lines">@@ -4061,7 +4066,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;longMethodWithArgs&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;longMethodWithArgs&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 3))
</span><span class="lines">@@ -4074,7 +4079,7 @@
</span><span class="cx">         return JSValue::encode(jsUndefined());
</span><span class="cx">     auto objArg = JSTestObj::toWrapped(state-&gt;argument(2));
</span><span class="cx">     if (UNLIKELY(!objArg))
</span><del>-        return throwArgumentTypeError(*state, 2, &quot;objArg&quot;, &quot;TestObj&quot;, &quot;longMethodWithArgs&quot;, &quot;TestObj&quot;);
</del><ins>+        return throwArgumentTypeError(*state, 2, &quot;objArg&quot;, &quot;TestObject&quot;, &quot;longMethodWithArgs&quot;, &quot;TestObj&quot;);
</ins><span class="cx">     JSValue result = jsNumber(impl.longMethodWithArgs(WTFMove(longArg), WTFMove(strArg), *objArg));
</span><span class="cx">     return JSValue::encode(result);
</span><span class="cx"> }
</span><span class="lines">@@ -4084,7 +4089,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;objMethod&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;objMethod&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = toJS(state, castedThis-&gt;globalObject(), impl.objMethod());
</span><span class="lines">@@ -4096,7 +4101,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;objMethodWithArgs&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;objMethodWithArgs&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 3))
</span><span class="lines">@@ -4109,7 +4114,7 @@
</span><span class="cx">         return JSValue::encode(jsUndefined());
</span><span class="cx">     auto objArg = JSTestObj::toWrapped(state-&gt;argument(2));
</span><span class="cx">     if (UNLIKELY(!objArg))
</span><del>-        return throwArgumentTypeError(*state, 2, &quot;objArg&quot;, &quot;TestObj&quot;, &quot;objMethodWithArgs&quot;, &quot;TestObj&quot;);
</del><ins>+        return throwArgumentTypeError(*state, 2, &quot;objArg&quot;, &quot;TestObject&quot;, &quot;objMethodWithArgs&quot;, &quot;TestObj&quot;);
</ins><span class="cx">     JSValue result = toJS(state, castedThis-&gt;globalObject(), impl.objMethodWithArgs(WTFMove(longArg), WTFMove(strArg), *objArg));
</span><span class="cx">     return JSValue::encode(result);
</span><span class="cx"> }
</span><span class="lines">@@ -4119,7 +4124,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;unforgeableMethod&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;unforgeableMethod&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsNumber(impl.unforgeableMethod());
</span><span class="lines">@@ -4131,7 +4136,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodWithArgTreatingNullAsEmptyString&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithArgTreatingNullAsEmptyString&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="lines">@@ -4148,7 +4153,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodWithXPathNSResolverParameter&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithXPathNSResolverParameter&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="lines">@@ -4157,7 +4162,7 @@
</span><span class="cx">     if (UNLIKELY(state-&gt;hadException()))
</span><span class="cx">         return JSValue::encode(jsUndefined());
</span><span class="cx">     if (UNLIKELY(!resolver))
</span><del>-        return throwArgumentTypeError(*state, 0, &quot;resolver&quot;, &quot;TestObj&quot;, &quot;methodWithXPathNSResolverParameter&quot;, &quot;XPathNSResolver&quot;);
</del><ins>+        return throwArgumentTypeError(*state, 0, &quot;resolver&quot;, &quot;TestObject&quot;, &quot;methodWithXPathNSResolverParameter&quot;, &quot;XPathNSResolver&quot;);
</ins><span class="cx">     impl.methodWithXPathNSResolverParameter(*resolver);
</span><span class="cx">     return JSValue::encode(jsUndefined());
</span><span class="cx"> }
</span><span class="lines">@@ -4167,7 +4172,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;nullableStringMethod&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;nullableStringMethod&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsStringOrNull(state, impl.nullableStringMethod());
</span><span class="lines">@@ -4185,7 +4190,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;nullableStringSpecialMethod&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;nullableStringSpecialMethod&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="lines">@@ -4202,7 +4207,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodWithEnumArg&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithEnumArg&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="lines">@@ -4213,7 +4218,7 @@
</span><span class="cx">     if (UNLIKELY(state-&gt;hadException()))
</span><span class="cx">         return JSValue::encode(jsUndefined());
</span><span class="cx">     if (UNLIKELY(!optionalValue))
</span><del>-        return throwArgumentMustBeEnumError(*state, 0, &quot;enumArg&quot;, &quot;TestObj&quot;, &quot;methodWithEnumArg&quot;, expectedEnumerationValues&lt;TestObj::EnumType&gt;());
</del><ins>+        return throwArgumentMustBeEnumError(*state, 0, &quot;enumArg&quot;, &quot;TestObject&quot;, &quot;methodWithEnumArg&quot;, expectedEnumerationValues&lt;TestObj::EnumType&gt;());
</ins><span class="cx">     enumArg = optionalValue.value();
</span><span class="cx">     impl.methodWithEnumArg(enumArg);
</span><span class="cx">     return JSValue::encode(jsUndefined());
</span><span class="lines">@@ -4224,7 +4229,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodWithOptionalEnumArg&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithOptionalEnumArg&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto enumArgValue = state-&gt;argument(0);
</span><span class="lines">@@ -4234,7 +4239,7 @@
</span><span class="cx">         if (UNLIKELY(state-&gt;hadException()))
</span><span class="cx">             return JSValue::encode(jsUndefined());
</span><span class="cx">         if (UNLIKELY(!enumArg))
</span><del>-            return throwArgumentMustBeEnumError(*state, 0, &quot;enumArg&quot;, &quot;TestObj&quot;, &quot;methodWithOptionalEnumArg&quot;, expectedEnumerationValues&lt;TestObj::EnumType&gt;());
</del><ins>+            return throwArgumentMustBeEnumError(*state, 0, &quot;enumArg&quot;, &quot;TestObject&quot;, &quot;methodWithOptionalEnumArg&quot;, expectedEnumerationValues&lt;TestObj::EnumType&gt;());
</ins><span class="cx">     }
</span><span class="cx">     impl.methodWithOptionalEnumArg(enumArg);
</span><span class="cx">     return JSValue::encode(jsUndefined());
</span><span class="lines">@@ -4245,7 +4250,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodWithOptionalEnumArgAndDefaultValue&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithOptionalEnumArgAndDefaultValue&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto enumArgValue = state-&gt;argument(0);
</span><span class="lines">@@ -4257,7 +4262,7 @@
</span><span class="cx">         if (UNLIKELY(state-&gt;hadException()))
</span><span class="cx">             return JSValue::encode(jsUndefined());
</span><span class="cx">         if (UNLIKELY(!optionalValue))
</span><del>-            return throwArgumentMustBeEnumError(*state, 0, &quot;enumArg&quot;, &quot;TestObj&quot;, &quot;methodWithOptionalEnumArgAndDefaultValue&quot;, expectedEnumerationValues&lt;TestObj::EnumType&gt;());
</del><ins>+            return throwArgumentMustBeEnumError(*state, 0, &quot;enumArg&quot;, &quot;TestObject&quot;, &quot;methodWithOptionalEnumArgAndDefaultValue&quot;, expectedEnumerationValues&lt;TestObj::EnumType&gt;());
</ins><span class="cx">         enumArg = optionalValue.value();
</span><span class="cx">     }
</span><span class="cx">     impl.methodWithOptionalEnumArgAndDefaultValue(enumArg);
</span><span class="lines">@@ -4269,7 +4274,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodThatRequiresAllArgsAndThrows&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodThatRequiresAllArgsAndThrows&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 2))
</span><span class="lines">@@ -4280,7 +4285,7 @@
</span><span class="cx">         return JSValue::encode(jsUndefined());
</span><span class="cx">     auto objArg = JSTestObj::toWrapped(state-&gt;argument(1));
</span><span class="cx">     if (UNLIKELY(!objArg))
</span><del>-        return throwArgumentTypeError(*state, 1, &quot;objArg&quot;, &quot;TestObj&quot;, &quot;methodThatRequiresAllArgsAndThrows&quot;, &quot;TestObj&quot;);
</del><ins>+        return throwArgumentTypeError(*state, 1, &quot;objArg&quot;, &quot;TestObject&quot;, &quot;methodThatRequiresAllArgsAndThrows&quot;, &quot;TestObj&quot;);
</ins><span class="cx">     JSValue result = toJS(state, castedThis-&gt;globalObject(), impl.methodThatRequiresAllArgsAndThrows(WTFMove(strArg), *objArg, ec));
</span><span class="cx"> 
</span><span class="cx">     setDOMException(state, ec);
</span><span class="lines">@@ -4292,7 +4297,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;serializedValue&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;serializedValue&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="lines">@@ -4309,7 +4314,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;optionsObject&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;optionsObject&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="lines">@@ -4325,7 +4330,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodWithException&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithException&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     ExceptionCode ec = 0;
</span><span class="lines">@@ -4339,7 +4344,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodWithExceptionWithMessage&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithExceptionWithMessage&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     ExceptionCodeWithMessage ec;
</span><span class="lines">@@ -4353,7 +4358,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;customMethod&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;customMethod&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     return JSValue::encode(castedThis-&gt;customMethod(*state));
</span><span class="cx"> }
</span><span class="lines">@@ -4363,7 +4368,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;customMethodWithArgs&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;customMethodWithArgs&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     return JSValue::encode(castedThis-&gt;customMethodWithArgs(*state));
</span><span class="cx"> }
</span><span class="lines">@@ -4373,7 +4378,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;privateMethod&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;privateMethod&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="lines">@@ -4390,7 +4395,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;publicAndPrivateMethod&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;publicAndPrivateMethod&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="lines">@@ -4407,7 +4412,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;addEventListener&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;addEventListener&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 2))
</span><span class="lines">@@ -4417,7 +4422,7 @@
</span><span class="cx">         return JSValue::encode(jsUndefined());
</span><span class="cx">     auto listener = JSEventListener::create(state-&gt;argument(1), *castedThis, false, currentWorld(state));
</span><span class="cx">     if (UNLIKELY(!listener))
</span><del>-        return throwArgumentTypeError(*state, 1, &quot;listener&quot;, &quot;TestObj&quot;, &quot;addEventListener&quot;, &quot;EventListener&quot;);
</del><ins>+        return throwArgumentTypeError(*state, 1, &quot;listener&quot;, &quot;TestObject&quot;, &quot;addEventListener&quot;, &quot;EventListener&quot;);
</ins><span class="cx">     auto useCapture = state-&gt;argument(2).toBoolean(state);
</span><span class="cx">     if (UNLIKELY(state-&gt;hadException()))
</span><span class="cx">         return JSValue::encode(jsUndefined());
</span><span class="lines">@@ -4430,7 +4435,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;removeEventListener&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;removeEventListener&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 2))
</span><span class="lines">@@ -4440,7 +4445,7 @@
</span><span class="cx">         return JSValue::encode(jsUndefined());
</span><span class="cx">     auto listener = JSEventListener::create(state-&gt;argument(1), *castedThis, false, currentWorld(state));
</span><span class="cx">     if (UNLIKELY(!listener))
</span><del>-        return throwArgumentTypeError(*state, 1, &quot;listener&quot;, &quot;TestObj&quot;, &quot;removeEventListener&quot;, &quot;EventListener&quot;);
</del><ins>+        return throwArgumentTypeError(*state, 1, &quot;listener&quot;, &quot;TestObject&quot;, &quot;removeEventListener&quot;, &quot;EventListener&quot;);
</ins><span class="cx">     auto useCapture = state-&gt;argument(2).toBoolean(state);
</span><span class="cx">     if (UNLIKELY(state-&gt;hadException()))
</span><span class="cx">         return JSValue::encode(jsUndefined());
</span><span class="lines">@@ -4453,7 +4458,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;withScriptStateVoid&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;withScriptStateVoid&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     impl.withScriptStateVoid(*state);
</span><span class="lines">@@ -4465,7 +4470,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;withScriptStateObj&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;withScriptStateObj&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = toJS(state, castedThis-&gt;globalObject(), impl.withScriptStateObj(*state));
</span><span class="lines">@@ -4479,7 +4484,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;withScriptStateVoidException&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;withScriptStateVoidException&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     ExceptionCode ec = 0;
</span><span class="lines">@@ -4493,7 +4498,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;withScriptStateObjException&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;withScriptStateObjException&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     ExceptionCode ec = 0;
</span><span class="lines">@@ -4510,7 +4515,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;withScriptExecutionContext&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;withScriptExecutionContext&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto* context = jsCast&lt;JSDOMGlobalObject*&gt;(state-&gt;lexicalGlobalObject())-&gt;scriptExecutionContext();
</span><span class="lines">@@ -4525,7 +4530,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;withScriptExecutionContextAndScriptState&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;withScriptExecutionContextAndScriptState&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto* context = jsCast&lt;JSDOMGlobalObject*&gt;(state-&gt;lexicalGlobalObject())-&gt;scriptExecutionContext();
</span><span class="lines">@@ -4540,7 +4545,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;withScriptExecutionContextAndScriptStateObjException&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;withScriptExecutionContextAndScriptStateObjException&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     ExceptionCode ec = 0;
</span><span class="lines">@@ -4560,7 +4565,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;withScriptExecutionContextAndScriptStateWithSpaces&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;withScriptExecutionContextAndScriptStateWithSpaces&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto* context = jsCast&lt;JSDOMGlobalObject*&gt;(state-&gt;lexicalGlobalObject())-&gt;scriptExecutionContext();
</span><span class="lines">@@ -4577,7 +4582,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;withScriptArgumentsAndCallStack&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;withScriptArgumentsAndCallStack&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     RefPtr&lt;Inspector::ScriptArguments&gt; scriptArguments(Inspector::createScriptArguments(state, 0));
</span><span class="lines">@@ -4590,7 +4595,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;withDocumentArgument&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;withDocumentArgument&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto* context = jsCast&lt;JSDOMGlobalObject*&gt;(state-&gt;lexicalGlobalObject())-&gt;scriptExecutionContext();
</span><span class="lines">@@ -4607,7 +4612,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;withCallerDocumentArgument&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;withCallerDocumentArgument&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto* document = callerDOMWindow(state).document();
</span><span class="lines">@@ -4622,7 +4627,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;withCallerWindowArgument&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;withCallerWindowArgument&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     impl.withCallerWindowArgument(callerDOMWindow(state));
</span><span class="lines">@@ -4634,7 +4639,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodWithOptionalArg&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithOptionalArg&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto opt = state-&gt;argument(0).isUndefined() ? Optional&lt;int32_t&gt;() : convert&lt;int32_t&gt;(*state, state-&gt;uncheckedArgument(0), NormalConversion);
</span><span class="lines">@@ -4649,7 +4654,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodWithOptionalArgAndDefaultValue&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithOptionalArgAndDefaultValue&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto opt = state-&gt;argument(0).isUndefined() ? 666 : convert&lt;int32_t&gt;(*state, state-&gt;uncheckedArgument(0), NormalConversion);
</span><span class="lines">@@ -4664,7 +4669,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodWithNonOptionalArgAndOptionalArg&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithNonOptionalArgAndOptionalArg&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="lines">@@ -4684,7 +4689,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodWithNonOptionalArgAndTwoOptionalArgs&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithNonOptionalArgAndTwoOptionalArgs&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="lines">@@ -4707,7 +4712,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodWithOptionalString&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithOptionalString&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto str = state-&gt;argument(0).isUndefined() ? String() : state-&gt;uncheckedArgument(0).toWTFString(state);
</span><span class="lines">@@ -4722,7 +4727,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodWithOptionalAtomicString&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithOptionalAtomicString&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto str = state-&gt;argument(0).isUndefined() ? nullAtom : state-&gt;uncheckedArgument(0).toString(state)-&gt;toAtomicString(state);
</span><span class="lines">@@ -4737,7 +4742,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodWithOptionalStringAndDefaultValue&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithOptionalStringAndDefaultValue&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto str = state-&gt;argument(0).isUndefined() ? ASCIILiteral(&quot;foo&quot;) : state-&gt;uncheckedArgument(0).toWTFString(state);
</span><span class="lines">@@ -4752,7 +4757,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodWithOptionalAtomicStringAndDefaultValue&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithOptionalAtomicStringAndDefaultValue&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto str = state-&gt;argument(0).isUndefined() ? AtomicString(&quot;foo&quot;, AtomicString::ConstructFromLiteral) : state-&gt;uncheckedArgument(0).toString(state)-&gt;toAtomicString(state);
</span><span class="lines">@@ -4767,7 +4772,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodWithOptionalStringIsNull&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithOptionalStringIsNull&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto str = state-&gt;argument(0).isUndefined() ? String() : state-&gt;uncheckedArgument(0).toWTFString(state);
</span><span class="lines">@@ -4782,7 +4787,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodWithOptionalStringIsUndefined&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithOptionalStringIsUndefined&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto str = state-&gt;argument(0).toWTFString(state);
</span><span class="lines">@@ -4797,7 +4802,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodWithOptionalAtomicStringIsNull&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithOptionalAtomicStringIsNull&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto str = state-&gt;argument(0).isUndefined() ? nullAtom : state-&gt;uncheckedArgument(0).toString(state)-&gt;toAtomicString(state);
</span><span class="lines">@@ -4812,7 +4817,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodWithOptionalStringIsEmptyString&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithOptionalStringIsEmptyString&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto str = state-&gt;argument(0).isUndefined() ? emptyString() : state-&gt;uncheckedArgument(0).toWTFString(state);
</span><span class="lines">@@ -4827,7 +4832,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodWithOptionalAtomicStringIsEmptyString&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithOptionalAtomicStringIsEmptyString&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto str = state-&gt;argument(0).isUndefined() ? emptyAtom : state-&gt;uncheckedArgument(0).toString(state)-&gt;toAtomicString(state);
</span><span class="lines">@@ -4842,7 +4847,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodWithOptionalDoubleIsNaN&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithOptionalDoubleIsNaN&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto number = convert&lt;double&gt;(*state, state-&gt;argument(0), ShouldAllowNonFinite::Yes);
</span><span class="lines">@@ -4857,7 +4862,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodWithOptionalFloatIsNaN&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithOptionalFloatIsNaN&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto number = convert&lt;float&gt;(*state, state-&gt;argument(0), ShouldAllowNonFinite::Yes);
</span><span class="lines">@@ -4872,7 +4877,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodWithOptionalSequence&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithOptionalSequence&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto sequence = toNativeArray&lt;String&gt;(*state, state-&gt;argument(0));
</span><span class="lines">@@ -4887,7 +4892,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodWithOptionalLongLong&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithOptionalLongLong&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto number = state-&gt;argument(0).isUndefined() ? Optional&lt;int64_t&gt;() : convert&lt;int64_t&gt;(*state, state-&gt;uncheckedArgument(0), NormalConversion);
</span><span class="lines">@@ -4902,7 +4907,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodWithOptionalLongLongIsZero&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithOptionalLongLongIsZero&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto number = convert&lt;int64_t&gt;(*state, state-&gt;argument(0), NormalConversion);
</span><span class="lines">@@ -4917,7 +4922,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodWithOptionalUnsignedLongLong&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithOptionalUnsignedLongLong&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto number = state-&gt;argument(0).isUndefined() ? Optional&lt;uint64_t&gt;() : convert&lt;uint64_t&gt;(*state, state-&gt;uncheckedArgument(0), NormalConversion);
</span><span class="lines">@@ -4932,7 +4937,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodWithOptionalUnsignedLongLongIsZero&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithOptionalUnsignedLongLongIsZero&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto number = convert&lt;uint64_t&gt;(*state, state-&gt;argument(0), NormalConversion);
</span><span class="lines">@@ -4947,7 +4952,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodWithOptionalArray&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithOptionalArray&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto array = state-&gt;argument(0).isUndefined() ? Optional&lt;Vector&lt;String&gt;&gt;() : toNativeArray&lt;String&gt;(*state, state-&gt;uncheckedArgument(0));
</span><span class="lines">@@ -4962,7 +4967,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodWithOptionalArrayIsEmpty&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithOptionalArrayIsEmpty&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto array = toNativeArray&lt;String&gt;(*state, state-&gt;argument(0));
</span><span class="lines">@@ -4977,7 +4982,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodWithOptionalBoolean&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithOptionalBoolean&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto b = state-&gt;argument(0).isUndefined() ? Optional&lt;bool&gt;() : state-&gt;uncheckedArgument(0).toBoolean(state);
</span><span class="lines">@@ -4992,7 +4997,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodWithOptionalBooleanIsFalse&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithOptionalBooleanIsFalse&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto b = state-&gt;argument(0).toBoolean(state);
</span><span class="lines">@@ -5007,7 +5012,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodWithOptionalAny&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithOptionalAny&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto a = state-&gt;argument(0);
</span><span class="lines">@@ -5020,7 +5025,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodWithOptionalNullableWrapper&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithOptionalNullableWrapper&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto obj = JSTestObj::toWrapped(state-&gt;argument(0));
</span><span class="lines">@@ -5033,7 +5038,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodWithOptionalNullableWrapperIsNull&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithOptionalNullableWrapperIsNull&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto obj = JSTestObj::toWrapped(state-&gt;argument(0));
</span><span class="lines">@@ -5046,7 +5051,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodWithOptionalXPathNSResolver&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithOptionalXPathNSResolver&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto resolver = JSXPathNSResolver::toWrapped(*state, state-&gt;argument(0));
</span><span class="lines">@@ -5061,13 +5066,13 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodWithCallbackArg&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithCallbackArg&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="cx">         return throwVMError(state, createNotEnoughArgumentsError(state));
</span><span class="cx">     if (UNLIKELY(!state-&gt;argument(0).isObject()))
</span><del>-        return throwArgumentMustBeFunctionError(*state, 0, &quot;callback&quot;, &quot;TestObj&quot;, &quot;methodWithCallbackArg&quot;);
</del><ins>+        return throwArgumentMustBeFunctionError(*state, 0, &quot;callback&quot;, &quot;TestObject&quot;, &quot;methodWithCallbackArg&quot;);
</ins><span class="cx">     auto callback = JSTestCallback::create(asObject(state-&gt;uncheckedArgument(0)), castedThis-&gt;globalObject());
</span><span class="cx">     impl.methodWithCallbackArg(WTFMove(callback));
</span><span class="cx">     return JSValue::encode(jsUndefined());
</span><span class="lines">@@ -5078,7 +5083,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodWithNonCallbackArgAndCallbackArg&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithNonCallbackArgAndCallbackArg&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 2))
</span><span class="lines">@@ -5087,7 +5092,7 @@
</span><span class="cx">     if (UNLIKELY(state-&gt;hadException()))
</span><span class="cx">         return JSValue::encode(jsUndefined());
</span><span class="cx">     if (UNLIKELY(!state-&gt;argument(1).isObject()))
</span><del>-        return throwArgumentMustBeFunctionError(*state, 1, &quot;callback&quot;, &quot;TestObj&quot;, &quot;methodWithNonCallbackArgAndCallbackArg&quot;);
</del><ins>+        return throwArgumentMustBeFunctionError(*state, 1, &quot;callback&quot;, &quot;TestObject&quot;, &quot;methodWithNonCallbackArgAndCallbackArg&quot;);
</ins><span class="cx">     auto callback = JSTestCallback::create(asObject(state-&gt;uncheckedArgument(1)), castedThis-&gt;globalObject());
</span><span class="cx">     impl.methodWithNonCallbackArgAndCallbackArg(WTFMove(nonCallback), WTFMove(callback));
</span><span class="cx">     return JSValue::encode(jsUndefined());
</span><span class="lines">@@ -5098,13 +5103,13 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodWithCallbackAndOptionalArg&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithCallbackAndOptionalArg&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     RefPtr&lt;TestCallback&gt; callback;
</span><span class="cx">     if (!state-&gt;argument(0).isUndefinedOrNull()) {
</span><span class="cx">         if (!state-&gt;uncheckedArgument(0).isObject())
</span><del>-            return throwArgumentMustBeFunctionError(*state, 0, &quot;callback&quot;, &quot;TestObj&quot;, &quot;methodWithCallbackAndOptionalArg&quot;);
</del><ins>+            return throwArgumentMustBeFunctionError(*state, 0, &quot;callback&quot;, &quot;TestObject&quot;, &quot;methodWithCallbackAndOptionalArg&quot;);
</ins><span class="cx">         callback = JSTestCallback::create(asObject(state-&gt;uncheckedArgument(0)), castedThis-&gt;globalObject());
</span><span class="cx">     }
</span><span class="cx">     impl.methodWithCallbackAndOptionalArg(WTFMove(callback));
</span><span class="lines">@@ -5116,13 +5121,13 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodWithCallbackFunctionArg&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithCallbackFunctionArg&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="cx">         return throwVMError(state, createNotEnoughArgumentsError(state));
</span><span class="cx">     if (UNLIKELY(!state-&gt;argument(0).isFunction()))
</span><del>-        return throwArgumentMustBeFunctionError(*state, 0, &quot;callback&quot;, &quot;TestObj&quot;, &quot;methodWithCallbackFunctionArg&quot;);
</del><ins>+        return throwArgumentMustBeFunctionError(*state, 0, &quot;callback&quot;, &quot;TestObject&quot;, &quot;methodWithCallbackFunctionArg&quot;);
</ins><span class="cx">     auto callback = JSTestCallbackFunction::create(asObject(state-&gt;uncheckedArgument(0)), castedThis-&gt;globalObject());
</span><span class="cx">     impl.methodWithCallbackFunctionArg(WTFMove(callback));
</span><span class="cx">     return JSValue::encode(jsUndefined());
</span><span class="lines">@@ -5133,7 +5138,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodWithNonCallbackArgAndCallbackFunctionArg&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithNonCallbackArgAndCallbackFunctionArg&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 2))
</span><span class="lines">@@ -5142,7 +5147,7 @@
</span><span class="cx">     if (UNLIKELY(state-&gt;hadException()))
</span><span class="cx">         return JSValue::encode(jsUndefined());
</span><span class="cx">     if (UNLIKELY(!state-&gt;argument(1).isFunction()))
</span><del>-        return throwArgumentMustBeFunctionError(*state, 1, &quot;callback&quot;, &quot;TestObj&quot;, &quot;methodWithNonCallbackArgAndCallbackFunctionArg&quot;);
</del><ins>+        return throwArgumentMustBeFunctionError(*state, 1, &quot;callback&quot;, &quot;TestObject&quot;, &quot;methodWithNonCallbackArgAndCallbackFunctionArg&quot;);
</ins><span class="cx">     auto callback = JSTestCallbackFunction::create(asObject(state-&gt;uncheckedArgument(1)), castedThis-&gt;globalObject());
</span><span class="cx">     impl.methodWithNonCallbackArgAndCallbackFunctionArg(WTFMove(nonCallback), WTFMove(callback));
</span><span class="cx">     return JSValue::encode(jsUndefined());
</span><span class="lines">@@ -5153,13 +5158,13 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodWithCallbackFunctionAndOptionalArg&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithCallbackFunctionAndOptionalArg&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     RefPtr&lt;TestCallbackFunction&gt; callback;
</span><span class="cx">     if (!state-&gt;argument(0).isUndefinedOrNull()) {
</span><span class="cx">         if (!state-&gt;uncheckedArgument(0).isFunction())
</span><del>-            return throwArgumentMustBeFunctionError(*state, 0, &quot;callback&quot;, &quot;TestObj&quot;, &quot;methodWithCallbackFunctionAndOptionalArg&quot;);
</del><ins>+            return throwArgumentMustBeFunctionError(*state, 0, &quot;callback&quot;, &quot;TestObject&quot;, &quot;methodWithCallbackFunctionAndOptionalArg&quot;);
</ins><span class="cx">         callback = JSTestCallbackFunction::create(asObject(state-&gt;uncheckedArgument(0)), castedThis-&gt;globalObject());
</span><span class="cx">     }
</span><span class="cx">     impl.methodWithCallbackFunctionAndOptionalArg(WTFMove(callback));
</span><span class="lines">@@ -5171,7 +5176,7 @@
</span><span class="cx">     RefPtr&lt;TestCallback&gt; callback;
</span><span class="cx">     if (!state-&gt;argument(0).isUndefinedOrNull()) {
</span><span class="cx">         if (!state-&gt;uncheckedArgument(0).isObject())
</span><del>-            return throwArgumentMustBeFunctionError(*state, 0, &quot;callback&quot;, &quot;TestObj&quot;, &quot;staticMethodWithCallbackAndOptionalArg&quot;);
</del><ins>+            return throwArgumentMustBeFunctionError(*state, 0, &quot;callback&quot;, &quot;TestObject&quot;, &quot;staticMethodWithCallbackAndOptionalArg&quot;);
</ins><span class="cx">         callback = createFunctionOnlyCallback&lt;JSTestCallback&gt;(state, jsCast&lt;JSDOMGlobalObject*&gt;(state-&gt;lexicalGlobalObject()), state-&gt;uncheckedArgument(0));
</span><span class="cx">     }
</span><span class="cx">     TestObj::staticMethodWithCallbackAndOptionalArg(WTFMove(callback));
</span><span class="lines">@@ -5183,7 +5188,7 @@
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="cx">         return throwVMError(state, createNotEnoughArgumentsError(state));
</span><span class="cx">     if (UNLIKELY(!state-&gt;argument(0).isObject()))
</span><del>-        return throwArgumentMustBeFunctionError(*state, 0, &quot;callback&quot;, &quot;TestObj&quot;, &quot;staticMethodWithCallbackArg&quot;);
</del><ins>+        return throwArgumentMustBeFunctionError(*state, 0, &quot;callback&quot;, &quot;TestObject&quot;, &quot;staticMethodWithCallbackArg&quot;);
</ins><span class="cx">     auto callback = createFunctionOnlyCallback&lt;JSTestCallback&gt;(state, jsCast&lt;JSDOMGlobalObject*&gt;(state-&gt;lexicalGlobalObject()), state-&gt;uncheckedArgument(0));
</span><span class="cx">     TestObj::staticMethodWithCallbackArg(WTFMove(callback));
</span><span class="cx">     return JSValue::encode(jsUndefined());
</span><span class="lines">@@ -5195,7 +5200,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;conditionalMethod1&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;conditionalMethod1&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = jsStringWithCache(state, impl.conditionalMethod1());
</span><span class="lines">@@ -5210,7 +5215,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;conditionalMethod2&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;conditionalMethod2&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     impl.conditionalMethod2();
</span><span class="lines">@@ -5225,7 +5230,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;conditionalMethod3&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;conditionalMethod3&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     impl.conditionalMethod3();
</span><span class="lines">@@ -5239,7 +5244,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;overloadedMethod&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;overloadedMethod&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 2))
</span><span class="lines">@@ -5257,7 +5262,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;overloadedMethod&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;overloadedMethod&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="lines">@@ -5275,7 +5280,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;overloadedMethod&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;overloadedMethod&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="lines">@@ -5292,7 +5297,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;overloadedMethod&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;overloadedMethod&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="lines">@@ -5309,13 +5314,13 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;overloadedMethod&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;overloadedMethod&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="cx">         return throwVMError(state, createNotEnoughArgumentsError(state));
</span><span class="cx">     if (UNLIKELY(!state-&gt;argument(0).isObject()))
</span><del>-        return throwArgumentMustBeFunctionError(*state, 0, &quot;callback&quot;, &quot;TestObj&quot;, &quot;overloadedMethod&quot;);
</del><ins>+        return throwArgumentMustBeFunctionError(*state, 0, &quot;callback&quot;, &quot;TestObject&quot;, &quot;overloadedMethod&quot;);
</ins><span class="cx">     auto callback = JSTestCallback::create(asObject(state-&gt;uncheckedArgument(0)), castedThis-&gt;globalObject());
</span><span class="cx">     impl.overloadedMethod(WTFMove(callback));
</span><span class="cx">     return JSValue::encode(jsUndefined());
</span><span class="lines">@@ -5326,7 +5331,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;overloadedMethod&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;overloadedMethod&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="lines">@@ -5343,7 +5348,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;overloadedMethod&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;overloadedMethod&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="lines">@@ -5360,7 +5365,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;overloadedMethod&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;overloadedMethod&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="lines">@@ -5367,7 +5372,7 @@
</span><span class="cx">         return throwVMError(state, createNotEnoughArgumentsError(state));
</span><span class="cx">     auto objArg = JSTestObj::toWrapped(state-&gt;argument(0));
</span><span class="cx">     if (UNLIKELY(!objArg))
</span><del>-        return throwArgumentTypeError(*state, 0, &quot;objArg&quot;, &quot;TestObj&quot;, &quot;overloadedMethod&quot;, &quot;TestObj&quot;);
</del><ins>+        return throwArgumentTypeError(*state, 0, &quot;objArg&quot;, &quot;TestObject&quot;, &quot;overloadedMethod&quot;, &quot;TestObj&quot;);
</ins><span class="cx">     impl.overloadedMethod(*objArg);
</span><span class="cx">     return JSValue::encode(jsUndefined());
</span><span class="cx"> }
</span><span class="lines">@@ -5377,7 +5382,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;overloadedMethod&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;overloadedMethod&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="lines">@@ -5394,7 +5399,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;overloadedMethod&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;overloadedMethod&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="lines">@@ -5411,7 +5416,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;overloadedMethod&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;overloadedMethod&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="lines">@@ -5428,7 +5433,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;overloadedMethod&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;overloadedMethod&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     Vector&lt;Blob*&gt; blobArgs;
</span><span class="lines">@@ -5437,7 +5442,7 @@
</span><span class="cx">     for (unsigned i = 0, count = state-&gt;argumentCount(); i &lt; count; ++i) {
</span><span class="cx">         auto* item = JSBlob::toWrapped(state-&gt;uncheckedArgument(i));
</span><span class="cx">         if (!item)
</span><del>-            return throwArgumentTypeError(*state, i, &quot;blobArgs&quot;, &quot;TestObj&quot;, &quot;overloadedMethod&quot;, &quot;Blob&quot;);
</del><ins>+            return throwArgumentTypeError(*state, i, &quot;blobArgs&quot;, &quot;TestObject&quot;, &quot;overloadedMethod&quot;, &quot;Blob&quot;);
</ins><span class="cx">         blobArgs.uncheckedAppend(item);
</span><span class="cx">     }
</span><span class="cx">     impl.overloadedMethod(WTFMove(blobArgs));
</span><span class="lines">@@ -5483,7 +5488,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;overloadedMethodWithOptionalParameter&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;overloadedMethodWithOptionalParameter&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="lines">@@ -5499,7 +5504,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;overloadedMethodWithOptionalParameter&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;overloadedMethodWithOptionalParameter&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="lines">@@ -5600,7 +5605,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;classMethodWithClamp&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;classMethodWithClamp&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 2))
</span><span class="lines">@@ -5620,7 +5625,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;classMethodWithEnforceRange&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;classMethodWithEnforceRange&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 2))
</span><span class="lines">@@ -5640,7 +5645,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodWithUnsignedLongSequence&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithUnsignedLongSequence&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="lines">@@ -5657,7 +5662,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;stringArrayFunction&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;stringArrayFunction&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="lines">@@ -5677,7 +5682,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;domStringListFunction&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;domStringListFunction&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="lines">@@ -5687,7 +5692,7 @@
</span><span class="cx">     if (UNLIKELY(state-&gt;hadException()))
</span><span class="cx">         return JSValue::encode(jsUndefined());
</span><span class="cx">     if (UNLIKELY(!values))
</span><del>-        return throwArgumentTypeError(*state, 0, &quot;values&quot;, &quot;TestObj&quot;, &quot;domStringListFunction&quot;, &quot;DOMStringList&quot;);
</del><ins>+        return throwArgumentTypeError(*state, 0, &quot;values&quot;, &quot;TestObject&quot;, &quot;domStringListFunction&quot;, &quot;DOMStringList&quot;);
</ins><span class="cx">     JSValue result = toJS(state, castedThis-&gt;globalObject(), impl.domStringListFunction(*values, ec));
</span><span class="cx"> 
</span><span class="cx">     setDOMException(state, ec);
</span><span class="lines">@@ -5699,7 +5704,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodWithAndWithoutNullableSequence&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithAndWithoutNullableSequence&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 2))
</span><span class="lines">@@ -5719,7 +5724,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodWithAndWithoutNullableSequence2&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithAndWithoutNullableSequence2&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 2))
</span><span class="lines">@@ -5739,7 +5744,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;getElementById&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;getElementById&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="lines">@@ -5756,7 +5761,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;getSVGDocument&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;getSVGDocument&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     ExceptionCode ec = 0;
</span><span class="lines">@@ -5773,7 +5778,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;convert1&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;convert1&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="lines">@@ -5780,7 +5785,7 @@
</span><span class="cx">         return throwVMError(state, createNotEnoughArgumentsError(state));
</span><span class="cx">     auto value = JSTestNode::toWrapped(state-&gt;argument(0));
</span><span class="cx">     if (UNLIKELY(!value))
</span><del>-        return throwArgumentTypeError(*state, 0, &quot;value&quot;, &quot;TestObj&quot;, &quot;convert1&quot;, &quot;TestNode&quot;);
</del><ins>+        return throwArgumentTypeError(*state, 0, &quot;value&quot;, &quot;TestObject&quot;, &quot;convert1&quot;, &quot;TestNode&quot;);
</ins><span class="cx">     impl.convert1(*value);
</span><span class="cx">     return JSValue::encode(jsUndefined());
</span><span class="cx"> }
</span><span class="lines">@@ -5790,7 +5795,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;convert2&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;convert2&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="lines">@@ -5805,7 +5810,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;convert3&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;convert3&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="lines">@@ -5822,7 +5827,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;convert4&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;convert4&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="lines">@@ -5839,7 +5844,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;mutablePointFunction&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;mutablePointFunction&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = toJS(state, castedThis-&gt;globalObject(), SVGPropertyTearOff&lt;SVGPoint&gt;::create(impl.mutablePointFunction()));
</span><span class="lines">@@ -5851,7 +5856,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;immutablePointFunction&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;immutablePointFunction&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     JSValue result = toJS(state, castedThis-&gt;globalObject(), SVGPropertyTearOff&lt;SVGPoint&gt;::create(impl.immutablePointFunction()));
</span><span class="lines">@@ -5863,7 +5868,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;orange&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;orange&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     impl.banana();
</span><span class="lines">@@ -5875,7 +5880,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;strictFunction&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;strictFunction&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 3))
</span><span class="lines">@@ -5901,7 +5906,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;strictFunctionWithSequence&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;strictFunctionWithSequence&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 2))
</span><span class="lines">@@ -5911,7 +5916,7 @@
</span><span class="cx">     if (!state-&gt;argument(0).isUndefinedOrNull()) {
</span><span class="cx">         objArg = JSTestObj::toWrapped(state-&gt;uncheckedArgument(0));
</span><span class="cx">         if (UNLIKELY(!objArg))
</span><del>-            return throwArgumentTypeError(*state, 0, &quot;objArg&quot;, &quot;TestObj&quot;, &quot;strictFunctionWithSequence&quot;, &quot;TestObj&quot;);
</del><ins>+            return throwArgumentTypeError(*state, 0, &quot;objArg&quot;, &quot;TestObject&quot;, &quot;strictFunctionWithSequence&quot;, &quot;TestObj&quot;);
</ins><span class="cx">     }
</span><span class="cx">     auto a = toNativeArray&lt;uint32_t&gt;(*state, state-&gt;argument(1));
</span><span class="cx">     if (UNLIKELY(state-&gt;hadException()))
</span><span class="lines">@@ -5927,7 +5932,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;strictFunctionWithArray&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;strictFunctionWithArray&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 2))
</span><span class="lines">@@ -5935,7 +5940,7 @@
</span><span class="cx">     ExceptionCode ec = 0;
</span><span class="cx">     auto objArg = JSTestObj::toWrapped(state-&gt;argument(0));
</span><span class="cx">     if (UNLIKELY(!objArg))
</span><del>-        return throwArgumentTypeError(*state, 0, &quot;objArg&quot;, &quot;TestObj&quot;, &quot;strictFunctionWithArray&quot;, &quot;TestObj&quot;);
</del><ins>+        return throwArgumentTypeError(*state, 0, &quot;objArg&quot;, &quot;TestObject&quot;, &quot;strictFunctionWithArray&quot;, &quot;TestObj&quot;);
</ins><span class="cx">     auto array = toNativeArray&lt;int32_t&gt;(*state, state-&gt;argument(1));
</span><span class="cx">     if (UNLIKELY(state-&gt;hadException()))
</span><span class="cx">         return JSValue::encode(jsUndefined());
</span><span class="lines">@@ -5950,7 +5955,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;variadicStringMethod&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;variadicStringMethod&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="lines">@@ -5970,7 +5975,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;variadicDoubleMethod&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;variadicDoubleMethod&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="lines">@@ -5990,7 +5995,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;variadicNodeMethod&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;variadicNodeMethod&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="lines">@@ -5997,7 +6002,7 @@
</span><span class="cx">         return throwVMError(state, createNotEnoughArgumentsError(state));
</span><span class="cx">     auto head = JSNode::toWrapped(state-&gt;argument(0));
</span><span class="cx">     if (UNLIKELY(!head))
</span><del>-        return throwArgumentTypeError(*state, 0, &quot;head&quot;, &quot;TestObj&quot;, &quot;variadicNodeMethod&quot;, &quot;Node&quot;);
</del><ins>+        return throwArgumentTypeError(*state, 0, &quot;head&quot;, &quot;TestObject&quot;, &quot;variadicNodeMethod&quot;, &quot;Node&quot;);
</ins><span class="cx">     Vector&lt;Node*&gt; tail;
</span><span class="cx">     ASSERT(1 &lt;= state-&gt;argumentCount());
</span><span class="cx">     tail.reserveInitialCapacity(state-&gt;argumentCount() - 1);
</span><span class="lines">@@ -6004,7 +6009,7 @@
</span><span class="cx">     for (unsigned i = 1, count = state-&gt;argumentCount(); i &lt; count; ++i) {
</span><span class="cx">         auto* item = JSNode::toWrapped(state-&gt;uncheckedArgument(i));
</span><span class="cx">         if (!item)
</span><del>-            return throwArgumentTypeError(*state, i, &quot;tail&quot;, &quot;TestObj&quot;, &quot;variadicNodeMethod&quot;, &quot;Node&quot;);
</del><ins>+            return throwArgumentTypeError(*state, i, &quot;tail&quot;, &quot;TestObject&quot;, &quot;variadicNodeMethod&quot;, &quot;Node&quot;);
</ins><span class="cx">         tail.uncheckedAppend(item);
</span><span class="cx">     }
</span><span class="cx">     impl.variadicNodeMethod(*head, WTFMove(tail));
</span><span class="lines">@@ -6016,7 +6021,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;any&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;any&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 2))
</span><span class="lines">@@ -6042,7 +6047,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;testPromiseFunction&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;testPromiseFunction&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     impl.testPromiseFunction(DeferredWrapper(state, castedThis-&gt;globalObject(), promiseDeferred));
</span><span class="lines">@@ -6060,7 +6065,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;testPromiseFunctionWithFloatArgument&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;testPromiseFunctionWithFloatArgument&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="lines">@@ -6083,7 +6088,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;testPromiseFunctionWithException&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;testPromiseFunctionWithException&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     ExceptionCode ec = 0;
</span><span class="lines">@@ -6103,7 +6108,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;testPromiseFunctionWithOptionalIntArgument&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;testPromiseFunctionWithOptionalIntArgument&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto a = state-&gt;argument(0).isUndefined() ? Optional&lt;int32_t&gt;() : convert&lt;int32_t&gt;(*state, state-&gt;uncheckedArgument(0), NormalConversion);
</span><span class="lines">@@ -6124,7 +6129,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;testPromiseOverloadedFunction&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;testPromiseOverloadedFunction&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="lines">@@ -6147,7 +6152,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;testPromiseOverloadedFunction&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;testPromiseOverloadedFunction&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="lines">@@ -6154,7 +6159,7 @@
</span><span class="cx">         return throwVMError(state, createNotEnoughArgumentsError(state));
</span><span class="cx">     auto request = JSFetchRequest::toWrapped(state-&gt;argument(0));
</span><span class="cx">     if (UNLIKELY(!request))
</span><del>-        return throwArgumentTypeError(*state, 0, &quot;request&quot;, &quot;TestObj&quot;, &quot;testPromiseOverloadedFunction&quot;, &quot;FetchRequest&quot;);
</del><ins>+        return throwArgumentTypeError(*state, 0, &quot;request&quot;, &quot;TestObject&quot;, &quot;testPromiseOverloadedFunction&quot;, &quot;FetchRequest&quot;);
</ins><span class="cx">     impl.testPromiseOverloadedFunction(*request, DeferredWrapper(state, castedThis-&gt;globalObject(), promiseDeferred));
</span><span class="cx">     return JSValue::encode(jsUndefined());
</span><span class="cx"> }
</span><span class="lines">@@ -6206,7 +6211,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;methodWithNeedsLifecycleProcessingStack&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithNeedsLifecycleProcessingStack&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     impl.methodWithNeedsLifecycleProcessingStack();
</span><span class="lines">@@ -6218,7 +6223,7 @@
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObj&quot;, &quot;attachShadowRoot&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;attachShadowRoot&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestTestObjidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/TestObj.idl (203857 => 203858)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/TestObj.idl        2016-07-29 05:22:14 UTC (rev 203857)
+++ trunk/Source/WebCore/bindings/scripts/test/TestObj.idl        2016-07-29 06:45:21 UTC (rev 203858)
</span><span class="lines">@@ -44,6 +44,7 @@
</span><span class="cx"> enum TestConfidence { &quot;high&quot;, &quot;kinda-low&quot; };
</span><span class="cx"> 
</span><span class="cx"> [
</span><ins>+    ConstructorCallWith=Document,
</ins><span class="cx">     Constructor(TestCallback testCallback, TestCallbackFunction testCallbackFunction),
</span><span class="cx">     InterfaceName=TestObject
</span><span class="cx"> ] interface TestObj {
</span></span></pre>
</div>
</div>

</body>
</html>