Struct rustdoc::visit_ast::RustdocVisitor
source · pub(crate) struct RustdocVisitor<'a, 'tcx> {
cx: &'a mut DocContext<'tcx>,
view_item_stack: FxHashSet<HirId>,
inlining: bool,
inside_public_path: bool,
exact_paths: FxHashMap<DefId, Vec<Symbol>>,
}
Fields§
§cx: &'a mut DocContext<'tcx>
§view_item_stack: FxHashSet<HirId>
§inlining: bool
§inside_public_path: bool
Are the current module and all of its parents public?
exact_paths: FxHashMap<DefId, Vec<Symbol>>
Implementations§
source§impl<'a, 'tcx> RustdocVisitor<'a, 'tcx>
impl<'a, 'tcx> RustdocVisitor<'a, 'tcx>
pub(crate) fn new(cx: &'a mut DocContext<'tcx>) -> RustdocVisitor<'a, 'tcx>
fn store_path(&mut self, did: DefId)
pub(crate) fn visit(self) -> Module<'tcx>
fn visit_mod_contents(
&mut self,
id: HirId,
m: &'tcx Mod<'tcx>,
name: Symbol,
parent_id: Option<HirId>
) -> Module<'tcx>
sourcefn maybe_inline_local(
&mut self,
id: HirId,
res: Res,
renamed: Option<Symbol>,
glob: bool,
om: &mut Module<'tcx>,
please_inline: bool
) -> bool
fn maybe_inline_local(
&mut self,
id: HirId,
res: Res,
renamed: Option<Symbol>,
glob: bool,
om: &mut Module<'tcx>,
please_inline: bool
) -> bool
Tries to resolve the target of a pub use
statement and inlines the
target if it is defined locally and would not be documented otherwise,
or when it is specifically requested with please_inline
.
(the latter is the case when the import is marked doc(inline)
)
Cross-crate inlining occurs later on during crate cleaning and follows different rules.
Returns true
if the target has been inlined.
fn visit_item(
&mut self,
item: &'tcx Item<'_>,
renamed: Option<Symbol>,
om: &mut Module<'tcx>,
parent_id: Option<HirId>
)
fn visit_foreign_item(
&mut self,
item: &'tcx ForeignItem<'_>,
renamed: Option<Symbol>,
om: &mut Module<'tcx>
)
Auto Trait Implementations§
impl<'a, 'tcx> !RefUnwindSafe for RustdocVisitor<'a, 'tcx>
impl<'a, 'tcx> !Send for RustdocVisitor<'a, 'tcx>
impl<'a, 'tcx> !Sync for RustdocVisitor<'a, 'tcx>
impl<'a, 'tcx> Unpin for RustdocVisitor<'a, 'tcx>where
'tcx: 'a,
impl<'a, 'tcx> !UnwindSafe for RustdocVisitor<'a, 'tcx>
Blanket Implementations§
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference’s “Type Layout” chapter for details on type layout guarantees.
Size: 80 bytes