Pull out more types from html

This commit is contained in:
Joseph Ryan 2020-06-26 08:18:20 -05:00
parent 6a4396b98c
commit a790952254
No known key found for this signature in database
GPG key ID: 1A89B54043BBCCBD
3 changed files with 16 additions and 14 deletions

View file

@ -9,6 +9,17 @@ use rustc_span::def_id::DefId;
use crate::clean;
use crate::clean::types::GetDefId;
pub enum AssocItemRender<'a> {
All,
DerefFor { trait_: &'a clean::Type, type_: &'a clean::Type, deref_mut_: bool },
}
#[derive(Copy, Clone, PartialEq)]
pub enum RenderMode {
Normal,
ForDeref { mut_: bool },
}
/// Metadata about implementations for a type or trait.
#[derive(Clone, Debug)]
pub struct Impl {

View file

@ -10,6 +10,8 @@ use crate::formats::cache::{Cache, CACHE_KEY};
pub trait FormatRenderer: Clone {
type Output: FormatRenderer;
/// Sets up any state required for the emulator. When this is called the cache has already been
/// populated.
fn init(
krate: clean::Crate,
options: RenderOptions,
@ -30,7 +32,7 @@ pub trait FormatRenderer: Clone {
) -> Result<(), Error>;
/// Runs after recursively rendering all sub-items of a module.
fn mod_item_out(&mut self, name: &str) -> Result<(), Error>;
fn mod_item_out(&mut self, item_name: &str) -> Result<(), Error>;
/// Post processing hook for cleanup and dumping output to files.
fn after_krate(&mut self, krate: &clean::Crate, cache: &Cache) -> Result<(), Error>;

View file

@ -70,7 +70,7 @@ use crate::doctree;
use crate::error::Error;
use crate::formats::cache::{cache, Cache};
use crate::formats::item_type::ItemType;
use crate::formats::{FormatRenderer, Impl};
use crate::formats::{AssocItemRender, FormatRenderer, Impl, RenderMode};
use crate::html::escape::Escape;
use crate::html::format::fmt_impl_for_trait_page;
use crate::html::format::Function;
@ -626,7 +626,7 @@ impl FormatRenderer for Context {
Ok(())
}
fn mod_item_out(&mut self, _name: &str) -> Result<(), Error> {
fn mod_item_out(&mut self, _item_name: &str) -> Result<(), Error> {
info!("Recursed; leaving {}", self.dst.display());
// Go back to where we were at
@ -3255,17 +3255,6 @@ impl<'a> AssocItemLink<'a> {
}
}
enum AssocItemRender<'a> {
All,
DerefFor { trait_: &'a clean::Type, type_: &'a clean::Type, deref_mut_: bool },
}
#[derive(Copy, Clone, PartialEq)]
enum RenderMode {
Normal,
ForDeref { mut_: bool },
}
fn render_assoc_items(
w: &mut Buffer,
cx: &Context,