--- source: src/tests/parser.rs expression: nodes --- [ Ok( Node { class: Conjunction { elements: [ ConjunctNode { cmd: Node { class: IfNode { cond_nodes: [ CondNode { cond: Node { class: Pipeline { cmds: [ Node { class: Command { assignments: [], argv: [ Tk { class: Str, span: Span { range: 4..7, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( IS_CMD, ), }, ], }, flags: NdFlags( 0x0, ), redirs: [], tokens: [ Tk { class: Str, span: Span { range: 4..7, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( IS_CMD, ), }, Tk { class: Sep, span: Span { range: 7..9, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( 0x0, ), }, ], }, ], pipe_err: false, }, flags: NdFlags( 0x0, ), redirs: [], tokens: [ Tk { class: Str, span: Span { range: 4..7, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( IS_CMD, ), }, Tk { class: Sep, span: Span { range: 7..9, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( 0x0, ), }, ], }, body: [ Node { class: Pipeline { cmds: [ Node { class: Command { assignments: [], argv: [ Tk { class: Str, span: Span { range: 15..19, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( IS_CMD | BUILTIN, ), }, Tk { class: Str, span: Span { range: 20..23, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( 0x0, ), }, ], }, flags: NdFlags( 0x0, ), redirs: [], tokens: [ Tk { class: Str, span: Span { range: 15..19, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( IS_CMD | BUILTIN, ), }, Tk { class: Str, span: Span { range: 20..23, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( 0x0, ), }, Tk { class: Sep, span: Span { range: 23..24, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( 0x0, ), }, ], }, ], pipe_err: false, }, flags: NdFlags( 0x0, ), redirs: [], tokens: [ Tk { class: Str, span: Span { range: 15..19, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( IS_CMD | BUILTIN, ), }, Tk { class: Str, span: Span { range: 20..23, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( 0x0, ), }, Tk { class: Sep, span: Span { range: 23..24, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( 0x0, ), }, ], }, ], }, CondNode { cond: Node { class: Pipeline { cmds: [ Node { class: Command { assignments: [], argv: [ Tk { class: Str, span: Span { range: 29..32, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( IS_CMD, ), }, ], }, flags: NdFlags( 0x0, ), redirs: [], tokens: [ Tk { class: Str, span: Span { range: 29..32, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( IS_CMD, ), }, Tk { class: Sep, span: Span { range: 32..34, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( 0x0, ), }, ], }, ], pipe_err: false, }, flags: NdFlags( 0x0, ), redirs: [], tokens: [ Tk { class: Str, span: Span { range: 29..32, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( IS_CMD, ), }, Tk { class: Sep, span: Span { range: 32..34, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( 0x0, ), }, ], }, body: [ Node { class: Pipeline { cmds: [ Node { class: Command { assignments: [], argv: [ Tk { class: Str, span: Span { range: 40..44, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( IS_CMD | BUILTIN, ), }, Tk { class: Str, span: Span { range: 45..48, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( 0x0, ), }, ], }, flags: NdFlags( 0x0, ), redirs: [], tokens: [ Tk { class: Str, span: Span { range: 40..44, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( IS_CMD | BUILTIN, ), }, Tk { class: Str, span: Span { range: 45..48, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( 0x0, ), }, Tk { class: Sep, span: Span { range: 48..50, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( 0x0, ), }, ], }, ], pipe_err: false, }, flags: NdFlags( 0x0, ), redirs: [], tokens: [ Tk { class: Str, span: Span { range: 40..44, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( IS_CMD | BUILTIN, ), }, Tk { class: Str, span: Span { range: 45..48, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( 0x0, ), }, Tk { class: Sep, span: Span { range: 48..50, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( 0x0, ), }, ], }, ], }, CondNode { cond: Node { class: Pipeline { cmds: [ Node { class: Command { assignments: [], argv: [ Tk { class: Str, span: Span { range: 55..58, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( IS_CMD, ), }, ], }, flags: NdFlags( 0x0, ), redirs: [], tokens: [ Tk { class: Str, span: Span { range: 55..58, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( IS_CMD, ), }, Tk { class: Sep, span: Span { range: 58..60, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( 0x0, ), }, ], }, ], pipe_err: false, }, flags: NdFlags( 0x0, ), redirs: [], tokens: [ Tk { class: Str, span: Span { range: 55..58, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( IS_CMD, ), }, Tk { class: Sep, span: Span { range: 58..60, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( 0x0, ), }, ], }, body: [ Node { class: Pipeline { cmds: [ Node { class: Command { assignments: [], argv: [ Tk { class: Str, span: Span { range: 66..70, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( IS_CMD | BUILTIN, ), }, Tk { class: Str, span: Span { range: 71..74, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( 0x0, ), }, ], }, flags: NdFlags( 0x0, ), redirs: [], tokens: [ Tk { class: Str, span: Span { range: 66..70, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( IS_CMD | BUILTIN, ), }, Tk { class: Str, span: Span { range: 71..74, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( 0x0, ), }, Tk { class: Sep, span: Span { range: 74..75, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( 0x0, ), }, ], }, ], pipe_err: false, }, flags: NdFlags( 0x0, ), redirs: [], tokens: [ Tk { class: Str, span: Span { range: 66..70, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( IS_CMD | BUILTIN, ), }, Tk { class: Str, span: Span { range: 71..74, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( 0x0, ), }, Tk { class: Sep, span: Span { range: 74..75, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( 0x0, ), }, ], }, ], }, ], else_block: [], }, flags: NdFlags( 0x0, ), redirs: [], tokens: [ Tk { class: Str, span: Span { range: 1..3, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( KEYWORD, ), }, Tk { class: Str, span: Span { range: 4..7, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( IS_CMD, ), }, Tk { class: Sep, span: Span { range: 7..9, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( 0x0, ), }, Tk { class: Str, span: Span { range: 9..13, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( KEYWORD, ), }, Tk { class: Sep, span: Span { range: 13..15, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( 0x0, ), }, Tk { class: Str, span: Span { range: 15..19, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( IS_CMD | BUILTIN, ), }, Tk { class: Str, span: Span { range: 20..23, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( 0x0, ), }, Tk { class: Sep, span: Span { range: 23..24, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( 0x0, ), }, Tk { class: Str, span: Span { range: 24..28, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( KEYWORD, ), }, Tk { class: Str, span: Span { range: 29..32, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( IS_CMD, ), }, Tk { class: Sep, span: Span { range: 32..34, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( 0x0, ), }, Tk { class: Str, span: Span { range: 34..38, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( KEYWORD, ), }, Tk { class: Sep, span: Span { range: 38..40, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( 0x0, ), }, Tk { class: Str, span: Span { range: 40..44, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( IS_CMD | BUILTIN, ), }, Tk { class: Str, span: Span { range: 45..48, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( 0x0, ), }, Tk { class: Sep, span: Span { range: 48..50, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( 0x0, ), }, Tk { class: Str, span: Span { range: 50..54, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( KEYWORD, ), }, Tk { class: Str, span: Span { range: 55..58, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( IS_CMD, ), }, Tk { class: Sep, span: Span { range: 58..60, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( 0x0, ), }, Tk { class: Str, span: Span { range: 60..64, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( KEYWORD, ), }, Tk { class: Sep, span: Span { range: 64..66, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( 0x0, ), }, Tk { class: Str, span: Span { range: 66..70, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( IS_CMD | BUILTIN, ), }, Tk { class: Str, span: Span { range: 71..74, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( 0x0, ), }, Tk { class: Sep, span: Span { range: 74..75, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( 0x0, ), }, Tk { class: Str, span: Span { range: 75..77, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( KEYWORD, ), }, ], }, operator: Null, }, ], }, flags: NdFlags( 0x0, ), redirs: [], tokens: [ Tk { class: Str, span: Span { range: 1..3, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( KEYWORD, ), }, Tk { class: Str, span: Span { range: 4..7, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( IS_CMD, ), }, Tk { class: Sep, span: Span { range: 7..9, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( 0x0, ), }, Tk { class: Str, span: Span { range: 9..13, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( KEYWORD, ), }, Tk { class: Sep, span: Span { range: 13..15, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( 0x0, ), }, Tk { class: Str, span: Span { range: 15..19, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( IS_CMD | BUILTIN, ), }, Tk { class: Str, span: Span { range: 20..23, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( 0x0, ), }, Tk { class: Sep, span: Span { range: 23..24, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( 0x0, ), }, Tk { class: Str, span: Span { range: 24..28, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( KEYWORD, ), }, Tk { class: Str, span: Span { range: 29..32, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( IS_CMD, ), }, Tk { class: Sep, span: Span { range: 32..34, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( 0x0, ), }, Tk { class: Str, span: Span { range: 34..38, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( KEYWORD, ), }, Tk { class: Sep, span: Span { range: 38..40, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( 0x0, ), }, Tk { class: Str, span: Span { range: 40..44, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( IS_CMD | BUILTIN, ), }, Tk { class: Str, span: Span { range: 45..48, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( 0x0, ), }, Tk { class: Sep, span: Span { range: 48..50, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( 0x0, ), }, Tk { class: Str, span: Span { range: 50..54, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( KEYWORD, ), }, Tk { class: Str, span: Span { range: 55..58, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( IS_CMD, ), }, Tk { class: Sep, span: Span { range: 58..60, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( 0x0, ), }, Tk { class: Str, span: Span { range: 60..64, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( KEYWORD, ), }, Tk { class: Sep, span: Span { range: 64..66, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( 0x0, ), }, Tk { class: Str, span: Span { range: 66..70, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( IS_CMD | BUILTIN, ), }, Tk { class: Str, span: Span { range: 71..74, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( 0x0, ), }, Tk { class: Sep, span: Span { range: 74..75, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( 0x0, ), }, Tk { class: Str, span: Span { range: 75..77, source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", }, flags: TkFlags( KEYWORD, ), }, ], }, ), ]