diff options
| author | 2023-12-14 13:53:23 +0100 | |
|---|---|---|
| committer | 2023-12-14 13:53:52 +0100 | |
| commit | 49c49f365a340bdee6648a02f63d6526289b78d4 (patch) | |
| tree | 45f92b2216a18c3918a8e58288a6656c9c0938cc /tools/aconfig/src/codegen/cpp.rs | |
| parent | b7fc0d3e16ff850a20844cc6045b8ea00e3ca90e (diff) | |
aconfig: pass ownership of ProtoParsedFlag items to C++ codegen
Pass ownership of the ProtoParsedFlag iterator items to the C++ codegen:
this removes the need for an explicit lifetime annotation.
Bug: N/A
Test: atest aconfig.test
Change-Id: Ic6606a9ab01ddcb61aa668d7ac901469b1e25a1f
Diffstat (limited to 'tools/aconfig/src/codegen/cpp.rs')
| -rw-r--r-- | tools/aconfig/src/codegen/cpp.rs | 15 |
1 files changed, 9 insertions, 6 deletions
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<I>( package: &str, parsed_flags_iter: I, codegen_mode: CodegenMode, ) -> Result<Vec<OutputFile>> where - I: Iterator<Item = &'a ProtoParsedFlag>, + I: Iterator<Item = ProtoParsedFlag>, { let mut readwrite_count = 0; let class_elements: Vec<ClassElement> = 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( |