in src/parser.rs [706:731]
fn parse_jacoco_report_class<T: BufRead>(
parser: &mut Reader<T>,
buf: &mut Vec<u8>,
class_name: &str,
) -> Result<FunctionMap, ParserError> {
let mut functions: FunctionMap = FxHashMap::default();
loop {
match parser.read_event_into(buf) {
Ok(Event::Start(ref e)) if e.local_name().into_inner() == b"method" => {
let name = get_xml_attribute(parser, e, "name")?;
let full_name = format!("{}#{}", class_name, name);
let start_line = get_xml_attribute(parser, e, "line")?.parse::<u32>()?;
let function = parse_jacoco_report_method(parser, buf, start_line)?;
functions.insert(full_name, function);
}
Ok(Event::End(ref e)) if e.local_name().into_inner() == b"class" => break,
Err(e) => return Err(ParserError::Parse(e.to_string())),
_ => {}
}
buf.clear();
}
Ok(functions)
}