aboutsummaryrefslogtreecommitdiff
path: root/gen/src/mod.rs
diff options
context:
space:
mode:
authorDavid Tolnay <dtolnay@gmail.com>2020-08-29 22:28:21 -0700
committerDavid Tolnay <dtolnay@gmail.com>2020-08-29 22:28:21 -0700
commit366c41a74e24d45d929e04f15d80ab1445ed8f32 (patch)
tree575bf353b4a0e3365876408b625c8828fa646e47 /gen/src/mod.rs
parent5fc28551e180471b822f47b295a76fa2d02bf649 (diff)
downloadcxx-366c41a74e24d45d929e04f15d80ab1445ed8f32.tar.gz
Move tokenstream-only codepath out of common dir
Diffstat (limited to 'gen/src/mod.rs')
-rw-r--r--gen/src/mod.rs23
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,