refactor: remove minor code duplication

This commit is contained in:
Oleksandr Babak 2025-03-23 09:48:13 +01:00 committed by Emil Fresk
parent 0593a7290b
commit 22ba6bac06

View file

@ -37,32 +37,20 @@ pub fn codegen(app: &App, analysis: &Analysis) -> TokenStream2 {
let cfgs = &task.cfgs; let cfgs = &task.cfgs;
let stmts = &task.stmts; let stmts = &task.stmts;
let inputs = &task.inputs; let inputs = &task.inputs;
let lifetime = if task.is_bottom { quote!('static) } else { quote!('a) };
let generics = if task.is_bottom { quote!() } else { quote!(<'a>) };
user_tasks.push(if task.is_bottom { user_tasks.push(quote!(
quote!( #(#attrs)*
#(#attrs)* #(#cfgs)*
#(#cfgs)* #[allow(non_snake_case)]
#[allow(non_snake_case)] async fn #name#generics(#context: #name::Context<#lifetime> #(,#inputs)*) {
async fn #name(#context: #name::Context<'static> #(,#inputs)*) { use rtic::Mutex as _;
use rtic::Mutex as _; use rtic::mutex::prelude::*;
use rtic::mutex::prelude::*;
#(#stmts)* #(#stmts)*
} }
) ));
} else {
quote!(
#(#attrs)*
#(#cfgs)*
#[allow(non_snake_case)]
async fn #name<'a>(#context: #name::Context<'a> #(,#inputs)*) {
use rtic::Mutex as _;
use rtic::mutex::prelude::*;
#(#stmts)*
}
)
});
} }
root.push(module::codegen(Context::SoftwareTask(name), app, analysis)); root.push(module::codegen(Context::SoftwareTask(name), app, analysis));