type Filter … func matchFields(fields *ast.FieldList, f Filter) bool { … } func matchDecl(d *ast.GenDecl, f Filter) bool { … } func filterValues(a []*Value, f Filter) []*Value { … } func filterFuncs(a []*Func, f Filter) []*Func { … } func filterTypes(a []*Type, f Filter) []*Type { … } // Filter eliminates documentation for names that don't pass through the filter f. // TODO(gri): Recognize "Type.Method" as a name. func (p *Package) Filter(f Filter) { … }