Trait rustdoc::formats::renderer::FormatRenderer [−][src]
pub(crate) trait FormatRenderer<'tcx>: Sized { const RUN_ON_MODULE: bool; fn descr() -> &'static str; fn init(
krate: Crate,
options: RenderOptions,
cache: Cache,
tcx: TyCtxt<'tcx>
) -> Result<(Self, Crate), Error>; fn make_child_renderer(&self) -> Self; fn item(&mut self, item: Item) -> Result<(), Error>; fn mod_item_in(&mut self, item: &Item) -> Result<(), Error>; fn after_krate(&mut self) -> Result<(), Error>; fn cache(&self) -> &Cache; fn mod_item_out(&mut self) -> Result<(), Error> { ... } }
Expand description
Allows for different backends to rustdoc to be used with the run_format() function. Each
backend renderer has hooks for initialization, documenting an item, entering and exiting a
module, and cleanup/finalizing output.
Associated Constants
const RUN_ON_MODULE: bool[src]
Expand description
Whether to call item recursivly for modules
This is true for html, and false for json. See #80664
Required methods
fn descr() -> &'static str[src]
Expand description
Gives a description of the renderer. Used for performance profiling.
fn init(
krate: Crate,
options: RenderOptions,
cache: Cache,
tcx: TyCtxt<'tcx>
) -> Result<(Self, Crate), Error>[src]
krate: Crate,
options: RenderOptions,
cache: Cache,
tcx: TyCtxt<'tcx>
) -> Result<(Self, Crate), Error>
Expand description
Sets up any state required for the renderer. When this is called the cache has already been populated.
fn make_child_renderer(&self) -> Self[src]
Expand description
Make a new renderer to render a child of the item currently being rendered.
fn item(&mut self, item: Item) -> Result<(), Error>[src]
Expand description
Renders a single non-module item. This means no recursive sub-item rendering is required.
fn mod_item_in(&mut self, item: &Item) -> Result<(), Error>[src]
Expand description
Renders a module (should not handle recursing into children).
fn after_krate(&mut self) -> Result<(), Error>[src]
Expand description
Post processing hook for cleanup and dumping output to files.
fn cache(&self) -> &Cache[src]
Provided methods
fn mod_item_out(&mut self) -> Result<(), Error>[src]
Expand description
Runs after recursively rendering all sub-items of a module.
Implementors
impl<'tcx> FormatRenderer<'tcx> for Context<'tcx>[src]
impl<'tcx> FormatRenderer<'tcx> for Context<'tcx>[src]Generates the documentation for crate into the directory dst
fn descr() -> &'static str[src]
const RUN_ON_MODULE: bool[src]
fn init(
krate: Crate,
options: RenderOptions,
cache: Cache,
tcx: TyCtxt<'tcx>
) -> Result<(Self, Crate), Error>[src]
krate: Crate,
options: RenderOptions,
cache: Cache,
tcx: TyCtxt<'tcx>
) -> Result<(Self, Crate), Error>
fn make_child_renderer(&self) -> Self[src]
fn after_krate(&mut self) -> Result<(), Error>[src]
fn mod_item_in(&mut self, item: &Item) -> Result<(), Error>[src]
fn mod_item_out(&mut self) -> Result<(), Error>[src]
fn item(&mut self, item: Item) -> Result<(), Error>[src]
fn cache(&self) -> &Cache[src]
impl<'tcx> FormatRenderer<'tcx> for JsonRenderer<'tcx>[src]
impl<'tcx> FormatRenderer<'tcx> for JsonRenderer<'tcx>[src]fn item(&mut self, item: Item) -> Result<(), Error>[src]
fn item(&mut self, item: Item) -> Result<(), Error>[src]Inserts an item into the index. This should be used rather than directly calling insert on the hashmap because certain items (traits and types) need to have their mappings for trait implementations filled out before they’re inserted.
fn descr() -> &'static str[src]
const RUN_ON_MODULE: bool[src]
fn init(
krate: Crate,
options: RenderOptions,
cache: Cache,
tcx: TyCtxt<'tcx>
) -> Result<(Self, Crate), Error>[src]
krate: Crate,
options: RenderOptions,
cache: Cache,
tcx: TyCtxt<'tcx>
) -> Result<(Self, Crate), Error>