garbage_code_hunter/utils.rs
1use syn::spanned::Spanned;
2
3/// 从 syn AST 节点获取行号
4/// 注意:由于 proc_macro2::Span 的限制,我们只能返回默认值
5pub fn get_line_number<T: Spanned>(_node: &T) -> usize {
6 // proc_macro2::Span 在非 proc-macro 上下文中不提供位置信息
7 // 这是一个已知限制,我们返回默认值
8 1
9}
10
11/// 从 syn AST 节点获取列号
12pub fn get_column_number<T: Spanned>(_node: &T) -> usize {
13 // 同样的限制,返回默认值
14 1
15}
16
17/// 从 syn AST 节点获取位置信息 (行号, 列号)
18/// 注意:在当前实现中,这将返回 (1, 1) 作为默认值
19pub fn get_position<T: Spanned>(node: &T) -> (usize, usize) {
20 (get_line_number(node), get_column_number(node))
21}