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
sourceimpl<'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
) -> 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>
)
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
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<V, T> VZip<V> for Twhere
V: MultiLane<T>,
impl<V, T> VZip<V> for Twhere
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn 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>,
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<'a, T> Captures<'a> for Twhere
T: ?Sized,
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