aboutsummaryrefslogtreecommitdiff
path: root/src/checker.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/checker.rs')
-rw-r--r--src/checker.rs21
1 files changed, 10 insertions, 11 deletions
diff --git a/src/checker.rs b/src/checker.rs
index 7a7f4d4..3ebcb4d 100644
--- a/src/checker.rs
+++ b/src/checker.rs
@@ -1,23 +1,22 @@
use crate::ast::*;
-use crate::check_state::{CheckError, CheckState};
+use crate::checker_state::{CheckerError, CheckerState};
use tracing::{debug, instrument};
impl Programme {
- pub fn check(&self) -> Result<(), CheckError> {
- let mut state = CheckState::default();
+ pub fn check(&self) -> Result<(), CheckerError> {
+ let mut state = CheckerState::default();
state.check(self)
}
}
-impl CheckState {
+impl CheckerState {
#[instrument(skip(self, prog), level = "debug")]
- pub fn check(&mut self, prog: &Programme) -> Result<(), CheckError> {
+ pub fn check(&mut self, prog: &Programme) -> Result<(), CheckerError> {
let Programme(decls) = prog;
for decl in decls {
- debug!(%self);
- debug!(%decl);
+ debug!(%self, %decl);
match decl {
Decl::Set { name, set } => {
let set = self.check_set(set)?;
@@ -27,17 +26,17 @@ impl CheckState {
Decl::Element { name, element, set } => {
let set = self.check_set(set)?;
let element = self.check_element(element, &set)?;
- self.add_element(name, element, set)
+ self.add_element(name.clone(), element, set)
}
Decl::Signature { .. } => {
- return Err(CheckError::Unimplemented("signatures".to_string()));
+ return Err(CheckerError::Unimplemented("signatures".to_string()));
}
Decl::Instance { .. } => {
- return Err(CheckError::Unimplemented("instances".to_string()));
+ return Err(CheckerError::Unimplemented("instances".to_string()));
}
}?;
}
- debug!(%self, "END");
+ debug!(%self);
Ok(())
}
}