ops: add ops scripts

This commit is contained in:
2026-10-14 20:50:24 -07:00
parent 190a5bf8b2
commit 5da0c76be2
6 changed files with 30 additions and 19 deletions

View File

@@ -1,7 +1,6 @@
package boolnames
import (
"fmt"
"go/ast"
"go/types"
"slices"
@@ -27,20 +26,15 @@ func NewAnalyzer(settings Settings) *analysis.Analyzer {
Doc: `checks that boolean values and functions use appropriate names`,
Requires: []*analysis.Analyzer{inspect.Analyzer},
Run: func(pass *analysis.Pass) (any, error) {
result, ok := pass.ResultOf[inspect.Analyzer]
insp, ok := pass.ResultOf[inspect.Analyzer].(*inspector.Inspector)
if !ok {
return nil, fmt.Errorf("inspect analyzer result is unavailable")
}
insp, ok := result.(*inspector.Inspector)
if !ok {
return nil, fmt.Errorf("inspect analyzer returned %T, want *inspector.Inspector", result)
panic("inspect.Analyzer did not produce *inspector.Inspector")
}
insp.Preorder([]ast.Node{(*ast.Ident)(nil)}, func(n ast.Node) {
ident, ok := n.(*ast.Ident)
if !ok {
return
panic("inspector passed a non-Identifier node to an Identifier preorder")
}
obj := pass.TypesInfo.Defs[ident]
if obj == nil || ident.Name == "_" {