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:
@ -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
|
||||
|
Reference in New Issue
Block a user