rust/compiler
Matthias Krüger b681dc2af4
Rollup merge of #92573 - petrochenkov:ltrattr3, r=Aaron1011
expand: Refactor InvocationCollector visitor for better code reuse

The refactoring part of https://github.com/rust-lang/rust/pull/92473.

Invocation collector visitor logic now lives in two main functions:
- `fn flat_map_node`, corresponding to "one to many" expansions
- `fn visit_node`, corresponding to "one to one" expansions

All specific mut visitor methods now use one of these functions.

The new `InvocationCollectorNode` trait implemented for all `AstFragment` nodes provides the necessary small pieces of functionality required to implement the `(flat_map,visit)_node` functions.
r? `@Aaron1011`
2022-01-09 13:38:31 +01:00
..
rustc Remove useless #[global_allocator] from rustc and rustdoc. 2021-12-23 17:23:21 +11:00
rustc_apfloat
rustc_arena
rustc_ast expand: Refactor InvocationCollector visitor for better code reuse 2022-01-07 14:41:22 +08:00
rustc_ast_lowering Rollup merge of #91907 - lcnr:const-arg-infer, r=BoxyUwU 2022-01-04 21:23:06 +01:00
rustc_ast_passes Move PatKind::Lit checking from ast_validation to ast lowering 2022-01-01 15:10:43 -05:00
rustc_ast_pretty Rollup merge of #92336 - dtolnay:printstateself, r=michaelwoerister 2022-01-07 20:20:56 -08:00
rustc_attr
rustc_borrowck Rollup merge of #90102 - nbdd0121:box3, r=jonas-schievink 2022-01-03 14:44:15 +01:00
rustc_builtin_macros Auto merge of #92066 - Smittyvb:concat_bytes-repeat, r=nagisa 2022-01-02 12:38:41 +00:00
rustc_codegen_cranelift Rollup merge of #90102 - nbdd0121:box3, r=jonas-schievink 2022-01-03 14:44:15 +01:00
rustc_codegen_gcc Update references to -Z symbol-mangling-version to use -C 2022-01-01 15:53:11 -08:00
rustc_codegen_llvm Rollup merge of #92375 - wesleywiser:consolidate_debuginfo_msvc_check, r=michaelwoerister 2022-01-07 20:20:58 -08:00
rustc_codegen_ssa Rollup merge of #92375 - wesleywiser:consolidate_debuginfo_msvc_check, r=michaelwoerister 2022-01-07 20:20:58 -08:00
rustc_const_eval rename StackPopClean::None to Root 2022-01-04 11:13:08 +01:00
rustc_data_structures Do not hash zero bytes of i64 and u32 in Sip128 hasher 2022-01-04 19:12:10 +01:00
rustc_driver Rollup merge of #92504 - dtolnay:wall, r=jackh726 2022-01-06 23:15:17 +01:00
rustc_error_codes docs(error-codes): Add long error explanation for E0227 2021-12-28 15:46:20 +03:00
rustc_errors
rustc_expand expand: Import more AST enums 2022-01-07 14:54:16 +08:00
rustc_feature
rustc_fs_util
rustc_graphviz
rustc_hir Rollup merge of #91907 - lcnr:const-arg-infer, r=BoxyUwU 2022-01-04 21:23:06 +01:00
rustc_hir_pretty Rollup merge of #91907 - lcnr:const-arg-infer, r=BoxyUwU 2022-01-04 21:23:06 +01:00
rustc_incremental Add #[rustc_clean(loaded_from_disk)] to assert loading of query result 2021-12-21 16:34:12 -05:00
rustc_index Introduce IntervalSet 2021-12-30 22:33:44 -05:00
rustc_infer Suggest changing quotes when str/char type mismatch 2022-01-03 22:08:08 -08:00
rustc_interface ast: Always keep a NodeId in ast::Crate 2022-01-05 17:09:37 +08:00
rustc_lexer
rustc_lint Rollup merge of #91770 - TaKO8Ki:suggest-adding-cfg-test, r=joshtriplett 2021-12-21 08:33:39 +01:00
rustc_lint_defs Rollup merge of #91770 - TaKO8Ki:suggest-adding-cfg-test, r=joshtriplett 2021-12-21 08:33:39 +01:00
rustc_llvm Rollup merge of #92559 - durin42:llvm-14-attributemask, r=nikic 2022-01-06 23:15:18 +01:00
rustc_log Make rustc_log doc test runnable 2022-01-03 22:31:56 -08:00
rustc_macros Rollup merge of #92011 - Aaron1011:decode-span, r=michaelwoerister 2022-01-03 14:44:16 +01:00
rustc_metadata Auto merge of #92497 - bjorn3:remove_lazy_meta_min_size, r=eddyb 2022-01-09 01:29:22 +00:00
rustc_middle Add query to avoid name comparison in leaf_def 2022-01-07 13:31:36 -08:00
rustc_mir_build Rollup merge of #91907 - lcnr:const-arg-infer, r=BoxyUwU 2022-01-04 21:23:06 +01:00
rustc_mir_dataflow Rollup merge of #90102 - nbdd0121:box3, r=jonas-schievink 2022-01-03 14:44:15 +01:00
rustc_mir_transform Rollup merge of #92207 - tmiasko:delay-drop-elaboration-bug, r=jackh726 2022-01-06 23:15:14 +01:00
rustc_monomorphize Add query to avoid name comparison in leaf_def 2022-01-07 13:31:36 -08:00
rustc_parse ast: Always keep a NodeId in ast::Crate 2022-01-05 17:09:37 +08:00
rustc_parse_format
rustc_passes Add query to avoid name comparison in leaf_def 2022-01-07 13:31:36 -08:00
rustc_plugin_impl
rustc_privacy Rollup merge of #90586 - jswrenn:relax-privacy-lints, r=petrochenkov 2021-12-27 21:42:25 +01:00
rustc_query_impl Some cleanup 2021-12-23 13:38:53 -05:00
rustc_query_system Auto merge of #91919 - Aaron1011:query-recursive-read, r=michaelwoerister 2022-01-08 18:32:31 +00:00
rustc_resolve Rollup merge of #92510 - inquisitivecrystal:foreign-block, r=cjgillot 2022-01-09 13:38:30 +01:00
rustc_save_analysis Add trait_item_def_id to AssocItem 2022-01-07 12:28:12 -08:00
rustc_serialize Do not use LEB128 for encoding u16 and i16 2021-12-28 09:29:08 +01:00
rustc_session sess/cg: re-introduce split dwarf kind 2022-01-06 09:32:42 +00:00
rustc_span Fix typo in StableCrateId docs 2022-01-07 10:26:26 -06:00
rustc_symbol_mangling Update references to -Z symbol-mangling-version to use -C 2022-01-01 15:53:11 -08:00
rustc_target sess/cg: re-introduce split dwarf kind 2022-01-06 09:32:42 +00:00
rustc_trait_selection Add query to avoid name comparison in leaf_def 2022-01-07 13:31:36 -08:00
rustc_traits Add trait_item_def_id to AssocItem 2022-01-07 12:28:12 -08:00
rustc_ty_utils Add query to avoid name comparison in leaf_def 2022-01-07 13:31:36 -08:00
rustc_type_ir
rustc_typeck Fix accidental undo of 5e1972eba7 2022-01-07 14:16:56 -08:00