diff options
author | David Tolnay <dtolnay@gmail.com> | 2020-08-29 22:28:21 -0700 |
---|---|---|
committer | David Tolnay <dtolnay@gmail.com> | 2020-08-29 22:28:21 -0700 |
commit | 366c41a74e24d45d929e04f15d80ab1445ed8f32 (patch) | |
tree | 575bf353b4a0e3365876408b625c8828fa646e47 /gen/src/mod.rs | |
parent | 5fc28551e180471b822f47b295a76fa2d02bf649 (diff) | |
download | cxx-366c41a74e24d45d929e04f15d80ab1445ed8f32.tar.gz |
Move tokenstream-only codepath out of common dir
Diffstat (limited to 'gen/src/mod.rs')
-rw-r--r-- | gen/src/mod.rs | 23 |
1 files changed, 1 insertions, 22 deletions
diff --git a/gen/src/mod.rs b/gen/src/mod.rs index a939760b..9c352855 100644 --- a/gen/src/mod.rs +++ b/gen/src/mod.rs @@ -15,7 +15,6 @@ pub use self::error::{Error, Result}; use self::file::File; use crate::syntax::report::Errors; use crate::syntax::{self, check, Types}; -use proc_macro2::TokenStream; use std::clone::Clone; use std::fs; use std::path::Path; @@ -30,14 +29,6 @@ pub struct Opt { pub cxx_impl_annotations: Option<String>, } -/// Results of code generation. -pub struct GeneratedCode { - /// The bytes of a C++ header file. - pub header: Vec<u8>, - /// The bytes of a C++ implementation file (e.g. .cc, cpp etc.) - pub cxx: Vec<u8>, -} - pub(super) fn do_generate_bridge(path: &Path, opt: Opt) -> Vec<u8> { let header = false; generate_from_path(path, opt, header) @@ -48,18 +39,6 @@ pub(super) fn do_generate_header(path: &Path, opt: Opt) -> Vec<u8> { generate_from_path(path, opt, header) } -pub(super) fn do_generate_from_tokens( - tokens: TokenStream, - opt: Opt, -) -> std::result::Result<GeneratedCode, Error> { - let syntax = syn::parse2::<File>(tokens)?; - match generate(syntax, opt, true, true) { - Ok((Some(header), Some(cxx))) => Ok(GeneratedCode { header, cxx }), - Err(err) => Err(err), - _ => panic!("Unexpected generation"), - } -} - fn generate_from_path(path: &Path, opt: Opt, header: bool) -> Vec<u8> { let source = match fs::read_to_string(path) { Ok(source) => source, @@ -86,7 +65,7 @@ fn generate_from_string(source: &str, opt: Opt, header: bool) -> Result<Vec<u8>> } } -fn generate( +pub(super) fn generate( syntax: File, opt: Opt, gen_header: bool, |