From 145152575cc4ad64864dbf1648b9f30e7d45aa74 Mon Sep 17 00:00:00 2001 From: Shunsuke Shibayama Date: Fri, 14 Oct 2022 01:07:14 +0900 Subject: [PATCH] Change `grow`'s type --- compiler/erg_compiler/context/eval.rs | 2 +- compiler/erg_compiler/context/mod.rs | 5 ++--- compiler/erg_compiler/context/register.rs | 4 ++-- compiler/erg_compiler/lower.rs | 11 +++++------ 4 files changed, 10 insertions(+), 12 deletions(-) diff --git a/compiler/erg_compiler/context/eval.rs b/compiler/erg_compiler/context/eval.rs index d8efc22e..3246e668 100644 --- a/compiler/erg_compiler/context/eval.rs +++ b/compiler/erg_compiler/context/eval.rs @@ -432,7 +432,7 @@ impl Context { Signature::Var(_) => None, }; // TODO: set params - self.grow(__name__, ContextKind::Instant, vis, tv_ctx)?; + self.grow(__name__, ContextKind::Instant, vis, tv_ctx); let obj = self.eval_const_block(&def.body.block).map_err(|e| { self.pop(); e diff --git a/compiler/erg_compiler/context/mod.rs b/compiler/erg_compiler/context/mod.rs index 15c8d2e3..dbe1e4a2 100644 --- a/compiler/erg_compiler/context/mod.rs +++ b/compiler/erg_compiler/context/mod.rs @@ -40,7 +40,7 @@ use erg_parser::ast; use erg_parser::token::Token; use crate::context::instantiate::{ConstTemplate, TyVarInstContext}; -use crate::error::{SingleTyCheckResult, TyCheckError, TyCheckErrors, TyCheckResult}; +use crate::error::{SingleTyCheckResult, TyCheckError, TyCheckErrors}; use crate::mod_cache::SharedModuleCache; use crate::varinfo::{Mutability, ParamIdx, VarInfo, VarKind}; use Visibility::*; @@ -841,7 +841,7 @@ impl Context { kind: ContextKind, vis: Visibility, tv_ctx: Option, - ) -> TyCheckResult<()> { + ) { let name = if vis.is_public() { format!("{parent}.{name}", parent = self.name) } else { @@ -855,7 +855,6 @@ impl Context { self.tv_ctx = tv_ctx; self.name = name.into(); self.kind = kind; - Ok(()) } pub fn pop(&mut self) -> Context { diff --git a/compiler/erg_compiler/context/register.rs b/compiler/erg_compiler/context/register.rs index b5c60b6b..6efe84e9 100644 --- a/compiler/erg_compiler/context/register.rs +++ b/compiler/erg_compiler/context/register.rs @@ -526,7 +526,7 @@ impl Context { let bounds = self.instantiate_ty_bounds(&sig.bounds, PreRegister)?; let tv_ctx = TyVarInstContext::new(self.level, bounds, self); let vis = def.sig.vis(); - self.grow(__name__, ContextKind::Proc, vis, Some(tv_ctx))?; + self.grow(__name__, ContextKind::Proc, vis, Some(tv_ctx)); let (obj, const_t) = match self.eval_const_block(&def.body.block) { Ok(obj) => (obj.clone(), v_enum(set! {obj})), Err(e) => { @@ -545,7 +545,7 @@ impl Context { } } ast::Signature::Var(sig) if sig.is_const() => { - self.grow(__name__, ContextKind::Instant, sig.vis(), None)?; + self.grow(__name__, ContextKind::Instant, sig.vis(), None); let (obj, const_t) = match self.eval_const_block(&def.body.block) { Ok(obj) => (obj.clone(), v_enum(set! {obj})), Err(e) => { diff --git a/compiler/erg_compiler/lower.rs b/compiler/erg_compiler/lower.rs index 77056646..0398df83 100644 --- a/compiler/erg_compiler/lower.rs +++ b/compiler/erg_compiler/lower.rs @@ -334,8 +334,7 @@ impl ASTLowerer { log!(info "entered {}({record})", fn_name!()); let mut hir_record = hir::Record::new(record.l_brace, record.r_brace, hir::RecordAttrs::empty()); - self.ctx - .grow("", ContextKind::Dummy, Private, None)?; + self.ctx.grow("", ContextKind::Dummy, Private, None); for attr in record.attrs.into_iter() { let attr = self.lower_def(attr).map_err(|e| { self.pop_append_errs(); @@ -786,7 +785,7 @@ impl ASTLowerer { .ctx .instantiate_ty_bounds(&lambda.sig.bounds, RegistrationMode::Normal)?; let tv_ctx = TyVarInstContext::new(self.ctx.level, bounds, &self.ctx); - self.ctx.grow(&name, kind, Private, Some(tv_ctx))?; + self.ctx.grow(&name, kind, Private, Some(tv_ctx)); if let Err(errs) = self.ctx.assign_params(&lambda.sig.params, None) { self.errs.extend(errs.into_iter()); } @@ -870,11 +869,11 @@ impl ASTLowerer { .ctx .instantiate_ty_bounds(&sig.bounds, RegistrationMode::Normal)?; let tv_ctx = TyVarInstContext::new(self.ctx.level, bounds, &self.ctx); - self.ctx.grow(&name, kind, vis, Some(tv_ctx))?; + self.ctx.grow(&name, kind, vis, Some(tv_ctx)); self.lower_subr_def(sig, def.body) } ast::Signature::Var(sig) => { - self.ctx.grow(&name, kind, vis, None)?; + self.ctx.grow(&name, kind, vis, None); self.lower_var_def(sig, def.body) } }; @@ -1083,7 +1082,7 @@ impl ASTLowerer { ))); } self.ctx - .grow(&class.local_name(), ContextKind::MethodDefs, Private, None)?; + .grow(&class.local_name(), ContextKind::MethodDefs, Private, None); for def in methods.defs.iter_mut() { if methods.vis.is(TokenKind::Dot) { def.sig.ident_mut().unwrap().dot = Some(Token::new(