fn check_function(&mut self, f: &mut Function) -> Result<(), String> {
        self.push_scope();
        for s in f.statements.iter_mut() {
            match self.check_statement(s) {
                Err(msg) => { self.pop_scope(); return Err(msg); },
                Ok(_) => {}
            }
        }
        self.pop_scope();
        Ok(())
    }
/// Given a function, check that it is semantically value
Given a function, check that it is semantically value
Given a function check that it is semantically value
fn check_function(&mut self, f: &mut Function) -> Result<(), String> {
        self.push_scope();
        for s in f.statements.iter_mut() {
            match self.check_statement(s) {
                Err(msg) => { self.pop_scope(); return Err(msg); },
                Ok(_) => {}
            }
        }
        self.pop_scope();
        Ok(())
    }
fn check_function ( & mut self , f : & mut Function ) -> Result < ( ) , String > { self . push_scope ( ) ; for s in f . statements . iter_mut ( ) { match self . check_statement ( s ) { Err ( msg ) => { self . pop_scope ( ) ; return Err ( msg ) ; } , Ok ( _ ) => { } } } self . pop_scope ( ) ; Ok ( ( ) ) }
Given a function, check that it is semantically value
Given a function check that it is semantically value
&mut self
f
&mut Function
&mut self
f
&mut Function