full_moon 2.2.0

A lossless Lua parser
Documentation
---
source: full-moon/tests/fail_cases.rs
assertion_line: 16
expression: result.ast
input_file: full-moon/tests/cases/fail/parser/local-function-7
---
nodes:
  stmts:
    - - LocalFunction:
          local_token:
            leading_trivia: []
            token:
              start_position:
                bytes: 0
                line: 1
                character: 1
              end_position:
                bytes: 5
                line: 1
                character: 6
              token_type:
                type: Symbol
                symbol: local
            trailing_trivia:
              - start_position:
                  bytes: 5
                  line: 1
                  character: 6
                end_position:
                  bytes: 6
                  line: 1
                  character: 7
                token_type:
                  type: Whitespace
                  characters: " "
          function_token:
            leading_trivia: []
            token:
              start_position:
                bytes: 6
                line: 1
                character: 7
              end_position:
                bytes: 14
                line: 1
                character: 15
              token_type:
                type: Symbol
                symbol: function
            trailing_trivia:
              - start_position:
                  bytes: 14
                  line: 1
                  character: 15
                end_position:
                  bytes: 15
                  line: 1
                  character: 16
                token_type:
                  type: Whitespace
                  characters: " "
          name:
            leading_trivia: []
            token:
              start_position:
                bytes: 15
                line: 1
                character: 16
              end_position:
                bytes: 18
                line: 1
                character: 19
              token_type:
                type: Identifier
                identifier: foo
            trailing_trivia: []
          body:
            parameters_parentheses:
              tokens:
                - leading_trivia: []
                  token:
                    start_position:
                      bytes: 18
                      line: 1
                      character: 19
                    end_position:
                      bytes: 19
                      line: 1
                      character: 20
                    token_type:
                      type: Symbol
                      symbol: (
                  trailing_trivia: []
                - leading_trivia: []
                  token:
                    start_position:
                      bytes: 24
                      line: 1
                      character: 25
                    end_position:
                      bytes: 25
                      line: 1
                      character: 26
                    token_type:
                      type: Symbol
                      symbol: )
                  trailing_trivia:
                    - start_position:
                        bytes: 25
                        line: 1
                        character: 26
                      end_position:
                        bytes: 26
                        line: 1
                        character: 26
                      token_type:
                        type: Whitespace
                        characters: "\n"
            parameters:
              pairs:
                - Punctuated:
                    - Name:
                        leading_trivia: []
                        token:
                          start_position:
                            bytes: 19
                            line: 1
                            character: 20
                          end_position:
                            bytes: 20
                            line: 1
                            character: 21
                          token_type:
                            type: Identifier
                            identifier: x
                        trailing_trivia: []
                    - leading_trivia: []
                      token:
                        start_position:
                          bytes: 20
                          line: 1
                          character: 21
                        end_position:
                          bytes: 21
                          line: 1
                          character: 22
                        token_type:
                          type: Symbol
                          symbol: ","
                      trailing_trivia:
                        - start_position:
                            bytes: 21
                            line: 1
                            character: 22
                          end_position:
                            bytes: 22
                            line: 1
                            character: 23
                          token_type:
                            type: Whitespace
                            characters: " "
                - End:
                    Name:
                      leading_trivia: []
                      token:
                        start_position:
                          bytes: 22
                          line: 1
                          character: 23
                        end_position:
                          bytes: 23
                          line: 1
                          character: 24
                        token_type:
                          type: Identifier
                          identifier: y
                      trailing_trivia: []
            block:
              stmts:
                - - FunctionCall:
                      prefix:
                        Name:
                          leading_trivia:
                            - start_position:
                                bytes: 26
                                line: 2
                                character: 1
                              end_position:
                                bytes: 27
                                line: 2
                                character: 2
                              token_type:
                                type: Whitespace
                                characters: "\t"
                          token:
                            start_position:
                              bytes: 27
                              line: 2
                              character: 2
                            end_position:
                              bytes: 32
                              line: 2
                              character: 7
                            token_type:
                              type: Identifier
                              identifier: print
                          trailing_trivia: []
                      suffixes:
                        - Call:
                            AnonymousCall:
                              Parentheses:
                                parentheses:
                                  tokens:
                                    - leading_trivia: []
                                      token:
                                        start_position:
                                          bytes: 32
                                          line: 2
                                          character: 7
                                        end_position:
                                          bytes: 33
                                          line: 2
                                          character: 8
                                        token_type:
                                          type: Symbol
                                          symbol: (
                                      trailing_trivia: []
                                    - leading_trivia: []
                                      token:
                                        start_position:
                                          bytes: 37
                                          line: 2
                                          character: 12
                                        end_position:
                                          bytes: 38
                                          line: 2
                                          character: 13
                                        token_type:
                                          type: Symbol
                                          symbol: )
                                      trailing_trivia:
                                        - start_position:
                                            bytes: 38
                                            line: 2
                                            character: 13
                                          end_position:
                                            bytes: 39
                                            line: 2
                                            character: 13
                                          token_type:
                                            type: Whitespace
                                            characters: "\n"
                                arguments:
                                  pairs:
                                    - Punctuated:
                                        - Var:
                                            Name:
                                              leading_trivia: []
                                              token:
                                                start_position:
                                                  bytes: 33
                                                  line: 2
                                                  character: 8
                                                end_position:
                                                  bytes: 34
                                                  line: 2
                                                  character: 9
                                                token_type:
                                                  type: Identifier
                                                  identifier: x
                                              trailing_trivia: []
                                        - leading_trivia: []
                                          token:
                                            start_position:
                                              bytes: 34
                                              line: 2
                                              character: 9
                                            end_position:
                                              bytes: 35
                                              line: 2
                                              character: 10
                                            token_type:
                                              type: Symbol
                                              symbol: ","
                                          trailing_trivia:
                                            - start_position:
                                                bytes: 35
                                                line: 2
                                                character: 10
                                              end_position:
                                                bytes: 36
                                                line: 2
                                                character: 11
                                              token_type:
                                                type: Whitespace
                                                characters: " "
                                    - End:
                                        Var:
                                          Name:
                                            leading_trivia: []
                                            token:
                                              start_position:
                                                bytes: 36
                                                line: 2
                                                character: 11
                                              end_position:
                                                bytes: 37
                                                line: 2
                                                character: 12
                                              token_type:
                                                type: Identifier
                                                identifier: y
                                            trailing_trivia: []
                  - ~
            end_token:
              leading_trivia: []
              token:
                start_position:
                  bytes: 39
                  line: 3
                  character: 1
                end_position:
                  bytes: 42
                  line: 3
                  character: 4
                token_type:
                  type: Symbol
                  symbol: end
              trailing_trivia:
                - start_position:
                    bytes: 42
                    line: 3
                    character: 4
                  end_position:
                    bytes: 43
                    line: 3
                    character: 4
                  token_type:
                    type: Whitespace
                    characters: "\n"
      - ~
eof:
  leading_trivia: []
  token:
    start_position:
      bytes: 43
      line: 4
      character: 1
    end_position:
      bytes: 43
      line: 4
      character: 1
    token_type:
      type: Eof
  trailing_trivia: []