diff options
author | Teddy Wing | 2023-05-18 01:54:39 +0200 |
---|---|---|
committer | Teddy Wing | 2023-05-18 01:54:39 +0200 |
commit | d75790724acc77890acdbe4e1894e287e4db9b46 (patch) | |
tree | 561f54f98996ad408175b0b11ade00b5e293a85a | |
parent | ace55a2a1696e3b60891b5d731705ead72446f7d (diff) | |
download | gocapturedrefrace-d75790724acc77890acdbe4e1894e287e4db9b46.tar.bz2 |
Create a new plan for checking shadowing
-rw-r--r-- | gocapturedrefrace.go | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gocapturedrefrace.go b/gocapturedrefrace.go index 369b107..cdc6486 100644 --- a/gocapturedrefrace.go +++ b/gocapturedrefrace.go @@ -37,6 +37,7 @@ var Analyzer = &analysis.Analyzer{ } func run(pass *analysis.Pass) (interface{}, error) { + // TODO: Since we're calling ast.Inspect a bunch of times, maybe it's worthwhile using passes/inspect now. for _, file := range pass.Files { ast.Inspect( file, @@ -144,6 +145,8 @@ func isShadowingDeclaration( node ast.Node, funcScope *types.Scope, ) bool { + // TODO: Plan: Change this function to checkShadowing. Call ast.Inspect and build a list of local assignments in the closure. Then in checkClosure, ignore objects in the local assignments list. + assignStmt, ok := node.(*ast.AssignStmt) if !ok { return false |