pub(crate) fn new(source_id: SourceId, visitor: Rc<dyn CompileVisitor>) -> Self {
        Self {
            source_id,
            visitor,
            stack: vec![Scope::default()],
        }
    }
/// Construct a new stack with the given source id.
Construct a new stack with the given source id.
Construct a new stack with the given source id .
pub(crate) fn new(source_id: SourceId, visitor: Rc<dyn CompileVisitor>) -> Self {
        Self {
            source_id,
            visitor,
            stack: vec![Scope::default()],
        }
    }
pub ( crate ) fn new ( source_id : SourceId , visitor : Rc < dyn CompileVisitor > ) -> Self { Self { source_id , visitor , stack : vec ! [ Scope default ( ) ] , } }
Construct a new stack with the given source id.
Construct a new stack with the given source id .
source_id
SourceId
visitor
Rc<dyn CompileVisitor>
source_id
SourceId
visitor
Rc<dyn CompileVisitor>