diff options
author | Cody Schroeder <schroederc@google.com> | 2024-03-18 13:22:00 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-18 19:22:00 +0000 |
commit | c067658f122ed8a32c4aaed7e806eaacb7caf8ec (patch) | |
tree | 33c38194a3561b9d5d7e15e7abad7be90417154a | |
parent | c1bb18683d69a7fd3f0be06f24beba324f2cb9f2 (diff) | |
download | kythe-c067658f122ed8a32c4aaed7e806eaacb7caf8ec.tar.gz |
fix(go_indexer): only handle top-level flags (#6063)
-rw-r--r-- | kythe/go/indexer/emit.go | 5 | ||||
-rw-r--r-- | kythe/go/indexer/testdata/flags.go | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/kythe/go/indexer/emit.go b/kythe/go/indexer/emit.go index dfffe53ce..d6d58f507 100644 --- a/kythe/go/indexer/emit.go +++ b/kythe/go/indexer/emit.go @@ -1126,6 +1126,11 @@ func (e *emitter) flagConstructor(f *types.Func) *gopb.FlagConstructor { if pkg == nil { return nil } + sig, ok := f.Type().(*types.Signature) + if !ok || sig.Recv() != nil { + // We only handle top-level flags + return nil + } return e.flagConstructors[pkg.Path()][f.Name()] } diff --git a/kythe/go/indexer/testdata/flags.go b/kythe/go/indexer/testdata/flags.go index d4eb6102c..f9e65cc4d 100644 --- a/kythe/go/indexer/testdata/flags.go +++ b/kythe/go/indexer/testdata/flags.go @@ -72,3 +72,8 @@ func main() { fmt.Println(flag.Args(), f) } + +func configureFlags(flag *flag.FlagSet) { + //- !{ @"\"subflag\"" defines/binding _ } + flag.String("subflag", "", "Subflag") +} |