aboutsummaryrefslogtreecommitdiff
path: root/macros/src/check.rs
diff options
context:
space:
mode:
authorEmil Fresk <emil.fresk@gmail.com>2023-01-02 14:58:37 +0100
committerHenrik Tjäder <henrik@tjaders.com>2023-03-01 00:31:04 +0100
commit9829d0ac07180967208403610bc9a25249b9fe85 (patch)
tree9642ecfc62d93726520f60354c344feab0d313d0 /macros/src/check.rs
parent582c602912592ec7ebea3096aefa02aea99c2143 (diff)
Add check again
Diffstat (limited to 'macros/src/check.rs')
-rw-r--r--macros/src/check.rs28
1 files changed, 6 insertions, 22 deletions
diff --git a/macros/src/check.rs b/macros/src/check.rs
index b0ad6f8..312b84d 100644
--- a/macros/src/check.rs
+++ b/macros/src/check.rs
@@ -1,18 +1,12 @@
use std::collections::HashSet;
-use proc_macro2::Span;
-use rtic_syntax::{analyze::Analysis, ast::App};
-use syn::{parse, Path};
+use crate::syntax::ast::App;
+use syn::parse;
-pub struct Extra {
- pub device: Path,
- pub peripherals: bool,
-}
-
-pub fn app(app: &App, _analysis: &Analysis) -> parse::Result<Extra> {
+pub fn app(app: &App) -> parse::Result<()> {
// Check that external (device-specific) interrupts are not named after known (Cortex-M)
// exceptions
- for name in app.args.extern_interrupts.keys() {
+ for name in app.args.dispatchers.keys() {
let name_s = name.to_string();
match &*name_s {
@@ -41,7 +35,7 @@ pub fn app(app: &App, _analysis: &Analysis) -> parse::Result<Extra> {
.collect::<HashSet<_>>();
let need = priorities.len();
- let given = app.args.extern_interrupts.len();
+ let given = app.args.dispatchers.len();
if need > given {
let s = {
format!(
@@ -72,15 +66,5 @@ pub fn app(app: &App, _analysis: &Analysis) -> parse::Result<Extra> {
}
}
- if let Some(device) = app.args.device.clone() {
- Ok(Extra {
- device,
- peripherals: app.args.peripherals,
- })
- } else {
- Err(parse::Error::new(
- Span::call_site(),
- "a `device` argument must be specified in `#[rtic::app]`",
- ))
- }
+ Ok(())
}