full_moon 2.2.0

A lossless Lua parser
Documentation
---
source: full-moon/tests/pass_cases.rs
expression: ast.nodes()
input_file: full-moon/tests/cfxlua_cases/pass/set_constructor
---
stmts:
  - - Assignment:
        var_list:
          pairs:
            - End:
                Name:
                  leading_trivia: []
                  token:
                    start_position:
                      bytes: 0
                      line: 1
                      character: 1
                    end_position:
                      bytes: 1
                      line: 1
                      character: 2
                    token_type:
                      type: Identifier
                      identifier: t
                  trailing_trivia:
                    - start_position:
                        bytes: 1
                        line: 1
                        character: 2
                      end_position:
                        bytes: 2
                        line: 1
                        character: 3
                      token_type:
                        type: Whitespace
                        characters: " "
        equal_token:
          leading_trivia: []
          token:
            start_position:
              bytes: 2
              line: 1
              character: 3
            end_position:
              bytes: 3
              line: 1
              character: 4
            token_type:
              type: Symbol
              symbol: "="
          trailing_trivia:
            - start_position:
                bytes: 3
                line: 1
                character: 4
              end_position:
                bytes: 4
                line: 1
                character: 5
              token_type:
                type: Whitespace
                characters: " "
        expr_list:
          pairs:
            - End:
                TableConstructor:
                  braces:
                    tokens:
                      - leading_trivia: []
                        token:
                          start_position:
                            bytes: 4
                            line: 1
                            character: 5
                          end_position:
                            bytes: 5
                            line: 1
                            character: 6
                          token_type:
                            type: Symbol
                            symbol: "{"
                        trailing_trivia:
                          - start_position:
                              bytes: 5
                              line: 1
                              character: 6
                            end_position:
                              bytes: 6
                              line: 1
                              character: 7
                            token_type:
                              type: Whitespace
                              characters: " "
                      - 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: 22
                            token_type:
                              type: Whitespace
                              characters: "\n"
                  fields:
                    pairs:
                      - Punctuated:
                          - SetConstructor:
                              dot:
                                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: []
                              name:
                                leading_trivia: []
                                token:
                                  start_position:
                                    bytes: 7
                                    line: 1
                                    character: 8
                                  end_position:
                                    bytes: 8
                                    line: 1
                                    character: 9
                                  token_type:
                                    type: Identifier
                                    identifier: a
                                trailing_trivia: []
                          - leading_trivia: []
                            token:
                              start_position:
                                bytes: 8
                                line: 1
                                character: 9
                              end_position:
                                bytes: 9
                                line: 1
                                character: 10
                              token_type:
                                type: Symbol
                                symbol: ","
                            trailing_trivia:
                              - start_position:
                                  bytes: 9
                                  line: 1
                                  character: 10
                                end_position:
                                  bytes: 10
                                  line: 1
                                  character: 11
                                token_type:
                                  type: Whitespace
                                  characters: " "
                      - End:
                          NameKey:
                            key:
                              leading_trivia: []
                              token:
                                start_position:
                                  bytes: 10
                                  line: 1
                                  character: 11
                                end_position:
                                  bytes: 11
                                  line: 1
                                  character: 12
                                token_type:
                                  type: Identifier
                                  identifier: b
                              trailing_trivia:
                                - start_position:
                                    bytes: 11
                                    line: 1
                                    character: 12
                                  end_position:
                                    bytes: 12
                                    line: 1
                                    character: 13
                                  token_type:
                                    type: Whitespace
                                    characters: " "
                            equal:
                              leading_trivia: []
                              token:
                                start_position:
                                  bytes: 12
                                  line: 1
                                  character: 13
                                end_position:
                                  bytes: 13
                                  line: 1
                                  character: 14
                                token_type:
                                  type: Symbol
                                  symbol: "="
                              trailing_trivia:
                                - start_position:
                                    bytes: 13
                                    line: 1
                                    character: 14
                                  end_position:
                                    bytes: 14
                                    line: 1
                                    character: 15
                                  token_type:
                                    type: Whitespace
                                    characters: " "
                            value:
                              Symbol:
                                leading_trivia: []
                                token:
                                  start_position:
                                    bytes: 14
                                    line: 1
                                    character: 15
                                  end_position:
                                    bytes: 19
                                    line: 1
                                    character: 20
                                  token_type:
                                    type: Symbol
                                    symbol: "false"
                                trailing_trivia:
                                  - start_position:
                                      bytes: 19
                                      line: 1
                                      character: 20
                                    end_position:
                                      bytes: 20
                                      line: 1
                                      character: 21
                                    token_type:
                                      type: Whitespace
                                      characters: " "
    - ~