{"ast_node_type":"other","tokens":[{"end":74,"kind":"keyword","start":0,"text":"if"}]}
        if self.is_proc_macro_crate && self.in_root && vis.kind.is_pub() {
    fn check_not_pub_in_root(&self, vis: &ast::Visibility, sp: Span) {
            self.dcx.emit_err(errors::ProcMacro { span: sp });