diff options
Diffstat (limited to 'macros/src/codegen/util.rs')
-rw-r--r-- | macros/src/codegen/util.rs | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/macros/src/codegen/util.rs b/macros/src/codegen/util.rs index 9ccdbf78..92c7154a 100644 --- a/macros/src/codegen/util.rs +++ b/macros/src/codegen/util.rs @@ -111,6 +111,27 @@ pub fn is_exception(name: &Ident) -> bool { ) } +/// Generate an internal identifier for monotonics +pub fn internal_monotonics_ident(task: &Ident, monotonic: &Ident, ident_name: &str) -> Ident { + Ident::new( + &format!( + "__rtic_internal_{}_{}_{}", + task.to_string(), + monotonic.to_string(), + ident_name, + ), + Span::call_site(), + ) +} + +/// Generate an internal identifier for tasks +pub fn internal_task_ident(task: &Ident, ident_name: &str) -> Ident { + Ident::new( + &format!("__rtic_internal_{}_{}", task.to_string(), ident_name,), + Span::call_site(), + ) +} + /// Mark an ident as internal pub fn mark_internal_ident(ident: &Ident) -> Ident { Ident::new( @@ -119,6 +140,14 @@ pub fn mark_internal_ident(ident: &Ident) -> Ident { ) } +/// Mark an ident as internal +pub fn mark_internal_name(name: &str) -> Ident { + Ident::new( + &format!("__rtic_internal_{}", name), + Span::call_site(), + ) +} + fn link_section_index() -> usize { static INDEX: AtomicUsize = AtomicUsize::new(0); |