ploidy_codegen_rust/
statics.rs1use ploidy_core::codegen::IntoCode;
2use proc_macro2::TokenStream;
3use quote::{ToTokens, TokenStreamExt, quote};
4
5#[derive(Clone, Copy, Debug)]
6pub struct CodegenLibrary;
7
8impl ToTokens for CodegenLibrary {
9 fn to_tokens(&self, tokens: &mut TokenStream) {
10 tokens.append_all(quote! {
11 pub mod types;
12 pub mod client;
13 pub mod error;
14
15 pub use ::ploidy_util as util;
18
19 pub use client::Client;
20 pub use error::Error;
21 });
22 }
23}
24
25impl IntoCode for CodegenLibrary {
26 type Code = (&'static str, TokenStream);
27
28 fn into_code(self) -> Self::Code {
29 ("src/lib.rs", self.into_token_stream())
30 }
31}
32
33#[derive(Clone, Copy, Debug)]
34pub struct CodegenErrorModule;
35
36impl ToTokens for CodegenErrorModule {
37 fn to_tokens(&self, tokens: &mut TokenStream) {
38 tokens.append_all(quote! {
39 pub use ::ploidy_util::error::*;
40 });
41 }
42}
43
44impl IntoCode for CodegenErrorModule {
45 type Code = (&'static str, TokenStream);
46
47 fn into_code(self) -> Self::Code {
48 ("src/error.rs", self.into_token_stream())
49 }
50}