You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<p>The abstract operation DirectCall takes no arguments. Calling AOs that can call user code should insert <code>e-user-code</code> as a class into the AO link. It performs the following steps when called:</p>
<p>The abstract operation TransitiveCall takes no arguments. Calling AOs that can transitively call user code should insert <code>e-user-code</code> as a class into the AO link. It performs the following steps when called:</p>
<p>The abstract operation SuppressedDirectCall takes no arguments. Can-call-user-code callsites that are suppressed do not get <code>e-user-code</code> as a class in the AO link. It performs the following steps when called:</p>
<p>The abstract operation SuppressedTransitiveCall takes no arguments. Can-call-user-code callsites that are suppressed do not propagate the effect It performs the following steps when called:</p>
<p>The abstract operation AddedDirectCall takes no arguments. AOs can have manually added user-code effect at a callsite that propagates. It performs the following steps when called:</p>
<p>The abstract operation AddedTransitiveCall takes no arguments. AOs can have manually added user-code effect at a callsite that propagates. It performs the following steps when called:</p>
<p>The abstract operation SDOInvocations takes no arguments. SDO-style invocations of AOs that can call user code also have the <code>e-user-code</code> class in the link. It performs the following steps when called:</p>
68
68
<emu-alg><ol><li><emu-xrefaoid="UserCode"id="_ref_7"><ahref="#sec-user-code"class="e-user-code">UserCode</a></emu-xref> of Bar.</li></ol></emu-alg>
<p>The abstract operation NonInvocations takes no arguments. Non-invocations (i.e. not followed by () or " of") do not have <code>e-user-code</code> as a class in the AO link. It performs the following steps when called:</p>
74
74
<emu-alg><ol><li><emu-xrefaoid="UserCode"id="_ref_8"><ahref="#sec-user-code">UserCode</a></emu-xref> is an abstract operation.</li></ol></emu-alg>
<p>The abstract operation NonAbrupt takes no arguments. Invocations that cannot result in abrupt completions suppress the user-code effect by default. It performs the following steps when called:</p>
80
80
<emu-alg><ol><li>Let <var>res</var> be ! <emu-xrefaoid="UserCode"id="_ref_9"><ahref="#sec-user-code">UserCode</a></emu-xref>().</li></ol></emu-alg>
<p>The abstract operation NonAbruptOverride takes no arguments. Invocations that cannot result in abrupt completions suppress the user-code effect by default but can still be overridden. It performs the following steps when called:</p>
86
86
<emu-alg><ol><li>Let <var>res</var> be ! <emu-xrefaoid="UserCode"id="_ref_10"><ahref="#sec-user-code"class="e-user-code e-user-code">UserCode</a></emu-xref>().</li></ol></emu-alg>
<p>The abstract operation RenderedMeta takes no arguments. emu-meta tags with the effects attribute that aren't surrounding what ecmarkup recognizes as invocations are changed into span tags to be rendered. The effects list is prefixed with e- and changed into class names. It performs the following steps when called:</p>
<p>The abstract operation MakeAbstractClosure takes no arguments. The user-code effect doesn't propagate through Abstract Closure boundaries by recognizing the "be a new Abstract Closure" substring. It performs the following steps when called:</p>
110
110
<emu-alg><ol><li>Let <var>closure</var> be a new Abstract Closure that captures nothing and performs the following steps when called:<ol><li><emu-xrefaoid="UserCode"id="_ref_13"><ahref="#sec-user-code"class="e-user-code">UserCode</a></emu-xref>().</li></ol></li><li>Return <var>closure</var>.</li></ol></emu-alg>
<p>The abstract operation CallMakeAbstractClosure takes no arguments. The user-code effect doesn't propagate through Abstract Closure boundaries by recognizing the "be a new Abstract Closure" substring. It performs the following steps when called:</p>
<p>The abstract operation XrefNotFirstChildOfEmuMeta takes no arguments. Effect additions and suppressions via emu-meta only affect xrefs that are the first child of the emu-meta. Below, <emu-xrefaoid="UserCode"id="_ref_15"><ahref="#sec-user-code"class="e-user-code">UserCode</a></emu-xref>() gets autolinked and get an xref. Its parent element is an emu-meta, but since the xref is not the first child, it should not be interpreted to override the effects of the <emu-xrefaoid="UserCode"id="_ref_16"><ahref="#sec-user-code"class="e-user-code">UserCode</a></emu-xref>() call. It performs the following steps when called:</p>
<p>The abstract operation ResultOfEvaluating takes no arguments. The phrase "the result of evaluating Foo" is automatically considered as can call user code. It performs the following steps when called:</p>
128
128
<emu-alg><ol><li>Let <var>res</var> be the result of <spanclass="e-user-code">evaluating <emu-nt>Foo</emu-nt></span>.</li></ol></emu-alg>
<p>The abstract operation FencedEffects takes no arguments. Effects don't propagate past fences in parent steps. A fence must be at the beginning of a step. It performs the following steps when called:</p>
134
134
<emu-alg><ol><lifence-effects="user-code">Fence.<ol><li><emu-xrefaoid="UserCode"id="_ref_18"><ahref="#sec-user-code"class="e-user-code">UserCode</a></emu-xref>().</li><li>Let <var>foo</var> be the result of <spanclass="e-user-code">evaluating <var>someUserCode</var></span>.</li></ol></li></ol></emu-alg>
<p>The abstract operation CallFencedEffects takes no arguments. Effects don't propagate past fences in parent steps. It performs the following steps when called:</p>
<p>The abstract operation <emu-xrefaoid="ExampleAO3"id="_ref_0"><ahref="#sec-example-return-type">ExampleAO3</a></emu-xref> takes argument param (an <emu-xrefhref="#integer"><ahref="https://tc39.es/ecma262/#integer">integer</a></emu-xref>) and returns the return type. It performs the following steps when called:</p>
72
72
<emu-alg><ol><li>Algorithm steps go here.</li></ol></emu-alg>
0 commit comments