Commit 9e64ae5
authored
feat: Handle "synthesized" class/member annotations (#52)
This adds support for "synthesized" class and member annotations.
* It adds a new variant `Synthesized` to `R8Header` to parse these
annotations.
* It adds `is_synthesized` flags to `ClassMapping` and `MemberMapping`
and their corresponding cache types. In the cache the flags have type
`u8` because `bool` would be unsound to transmute.
* It adds an `method_synthesized` flag to `StackFrame` that is set if the
frame's method is flagged as synthesized.
* It adds cache-using variants to the tests in `callback.rs`.
* It bumps the version of the proguard cache format to 2. The version
needs to be increased because records now have an extra field.
With this change, `remap_frame` (both the `mapper` and the `cache`
version) will return exactly the same frames as before, but some of them
might be marked as synthesized. This means it's up to the caller to
decide what to do with synthesized frames.
Closes #48. Closes RUSTPRO-3.1 parent 2d3ec7b commit 9e64ae5
File tree
8 files changed
+311
-19
lines changed- src
- cache
- tests
8 files changed
+311
-19
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
| 52 | + | |
| 53 | + | |
52 | 54 | | |
53 | 55 | | |
54 | 56 | | |
| |||
112 | 114 | | |
113 | 115 | | |
114 | 116 | | |
115 | | - | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
116 | 121 | | |
117 | 122 | | |
118 | 123 | | |
| |||
167 | 172 | | |
168 | 173 | | |
169 | 174 | | |
170 | | - | |
| 175 | + | |
| 176 | + | |
171 | 177 | | |
172 | 178 | | |
173 | 179 | | |
| |||
187 | 193 | | |
188 | 194 | | |
189 | 195 | | |
190 | | - | |
| 196 | + | |
191 | 197 | | |
| 198 | + | |
192 | 199 | | |
193 | 200 | | |
194 | 201 | | |
| |||
251 | 258 | | |
252 | 259 | | |
253 | 260 | | |
254 | | - | |
255 | | - | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
256 | 272 | | |
257 | 273 | | |
258 | 274 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
| 38 | + | |
38 | 39 | | |
39 | 40 | | |
40 | 41 | | |
| |||
105 | 106 | | |
106 | 107 | | |
107 | 108 | | |
| 109 | + | |
108 | 110 | | |
109 | 111 | | |
110 | 112 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | | - | |
17 | | - | |
18 | | - | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
19 | 21 | | |
20 | 22 | | |
21 | 23 | | |
22 | 24 | | |
23 | | - | |
24 | | - | |
25 | | - | |
26 | | - | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
27 | 35 | | |
28 | 36 | | |
29 | 37 | | |
| |||
268 | 276 | | |
269 | 277 | | |
270 | 278 | | |
271 | | - | |
| 279 | + | |
272 | 280 | | |
273 | 281 | | |
274 | 282 | | |
| |||
495 | 503 | | |
496 | 504 | | |
497 | 505 | | |
| 506 | + | |
498 | 507 | | |
499 | 508 | | |
500 | 509 | | |
| |||
519 | 528 | | |
520 | 529 | | |
521 | 530 | | |
| 531 | + | |
522 | 532 | | |
523 | 533 | | |
524 | 534 | | |
| |||
558 | 568 | | |
559 | 569 | | |
560 | 570 | | |
| 571 | + | |
561 | 572 | | |
562 | 573 | | |
563 | 574 | | |
564 | 575 | | |
565 | 576 | | |
566 | 577 | | |
567 | 578 | | |
| 579 | + | |
568 | 580 | | |
569 | 581 | | |
570 | 582 | | |
| |||
578 | 590 | | |
579 | 591 | | |
580 | 592 | | |
| 593 | + | |
581 | 594 | | |
582 | 595 | | |
583 | 596 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | | - | |
| 21 | + | |
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| |||
56 | 56 | | |
57 | 57 | | |
58 | 58 | | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
59 | 76 | | |
60 | 77 | | |
61 | 78 | | |
| |||
68 | 85 | | |
69 | 86 | | |
70 | 87 | | |
| 88 | + | |
| 89 | + | |
71 | 90 | | |
72 | 91 | | |
73 | 92 | | |
| |||
94 | 113 | | |
95 | 114 | | |
96 | 115 | | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
97 | 130 | | |
98 | 131 | | |
99 | 132 | | |
| |||
198 | 231 | | |
199 | 232 | | |
200 | 233 | | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
201 | 239 | | |
202 | 240 | | |
203 | 241 | | |
204 | 242 | | |
| 243 | + | |
205 | 244 | | |
206 | 245 | | |
207 | 246 | | |
| |||
324 | 363 | | |
325 | 364 | | |
326 | 365 | | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
327 | 373 | | |
328 | 374 | | |
329 | 375 | | |
| |||
334 | 380 | | |
335 | 381 | | |
336 | 382 | | |
| 383 | + | |
| 384 | + | |
337 | 385 | | |
338 | 386 | | |
339 | 387 | | |
| |||
342 | 390 | | |
343 | 391 | | |
344 | 392 | | |
| 393 | + | |
345 | 394 | | |
346 | 395 | | |
347 | 396 | | |
348 | 397 | | |
349 | 398 | | |
| 399 | + | |
350 | 400 | | |
351 | 401 | | |
352 | 402 | | |
| |||
362 | 412 | | |
363 | 413 | | |
364 | 414 | | |
| 415 | + | |
365 | 416 | | |
366 | 417 | | |
367 | 418 | | |
| |||
0 commit comments