aboutsummaryrefslogtreecommitdiff
path: root/crates/syntax/test_data/parser/ok/0048_compound_assignment.rast
blob: eaab478433fbb411b01578aa31532aa8a562e214 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
SOURCE_FILE@0..257
  COMMENT@0..58 "// https://github.com ..."
  WHITESPACE@58..60 "\n\n"
  FN@60..256
    FN_KW@60..62 "fn"
    WHITESPACE@62..63 " "
    NAME@63..82
      IDENT@63..82 "compound_assignment"
    PARAM_LIST@82..84
      L_PAREN@82..83 "("
      R_PAREN@83..84 ")"
    WHITESPACE@84..85 " "
    BLOCK_EXPR@85..256
      L_CURLY@85..86 "{"
      WHITESPACE@86..91 "\n    "
      LET_STMT@91..105
        LET_KW@91..94 "let"
        WHITESPACE@94..95 " "
        IDENT_PAT@95..100
          MUT_KW@95..98 "mut"
          WHITESPACE@98..99 " "
          NAME@99..100
            IDENT@99..100 "a"
        WHITESPACE@100..101 " "
        EQ@101..102 "="
        WHITESPACE@102..103 " "
        LITERAL@103..104
          INT_NUMBER@103..104 "0"
        SEMICOLON@104..105 ";"
      WHITESPACE@105..110 "\n    "
      EXPR_STMT@110..117
        BIN_EXPR@110..116
          PATH_EXPR@110..111
            PATH@110..111
              PATH_SEGMENT@110..111
                NAME_REF@110..111
                  IDENT@110..111 "a"
          WHITESPACE@111..112 " "
          PLUSEQ@112..114 "+="
          WHITESPACE@114..115 " "
          LITERAL@115..116
            INT_NUMBER@115..116 "1"
        SEMICOLON@116..117 ";"
      WHITESPACE@117..122 "\n    "
      EXPR_STMT@122..129
        BIN_EXPR@122..128
          PATH_EXPR@122..123
            PATH@122..123
              PATH_SEGMENT@122..123
                NAME_REF@122..123
                  IDENT@122..123 "a"
          WHITESPACE@123..124 " "
          MINUSEQ@124..126 "-="
          WHITESPACE@126..127 " "
          LITERAL@127..128
            INT_NUMBER@127..128 "2"
        SEMICOLON@128..129 ";"
      WHITESPACE@129..134 "\n    "
      EXPR_STMT@134..141
        BIN_EXPR@134..140
          PATH_EXPR@134..135
            PATH@134..135
              PATH_SEGMENT@134..135
                NAME_REF@134..135
                  IDENT@134..135 "a"
          WHITESPACE@135..136 " "
          STAREQ@136..138 "*="
          WHITESPACE@138..139 " "
          LITERAL@139..140
            INT_NUMBER@139..140 "3"
        SEMICOLON@140..141 ";"
      WHITESPACE@141..146 "\n    "
      EXPR_STMT@146..153
        BIN_EXPR@146..152
          PATH_EXPR@146..147
            PATH@146..147
              PATH_SEGMENT@146..147
                NAME_REF@146..147
                  IDENT@146..147 "a"
          WHITESPACE@147..148 " "
          PERCENTEQ@148..150 "%="
          WHITESPACE@150..151 " "
          LITERAL@151..152
            INT_NUMBER@151..152 "4"
        SEMICOLON@152..153 ";"
      WHITESPACE@153..158 "\n    "
      EXPR_STMT@158..165
        BIN_EXPR@158..164
          PATH_EXPR@158..159
            PATH@158..159
              PATH_SEGMENT@158..159
                NAME_REF@158..159
                  IDENT@158..159 "a"
          WHITESPACE@159..160 " "
          SLASHEQ@160..162 "/="
          WHITESPACE@162..163 " "
          LITERAL@163..164
            INT_NUMBER@163..164 "5"
        SEMICOLON@164..165 ";"
      WHITESPACE@165..170 "\n    "
      EXPR_STMT@170..177
        BIN_EXPR@170..176
          PATH_EXPR@170..171
            PATH@170..171
              PATH_SEGMENT@170..171
                NAME_REF@170..171
                  IDENT@170..171 "a"
          WHITESPACE@171..172 " "
          PIPEEQ@172..174 "|="
          WHITESPACE@174..175 " "
          LITERAL@175..176
            INT_NUMBER@175..176 "6"
        SEMICOLON@176..177 ";"
      WHITESPACE@177..182 "\n    "
      EXPR_STMT@182..189
        BIN_EXPR@182..188
          PATH_EXPR@182..183
            PATH@182..183
              PATH_SEGMENT@182..183
                NAME_REF@182..183
                  IDENT@182..183 "a"
          WHITESPACE@183..184 " "
          AMPEQ@184..186 "&="
          WHITESPACE@186..187 " "
          LITERAL@187..188
            INT_NUMBER@187..188 "7"
        SEMICOLON@188..189 ";"
      WHITESPACE@189..194 "\n    "
      EXPR_STMT@194..201
        BIN_EXPR@194..200
          PATH_EXPR@194..195
            PATH@194..195
              PATH_SEGMENT@194..195
                NAME_REF@194..195
                  IDENT@194..195 "a"
          WHITESPACE@195..196 " "
          CARETEQ@196..198 "^="
          WHITESPACE@198..199 " "
          LITERAL@199..200
            INT_NUMBER@199..200 "8"
        SEMICOLON@200..201 ";"
      WHITESPACE@201..206 "\n    "
      EXPR_STMT@206..213
        BIN_EXPR@206..212
          PATH_EXPR@206..207
            PATH@206..207
              PATH_SEGMENT@206..207
                NAME_REF@206..207
                  IDENT@206..207 "a"
          WHITESPACE@207..208 " "
          LTEQ@208..210 "<="
          WHITESPACE@210..211 " "
          LITERAL@211..212
            INT_NUMBER@211..212 "9"
        SEMICOLON@212..213 ";"
      WHITESPACE@213..218 "\n    "
      EXPR_STMT@218..226
        BIN_EXPR@218..225
          PATH_EXPR@218..219
            PATH@218..219
              PATH_SEGMENT@218..219
                NAME_REF@218..219
                  IDENT@218..219 "a"
          WHITESPACE@219..220 " "
          GTEQ@220..222 ">="
          WHITESPACE@222..223 " "
          LITERAL@223..225
            INT_NUMBER@223..225 "10"
        SEMICOLON@225..226 ";"
      WHITESPACE@226..231 "\n    "
      EXPR_STMT@231..240
        BIN_EXPR@231..239
          PATH_EXPR@231..232
            PATH@231..232
              PATH_SEGMENT@231..232
                NAME_REF@231..232
                  IDENT@231..232 "a"
          WHITESPACE@232..233 " "
          SHREQ@233..236 ">>="
          WHITESPACE@236..237 " "
          LITERAL@237..239
            INT_NUMBER@237..239 "11"
        SEMICOLON@239..240 ";"
      WHITESPACE@240..245 "\n    "
      EXPR_STMT@245..254
        BIN_EXPR@245..253
          PATH_EXPR@245..246
            PATH@245..246
              PATH_SEGMENT@245..246
                NAME_REF@245..246
                  IDENT@245..246 "a"
          WHITESPACE@246..247 " "
          SHLEQ@247..250 "<<="
          WHITESPACE@250..251 " "
          LITERAL@251..253
            INT_NUMBER@251..253 "12"
        SEMICOLON@253..254 ";"
      WHITESPACE@254..255 "\n"
      R_CURLY@255..256 "}"
  WHITESPACE@256..257 "\n"