#syn #visit #jquery

syn_query

实现Trait Syn::Visit

4个版本

使用旧的Rust 2015

0.2.0 2018年6月9日
0.1.2 2018年6月5日
0.1.1 2018年6月5日
0.1.0 2018年6月4日

#6 in #jquery

GPL-3.0 许可证

23KB
588

实现Trait Syn::Visit jquery风格 构建状态 最新版本 Rust 文档 Rustc 版本 1.15+

示例

extern crate proc_macro2;
extern crate syn;
extern crate syn_query;
use proc_macro2::Span;
use syn::{ExprStruct, FieldValue, Ident};
use syn_query::Queryable;
fn main() {
    let s = "Point { x: 1, y: 1 }";
    let st: ExprStruct = syn::parse_str(s).unwrap();
    let qr = st.query::<Ident>();
    assert_eq!(qr[0].data, Ident::new("Point", Span::call_site()));
    assert_eq!(qr[0].path, vec![0i64, 0i64, 0i64]);
    assert_eq!(qr[1].data, Ident::new("x", Span::call_site()));
    assert_eq!(qr[1].path, vec![2i64, 0i64, 0i64]);
    assert_eq!(qr[2].data, Ident::new("y", Span::call_site()));
    assert_eq!(qr[2].path, vec![3i64, 0i64, 0i64]);
}

依赖项

~2MB
~45K SLoC