Expand description
After we obtain a fresh AST fragment from a macro, code in this module helps to integrate that fragment into the module structures that are already partially built.
Items from the fragment are placed into modules, unexpanded macros in the fragment are visited and registered. Imports are also considered items and placed into modules here, but not resolved yet.
Re-exportsยง
use std::sync::Arc;๐use rustc_ast::visit;๐use rustc_ast::visit::AssocCtxt;๐use rustc_ast::visit::Visitor;๐use rustc_ast::visit::WalkItemKind;๐use rustc_ast as ast;๐use rustc_ast::AssocItem;๐use rustc_ast::AssocItemKind;๐use rustc_ast::Block;๐use rustc_ast::ConstItem;๐use rustc_ast::DUMMY_NODE_ID;๐use rustc_ast::Delegation;๐use rustc_ast::DelegationSource;๐use rustc_ast::Fn;๐use rustc_ast::ForeignItem;๐use rustc_ast::ForeignItemKind;๐use rustc_ast::Inline;๐use rustc_ast::Item;๐use rustc_ast::ItemKind;๐use rustc_ast::NodeId;๐use rustc_ast::StaticItem;๐use rustc_ast::StmtKind;๐use rustc_ast::TraitAlias;๐use rustc_ast::TyAlias;๐use rustc_attr_ir::Attribute;๐use rustc_attr_ir::AttributeKind;๐use rustc_attr_ir::MacroUseArgs;๐use rustc_attr_parsing::AttributeParser;๐use rustc_data_structures::fx::FxIndexMap;๐use rustc_data_structures::sync::WriteGuard;๐use rustc_expand::base::ResolverExpand;๐use rustc_expand::base::SyntaxExtension;๐use rustc_expand::base::SyntaxExtensionKind;๐use rustc_hir::def;๐use rustc_hir::def_id::DefId;๐use rustc_hir::def_id::LocalDefId;๐use rustc_index::bit_set::DenseBitSet;๐use rustc_metadata::creader::LoadedMacro;๐use rustc_middle::middle::resolve::ModChild;๐use rustc_middle::middle::resolve::PartialRes;๐use rustc_middle::middle::resolve::Reexport;๐use rustc_middle::ty::TyCtxtFeed;๐use rustc_middle::ty::Visibility;๐use rustc_span::def_id::CRATE_MOD_ID;๐use rustc_span::def_id::ModId;๐use rustc_span::hygiene::ExpnId;๐use rustc_span::hygiene::LocalExpnId;๐use rustc_span::hygiene::MacroKind;๐use rustc_span::Ident;๐use rustc_span::Span;๐use rustc_span::Symbol;๐use rustc_span::bug;๐use rustc_span::kw;๐use rustc_span::span_bug;๐use rustc_span::sym;๐use thin_vec::ThinVec;๐use tracing::debug;๐use crate::Namespace::MacroNS;๐use crate::Namespace::TypeNS;๐use crate::Namespace::ValueNS;๐use crate::def_collector::DefCollector;๐use crate::diagnostics::impls::OnUnknownData;๐use crate::diagnostics::impls::StructCtor;๐use crate::imports::ImportData;๐use crate::imports::ImportKind;๐use crate::imports::NameResolution;๐use crate::imports::NameResolutionRef;๐use crate::macros::MacroRulesDecl;๐use crate::macros::MacroRulesScope;๐use crate::macros::MacroRulesScopeRef;๐use crate::ref_mut::CmCell;๐use crate::BindingKey;๐use crate::Decl;๐use crate::DeclData;๐use crate::DeclKind;๐use crate::DelayedVisResolutionError;๐use crate::ExternModule;๐use crate::ExternPreludeEntry;๐use crate::Finalize;๐use crate::IdentKey;๐use crate::LocalModule;๐use crate::Module;๐use crate::ModuleKind;๐use crate::ModuleOrUniformRoot;๐use crate::ParentScope;๐use crate::PathResult;๐use crate::Res;๐use crate::ResolutionTable;๐use crate::Resolver;๐use crate::Segment;๐use crate::Used;๐use crate::VisResolutionError;๐use crate::diagnostics;๐use rustc_hir::def::*;๐