---
source: full-moon/tests/pass_cases.rs
expression: ast.nodes()
---
stmts:
  - - NumericFor:
        for_token:
          leading_trivia: []
          token:
            start_position:
              bytes: 0
              line: 1
              character: 1
            end_position:
              bytes: 3
              line: 1
              character: 4
            token_type:
              type: Symbol
              symbol: for
          trailing_trivia:
            - start_position:
                bytes: 3
                line: 1
                character: 4
              end_position:
                bytes: 4
                line: 1
                character: 5
              token_type:
                type: Whitespace
                characters: " "
        index_variable:
          leading_trivia: []
          token:
            start_position:
              bytes: 4
              line: 1
              character: 5
            end_position:
              bytes: 5
              line: 1
              character: 6
            token_type:
              type: Identifier
              identifier: i
          trailing_trivia:
            - start_position:
                bytes: 5
                line: 1
                character: 6
              end_position:
                bytes: 6
                line: 1
                character: 7
              token_type:
                type: Whitespace
                characters: " "
        equal_token:
          leading_trivia: []
          token:
            start_position:
              bytes: 6
              line: 1
              character: 7
            end_position:
              bytes: 7
              line: 1
              character: 8
            token_type:
              type: Symbol
              symbol: "="
          trailing_trivia:
            - start_position:
                bytes: 7
                line: 1
                character: 8
              end_position:
                bytes: 8
                line: 1
                character: 9
              token_type:
                type: Whitespace
                characters: " "
        start:
          Number:
            leading_trivia: []
            token:
              start_position:
                bytes: 8
                line: 1
                character: 9
              end_position:
                bytes: 9
                line: 1
                character: 10
              token_type:
                type: Number
                text: "1"
            trailing_trivia: []
        start_end_comma:
          leading_trivia: []
          token:
            start_position:
              bytes: 9
              line: 1
              character: 10
            end_position:
              bytes: 10
              line: 1
              character: 11
            token_type:
              type: Symbol
              symbol: ","
          trailing_trivia:
            - start_position:
                bytes: 10
                line: 1
                character: 11
              end_position:
                bytes: 11
                line: 1
                character: 12
              token_type:
                type: Whitespace
                characters: " "
        end:
          Number:
            leading_trivia: []
            token:
              start_position:
                bytes: 11
                line: 1
                character: 12
              end_position:
                bytes: 13
                line: 1
                character: 14
              token_type:
                type: Number
                text: "10"
            trailing_trivia:
              - start_position:
                  bytes: 13
                  line: 1
                  character: 14
                end_position:
                  bytes: 14
                  line: 1
                  character: 15
                token_type:
                  type: Whitespace
                  characters: " "
        end_step_comma: ~
        step: ~
        do_token:
          leading_trivia: []
          token:
            start_position:
              bytes: 14
              line: 1
              character: 15
            end_position:
              bytes: 16
              line: 1
              character: 17
            token_type:
              type: Symbol
              symbol: do
          trailing_trivia:
            - start_position:
                bytes: 16
                line: 1
                character: 17
              end_position:
                bytes: 17
                line: 1
                character: 17
              token_type:
                type: Whitespace
                characters: "\n"
        block:
          stmts:
            - - If:
                  if_token:
                    leading_trivia:
                      - start_position:
                          bytes: 17
                          line: 2
                          character: 1
                        end_position:
                          bytes: 18
                          line: 2
                          character: 2
                        token_type:
                          type: Whitespace
                          characters: "\t"
                    token:
                      start_position:
                        bytes: 18
                        line: 2
                        character: 2
                      end_position:
                        bytes: 20
                        line: 2
                        character: 4
                      token_type:
                        type: Symbol
                        symbol: if
                    trailing_trivia:
                      - start_position:
                          bytes: 20
                          line: 2
                          character: 4
                        end_position:
                          bytes: 21
                          line: 2
                          character: 5
                        token_type:
                          type: Whitespace
                          characters: " "
                  condition:
                    BinaryOperator:
                      lhs:
                        Var:
                          Name:
                            leading_trivia: []
                            token:
                              start_position:
                                bytes: 21
                                line: 2
                                character: 5
                              end_position:
                                bytes: 22
                                line: 2
                                character: 6
                              token_type:
                                type: Identifier
                                identifier: i
                            trailing_trivia:
                              - start_position:
                                  bytes: 22
                                  line: 2
                                  character: 6
                                end_position:
                                  bytes: 23
                                  line: 2
                                  character: 7
                                token_type:
                                  type: Whitespace
                                  characters: " "
                      binop:
                        TwoEqual:
                          leading_trivia: []
                          token:
                            start_position:
                              bytes: 23
                              line: 2
                              character: 7
                            end_position:
                              bytes: 25
                              line: 2
                              character: 9
                            token_type:
                              type: Symbol
                              symbol: "=="
                          trailing_trivia:
                            - start_position:
                                bytes: 25
                                line: 2
                                character: 9
                              end_position:
                                bytes: 26
                                line: 2
                                character: 10
                              token_type:
                                type: Whitespace
                                characters: " "
                      rhs:
                        Number:
                          leading_trivia: []
                          token:
                            start_position:
                              bytes: 26
                              line: 2
                              character: 10
                            end_position:
                              bytes: 27
                              line: 2
                              character: 11
                            token_type:
                              type: Number
                              text: "5"
                          trailing_trivia:
                            - start_position:
                                bytes: 27
                                line: 2
                                character: 11
                              end_position:
                                bytes: 28
                                line: 2
                                character: 12
                              token_type:
                                type: Whitespace
                                characters: " "
                  then_token:
                    leading_trivia: []
                    token:
                      start_position:
                        bytes: 28
                        line: 2
                        character: 12
                      end_position:
                        bytes: 32
                        line: 2
                        character: 16
                      token_type:
                        type: Symbol
                        symbol: then
                    trailing_trivia:
                      - start_position:
                          bytes: 32
                          line: 2
                          character: 16
                        end_position:
                          bytes: 33
                          line: 2
                          character: 16
                        token_type:
                          type: Whitespace
                          characters: "\n"
                  block:
                    stmts:
                      - - Goto:
                            goto_token:
                              leading_trivia:
                                - start_position:
                                    bytes: 33
                                    line: 3
                                    character: 1
                                  end_position:
                                    bytes: 35
                                    line: 3
                                    character: 3
                                  token_type:
                                    type: Whitespace
                                    characters: "\t\t"
                              token:
                                start_position:
                                  bytes: 35
                                  line: 3
                                  character: 3
                                end_position:
                                  bytes: 39
                                  line: 3
                                  character: 7
                                token_type:
                                  type: Symbol
                                  symbol: goto
                              trailing_trivia:
                                - start_position:
                                    bytes: 39
                                    line: 3
                                    character: 7
                                  end_position:
                                    bytes: 40
                                    line: 3
                                    character: 8
                                  token_type:
                                    type: Whitespace
                                    characters: " "
                            label_name:
                              leading_trivia: []
                              token:
                                start_position:
                                  bytes: 40
                                  line: 3
                                  character: 8
                                end_position:
                                  bytes: 44
                                  line: 3
                                  character: 12
                                token_type:
                                  type: Identifier
                                  identifier: done
                              trailing_trivia:
                                - start_position:
                                    bytes: 44
                                    line: 3
                                    character: 12
                                  end_position:
                                    bytes: 45
                                    line: 3
                                    character: 12
                                  token_type:
                                    type: Whitespace
                                    characters: "\n"
                        - ~
                  else_if: ~
                  else_token: ~
                  else: ~
                  end_token:
                    leading_trivia:
                      - start_position:
                          bytes: 45
                          line: 4
                          character: 1
                        end_position:
                          bytes: 46
                          line: 4
                          character: 2
                        token_type:
                          type: Whitespace
                          characters: "\t"
                    token:
                      start_position:
                        bytes: 46
                        line: 4
                        character: 2
                      end_position:
                        bytes: 49
                        line: 4
                        character: 5
                      token_type:
                        type: Symbol
                        symbol: end
                    trailing_trivia:
                      - start_position:
                          bytes: 49
                          line: 4
                          character: 5
                        end_position:
                          bytes: 50
                          line: 4
                          character: 5
                        token_type:
                          type: Whitespace
                          characters: "\n"
              - ~
        end_token:
          leading_trivia: []
          token:
            start_position:
              bytes: 50
              line: 5
              character: 1
            end_position:
              bytes: 53
              line: 5
              character: 4
            token_type:
              type: Symbol
              symbol: end
          trailing_trivia:
            - start_position:
                bytes: 53
                line: 5
                character: 4
              end_position:
                bytes: 54
                line: 5
                character: 4
              token_type:
                type: Whitespace
                characters: "\n"
    - ~
  - - Label:
        left_colons:
          leading_trivia: []
          token:
            start_position:
              bytes: 54
              line: 6
              character: 1
            end_position:
              bytes: 56
              line: 6
              character: 3
            token_type:
              type: Symbol
              symbol: "::"
          trailing_trivia: []
        name:
          leading_trivia: []
          token:
            start_position:
              bytes: 56
              line: 6
              character: 3
            end_position:
              bytes: 60
              line: 6
              character: 7
            token_type:
              type: Identifier
              identifier: done
          trailing_trivia: []
        right_colons:
          leading_trivia: []
          token:
            start_position:
              bytes: 60
              line: 6
              character: 7
            end_position:
              bytes: 62
              line: 6
              character: 9
            token_type:
              type: Symbol
              symbol: "::"
          trailing_trivia:
            - start_position:
                bytes: 62
                line: 6
                character: 9
              end_position:
                bytes: 63
                line: 6
                character: 9
              token_type:
                type: Whitespace
                characters: "\n"
    - ~

