---
source: full-moon/tests/pass_cases.rs
assertion_line: 52
expression: ast.nodes()
input_file: full-moon/tests/cases/pass/if-2
---
stmts:
  - - If:
        if_token:
          leading_trivia: []
          token:
            start_position:
              bytes: 0
              line: 1
              character: 1
            end_position:
              bytes: 2
              line: 1
              character: 3
            token_type:
              type: Symbol
              symbol: if
          trailing_trivia:
            - start_position:
                bytes: 2
                line: 1
                character: 3
              end_position:
                bytes: 3
                line: 1
                character: 4
              token_type:
                type: Whitespace
                characters: " "
        condition:
          Var:
            Name:
              leading_trivia: []
              token:
                start_position:
                  bytes: 3
                  line: 1
                  character: 4
                end_position:
                  bytes: 4
                  line: 1
                  character: 5
                token_type:
                  type: Identifier
                  identifier: x
              trailing_trivia:
                - start_position:
                    bytes: 4
                    line: 1
                    character: 5
                  end_position:
                    bytes: 5
                    line: 1
                    character: 6
                  token_type:
                    type: Whitespace
                    characters: " "
        then_token:
          leading_trivia: []
          token:
            start_position:
              bytes: 5
              line: 1
              character: 6
            end_position:
              bytes: 9
              line: 1
              character: 10
            token_type:
              type: Symbol
              symbol: then
          trailing_trivia:
            - start_position:
                bytes: 9
                line: 1
                character: 10
              end_position:
                bytes: 10
                line: 1
                character: 10
              token_type:
                type: Whitespace
                characters: "\n"
        block:
          stmts:
            - - FunctionCall:
                  prefix:
                    Name:
                      leading_trivia:
                        - start_position:
                            bytes: 10
                            line: 2
                            character: 1
                          end_position:
                            bytes: 11
                            line: 2
                            character: 2
                          token_type:
                            type: Whitespace
                            characters: "\t"
                      token:
                        start_position:
                          bytes: 11
                          line: 2
                          character: 2
                        end_position:
                          bytes: 14
                          line: 2
                          character: 5
                        token_type:
                          type: Identifier
                          identifier: foo
                      trailing_trivia: []
                  suffixes:
                    - Call:
                        AnonymousCall:
                          Parentheses:
                            parentheses:
                              tokens:
                                - leading_trivia: []
                                  token:
                                    start_position:
                                      bytes: 14
                                      line: 2
                                      character: 5
                                    end_position:
                                      bytes: 15
                                      line: 2
                                      character: 6
                                    token_type:
                                      type: Symbol
                                      symbol: (
                                  trailing_trivia: []
                                - leading_trivia: []
                                  token:
                                    start_position:
                                      bytes: 15
                                      line: 2
                                      character: 6
                                    end_position:
                                      bytes: 16
                                      line: 2
                                      character: 7
                                    token_type:
                                      type: Symbol
                                      symbol: )
                                  trailing_trivia:
                                    - start_position:
                                        bytes: 16
                                        line: 2
                                        character: 7
                                      end_position:
                                        bytes: 17
                                        line: 2
                                        character: 7
                                      token_type:
                                        type: Whitespace
                                        characters: "\n"
                            arguments:
                              pairs: []
              - ~
        else_if: ~
        else_token:
          leading_trivia: []
          token:
            start_position:
              bytes: 17
              line: 3
              character: 1
            end_position:
              bytes: 21
              line: 3
              character: 5
            token_type:
              type: Symbol
              symbol: else
          trailing_trivia:
            - start_position:
                bytes: 21
                line: 3
                character: 5
              end_position:
                bytes: 22
                line: 3
                character: 5
              token_type:
                type: Whitespace
                characters: "\n"
        else:
          stmts:
            - - FunctionCall:
                  prefix:
                    Name:
                      leading_trivia:
                        - start_position:
                            bytes: 22
                            line: 4
                            character: 1
                          end_position:
                            bytes: 23
                            line: 4
                            character: 2
                          token_type:
                            type: Whitespace
                            characters: "\t"
                      token:
                        start_position:
                          bytes: 23
                          line: 4
                          character: 2
                        end_position:
                          bytes: 26
                          line: 4
                          character: 5
                        token_type:
                          type: Identifier
                          identifier: bar
                      trailing_trivia: []
                  suffixes:
                    - Call:
                        AnonymousCall:
                          Parentheses:
                            parentheses:
                              tokens:
                                - leading_trivia: []
                                  token:
                                    start_position:
                                      bytes: 26
                                      line: 4
                                      character: 5
                                    end_position:
                                      bytes: 27
                                      line: 4
                                      character: 6
                                    token_type:
                                      type: Symbol
                                      symbol: (
                                  trailing_trivia: []
                                - leading_trivia: []
                                  token:
                                    start_position:
                                      bytes: 27
                                      line: 4
                                      character: 6
                                    end_position:
                                      bytes: 28
                                      line: 4
                                      character: 7
                                    token_type:
                                      type: Symbol
                                      symbol: )
                                  trailing_trivia:
                                    - start_position:
                                        bytes: 28
                                        line: 4
                                        character: 7
                                      end_position:
                                        bytes: 29
                                        line: 4
                                        character: 7
                                      token_type:
                                        type: Whitespace
                                        characters: "\n"
                            arguments:
                              pairs: []
              - ~
        end_token:
          leading_trivia: []
          token:
            start_position:
              bytes: 29
              line: 5
              character: 1
            end_position:
              bytes: 32
              line: 5
              character: 4
            token_type:
              type: Symbol
              symbol: end
          trailing_trivia: []
    - ~

