diff options
Diffstat (limited to 'vendor/honnef.co/go/tools/ssautil/ssautil.go')
-rw-r--r-- | vendor/honnef.co/go/tools/ssautil/ssautil.go | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/vendor/honnef.co/go/tools/ssautil/ssautil.go b/vendor/honnef.co/go/tools/ssautil/ssautil.go deleted file mode 100644 index a18f849ec..000000000 --- a/vendor/honnef.co/go/tools/ssautil/ssautil.go +++ /dev/null @@ -1,41 +0,0 @@ -package ssautil - -import ( - "honnef.co/go/tools/ssa" -) - -func Reachable(from, to *ssa.BasicBlock) bool { - if from == to { - return true - } - if from.Dominates(to) { - return true - } - - found := false - Walk(from, func(b *ssa.BasicBlock) bool { - if b == to { - found = true - return false - } - return true - }) - return found -} - -func Walk(b *ssa.BasicBlock, fn func(*ssa.BasicBlock) bool) { - seen := map[*ssa.BasicBlock]bool{} - wl := []*ssa.BasicBlock{b} - for len(wl) > 0 { - b := wl[len(wl)-1] - wl = wl[:len(wl)-1] - if seen[b] { - continue - } - seen[b] = true - if !fn(b) { - continue - } - wl = append(wl, b.Succs...) - } -} |