aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax/test_data/parser/ok/0062_macro_2.0.rast
blob: f89d7c0d9c6836fb8040584884a4917317644db2 (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
SOURCE_FILE@[0; 349)
  MACRO_DEF@[0; 93)
    MACRO_KW@[0; 5) "macro"
    WHITESPACE@[5; 6) " "
    NAME@[6; 21)
      IDENT@[6; 21) "parse_use_trees"
    TOKEN_TREE@[21; 93)
      TOKEN_TREE@[21; 41)
        L_PAREN@[21; 22) "("
        DOLLAR@[22; 23) "$"
        TOKEN_TREE@[23; 32)
          L_PAREN@[23; 24) "("
          DOLLAR@[24; 25) "$"
          IDENT@[25; 26) "s"
          COLON@[26; 27) ":"
          IDENT@[27; 31) "expr"
          R_PAREN@[31; 32) ")"
        COMMA@[32; 33) ","
        STAR@[33; 34) "*"
        WHITESPACE@[34; 35) " "
        DOLLAR@[35; 36) "$"
        TOKEN_TREE@[36; 39)
          L_PAREN@[36; 37) "("
          COMMA@[37; 38) ","
          R_PAREN@[38; 39) ")"
        STAR@[39; 40) "*"
        R_PAREN@[40; 41) ")"
      WHITESPACE@[41; 42) " "
      TOKEN_TREE@[42; 93)
        L_CURLY@[42; 43) "{"
        WHITESPACE@[43; 48) "\n    "
        IDENT@[48; 51) "vec"
        BANG@[51; 52) "!"
        TOKEN_TREE@[52; 91)
          L_BRACK@[52; 53) "["
          WHITESPACE@[53; 62) "\n        "
          DOLLAR@[62; 63) "$"
          TOKEN_TREE@[63; 84)
            L_PAREN@[63; 64) "("
            IDENT@[64; 78) "parse_use_tree"
            TOKEN_TREE@[78; 82)
              L_PAREN@[78; 79) "("
              DOLLAR@[79; 80) "$"
              IDENT@[80; 81) "s"
              R_PAREN@[81; 82) ")"
            COMMA@[82; 83) ","
            R_PAREN@[83; 84) ")"
          STAR@[84; 85) "*"
          WHITESPACE@[85; 90) "\n    "
          R_BRACK@[90; 91) "]"
        WHITESPACE@[91; 92) "\n"
        R_CURLY@[92; 93) "}"
  WHITESPACE@[93; 95) "\n\n"
  FN_DEF@[95; 348)
    ATTR@[95; 102)
      POUND@[95; 96) "#"
      L_BRACK@[96; 97) "["
      PATH@[97; 101)
        PATH_SEGMENT@[97; 101)
          NAME_REF@[97; 101)
            IDENT@[97; 101) "test"
      R_BRACK@[101; 102) "]"
    WHITESPACE@[102; 103) "\n"
    FN_KW@[103; 105) "fn"
    WHITESPACE@[105; 106) " "
    NAME@[106; 125)
      IDENT@[106; 125) "test_use_tree_merge"
    PARAM_LIST@[125; 127)
      L_PAREN@[125; 126) "("
      R_PAREN@[126; 127) ")"
    WHITESPACE@[127; 128) " "
    BLOCK_EXPR@[128; 348)
      BLOCK@[128; 348)
        L_CURLY@[128; 129) "{"
        WHITESPACE@[129; 134) "\n    "
        MACRO_DEF@[134; 346)
          MACRO_KW@[134; 139) "macro"
          WHITESPACE@[139; 140) " "
          NAME@[140; 150)
            IDENT@[140; 150) "test_merge"
          TOKEN_TREE@[150; 346)
            TOKEN_TREE@[150; 203)
              L_PAREN@[150; 151) "("
              TOKEN_TREE@[151; 175)
                L_BRACK@[151; 152) "["
                DOLLAR@[152; 153) "$"
                TOKEN_TREE@[153; 166)
                  L_PAREN@[153; 154) "("
                  DOLLAR@[154; 155) "$"
                  IDENT@[155; 160) "input"
                  COLON@[160; 161) ":"
                  IDENT@[161; 165) "expr"
                  R_PAREN@[165; 166) ")"
                COMMA@[166; 167) ","
                STAR@[167; 168) "*"
                WHITESPACE@[168; 169) " "
                DOLLAR@[169; 170) "$"
                TOKEN_TREE@[170; 173)
                  L_PAREN@[170; 171) "("
                  COMMA@[171; 172) ","
                  R_PAREN@[172; 173) ")"
                STAR@[173; 174) "*"
                R_BRACK@[174; 175) "]"
              COMMA@[175; 176) ","
              WHITESPACE@[176; 177) " "
              TOKEN_TREE@[177; 202)
                L_BRACK@[177; 178) "["
                DOLLAR@[178; 179) "$"
                TOKEN_TREE@[179; 193)
                  L_PAREN@[179; 180) "("
                  DOLLAR@[180; 181) "$"
                  IDENT@[181; 187) "output"
                  COLON@[187; 188) ":"
                  IDENT@[188; 192) "expr"
                  R_PAREN@[192; 193) ")"
                COMMA@[193; 194) ","
                STAR@[194; 195) "*"
                WHITESPACE@[195; 196) " "
                DOLLAR@[196; 197) "$"
                TOKEN_TREE@[197; 200)
                  L_PAREN@[197; 198) "("
                  COMMA@[198; 199) ","
                  R_PAREN@[199; 200) ")"
                STAR@[200; 201) "*"
                R_BRACK@[201; 202) "]"
              R_PAREN@[202; 203) ")"
            WHITESPACE@[203; 204) " "
            TOKEN_TREE@[204; 346)
              L_CURLY@[204; 205) "{"
              WHITESPACE@[205; 214) "\n        "
              IDENT@[214; 223) "assert_eq"
              BANG@[223; 224) "!"
              TOKEN_TREE@[224; 339)
                L_PAREN@[224; 225) "("
                WHITESPACE@[225; 238) "\n            "
                IDENT@[238; 253) "merge_use_trees"
                TOKEN_TREE@[253; 284)
                  L_PAREN@[253; 254) "("
                  IDENT@[254; 269) "parse_use_trees"
                  BANG@[269; 270) "!"
                  TOKEN_TREE@[270; 283)
                    L_PAREN@[270; 271) "("
                    DOLLAR@[271; 272) "$"
                    TOKEN_TREE@[272; 281)
                      L_PAREN@[272; 273) "("
                      DOLLAR@[273; 274) "$"
                      IDENT@[274; 279) "input"
                      COMMA@[279; 280) ","
                      R_PAREN@[280; 281) ")"
                    STAR@[281; 282) "*"
                    R_PAREN@[282; 283) ")"
                  R_PAREN@[283; 284) ")"
                COMMA@[284; 285) ","
                WHITESPACE@[285; 298) "\n            "
                IDENT@[298; 313) "parse_use_trees"
                BANG@[313; 314) "!"
                TOKEN_TREE@[314; 328)
                  L_PAREN@[314; 315) "("
                  DOLLAR@[315; 316) "$"
                  TOKEN_TREE@[316; 326)
                    L_PAREN@[316; 317) "("
                    DOLLAR@[317; 318) "$"
                    IDENT@[318; 324) "output"
                    COMMA@[324; 325) ","
                    R_PAREN@[325; 326) ")"
                  STAR@[326; 327) "*"
                  R_PAREN@[327; 328) ")"
                COMMA@[328; 329) ","
                WHITESPACE@[329; 338) "\n        "
                R_PAREN@[338; 339) ")"
              SEMICOLON@[339; 340) ";"
              WHITESPACE@[340; 345) "\n    "
              R_CURLY@[345; 346) "}"
        WHITESPACE@[346; 347) "\n"
        R_CURLY@[347; 348) "}"
  WHITESPACE@[348; 349) "\n"