aboutsummaryrefslogtreecommitdiffstats
path: root/gocapturedrefrace.go
diff options
context:
space:
mode:
authorTeddy Wing2023-05-18 03:40:44 +0200
committerTeddy Wing2023-05-18 03:44:52 +0200
commitc76dd021f7a3df0f524b8c9e8e710950a0b31fb6 (patch)
tree07a839229c0df953b1a4d652933897a9b495394f /gocapturedrefrace.go
parentf0aece52e7d41c404f5a3dbcbe174b43351cb25f (diff)
downloadgocapturedrefrace-c76dd021f7a3df0f524b8c9e8e710950a0b31fb6.tar.bz2
varDeclaration: Return all identifiers in declaration
Declarations can include multiple identifiers. Return all of these from the function and rename it accordingly.
Diffstat (limited to 'gocapturedrefrace.go')
-rw-r--r--gocapturedrefrace.go20
1 files changed, 11 insertions, 9 deletions
diff --git a/gocapturedrefrace.go b/gocapturedrefrace.go
index cab0b4f..5be3656 100644
--- a/gocapturedrefrace.go
+++ b/gocapturedrefrace.go
@@ -180,9 +180,9 @@ func findLocalVarDeclarations(
}
case *ast.GenDecl:
- decl := varDeclaration(node)
- if decl != nil {
- declarations = append(declarations, decl)
+ decls := varDeclarations(node)
+ if decls != nil {
+ declarations = append(declarations, decls...)
}
}
@@ -193,23 +193,25 @@ func findLocalVarDeclarations(
return declarations
}
-// varDeclaration returns the identifier corresponding to variable declarations
-// in decl, or nil if decl is not a variable declaration.
-func varDeclaration(decl *ast.GenDecl) *ast.Ident {
+// varDeclarations returns the identifiers corresponding to variable
+// declarations in decl, or nil if decl is not a variable declaration.
+func varDeclarations(decl *ast.GenDecl) (declarations []*ast.Ident) {
if decl.Tok != token.VAR {
return nil
}
+ declarations = []*ast.Ident{}
+
for _, spec := range decl.Specs {
valueSpec, ok := spec.(*ast.ValueSpec)
if !ok {
- return nil
+ return declarations
}
for _, ident := range valueSpec.Names {
- return ident
+ declarations = append(declarations, ident)
}
}
- return nil
+ return declarations
}