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 | |
| parent | 39e8712189d071f284b2aaef1757794fabe444d4 (diff) | |
| download | godefererr-22b36b5d90efc312bfa33fce1613a29775dcb5c4.tar.bz2 | |
Explore inspecting `return` statements for error values
| -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 }, |
