From 06ca740d01b428f12f6bd327257cd05dce737b03 Mon Sep 17 00:00:00 2001 From: Laurenz Date: Tue, 9 Feb 2021 19:46:57 +0100 Subject: =?UTF-8?q?Split=20evaluation=20and=20execution=20=F0=9F=94=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/eval/scope.rs | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'src/eval/scope.rs') diff --git a/src/eval/scope.rs b/src/eval/scope.rs index 8f2bd1d5..0991564f 100644 --- a/src/eval/scope.rs +++ b/src/eval/scope.rs @@ -21,9 +21,22 @@ pub struct Scopes<'a> { } impl<'a> Scopes<'a> { - /// Create a new hierarchy of scopes. - pub fn new(base: Option<&'a Scope>) -> Self { - Self { top: Scope::new(), scopes: vec![], base } + /// Create a new, empty hierarchy of scopes. + pub fn new() -> Self { + Self { + top: Scope::new(), + scopes: vec![], + base: None, + } + } + + /// Create a new hierarchy of scopes with a base scope. + pub fn with_base(base: &'a Scope) -> Self { + Self { + top: Scope::new(), + scopes: vec![], + base: Some(base), + } } /// Push a new scope. -- cgit v1.2.3