diff options
Diffstat (limited to 'vendor/github.com/timakin')
| -rw-r--r-- | vendor/github.com/timakin/bodyclose/passes/bodyclose/bodyclose.go | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/vendor/github.com/timakin/bodyclose/passes/bodyclose/bodyclose.go b/vendor/github.com/timakin/bodyclose/passes/bodyclose/bodyclose.go index 3c702ab5b..145d5409e 100644 --- a/vendor/github.com/timakin/bodyclose/passes/bodyclose/bodyclose.go +++ b/vendor/github.com/timakin/bodyclose/passes/bodyclose/bodyclose.go @@ -250,6 +250,20 @@ func (r *runner) isCloseCall(ccall ssa.Instruction) bool { } } } + + if returnOp, ok := cs.(*ssa.Return); ok { + for _, resultValue := range returnOp.Results { + if resultValue.Type().String() == "io.Closer" { + return true + } + } + } + } + } + case *ssa.Return: + for _, resultValue := range ccall.Results { + if resultValue.Type().String() == "io.ReadCloser" { + return true } } } |
