diff options
author | Teddy Wing | 2023-05-21 17:01:09 +0200 |
---|---|---|
committer | Teddy Wing | 2023-05-21 17:01:09 +0200 |
commit | 22b36b5d90efc312bfa33fce1613a29775dcb5c4 (patch) | |
tree | 7dd8c55b887b3fa576fe53ea63b8d906ae80be23 /defererr.go | |
parent | 39e8712189d071f284b2aaef1757794fabe444d4 (diff) | |
download | godefererr-22b36b5d90efc312bfa33fce1613a29775dcb5c4.tar.bz2 |
Explore inspecting `return` statements for error values
Diffstat (limited to 'defererr.go')
-rw-r--r-- | defererr.go | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/defererr.go b/defererr.go index f8c485e..57e0ce8 100644 --- a/defererr.go +++ b/defererr.go @@ -159,6 +159,20 @@ func checkFunctions(pass *analysis.Pass, node ast.Node) { } // TODO: Check whether returnStmt uses error variable. + fmt.Printf("returnStmt: %#v\n", returnStmt) + + if returnStmt.Results == nil { + return true + } + + fmt.Printf("returnStmt.Results: %#v\n", returnStmt.Results) + + for _, expr := range returnStmt.Results { + fmt.Printf("returnStmt expr: %#v\n", expr) + } + + // TODO: Get returnStmt.Results[error index from function result signature] + // If not variable and name not [error variable name from defer], report diagnostic return true }, |