Add nil check when following Else in ast

Fixes #137
This commit is contained in:
Derek Parker
2015-06-21 11:48:22 -05:00
parent 38f97b4023
commit 5642e0a106

View File

@ -120,22 +120,24 @@ func (s *Searcher) NextLines(fname string, line int) (lines []int, err error) {
x = stmt x = stmt
continue continue
} }
pos := s.fileset.Position(x.Else.Pos()) if x.Else != nil {
ast.Inspect(x, func(n ast.Node) bool { pos := s.fileset.Position(x.Else.Pos())
if found { ast.Inspect(x, func(n ast.Node) bool {
panic(Done("done")) if found {
} panic(Done("done"))
if n == nil { }
return false if n == nil {
} return false
p := s.fileset.Position(n.Pos()) }
if pos.Line < p.Line { p := s.fileset.Position(n.Pos())
lines = append(lines, p.Line) if pos.Line < p.Line {
found = true lines = append(lines, p.Line)
return false found = true
} return false
return true }
}) return true
})
}
} }
} }