@@ -60,8 +60,8 @@ impl<'b, W: Write + 'b> Dump for CsvDumper<'b, W> {
60
60
}
61
61
62
62
fn enum_data ( & mut self , data : EnumData ) {
63
- let id = data. id . to_string ( ) ;
64
- let scope = data. scope . to_string ( ) ;
63
+ let id = data. id . index . as_u32 ( ) . to_string ( ) ;
64
+ let scope = data. scope . index . as_u32 ( ) . to_string ( ) ;
65
65
let values = make_values_str ( & [
66
66
( "id" , & id) ,
67
67
( "qualname" , & data. qualname ) ,
@@ -73,9 +73,9 @@ impl<'b, W: Write + 'b> Dump for CsvDumper<'b, W> {
73
73
}
74
74
75
75
fn extern_crate ( & mut self , data : ExternCrateData ) {
76
- let id = data. id . to_string ( ) ;
76
+ let id = data. id . index . as_u32 ( ) . to_string ( ) ;
77
77
let crate_num = data. crate_num . to_string ( ) ;
78
- let scope = data. scope . to_string ( ) ;
78
+ let scope = data. scope . index . as_u32 ( ) . to_string ( ) ;
79
79
let values = make_values_str ( & [
80
80
( "id" , & id) ,
81
81
( "name" , & data. name ) ,
@@ -88,50 +88,68 @@ impl<'b, W: Write + 'b> Dump for CsvDumper<'b, W> {
88
88
}
89
89
90
90
fn impl_data ( & mut self , data : ImplData ) {
91
- let id = data. id . to_string ( ) ;
92
- let ref_id = data. self_ref . unwrap_or ( Id :: null ( ) ) . to_string ( ) ;
93
- let trait_id = data. trait_ref . unwrap_or ( Id :: null ( ) ) . to_string ( ) ;
94
- let scope = data. scope . to_string ( ) ;
91
+ let self_ref = data. self_ref . unwrap_or ( null_def_id ( ) ) ;
92
+ let trait_ref = data. trait_ref . unwrap_or ( null_def_id ( ) ) ;
93
+
94
+ let id = data. id . index . as_u32 ( ) . to_string ( ) ;
95
+ let ref_id = self_ref. index . as_usize ( ) . to_string ( ) ;
96
+ let ref_id_crate = self_ref. krate . to_string ( ) ;
97
+ let trait_id = trait_ref. index . as_usize ( ) . to_string ( ) ;
98
+ let trait_id_crate = trait_ref. krate . to_string ( ) ;
99
+ let scope = data. scope . index . as_u32 ( ) . to_string ( ) ;
95
100
let values = make_values_str ( & [
96
101
( "id" , & id) ,
97
102
( "refid" , & ref_id) ,
103
+ ( "refidcrate" , & ref_id_crate) ,
98
104
( "traitid" , & trait_id) ,
105
+ ( "traitidcrate" , & trait_id_crate) ,
99
106
( "scopeid" , & scope)
100
107
] ) ;
101
108
102
109
self . record ( "impl" , data. span , values) ;
103
110
}
104
111
105
112
fn inheritance ( & mut self , data : InheritanceData ) {
106
- let base_id = data. base_id . to_string ( ) ;
107
- let deriv_id = data. deriv_id . to_string ( ) ;
108
- let values = make_values_str ( & [
109
- ( "base" , & base_id) ,
110
- ( "derived" , & deriv_id) ,
111
- ] ) ;
113
+ let base_id = data. base_id . index . as_usize ( ) . to_string ( ) ;
114
+ let base_crate = data. base_id . krate . to_string ( ) ;
115
+ let deriv_id = data. deriv_id . index . as_u32 ( ) . to_string ( ) ;
116
+ let deriv_crate = data. deriv_id . krate . to_string ( ) ;
117
+ let values = make_values_str ( & [
118
+ ( "base" , & base_id) ,
119
+ ( "basecrate" , & base_crate) ,
120
+ ( "derived" , & deriv_id) ,
121
+ ( "derivedcrate" , & deriv_crate)
122
+ ] ) ;
112
123
113
124
self . record ( "inheritance" , data. span , values) ;
114
125
}
115
126
116
127
fn function ( & mut self , data : FunctionData ) {
117
- let id = data. id . to_string ( ) ;
118
- let decl_id = data. declaration . unwrap_or ( Id :: null ( ) ) . to_string ( ) ;
119
- let scope = data. scope . to_string ( ) ;
128
+ let ( decl_id, decl_crate) = match data. declaration {
129
+ Some ( id) => ( id. index . as_usize ( ) . to_string ( ) , id. krate . to_string ( ) ) ,
130
+ None => ( String :: new ( ) , String :: new ( ) )
131
+ } ;
132
+
133
+ let id = data. id . index . as_u32 ( ) . to_string ( ) ;
134
+ let scope = data. scope . index . as_u32 ( ) . to_string ( ) ;
120
135
let values = make_values_str ( & [
121
136
( "id" , & id) ,
122
137
( "qualname" , & data. qualname ) ,
123
138
( "declid" , & decl_id) ,
139
+ ( "declidcrate" , & decl_crate) ,
124
140
( "scopeid" , & scope)
125
141
] ) ;
126
142
127
143
self . record ( "function" , data. span , values) ;
128
144
}
129
145
130
146
fn function_ref ( & mut self , data : FunctionRefData ) {
131
- let ref_id = data. ref_id . to_string ( ) ;
132
- let scope = data. scope . to_string ( ) ;
147
+ let ref_id = data. ref_id . index . as_usize ( ) . to_string ( ) ;
148
+ let ref_crate = data. ref_id . krate . to_string ( ) ;
149
+ let scope = data. scope . index . as_u32 ( ) . to_string ( ) ;
133
150
let values = make_values_str ( & [
134
151
( "refid" , & ref_id) ,
152
+ ( "refidcrate" , & ref_crate) ,
135
153
( "qualname" , "" ) ,
136
154
( "scopeid" , & scope)
137
155
] ) ;
@@ -140,11 +158,13 @@ impl<'b, W: Write + 'b> Dump for CsvDumper<'b, W> {
140
158
}
141
159
142
160
fn function_call ( & mut self , data : FunctionCallData ) {
143
- let ref_id = data. ref_id . to_string ( ) ;
161
+ let ref_id = data. ref_id . index . as_usize ( ) . to_string ( ) ;
162
+ let ref_crate = data. ref_id . krate . to_string ( ) ;
144
163
let qualname = String :: new ( ) ;
145
- let scope = data. scope . to_string ( ) ;
164
+ let scope = data. scope . index . as_u32 ( ) . to_string ( ) ;
146
165
let values = make_values_str ( & [
147
166
( "refid" , & ref_id) ,
167
+ ( "refidcrate" , & ref_crate) ,
148
168
( "qualname" , & qualname) ,
149
169
( "scopeid" , & scope)
150
170
] ) ;
@@ -153,8 +173,8 @@ impl<'b, W: Write + 'b> Dump for CsvDumper<'b, W> {
153
173
}
154
174
155
175
fn method ( & mut self , data : MethodData ) {
156
- let id = data. id . to_string ( ) ;
157
- let scope = data. scope . to_string ( ) ;
176
+ let id = data. id . index . as_u32 ( ) . to_string ( ) ;
177
+ let scope = data. scope . index . as_u32 ( ) . to_string ( ) ;
158
178
let values = make_values_str ( & [
159
179
( "id" , & id) ,
160
180
( "qualname" , & data. qualname ) ,
@@ -165,12 +185,21 @@ impl<'b, W: Write + 'b> Dump for CsvDumper<'b, W> {
165
185
}
166
186
167
187
fn method_call ( & mut self , data : MethodCallData ) {
168
- let decl_id = data. decl_id . unwrap_or ( Id :: null ( ) ) . to_string ( ) ;
169
- let ref_id = data. ref_id . unwrap_or ( Id :: null ( ) ) . to_string ( ) ;
170
- let scope = data. scope . to_string ( ) ;
188
+ let ( dcn, dck) = match data. decl_id {
189
+ Some ( declid) => ( declid. index . as_usize ( ) . to_string ( ) , declid. krate . to_string ( ) ) ,
190
+ None => ( String :: new ( ) , String :: new ( ) ) ,
191
+ } ;
192
+
193
+ let ref_id = data. ref_id . unwrap_or ( null_def_id ( ) ) ;
194
+
195
+ let def_id = ref_id. index . as_usize ( ) . to_string ( ) ;
196
+ let def_crate = ref_id. krate . to_string ( ) ;
197
+ let scope = data. scope . index . as_u32 ( ) . to_string ( ) ;
171
198
let values = make_values_str ( & [
172
- ( "refid" , & ref_id) ,
173
- ( "declid" , & decl_id) ,
199
+ ( "refid" , & def_id) ,
200
+ ( "refidcrate" , & def_crate) ,
201
+ ( "declid" , & dcn) ,
202
+ ( "declidcrate" , & dck) ,
174
203
( "scopeid" , & scope)
175
204
] ) ;
176
205
@@ -187,7 +216,7 @@ impl<'b, W: Write + 'b> Dump for CsvDumper<'b, W> {
187
216
}
188
217
189
218
fn macro_use ( & mut self , data : MacroUseData ) {
190
- let scope = data. scope . to_string ( ) ;
219
+ let scope = data. scope . index . as_u32 ( ) . to_string ( ) ;
191
220
let values = make_values_str ( & [
192
221
( "callee_name" , & data. name ) ,
193
222
( "qualname" , & data. qualname ) ,
@@ -198,8 +227,8 @@ impl<'b, W: Write + 'b> Dump for CsvDumper<'b, W> {
198
227
}
199
228
200
229
fn mod_data ( & mut self , data : ModData ) {
201
- let id = data. id . to_string ( ) ;
202
- let scope = data. scope . to_string ( ) ;
230
+ let id = data. id . index . as_u32 ( ) . to_string ( ) ;
231
+ let scope = data. scope . index . as_u32 ( ) . to_string ( ) ;
203
232
let values = make_values_str ( & [
204
233
( "id" , & id) ,
205
234
( "qualname" , & data. qualname ) ,
@@ -211,11 +240,15 @@ impl<'b, W: Write + 'b> Dump for CsvDumper<'b, W> {
211
240
}
212
241
213
242
fn mod_ref ( & mut self , data : ModRefData ) {
214
- let ref_id = data. ref_id . unwrap_or ( Id :: null ( ) ) . to_string ( ) ;
243
+ let ( ref_id, ref_crate) = match data. ref_id {
244
+ Some ( rid) => ( rid. index . as_usize ( ) . to_string ( ) , rid. krate . to_string ( ) ) ,
245
+ None => ( 0 . to_string ( ) , 0 . to_string ( ) )
246
+ } ;
215
247
216
- let scope = data. scope . to_string ( ) ;
248
+ let scope = data. scope . index . as_u32 ( ) . to_string ( ) ;
217
249
let values = make_values_str ( & [
218
250
( "refid" , & ref_id) ,
251
+ ( "refidcrate" , & ref_crate) ,
219
252
( "qualname" , & data. qualname ) ,
220
253
( "scopeid" , & scope)
221
254
] ) ;
@@ -224,9 +257,9 @@ impl<'b, W: Write + 'b> Dump for CsvDumper<'b, W> {
224
257
}
225
258
226
259
fn struct_data ( & mut self , data : StructData ) {
227
- let id = data. id . to_string ( ) ;
228
- let ctor_id = data. ctor_id . to_string ( ) ;
229
- let scope = data. scope . to_string ( ) ;
260
+ let id = data. id . index . as_u32 ( ) . to_string ( ) ;
261
+ let ctor_id = data. ctor_id . index . as_u32 ( ) . to_string ( ) ;
262
+ let scope = data. scope . index . as_u32 ( ) . to_string ( ) ;
230
263
let values = make_values_str ( & [
231
264
( "id" , & id) ,
232
265
( "ctor_id" , & ctor_id) ,
@@ -239,8 +272,8 @@ impl<'b, W: Write + 'b> Dump for CsvDumper<'b, W> {
239
272
}
240
273
241
274
fn struct_variant ( & mut self , data : StructVariantData ) {
242
- let id = data. id . to_string ( ) ;
243
- let scope = data. scope . to_string ( ) ;
275
+ let id = data. id . index . as_u32 ( ) . to_string ( ) ;
276
+ let scope = data. scope . index . as_u32 ( ) . to_string ( ) ;
244
277
let values = make_values_str ( & [
245
278
( "id" , & id) ,
246
279
( "ctor_id" , & id) ,
@@ -254,8 +287,8 @@ impl<'b, W: Write + 'b> Dump for CsvDumper<'b, W> {
254
287
}
255
288
256
289
fn trait_data ( & mut self , data : TraitData ) {
257
- let id = data. id . to_string ( ) ;
258
- let scope = data. scope . to_string ( ) ;
290
+ let id = data. id . index . as_u32 ( ) . to_string ( ) ;
291
+ let scope = data. scope . index . as_u32 ( ) . to_string ( ) ;
259
292
let values = make_values_str ( & [
260
293
( "id" , & id) ,
261
294
( "qualname" , & data. qualname ) ,
@@ -267,8 +300,8 @@ impl<'b, W: Write + 'b> Dump for CsvDumper<'b, W> {
267
300
}
268
301
269
302
fn tuple_variant ( & mut self , data : TupleVariantData ) {
270
- let id = data. id . to_string ( ) ;
271
- let scope = data. scope . to_string ( ) ;
303
+ let id = data. id . index . as_u32 ( ) . to_string ( ) ;
304
+ let scope = data. scope . index . as_u32 ( ) . to_string ( ) ;
272
305
let values = make_values_str ( & [
273
306
( "id" , & id) ,
274
307
( "name" , & data. name ) ,
@@ -282,10 +315,15 @@ impl<'b, W: Write + 'b> Dump for CsvDumper<'b, W> {
282
315
}
283
316
284
317
fn type_ref ( & mut self , data : TypeRefData ) {
285
- let ref_id = data. ref_id . unwrap_or ( Id :: null ( ) ) . to_string ( ) ;
286
- let scope = data. scope . to_string ( ) ;
318
+ let ( ref_id, ref_crate) = match data. ref_id {
319
+ Some ( id) => ( id. index . as_usize ( ) . to_string ( ) , id. krate . to_string ( ) ) ,
320
+ None => ( 0 . to_string ( ) , 0 . to_string ( ) )
321
+ } ;
322
+
323
+ let scope = data. scope . index . as_u32 ( ) . to_string ( ) ;
287
324
let values = make_values_str ( & [
288
325
( "refid" , & ref_id) ,
326
+ ( "refidcrate" , & ref_crate) ,
289
327
( "qualname" , & data. qualname ) ,
290
328
( "scopeid" , & scope)
291
329
] ) ;
@@ -294,7 +332,7 @@ impl<'b, W: Write + 'b> Dump for CsvDumper<'b, W> {
294
332
}
295
333
296
334
fn typedef ( & mut self , data : TypedefData ) {
297
- let id = data. id . to_string ( ) ;
335
+ let id = data. id . index . as_u32 ( ) . to_string ( ) ;
298
336
let values = make_values_str ( & [
299
337
( "id" , & id) ,
300
338
( "qualname" , & data. qualname ) ,
@@ -305,12 +343,16 @@ impl<'b, W: Write + 'b> Dump for CsvDumper<'b, W> {
305
343
}
306
344
307
345
fn use_data ( & mut self , data : UseData ) {
308
- let id = data. id . to_string ( ) ;
309
- let mod_id = data. mod_id . unwrap_or ( Id :: null ( ) ) . to_string ( ) ;
310
- let scope = data. scope . to_string ( ) ;
346
+ let mod_id = data. mod_id . unwrap_or ( null_def_id ( ) ) ;
347
+
348
+ let id = data. id . index . as_u32 ( ) . to_string ( ) ;
349
+ let ref_id = mod_id. index . as_usize ( ) . to_string ( ) ;
350
+ let ref_crate = mod_id. krate . to_string ( ) ;
351
+ let scope = data. scope . index . as_u32 ( ) . to_string ( ) ;
311
352
let values = make_values_str ( & [
312
353
( "id" , & id) ,
313
- ( "mod_id" , & mod_id) ,
354
+ ( "refid" , & ref_id) ,
355
+ ( "refidcrate" , & ref_crate) ,
314
356
( "name" , & data. name ) ,
315
357
( "scopeid" , & scope)
316
358
] ) ;
@@ -321,8 +363,8 @@ impl<'b, W: Write + 'b> Dump for CsvDumper<'b, W> {
321
363
fn use_glob ( & mut self , data : UseGlobData ) {
322
364
let names = data. names . join ( ", " ) ;
323
365
324
- let id = data. id . to_string ( ) ;
325
- let scope = data. scope . to_string ( ) ;
366
+ let id = data. id . index . as_u32 ( ) . to_string ( ) ;
367
+ let scope = data. scope . index . as_u32 ( ) . to_string ( ) ;
326
368
let values = make_values_str ( & [
327
369
( "id" , & id) ,
328
370
( "value" , & names) ,
@@ -333,8 +375,8 @@ impl<'b, W: Write + 'b> Dump for CsvDumper<'b, W> {
333
375
}
334
376
335
377
fn variable ( & mut self , data : VariableData ) {
336
- let id = data. id . to_string ( ) ;
337
- let scope = data. scope . to_string ( ) ;
378
+ let id = data. id . index . as_u32 ( ) . to_string ( ) ;
379
+ let scope = data. scope . index . as_u32 ( ) . to_string ( ) ;
338
380
let values = make_values_str ( & [
339
381
( "id" , & id) ,
340
382
( "name" , & data. name ) ,
@@ -348,10 +390,12 @@ impl<'b, W: Write + 'b> Dump for CsvDumper<'b, W> {
348
390
}
349
391
350
392
fn variable_ref ( & mut self , data : VariableRefData ) {
351
- let id = data. ref_id . to_string ( ) ;
352
- let scope = data. scope . to_string ( ) ;
393
+ let ref_id = data. ref_id . index . as_usize ( ) . to_string ( ) ;
394
+ let ref_crate = data. ref_id . krate . to_string ( ) ;
395
+ let scope = data. scope . index . as_u32 ( ) . to_string ( ) ;
353
396
let values = make_values_str ( & [
354
- ( "id" , & id) ,
397
+ ( "refid" , & ref_id) ,
398
+ ( "refidcrate" , & ref_crate) ,
355
399
( "qualname" , "" ) ,
356
400
( "scopeid" , & scope)
357
401
] ) ;
0 commit comments