pub(crate) fn new(visitor: Rc<dyn CompileVisitor>) -> Self {
        Self {
            visitor,
            scopes: vec![Scope::new()],
        }
    }
/// Construct a new collection of scopes.
Construct a new collection of scopes.
Construct a new collection of scopes .
pub(crate) fn new(visitor: Rc<dyn CompileVisitor>) -> Self {
        Self {
            visitor,
            scopes: vec![Scope::new()],
        }
    }
pub ( crate ) fn new ( visitor : Rc < dyn CompileVisitor > ) -> Self { Self { visitor , scopes : vec ! [ Scope new ( ) ] , } }
Construct a new collection of scopes.
Construct a new collection of scopes .
visitor
Rc<dyn CompileVisitor>
visitor
Rc<dyn CompileVisitor>