fn is_local_var(&mut self, id: IdentId) -> bool {
        for c in self.context_stack.iter().rev() {
            if c.lvar.table.get_lvarid(id).is_some() {
                return true;
            }
            match c.kind {
                ParseContextKind::Block | ParseContextKind::For => {}
                _ => return false,
            }
        }
        let mut ctx = self.extern_context;
        while let Some(a) = ctx {
            if a.get_lvarid(id).is_some() {
                return true;
            };
            ctx = a.outer();
        }
        false
    }
Examine whether `id` exists in the scope chain.
If exiets, return true.
ruruby-parse/src/parser.rs