abi_stable_derive/
common_tokens.rs

1use proc_macro2::Span;
2
3use syn::Ident;
4
5#[derive(Debug)]
6pub(crate) struct StartLenTokens {
7    pub(crate) start_len: Ident,
8    pub(crate) new: Ident,
9}
10
11impl StartLenTokens {
12    pub(crate) fn new(span: Span) -> Self {
13        Self {
14            start_len: Ident::new("__StartLen", span),
15            new: Ident::new("new", span),
16        }
17    }
18}
19
20#[derive(Debug)]
21pub(crate) struct FnPointerTokens {
22    pub(crate) c_abi_lit: ::syn::LitStr,
23    pub(crate) static_: Ident,
24    pub(crate) underscore: Ident,
25}
26
27impl FnPointerTokens {
28    pub fn new(span: Span) -> Self {
29        Self {
30            c_abi_lit: syn::parse_str(r#""C""#).expect("BUG"),
31            static_: Ident::new("static", span),
32            underscore: Ident::new("_", span),
33        }
34    }
35}