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