From e038799297e60dfcedfa602aa414bb23758c5f64 Mon Sep 17 00:00:00 2001 From: Alex Muscar Date: Mon, 4 Oct 2021 17:19:41 +0100 Subject: [PATCH] Consolidate error handling for builtin "constants" mutations Co-authored-by: Jeong YunWon --- src/compile.rs | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/src/compile.rs b/src/compile.rs index 5aa1ab5..09897d8 100644 --- a/src/compile.rs +++ b/src/compile.rs @@ -396,19 +396,12 @@ impl Compiler { } fn check_forbidden_name(&self, name: &str, usage: NameUsage) -> CompileResult<()> { - if usage == NameUsage::Store && is_forbidden_name(name) { - return Err(self.error(CompileErrorType::SyntaxError(format!( - "cannot assign to {}", - name - )))); - } - if usage == NameUsage::Delete && is_forbidden_name(name) { - return Err(self.error(CompileErrorType::SyntaxError(format!( - "cannot delete {}", - name - )))); - } - Ok(()) + let msg = match usage { + NameUsage::Store if is_forbidden_name(name) => "cannot assign to", + NameUsage::Delete if is_forbidden_name(name) => "cannot delete", + _ => return Ok(()), + }; + Err(self.error(CompileErrorType::SyntaxError(format!("{} {}", msg, name)))) } fn compile_name(&mut self, name: &str, usage: NameUsage) -> CompileResult<()> {