{"ast_node_type":"function","tokens":[{"end":66,"kind":"keyword","start":0,"text":"fn"}]}
    fn eat_semi_for_macro_if_needed(&mut self, args: &DelimArgs) {
        if args.need_semicolon() && !self.eat(exp!(Semi)) {