Replace &DocCtxt -> TyCtxt in macro matcher rendering
This commit is contained in:
parent
336c85a053
commit
544a6bb7e7
1 changed files with 9 additions and 9 deletions
|
@ -486,13 +486,13 @@ crate const DOC_RUST_LANG_ORG_CHANNEL: &str = env!("DOC_RUST_LANG_ORG_CHANNEL");
|
|||
/// Render a sequence of macro arms in a format suitable for displaying to the user
|
||||
/// as part of an item declaration.
|
||||
pub(super) fn render_macro_arms<'a>(
|
||||
cx: &DocContext<'_>,
|
||||
tcx: TyCtxt<'_>,
|
||||
matchers: impl Iterator<Item = &'a TokenTree>,
|
||||
arm_delim: &str,
|
||||
) -> String {
|
||||
let mut out = String::new();
|
||||
for matcher in matchers {
|
||||
writeln!(out, " {} => {{ ... }}{}", render_macro_matcher(cx, matcher), arm_delim)
|
||||
writeln!(out, " {} => {{ ... }}{}", render_macro_matcher(tcx, matcher), arm_delim)
|
||||
.unwrap();
|
||||
}
|
||||
out
|
||||
|
@ -500,8 +500,8 @@ pub(super) fn render_macro_arms<'a>(
|
|||
|
||||
/// Render a macro matcher in a format suitable for displaying to the user
|
||||
/// as part of an item declaration.
|
||||
pub(super) fn render_macro_matcher(cx: &DocContext<'_>, matcher: &TokenTree) -> String {
|
||||
if let Some(snippet) = snippet_equal_to_token(cx, matcher) {
|
||||
pub(super) fn render_macro_matcher(tcx: TyCtxt<'_>, matcher: &TokenTree) -> String {
|
||||
if let Some(snippet) = snippet_equal_to_token(tcx, matcher) {
|
||||
snippet
|
||||
} else {
|
||||
rustc_ast_pretty::pprust::tt_to_string(matcher)
|
||||
|
@ -510,11 +510,11 @@ pub(super) fn render_macro_matcher(cx: &DocContext<'_>, matcher: &TokenTree) ->
|
|||
|
||||
/// Find the source snippet for this token's Span, reparse it, and return the
|
||||
/// snippet if the reparsed TokenTree matches the argument TokenTree.
|
||||
fn snippet_equal_to_token(cx: &DocContext<'_>, matcher: &TokenTree) -> Option<String> {
|
||||
fn snippet_equal_to_token(tcx: TyCtxt<'_>, matcher: &TokenTree) -> Option<String> {
|
||||
// Find what rustc thinks is the source snippet.
|
||||
// This may not actually be anything meaningful if this matcher was itself
|
||||
// generated by a macro.
|
||||
let source_map = cx.sess().source_map();
|
||||
let source_map = tcx.sess.source_map();
|
||||
let span = matcher.span();
|
||||
let snippet = source_map.span_to_snippet(span).ok()?;
|
||||
|
||||
|
@ -561,21 +561,21 @@ pub(super) fn display_macro_source(
|
|||
let matchers = tts.chunks(4).map(|arm| &arm[0]);
|
||||
|
||||
if def.macro_rules {
|
||||
format!("macro_rules! {} {{\n{}}}", name, render_macro_arms(cx, matchers, ";"))
|
||||
format!("macro_rules! {} {{\n{}}}", name, render_macro_arms(cx.tcx, matchers, ";"))
|
||||
} else {
|
||||
if matchers.len() <= 1 {
|
||||
format!(
|
||||
"{}macro {}{} {{\n ...\n}}",
|
||||
vis.to_src_with_space(cx.tcx, def_id),
|
||||
name,
|
||||
matchers.map(|matcher| render_macro_matcher(cx, matcher)).collect::<String>(),
|
||||
matchers.map(|matcher| render_macro_matcher(cx.tcx, matcher)).collect::<String>(),
|
||||
)
|
||||
} else {
|
||||
format!(
|
||||
"{}macro {} {{\n{}}}",
|
||||
vis.to_src_with_space(cx.tcx, def_id),
|
||||
name,
|
||||
render_macro_arms(cx, matchers, ","),
|
||||
render_macro_arms(cx.tcx, matchers, ","),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue