syn_utils/
lib.rs

1#[macro_use]
2mod macros;
3
4mod expr;
5mod generic_args;
6mod parsers;
7mod path;
8mod path_segment;
9mod type_ext;
10mod type_parser;
11use std::{fmt::Display, str::FromStr};
12
13pub use parsers::*;
14
15mod control_flow;
16pub use control_flow::*;
17mod attributes;
18pub use attributes::*;
19mod field;
20pub use field::*;
21mod enum_variant;
22pub use enum_variant::*;
23pub use expr::*;
24pub use generic_args::*;
25pub use path::*;
26pub use path_segment::*;
27use proc_macro2::{Span, TokenStream as TokenStream2};
28use quote::{quote, ToTokens};
29use syn::{
30  parse::{Parse, ParseStream},
31  parse_quote,
32  punctuated::Punctuated,
33  spanned::Spanned,
34  token, Attribute, Expr, ExprCall, ExprClosure, Field, Fields, GenericArgument, Ident, Lifetime,
35  Lit, LitInt, LitStr, Meta, Path, PathArguments, PathSegment, Token, Type, TypeArray, TypePath,
36  Variant,
37};
38pub use type_ext::*;
39pub use type_parser::*;
40
41pub fn new_ident(name: &str) -> Ident {
42  Ident::new(name, Span::call_site())
43}