1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00

ast: use multi return optional for find_scope_and_var

This commit is contained in:
joe-conigliaro
2020-03-31 15:39:14 +11:00
parent 71ca553190
commit 602bc06bee
2 changed files with 4 additions and 19 deletions

View File

@ -21,23 +21,13 @@ pub fn new_scope(parent &Scope, start_pos int) &Scope {
}
}
pub struct ScopeVar {
pub:
scope &Scope
var Var
}
// pub fn (s &Scope) find_scope_and_var(name string) ?(&Scope,Var) {
pub fn (s &Scope) find_scope_and_var(name string) ?ScopeVar {
pub fn (s &Scope) find_scope_and_var(name string) ?(&Scope,Var) {
if name in s.vars {
// return s,s.vars[name]
return ScopeVar{
s,s.vars[name]}
return s,s.vars[name]
}
for sc := s; !isnil(sc.parent); sc = sc.parent {
if name in sc.vars {
return ScopeVar{
sc,sc.vars[name]}
return sc,sc.vars[name]
}
}
return none