aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax/test_data/parser/ok/0048_compound_assignment.rast
blob: 849d8a445c74026919c944186fc8008513f02cb7 (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
201
SOURCE_FILE@[0; 257)
  COMMENT@[0; 58) "// https://github.com ..."
  WHITESPACE@[58; 60) "\n\n"
  FN_DEF@[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)
      BLOCK@[85; 256)
        L_CURLY@[85; 86) "{"
        WHITESPACE@[86; 91) "\n    "
        LET_STMT@[91; 105)
          LET_KW@[91; 94) "let"
          WHITESPACE@[94; 95) " "
          BIND_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"