aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax/test_data/parser/err/0025_nope.rast
blob: 88b086daff4bfa228f69472e69c3f9c2601509e1 (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
202
SOURCE_FILE@0..575
  FN_DEF@0..574
    FN_KW@0..2 "fn"
    WHITESPACE@2..3 " "
    NAME@3..7
      IDENT@3..7 "main"
    PARAM_LIST@7..9
      L_PAREN@7..8 "("
      R_PAREN@8..9 ")"
    WHITESPACE@9..10 " "
    BLOCK_EXPR@10..574
      L_CURLY@10..11 "{"
      WHITESPACE@11..16 "\n    "
      ENUM_DEF@16..152
        ENUM_KW@16..20 "enum"
        WHITESPACE@20..21 " "
        NAME@21..25
          IDENT@21..25 "Test"
        WHITESPACE@25..26 " "
        ENUM_VARIANT_LIST@26..152
          L_CURLY@26..27 "{"
          WHITESPACE@27..36 "\n        "
          ENUM_VARIANT@36..40
            NAME@36..40
              IDENT@36..40 "Var1"
          COMMA@40..41 ","
          WHITESPACE@41..50 "\n        "
          ENUM_VARIANT@50..62
            NAME@50..54
              IDENT@50..54 "Var2"
            TUPLE_FIELD_DEF_LIST@54..62
              L_PAREN@54..55 "("
              TUPLE_FIELD_DEF@55..61
                PATH_TYPE@55..61
                  PATH@55..61
                    PATH_SEGMENT@55..61
                      NAME_REF@55..61
                        IDENT@55..61 "String"
              R_PAREN@61..62 ")"
          COMMA@62..63 ","
          WHITESPACE@63..72 "\n        "
          ENUM_VARIANT@72..145
            NAME@72..76
              IDENT@72..76 "Var3"
            WHITESPACE@76..77 " "
            RECORD_FIELD_DEF_LIST@77..145
              L_CURLY@77..78 "{"
              WHITESPACE@78..91 "\n            "
              RECORD_FIELD_DEF@91..95
                NAME@91..94
                  IDENT@91..94 "abc"
                COLON@94..95 ":"
              WHITESPACE@95..96 " "
              ERROR@96..98
                L_CURLY@96..97 "{"
                R_CURLY@97..98 "}"
              ERROR@98..99
                COMMA@98..99 ","
              WHITESPACE@99..100 " "
              COMMENT@100..135 "//~ ERROR: expected t ..."
              WHITESPACE@135..144 "\n        "
              R_CURLY@144..145 "}"
          COMMA@145..146 ","
          WHITESPACE@146..151 "\n    "
          R_CURLY@151..152 "}"
      WHITESPACE@152..158 "\n\n    "
      COMMENT@158..171 "// recover..."
      WHITESPACE@171..176 "\n    "
      LET_STMT@176..186
        LET_KW@176..179 "let"
        WHITESPACE@179..180 " "
        BIND_PAT@180..181
          NAME@180..181
            IDENT@180..181 "a"
        WHITESPACE@181..182 " "
        EQ@182..183 "="
        WHITESPACE@183..184 " "
        LITERAL@184..185
          INT_NUMBER@184..185 "1"
        SEMICOLON@185..186 ";"
      WHITESPACE@186..191 "\n    "
      ENUM_DEF@191..223
        ENUM_KW@191..195 "enum"
        WHITESPACE@195..196 " "
        NAME@196..201
          IDENT@196..201 "Test2"
        WHITESPACE@201..202 " "
        ENUM_VARIANT_LIST@202..223
          L_CURLY@202..203 "{"
          WHITESPACE@203..212 "\n        "
          ENUM_VARIANT@212..216
            NAME@212..216
              IDENT@212..216 "Fine"
          COMMA@216..217 ","
          WHITESPACE@217..222 "\n    "
          R_CURLY@222..223 "}"
      WHITESPACE@223..229 "\n\n    "
      ENUM_DEF@229..300
        ENUM_KW@229..233 "enum"
        WHITESPACE@233..234 " "
        NAME@234..239
          IDENT@234..239 "Test3"
        WHITESPACE@239..240 " "
        ENUM_VARIANT_LIST@240..300
          L_CURLY@240..241 "{"
          WHITESPACE@241..250 "\n        "
          ENUM_VARIANT@250..293
            NAME@250..259
              IDENT@250..259 "StillFine"
            WHITESPACE@259..260 " "
            RECORD_FIELD_DEF_LIST@260..293
              L_CURLY@260..261 "{"
              WHITESPACE@261..274 "\n            "
              RECORD_FIELD_DEF@274..282
                NAME@274..277
                  IDENT@274..277 "def"
                COLON@277..278 ":"
                WHITESPACE@278..279 " "
                PATH_TYPE@279..282
                  PATH@279..282
                    PATH_SEGMENT@279..282
                      NAME_REF@279..282
                        IDENT@279..282 "i32"
              COMMA@282..283 ","
              WHITESPACE@283..292 "\n        "
              R_CURLY@292..293 "}"
          COMMA@293..294 ","
          WHITESPACE@294..299 "\n    "
          R_CURLY@299..300 "}"
      WHITESPACE@300..306 "\n\n    "
      EXPR_STMT@306..459
        BLOCK_EXPR@306..459
          L_CURLY@306..307 "{"
          WHITESPACE@307..316 "\n        "
          ENUM_DEF@316..453
            COMMENT@316..329 "// fail again"
            WHITESPACE@329..338 "\n        "
            ENUM_KW@338..342 "enum"
            WHITESPACE@342..343 " "
            NAME@343..348
              IDENT@343..348 "Test4"
            WHITESPACE@348..349 " "
            ENUM_VARIANT_LIST@349..453
              L_CURLY@349..350 "{"
              WHITESPACE@350..363 "\n            "
              ENUM_VARIANT@363..372
                NAME@363..367
                  IDENT@363..367 "Nope"
                TUPLE_FIELD_DEF_LIST@367..372
                  L_PAREN@367..368 "("
                  TUPLE_FIELD_DEF@368..371
                    PATH_TYPE@368..371
                      PATH@368..371
                        PATH_SEGMENT@368..371
                          NAME_REF@368..371
                            IDENT@368..371 "i32"
                  WHITESPACE@371..372 " "
                  ERROR@372..372
              ERROR@372..374
                L_CURLY@372..373 "{"
                R_CURLY@373..374 "}"
              ERROR@374..375
                R_PAREN@374..375 ")"
              WHITESPACE@375..376 " "
              COMMENT@376..396 "//~ ERROR: found `{`"
              WHITESPACE@396..422 "\n                     ..."
              COMMENT@422..443 "//~^ ERROR: found `{`"
              WHITESPACE@443..452 "\n        "
              R_CURLY@452..453 "}"
          WHITESPACE@453..458 "\n    "
          R_CURLY@458..459 "}"
      WHITESPACE@459..464 "\n    "
      COMMENT@464..486 "// still recover later"
      WHITESPACE@486..491 "\n    "
      LET_STMT@491..510
        LET_KW@491..494 "let"
        WHITESPACE@494..495 " "
        BIND_PAT@495..505
          NAME@495..505
            IDENT@495..505 "bad_syntax"
        WHITESPACE@505..506 " "
        EQ@506..507 "="
        WHITESPACE@507..508 " "
        ERROR@508..509
          UNDERSCORE@508..509 "_"
        SEMICOLON@509..510 ";"
      WHITESPACE@510..511 " "
      COMMENT@511..572 "//~ ERROR: expected e ..."
      WHITESPACE@572..573 "\n"
      R_CURLY@573..574 "}"
  WHITESPACE@574..575 "\n"
error 95..95: expected type
error 95..95: expected COMMA
error 96..96: expected field
error 98..98: expected field declaration
error 371..371: expected COMMA
error 372..372: expected a type
error 372..372: expected R_PAREN
error 372..372: expected COMMA
error 372..372: expected enum variant
error 374..374: expected enum variant
error 508..508: expected expression