Skip to content

Writing a query to find declarations of nested structs in Golang. #17134

Open
@aaaayush-n

Description

@aaaayush-n

Description of the issue

I want to write a query to find the nested structs in an struct in Golang.
Let's say my struct is something like:

type SomeStruct struct {
	field1  int
	field2 dto.NewStruct
	field3  []*statusCode
	field4  map[string]http.Response
	field5  map[category.Category]map[time.Time]*http.Header
	field6  []statusCode
	field7  []*time.Time
	field8  http.Request
	field9  statusCode
}

and I want to write a query that gives me all the nested types in this struct ie. statusCode,Response,Category,Time,Header,NewStruct etc.
The field types can be more complex than what is mentioned here.
My main problem statement is to find the declarations of these nested structs, which I will continue my query by finding all typedecl with their idents matching with the above mentioned idents while matching the import path and the filepath for nested objects from different packages like dto.NewStruct. If there is some better approach please suggest.
Please suggest me an approach.

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions