diff --git a/tools/aconfig/src/codegen/cpp.rs b/tools/aconfig/src/codegen/cpp.rs index 000581b18b..ada022ab55 100644 --- a/tools/aconfig/src/codegen/cpp.rs +++ b/tools/aconfig/src/codegen/cpp.rs @@ -23,17 +23,17 @@ use crate::codegen; use crate::commands::{CodegenMode, OutputFile}; use crate::protos::{ProtoFlagPermission, ProtoFlagState, ProtoParsedFlag}; -pub fn generate_cpp_code<'a, I>( +pub fn generate_cpp_code( package: &str, parsed_flags_iter: I, codegen_mode: CodegenMode, ) -> Result> where - I: Iterator, + I: Iterator, { let mut readwrite_count = 0; let class_elements: Vec = parsed_flags_iter - .map(|pf| create_class_element(package, pf, &mut readwrite_count)) + .map(|pf| create_class_element(package, &pf, &mut readwrite_count)) .collect(); let readwrite = readwrite_count > 0; let has_fixed_read_only = class_elements.iter().any(|item| item.is_fixed_read_only); @@ -734,9 +734,12 @@ void com_android_aconfig_test_reset_flags() { fn test_generate_cpp_code(mode: CodegenMode) { let parsed_flags = crate::test::parse_test_flags(); - let generated = - generate_cpp_code(crate::test::TEST_PACKAGE, parsed_flags.parsed_flag.iter(), mode) - .unwrap(); + let generated = generate_cpp_code( + crate::test::TEST_PACKAGE, + parsed_flags.parsed_flag.into_iter(), + mode, + ) + .unwrap(); let mut generated_files_map = HashMap::new(); for file in generated { generated_files_map.insert( diff --git a/tools/aconfig/src/codegen/java.rs b/tools/aconfig/src/codegen/java.rs index ae3f274648..1d5dabf9f6 100644 --- a/tools/aconfig/src/codegen/java.rs +++ b/tools/aconfig/src/codegen/java.rs @@ -24,16 +24,16 @@ use crate::codegen; use crate::commands::{CodegenMode, OutputFile}; use crate::protos::{ProtoFlagPermission, ProtoFlagState, ProtoParsedFlag}; -pub fn generate_java_code<'a, I>( +pub fn generate_java_code( package: &str, parsed_flags_iter: I, codegen_mode: CodegenMode, ) -> Result> where - I: Iterator, + I: Iterator, { let flag_elements: Vec = - parsed_flags_iter.map(|pf| create_flag_element(package, pf)).collect(); + parsed_flags_iter.map(|pf| create_flag_element(package, &pf)).collect(); let exported_flag_elements: Vec = flag_elements.iter().filter(|elem| elem.exported).cloned().collect(); let namespace_flags = gen_flags_by_namespace(&flag_elements); @@ -361,7 +361,7 @@ mod tests { let parsed_flags = crate::test::parse_test_flags(); let generated_files = generate_java_code( crate::test::TEST_PACKAGE, - parsed_flags.parsed_flag.iter(), + parsed_flags.parsed_flag.into_iter(), CodegenMode::Production, ) .unwrap(); @@ -514,7 +514,7 @@ mod tests { let parsed_flags = crate::test::parse_test_flags(); let generated_files = generate_java_code( crate::test::TEST_PACKAGE, - parsed_flags.parsed_flag.iter(), + parsed_flags.parsed_flag.into_iter(), CodegenMode::Exported, ) .unwrap(); @@ -705,7 +705,7 @@ mod tests { let parsed_flags = crate::test::parse_test_flags(); let generated_files = generate_java_code( crate::test::TEST_PACKAGE, - parsed_flags.parsed_flag.iter(), + parsed_flags.parsed_flag.into_iter(), CodegenMode::Test, ) .unwrap(); diff --git a/tools/aconfig/src/codegen/rust.rs b/tools/aconfig/src/codegen/rust.rs index 04be93b96a..7aafddbea9 100644 --- a/tools/aconfig/src/codegen/rust.rs +++ b/tools/aconfig/src/codegen/rust.rs @@ -22,16 +22,16 @@ use crate::codegen; use crate::commands::{CodegenMode, OutputFile}; use crate::protos::{ProtoFlagPermission, ProtoFlagState, ProtoParsedFlag}; -pub fn generate_rust_code<'a, I>( +pub fn generate_rust_code( package: &str, parsed_flags_iter: I, codegen_mode: CodegenMode, ) -> Result where - I: Iterator, + I: Iterator, { let template_flags: Vec = - parsed_flags_iter.map(|pf| TemplateParsedFlag::new(package, pf)).collect(); + parsed_flags_iter.map(|pf| TemplateParsedFlag::new(package, &pf)).collect(); let has_readwrite = template_flags.iter().any(|item| item.readwrite); let context = TemplateContext { package: package.to_string(), @@ -456,9 +456,12 @@ pub fn reset_flags() { fn test_generate_rust_code(mode: CodegenMode) { let parsed_flags = crate::test::parse_test_flags(); - let generated = - generate_rust_code(crate::test::TEST_PACKAGE, parsed_flags.parsed_flag.iter(), mode) - .unwrap(); + let generated = generate_rust_code( + crate::test::TEST_PACKAGE, + parsed_flags.parsed_flag.into_iter(), + mode, + ) + .unwrap(); assert_eq!("src/lib.rs", format!("{}", generated.path.display())); assert_eq!( None, diff --git a/tools/aconfig/src/commands.rs b/tools/aconfig/src/commands.rs index e437c02144..50049d5b01 100644 --- a/tools/aconfig/src/commands.rs +++ b/tools/aconfig/src/commands.rs @@ -201,7 +201,8 @@ pub fn create_java_lib(mut input: Input, codegen_mode: CodegenMode) -> Result Result> { @@ -210,7 +211,8 @@ pub fn create_cpp_lib(mut input: Input, codegen_mode: CodegenMode) -> Result Result { @@ -219,7 +221,8 @@ pub fn create_rust_lib(mut input: Input, codegen_mode: CodegenMode) -> Result, container: &str) -> Result> {