1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
//! Final-pass formatting cleanup: join a standalone close-brace line
//! with the next chain-continuation header (`else {`, `else if cond {`,
//! `catch (...) {`, `finally {`) so the rendered output uses the K&R
//! single-line form `} else {` instead of the multi-line `}\nelse {`.
//!
//! Earlier passes emit the close-brace and the chain header as separate
//! statements (the emitter pushes them at different offsets and lets
//! the renderer indent them). For end-user output, joining them on a
//! single line is the conventional formatting for both C# (the C#
//! emit's source-of-truth language) and idiomatic pseudo-code, and
//! matches the JS port's rendering byte-for-byte for the same NEFs.
use HighLevelEmitter;