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: boolinside_public_path: boolAre 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 T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub 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<T> Pointable for T
impl<T> Pointable for T
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
pub 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>,
Attaches the provided Subscriber to this type, returning a
WithDispatch wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber to this type, returning a
WithDispatch wrapper. Read more
impl<'a, T> Captures<'a> for T where
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