mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-11-26 13:51:55 +00:00
The general theme of this is to make parser a better independent library. The specific thing we do here is replacing callback based TreeSink with a data structure. That is, rather than calling user-provided tree construction methods, the parser now spits out a very bare-bones tree, effectively a log of a DFS traversal. This makes the parser usable without any *specifc* tree sink, and allows us to, eg, move tests into this crate. Now, it's also true that this is a distinction without a difference, as the old and the new interface are equivalent in expressiveness. Still, this new thing seems somewhat simpler. But yeah, I admit I don't have a suuper strong motivation here, just a hunch that this is better. |
||
|---|---|---|
| .. | ||
| base_db | ||
| cfg | ||
| flycheck | ||
| hir | ||
| hir_def | ||
| hir_expand | ||
| hir_ty | ||
| ide | ||
| ide_assists | ||
| ide_completion | ||
| ide_db | ||
| ide_diagnostics | ||
| ide_ssr | ||
| limit | ||
| mbe | ||
| parser | ||
| paths | ||
| proc_macro_api | ||
| proc_macro_srv | ||
| proc_macro_test | ||
| profile | ||
| project_model | ||
| rust-analyzer | ||
| sourcegen | ||
| stdx | ||
| syntax | ||
| test_utils | ||
| text_edit | ||
| toolchain | ||
| tt | ||
| vfs | ||
| vfs-notify | ||