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
//! Shared pattern-matching helpers for recognising `if`/`else`/`else if`
//! statement shapes in lifted pseudo-code.
/// Check if a line opens an `if` block: `if <condition> {`
pub
/// Check if a line opens an `else` block: `else {` or `} else {`
pub
/// Check if a line opens an `else if` block: `[} ]else if <condition> {`
pub
/// Extract the condition from a plain `if <condition> {` line.
pub
/// Extract the condition from an `else if <condition> {` or
/// `} else if <condition> {` line.
pub
/// Extract the condition from either an `if` or `else if` line, optionally
/// preceded by `} `. Used by the switch rewriter which must handle both forms.
pub