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}