Skip to content

Commit 6c36aab

Browse files
authored
Merge pull request #5 from dminor/add-initial-spec-text
Add some initial spec text
2 parents 1997ad2 + da19be5 commit 6c36aab

File tree

1 file changed

+36
-29
lines changed

1 file changed

+36
-29
lines changed

spec.emu

Lines changed: 36 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -4,36 +4,43 @@
44
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/styles/github.min.css">
55
<script src="./spec.js"></script>
66
<pre class="metadata">
7-
title: Proposal Title Goes Here
8-
stage: -1
9-
contributors: Your Name(s) Here
7+
title: Error.captureStackTrace
8+
stage: 1
9+
contributors: Daniel Minor
10+
markEffects: true
1011
</pre>
1112

12-
<emu-clause id="sec-demo-clause">
13-
<h1>This is an emu-clause</h1>
14-
<p>This is an algorithm:</p>
15-
<emu-alg>
16-
1. Let _proposal_ be *undefined*.
17-
1. If IsAccepted(_proposal_) is *true*, then
18-
1. Let _stage_ be *0*<sub>ℤ</sub>.
19-
1. Else,
20-
1. Let _stage_ be *-1*<sub>ℤ</sub>.
21-
1. Return ? ToString(_stage_).
22-
</emu-alg>
23-
</emu-clause>
13+
<emu-intro id="intro">
14+
<h1>Introduction</h1>
15+
<p></p>
16+
</emu-intro>
17+
18+
<emu-clause id="sec-fundamental-objects" number="20">
19+
<h1>Fundamental Objects</h1>
20+
21+
<emu-clause id="sec-error-objects" number="5">
22+
<h1>Error Objects</h1>
23+
24+
<emu-clause id="sec-properties-of-the-error-constructor" number="2">
25+
<h1>Properties of the Error Constructor</h1>
2426

25-
<emu-clause id="sec-is-accepted" type="abstract operation">
26-
<h1>
27-
IsAccepted (
28-
_proposal_: an ECMAScript language value
29-
): a Boolean
30-
</h1>
31-
<dl class="header">
32-
<dt>description</dt>
33-
<dd>Tells you if the proposal was accepted</dd>
34-
</dl>
35-
<emu-alg>
36-
1. If _proposal_ is not a String, or is not accepted, return *false*.
37-
1. Return *true*.
38-
</emu-alg>
27+
<emu-clause id="sec-error.capturestacktrace">
28+
<h1>Error.captureStackTrace ( _error_ [ , _constructor_ ])</h1>
29+
<emu-alg>
30+
1. If _error_ is not an Object, throw a *TypeError* exception.
31+
1. If _constructor_ is not *undefined*, then
32+
1. If IsCallable(_constructor_) is *false*, throw a *TypeError* exception.
33+
1. TODO: No implementations currently check that _constructor_ is callable, this may not be web compatible.
34+
1. If IsCallable(_constructor_) is *true*, then
35+
1. Let _string_ be an implementation-defined string that represents the current stack trace, with all stack
36+
frames above the topmost call to _constructor_, including that call, omitted from the stack trace.
37+
1. NOTE: This can be used to hide implementation details on the stack trace that aren't useful to user.
38+
1. Else,
39+
1. Let _string_ be an implementation-defined string that represents the current stack trace.
40+
1. Perform ? SetterThatIgnoresPrototypeProperties(*this* value, _error_, *"stack"*, _string_).
41+
1. Return *undefined*.
42+
</emu-alg>
43+
</emu-clause>
44+
</emu-clause>
45+
</emu-clause>
3946
</emu-clause>

0 commit comments

Comments
 (0)