{"ast_node_type":"function","tokens":[{"end":85,"kind":"keyword","start":0,"text":"pub"}]}
    pub fn tool_attrs(&self, def_id: DefId, attr: &[String]) -> Vec<(String, Span)> {
    /// Multi-segmented name like `#[rustfmt::skip]` is specified as `&["rustfmt".to_string(), "skip".to_string()]`.
        let attr_name: Vec<_> = attr.iter().map(|seg| Symbol::intern(&seg)).collect();