Include all contents of first line of scraped item

This commit is contained in:
Will Crichton 2022-02-01 17:03:22 -08:00
parent 686663a49e
commit 1ab23bda9c
4 changed files with 20 additions and 1 deletions

View File

@ -196,7 +196,8 @@ where
return;
}
let file = tcx.sess.source_map().lookup_char_pos(span.lo()).file;
let source_map = tcx.sess.source_map();
let file = source_map.lookup_char_pos(span.lo()).file;
let file_path = match file.name.clone() {
FileName::Real(real_filename) => real_filename.into_local_path(),
_ => None,
@ -217,6 +218,8 @@ where
let fn_entries = self.calls.entry(fn_key).or_default();
trace!("Including expr: {:?}", span);
let enclosing_item_span =
source_map.span_extend_to_prev_char(enclosing_item_span, '\n', false);
let location = CallLocation::new(span, enclosing_item_span, &file);
fn_entries.entry(abs_path).or_insert_with(mk_call_data).locations.push(location);
}

View File

@ -0,0 +1,5 @@
deps := ex
-include ../rustdoc-scrape-examples-multiple/scrape.mk
all: scrape

View File

@ -0,0 +1,8 @@
struct Foo;
impl Foo {
fn bar() { foobar::ok(); }
}
fn main() {
Foo::bar();
}

View File

@ -0,0 +1,3 @@
// @has foobar/fn.ok.html '//*[@class="docblock scraped-example-list"]//code' ' '
pub fn ok() {}