var doc … var Analyzer … type Features … const GenericTypeDecls … const GenericFuncDecls … const EmbeddedTypeSets … const TypeInstantiation … const FuncInstantiation … type Result … type featuresFact … func (f *featuresFact) AFact() { … } func (f *featuresFact) String() string { … } func run(pass *analysis.Pass) (interface{ … } // importedTransitiveFeatures computes features that are used transitively via // imports. func importedTransitiveFeatures(pass *analysis.Pass) Features { … }