var versionErrorRx … // checkFiles configures and runs the types2 checker on the given // parsed source files and then returns the result. // The map result value indicates which closures are generated from the bodies of range function loops. func checkFiles(m posMap, noders []*noder) (*types2.Package, *types2.Info, map[*syntax.FuncLit]bool) { … } type cycleFinder … // hasCycle reports whether typ is part of an anonymous interface cycle. func (f *cycleFinder) hasCycle(typ *types2.Interface) bool { … } // visit recursively walks typ0 to check any referenced interface types. func (f *cycleFinder) visit(typ0 types2.Type) bool { … }