---
source: full-moon/tests/pass_cases.rs
assertion_line: 52
expression: ast.nodes()
input_file: full-moon/tests/lua54_cases/pass/attributes
---
stmts:
  - - LocalAssignment:
        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: " "
        name_list:
          pairs:
            - End:
                leading_trivia: []
                token:
                  start_position:
                    bytes: 6
                    line: 1
                    character: 7
                  end_position:
                    bytes: 7
                    line: 1
                    character: 8
                  token_type:
                    type: Identifier
                    identifier: a
                trailing_trivia:
                  - start_position:
                      bytes: 7
                      line: 1
                      character: 8
                    end_position:
                      bytes: 8
                      line: 1
                      character: 9
                    token_type:
                      type: Whitespace
                      characters: " "
        attributes:
          - brackets:
              tokens:
                - 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: []
                - leading_trivia: []
                  token:
                    start_position:
                      bytes: 14
                      line: 1
                      character: 15
                    end_position:
                      bytes: 15
                      line: 1
                      character: 16
                    token_type:
                      type: Symbol
                      symbol: ">"
                  trailing_trivia:
                    - start_position:
                        bytes: 15
                        line: 1
                        character: 16
                      end_position:
                        bytes: 16
                        line: 1
                        character: 17
                      token_type:
                        type: Whitespace
                        characters: " "
            name:
              leading_trivia: []
              token:
                start_position:
                  bytes: 9
                  line: 1
                  character: 10
                end_position:
                  bytes: 14
                  line: 1
                  character: 15
                token_type:
                  type: Identifier
                  identifier: const
              trailing_trivia: []
        equal_token:
          leading_trivia: []
          token:
            start_position:
              bytes: 16
              line: 1
              character: 17
            end_position:
              bytes: 17
              line: 1
              character: 18
            token_type:
              type: Symbol
              symbol: "="
          trailing_trivia:
            - start_position:
                bytes: 17
                line: 1
                character: 18
              end_position:
                bytes: 18
                line: 1
                character: 19
              token_type:
                type: Whitespace
                characters: " "
        expr_list:
          pairs:
            - End:
                Number:
                  leading_trivia: []
                  token:
                    start_position:
                      bytes: 18
                      line: 1
                      character: 19
                    end_position:
                      bytes: 19
                      line: 1
                      character: 20
                    token_type:
                      type: Number
                      text: "5"
                  trailing_trivia:
                    - start_position:
                        bytes: 19
                        line: 1
                        character: 20
                      end_position:
                        bytes: 20
                        line: 1
                        character: 20
                      token_type:
                        type: Whitespace
                        characters: "\n"
    - ~
  - - LocalAssignment:
        local_token:
          leading_trivia: []
          token:
            start_position:
              bytes: 20
              line: 2
              character: 1
            end_position:
              bytes: 25
              line: 2
              character: 6
            token_type:
              type: Symbol
              symbol: local
          trailing_trivia:
            - start_position:
                bytes: 25
                line: 2
                character: 6
              end_position:
                bytes: 26
                line: 2
                character: 7
              token_type:
                type: Whitespace
                characters: " "
        name_list:
          pairs:
            - End:
                leading_trivia: []
                token:
                  start_position:
                    bytes: 26
                    line: 2
                    character: 7
                  end_position:
                    bytes: 27
                    line: 2
                    character: 8
                  token_type:
                    type: Identifier
                    identifier: d
                trailing_trivia:
                  - start_position:
                      bytes: 27
                      line: 2
                      character: 8
                    end_position:
                      bytes: 28
                      line: 2
                      character: 9
                    token_type:
                      type: Whitespace
                      characters: " "
        attributes:
          - brackets:
              tokens:
                - leading_trivia: []
                  token:
                    start_position:
                      bytes: 28
                      line: 2
                      character: 9
                    end_position:
                      bytes: 29
                      line: 2
                      character: 10
                    token_type:
                      type: Symbol
                      symbol: "<"
                  trailing_trivia: []
                - leading_trivia: []
                  token:
                    start_position:
                      bytes: 34
                      line: 2
                      character: 15
                    end_position:
                      bytes: 35
                      line: 2
                      character: 16
                    token_type:
                      type: Symbol
                      symbol: ">"
                  trailing_trivia:
                    - start_position:
                        bytes: 35
                        line: 2
                        character: 16
                      end_position:
                        bytes: 36
                        line: 2
                        character: 16
                      token_type:
                        type: Whitespace
                        characters: "\n"
            name:
              leading_trivia: []
              token:
                start_position:
                  bytes: 29
                  line: 2
                  character: 10
                end_position:
                  bytes: 34
                  line: 2
                  character: 15
                token_type:
                  type: Identifier
                  identifier: close
              trailing_trivia: []
        equal_token: ~
        expr_list:
          pairs: []
    - ~
  - - LocalAssignment:
        local_token:
          leading_trivia: []
          token:
            start_position:
              bytes: 36
              line: 3
              character: 1
            end_position:
              bytes: 41
              line: 3
              character: 6
            token_type:
              type: Symbol
              symbol: local
          trailing_trivia:
            - start_position:
                bytes: 41
                line: 3
                character: 6
              end_position:
                bytes: 42
                line: 3
                character: 7
              token_type:
                type: Whitespace
                characters: " "
        name_list:
          pairs:
            - Punctuated:
                - leading_trivia: []
                  token:
                    start_position:
                      bytes: 42
                      line: 3
                      character: 7
                    end_position:
                      bytes: 43
                      line: 3
                      character: 8
                    token_type:
                      type: Identifier
                      identifier: e
                  trailing_trivia:
                    - start_position:
                        bytes: 43
                        line: 3
                        character: 8
                      end_position:
                        bytes: 44
                        line: 3
                        character: 9
                      token_type:
                        type: Whitespace
                        characters: " "
                - leading_trivia: []
                  token:
                    start_position:
                      bytes: 51
                      line: 3
                      character: 16
                    end_position:
                      bytes: 52
                      line: 3
                      character: 17
                    token_type:
                      type: Symbol
                      symbol: ","
                  trailing_trivia:
                    - start_position:
                        bytes: 52
                        line: 3
                        character: 17
                      end_position:
                        bytes: 53
                        line: 3
                        character: 18
                      token_type:
                        type: Whitespace
                        characters: " "
            - End:
                leading_trivia: []
                token:
                  start_position:
                    bytes: 53
                    line: 3
                    character: 18
                  end_position:
                    bytes: 54
                    line: 3
                    character: 19
                  token_type:
                    type: Identifier
                    identifier: f
                trailing_trivia:
                  - start_position:
                      bytes: 54
                      line: 3
                      character: 19
                    end_position:
                      bytes: 55
                      line: 3
                      character: 20
                    token_type:
                      type: Whitespace
                      characters: " "
        attributes:
          - brackets:
              tokens:
                - leading_trivia: []
                  token:
                    start_position:
                      bytes: 44
                      line: 3
                      character: 9
                    end_position:
                      bytes: 45
                      line: 3
                      character: 10
                    token_type:
                      type: Symbol
                      symbol: "<"
                  trailing_trivia: []
                - leading_trivia: []
                  token:
                    start_position:
                      bytes: 50
                      line: 3
                      character: 15
                    end_position:
                      bytes: 51
                      line: 3
                      character: 16
                    token_type:
                      type: Symbol
                      symbol: ">"
                  trailing_trivia: []
            name:
              leading_trivia: []
              token:
                start_position:
                  bytes: 45
                  line: 3
                  character: 10
                end_position:
                  bytes: 50
                  line: 3
                  character: 15
                token_type:
                  type: Identifier
                  identifier: const
              trailing_trivia: []
          - brackets:
              tokens:
                - leading_trivia: []
                  token:
                    start_position:
                      bytes: 55
                      line: 3
                      character: 20
                    end_position:
                      bytes: 56
                      line: 3
                      character: 21
                    token_type:
                      type: Symbol
                      symbol: "<"
                  trailing_trivia: []
                - leading_trivia: []
                  token:
                    start_position:
                      bytes: 61
                      line: 3
                      character: 26
                    end_position:
                      bytes: 62
                      line: 3
                      character: 27
                    token_type:
                      type: Symbol
                      symbol: ">"
                  trailing_trivia:
                    - start_position:
                        bytes: 62
                        line: 3
                        character: 27
                      end_position:
                        bytes: 63
                        line: 3
                        character: 28
                      token_type:
                        type: Whitespace
                        characters: " "
            name:
              leading_trivia: []
              token:
                start_position:
                  bytes: 56
                  line: 3
                  character: 21
                end_position:
                  bytes: 61
                  line: 3
                  character: 26
                token_type:
                  type: Identifier
                  identifier: close
              trailing_trivia: []
        equal_token:
          leading_trivia: []
          token:
            start_position:
              bytes: 63
              line: 3
              character: 28
            end_position:
              bytes: 64
              line: 3
              character: 29
            token_type:
              type: Symbol
              symbol: "="
          trailing_trivia:
            - start_position:
                bytes: 64
                line: 3
                character: 29
              end_position:
                bytes: 65
                line: 3
                character: 30
              token_type:
                type: Whitespace
                characters: " "
        expr_list:
          pairs:
            - Punctuated:
                - Number:
                    leading_trivia: []
                    token:
                      start_position:
                        bytes: 65
                        line: 3
                        character: 30
                      end_position:
                        bytes: 66
                        line: 3
                        character: 31
                      token_type:
                        type: Number
                        text: "1"
                    trailing_trivia: []
                - leading_trivia: []
                  token:
                    start_position:
                      bytes: 66
                      line: 3
                      character: 31
                    end_position:
                      bytes: 67
                      line: 3
                      character: 32
                    token_type:
                      type: Symbol
                      symbol: ","
                  trailing_trivia:
                    - start_position:
                        bytes: 67
                        line: 3
                        character: 32
                      end_position:
                        bytes: 68
                        line: 3
                        character: 33
                      token_type:
                        type: Whitespace
                        characters: " "
            - End:
                Number:
                  leading_trivia: []
                  token:
                    start_position:
                      bytes: 68
                      line: 3
                      character: 33
                    end_position:
                      bytes: 69
                      line: 3
                      character: 34
                    token_type:
                      type: Number
                      text: "2"
                  trailing_trivia:
                    - start_position:
                        bytes: 69
                        line: 3
                        character: 34
                      end_position:
                        bytes: 70
                        line: 3
                        character: 34
                      token_type:
                        type: Whitespace
                        characters: "\n"
    - ~
  - - LocalAssignment:
        local_token:
          leading_trivia: []
          token:
            start_position:
              bytes: 70
              line: 4
              character: 1
            end_position:
              bytes: 75
              line: 4
              character: 6
            token_type:
              type: Symbol
              symbol: local
          trailing_trivia:
            - start_position:
                bytes: 75
                line: 4
                character: 6
              end_position:
                bytes: 76
                line: 4
                character: 7
              token_type:
                type: Whitespace
                characters: " "
        name_list:
          pairs:
            - Punctuated:
                - leading_trivia: []
                  token:
                    start_position:
                      bytes: 76
                      line: 4
                      character: 7
                    end_position:
                      bytes: 77
                      line: 4
                      character: 8
                    token_type:
                      type: Identifier
                      identifier: g
                  trailing_trivia:
                    - start_position:
                        bytes: 77
                        line: 4
                        character: 8
                      end_position:
                        bytes: 78
                        line: 4
                        character: 9
                      token_type:
                        type: Whitespace
                        characters: " "
                - leading_trivia: []
                  token:
                    start_position:
                      bytes: 85
                      line: 4
                      character: 16
                    end_position:
                      bytes: 86
                      line: 4
                      character: 17
                    token_type:
                      type: Symbol
                      symbol: ","
                  trailing_trivia:
                    - start_position:
                        bytes: 86
                        line: 4
                        character: 17
                      end_position:
                        bytes: 87
                        line: 4
                        character: 18
                      token_type:
                        type: Whitespace
                        characters: " "
            - End:
                leading_trivia: []
                token:
                  start_position:
                    bytes: 87
                    line: 4
                    character: 18
                  end_position:
                    bytes: 88
                    line: 4
                    character: 19
                  token_type:
                    type: Identifier
                    identifier: h
                trailing_trivia:
                  - start_position:
                      bytes: 88
                      line: 4
                      character: 19
                    end_position:
                      bytes: 89
                      line: 4
                      character: 20
                    token_type:
                      type: Whitespace
                      characters: " "
        attributes:
          - brackets:
              tokens:
                - leading_trivia: []
                  token:
                    start_position:
                      bytes: 78
                      line: 4
                      character: 9
                    end_position:
                      bytes: 79
                      line: 4
                      character: 10
                    token_type:
                      type: Symbol
                      symbol: "<"
                  trailing_trivia: []
                - leading_trivia: []
                  token:
                    start_position:
                      bytes: 84
                      line: 4
                      character: 15
                    end_position:
                      bytes: 85
                      line: 4
                      character: 16
                    token_type:
                      type: Symbol
                      symbol: ">"
                  trailing_trivia: []
            name:
              leading_trivia: []
              token:
                start_position:
                  bytes: 79
                  line: 4
                  character: 10
                end_position:
                  bytes: 84
                  line: 4
                  character: 15
                token_type:
                  type: Identifier
                  identifier: const
              trailing_trivia: []
          - brackets:
              tokens:
                - leading_trivia: []
                  token:
                    start_position:
                      bytes: 89
                      line: 4
                      character: 20
                    end_position:
                      bytes: 90
                      line: 4
                      character: 21
                    token_type:
                      type: Symbol
                      symbol: "<"
                  trailing_trivia: []
                - leading_trivia: []
                  token:
                    start_position:
                      bytes: 95
                      line: 4
                      character: 26
                    end_position:
                      bytes: 96
                      line: 4
                      character: 27
                    token_type:
                      type: Symbol
                      symbol: ">"
                  trailing_trivia:
                    - start_position:
                        bytes: 96
                        line: 4
                        character: 27
                      end_position:
                        bytes: 97
                        line: 4
                        character: 27
                      token_type:
                        type: Whitespace
                        characters: "\n"
            name:
              leading_trivia: []
              token:
                start_position:
                  bytes: 90
                  line: 4
                  character: 21
                end_position:
                  bytes: 95
                  line: 4
                  character: 26
                token_type:
                  type: Identifier
                  identifier: close
              trailing_trivia: []
        equal_token: ~
        expr_list:
          pairs: []
    - ~
  - - LocalAssignment:
        local_token:
          leading_trivia: []
          token:
            start_position:
              bytes: 97
              line: 5
              character: 1
            end_position:
              bytes: 102
              line: 5
              character: 6
            token_type:
              type: Symbol
              symbol: local
          trailing_trivia:
            - start_position:
                bytes: 102
                line: 5
                character: 6
              end_position:
                bytes: 103
                line: 5
                character: 7
              token_type:
                type: Whitespace
                characters: " "
        name_list:
          pairs:
            - Punctuated:
                - leading_trivia: []
                  token:
                    start_position:
                      bytes: 103
                      line: 5
                      character: 7
                    end_position:
                      bytes: 104
                      line: 5
                      character: 8
                    token_type:
                      type: Identifier
                      identifier: i
                  trailing_trivia:
                    - start_position:
                        bytes: 104
                        line: 5
                        character: 8
                      end_position:
                        bytes: 105
                        line: 5
                        character: 9
                      token_type:
                        type: Whitespace
                        characters: " "
                - leading_trivia: []
                  token:
                    start_position:
                      bytes: 112
                      line: 5
                      character: 16
                    end_position:
                      bytes: 113
                      line: 5
                      character: 17
                    token_type:
                      type: Symbol
                      symbol: ","
                  trailing_trivia:
                    - start_position:
                        bytes: 113
                        line: 5
                        character: 17
                      end_position:
                        bytes: 114
                        line: 5
                        character: 18
                      token_type:
                        type: Whitespace
                        characters: " "
            - Punctuated:
                - leading_trivia: []
                  token:
                    start_position:
                      bytes: 114
                      line: 5
                      character: 18
                    end_position:
                      bytes: 115
                      line: 5
                      character: 19
                    token_type:
                      type: Identifier
                      identifier: j
                  trailing_trivia: []
                - leading_trivia: []
                  token:
                    start_position:
                      bytes: 115
                      line: 5
                      character: 19
                    end_position:
                      bytes: 116
                      line: 5
                      character: 20
                    token_type:
                      type: Symbol
                      symbol: ","
                  trailing_trivia:
                    - start_position:
                        bytes: 116
                        line: 5
                        character: 20
                      end_position:
                        bytes: 117
                        line: 5
                        character: 21
                      token_type:
                        type: Whitespace
                        characters: " "
            - End:
                leading_trivia: []
                token:
                  start_position:
                    bytes: 117
                    line: 5
                    character: 21
                  end_position:
                    bytes: 118
                    line: 5
                    character: 22
                  token_type:
                    type: Identifier
                    identifier: k
                trailing_trivia:
                  - start_position:
                      bytes: 118
                      line: 5
                      character: 22
                    end_position:
                      bytes: 119
                      line: 5
                      character: 23
                    token_type:
                      type: Whitespace
                      characters: " "
        attributes:
          - brackets:
              tokens:
                - leading_trivia: []
                  token:
                    start_position:
                      bytes: 105
                      line: 5
                      character: 9
                    end_position:
                      bytes: 106
                      line: 5
                      character: 10
                    token_type:
                      type: Symbol
                      symbol: "<"
                  trailing_trivia: []
                - leading_trivia: []
                  token:
                    start_position:
                      bytes: 111
                      line: 5
                      character: 15
                    end_position:
                      bytes: 112
                      line: 5
                      character: 16
                    token_type:
                      type: Symbol
                      symbol: ">"
                  trailing_trivia: []
            name:
              leading_trivia: []
              token:
                start_position:
                  bytes: 106
                  line: 5
                  character: 10
                end_position:
                  bytes: 111
                  line: 5
                  character: 15
                token_type:
                  type: Identifier
                  identifier: const
              trailing_trivia: []
          - ~
          - brackets:
              tokens:
                - leading_trivia: []
                  token:
                    start_position:
                      bytes: 119
                      line: 5
                      character: 23
                    end_position:
                      bytes: 120
                      line: 5
                      character: 24
                    token_type:
                      type: Symbol
                      symbol: "<"
                  trailing_trivia: []
                - leading_trivia: []
                  token:
                    start_position:
                      bytes: 125
                      line: 5
                      character: 29
                    end_position:
                      bytes: 126
                      line: 5
                      character: 30
                    token_type:
                      type: Symbol
                      symbol: ">"
                  trailing_trivia: []
            name:
              leading_trivia: []
              token:
                start_position:
                  bytes: 120
                  line: 5
                  character: 24
                end_position:
                  bytes: 125
                  line: 5
                  character: 29
                token_type:
                  type: Identifier
                  identifier: close
              trailing_trivia: []
        equal_token: ~
        expr_list:
          pairs: []
    - ~

