in processor/processor.go [477:494]
func (p *processor) addReference(parent *types.Type, child *types.Type) {
if child == nil {
return
}
switch child.Kind {
case types.SliceKind, types.PointerKind:
p.addReference(parent, child.UnderlyingType)
case types.MapKind:
p.addReference(parent, child.KeyType)
p.addReference(parent, child.ValueType)
case types.AliasKind, types.StructKind:
if p.references[child.UID] == nil {
p.references[child.UID] = make(map[string]struct{})
}
p.references[child.UID][parent.UID] = struct{}{}
}
}