File tree Expand file tree Collapse file tree 3 files changed +22
-1
lines changed
Expand file tree Collapse file tree 3 files changed +22
-1
lines changed Original file line number Diff line number Diff line change 11tk-btf
2- Copyright 2023-2024 Elasticsearch BV
2+ Copyright 2023-2025 Elasticsearch BV
33
44================================================================================
55Third party libraries used by tk-btf:
Original file line number Diff line number Diff line change @@ -198,6 +198,14 @@ func (s *Spec) ContainsSymbol(symbolName string) bool {
198198 return s .spec .TypeByName (symbolName , & funcType ) == nil
199199}
200200
201+ // AnyTypesByName returns all [btf.Type] interfaces that match the given name.
202+ // It returns a slice since multiple distinct types can share the same name in BTF.
203+ // Each element of the slice can then be type-asserted to a more specific type,
204+ // such as a [*btf.Struct] or [*btf.Enum].
205+ func (s * Spec ) AnyTypesByName (name string ) ([]btf.Type , error ) {
206+ return s .spec .AnyTypesByName (name )
207+ }
208+
201209func (b * btfSpecWrapper ) AnyTypesByName (name string ) ([]btf.Type , error ) {
202210 return b .spec .AnyTypesByName (name )
203211}
Original file line number Diff line number Diff line change @@ -143,3 +143,16 @@ func TestSpec_ContainsSymbol(t *testing.T) {
143143 require .False (t , mockSpec .ContainsSymbol ("unknown" ))
144144 require .True (t , mockSpec .ContainsSymbol ("dentry" ))
145145}
146+
147+ func TestSpec_AnyTypesByName (t * testing.T ) {
148+ mockSpec := & Spec {
149+ spec : newMockedBTFSpecWithTypesMap (map [string ]btf.Type {
150+ "dentry" : & btf.Func {},
151+ }),
152+ regs : nil ,
153+ }
154+
155+ foundTypes , err := mockSpec .AnyTypesByName ("dentry" )
156+ require .NoError (t , err )
157+ require .Len (t , foundTypes , 1 )
158+ }
You can’t perform that action at this time.
0 commit comments