diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2025-04-14 08:03:22 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2025-04-15 08:30:57 +0000 |
| commit | c7e92da6cb06679b04062786481f50e42c585bfc (patch) | |
| tree | ea62c10f126ecf9580aaaf9e6c5a42665ace84d8 /pkg/declextract/interface.go | |
| parent | 9117e5af6f73d893bff315f64d797ff6466146eb (diff) | |
tools/syz-declextract: extract function references more precisely
Currently we misparse some function references, e.g. for:
.write = (foo) ? bar : baz,
we extract "foo". Extract first function reference from such expressions.
Diffstat (limited to 'pkg/declextract/interface.go')
| -rw-r--r-- | pkg/declextract/interface.go | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/pkg/declextract/interface.go b/pkg/declextract/interface.go index e8ace450b..a1ba9c137 100644 --- a/pkg/declextract/interface.go +++ b/pkg/declextract/interface.go @@ -4,6 +4,7 @@ package declextract import ( + "fmt" "slices" "strings" @@ -173,12 +174,12 @@ func (ctx *context) findFunc(name, file string) *Function { return ctx.funcs[name] } -func (ctx *context) funcDefinitionFile(name, calledFrom string) string { - fn := ctx.findFunc(name, calledFrom) +func (ctx *context) mustFindFunc(name, file string) *Function { + fn := ctx.findFunc(name, file) if fn == nil { - return "" + panic(fmt.Sprintf("no func %q in %q", name, file)) } - return fn.File + return fn } func fileNameSuffix(file string) string { |
