aboutsummaryrefslogtreecommitdiff
path: root/macros/src/syntax.rs
diff options
context:
space:
mode:
Diffstat (limited to 'macros/src/syntax.rs')
-rw-r--r--macros/src/syntax.rs9
1 files changed, 8 insertions, 1 deletions
diff --git a/macros/src/syntax.rs b/macros/src/syntax.rs
index 23981d98..7f87f633 100644
--- a/macros/src/syntax.rs
+++ b/macros/src/syntax.rs
@@ -731,13 +731,20 @@ pub struct Exception {
}
pub struct ExceptionArgs {
- pub binds: Option<Ident>,
+ binds: Option<Ident>,
pub priority: u8,
pub resources: Idents,
pub schedule: Idents,
pub spawn: Idents,
}
+impl ExceptionArgs {
+ /// Returns the name of the exception / interrupt this handler binds to
+ pub fn binds<'a>(&'a self, handler: &'a Ident) -> &'a Ident {
+ self.binds.as_ref().unwrap_or(handler)
+ }
+}
+
impl Parse for ExceptionArgs {
fn parse(input: ParseStream<'_>) -> parse::Result<Self> {
parse_args(input, /* binds */ true, /* capacity */ false).map(