From bfb5194568d3c40db30de765edc44cae9fc94671 Mon Sep 17 00:00:00 2001 From: Andrew Bonventre Date: Thu, 26 Jul 2018 20:58:37 +0000 Subject: [PATCH] Revert "godoc: skip build tag annotations when displaying examples" This reverts commit faa8a71ab532725a7fd9d901a97f74c5038c409b. Reason for revert: +build tag in test causes build to fail :( Change-Id: I8942a6dcc29faaceada23b63ba80ea881b3b2ca6 Reviewed-on: https://go-review.googlesource.com/126195 Reviewed-by: Andrew Bonventre Run-TryBot: Andrew Bonventre TryBot-Result: Gobot Gobot --- godoc/godoc.go | 18 ------------------ godoc/godoc_test.go | 45 --------------------------------------------- 2 files changed, 63 deletions(-) diff --git a/godoc/godoc.go b/godoc/godoc.go index 0acb49bf75..f191a9d989 100644 --- a/godoc/godoc.go +++ b/godoc/godoc.go @@ -666,7 +666,6 @@ func (p *Presentation) example_htmlFunc(info *PageInfo, funcName string) string play := "" if eg.Play != nil && p.ShowPlayground { var buf bytes.Buffer - eg.Play.Comments = filterOutBuildAnnotations(eg.Play.Comments) if err := format.Node(&buf, info.FSet, eg.Play); err != nil { log.Print(err) } else { @@ -695,23 +694,6 @@ func (p *Presentation) example_htmlFunc(info *PageInfo, funcName string) string return buf.String() } -func filterOutBuildAnnotations(cg []*ast.CommentGroup) []*ast.CommentGroup { - if len(cg) == 0 { - return cg - } - - for i := range cg { - if !strings.HasPrefix(cg[i].Text(), "+build ") { - // Found the first non-build tag, return from here until the end - // of the slice. - return cg[i:] - } - } - - // There weren't any non-build tags, return an empty slice. - return []*ast.CommentGroup{} -} - // example_nameFunc takes an example function name and returns its display // name. For example, "Foo_Bar_quux" becomes "Foo.Bar (Quux)". func (p *Presentation) example_nameFunc(s string) string { diff --git a/godoc/godoc_test.go b/godoc/godoc_test.go index 3c21849fc1..c1d631c157 100644 --- a/godoc/godoc_test.go +++ b/godoc/godoc_test.go @@ -321,48 +321,3 @@ func TestSrcToPkgLinkFunc(t *testing.T) { } } } - -func TestFilterOutBuildAnnotations(t *testing.T) { - src := []byte(` -// +build !foo -// +build !anothertag - -// non-tag comment - -package foo - -func bar() int { - return 42 -}`) - - fset := token.NewFileSet() - af, err := parser.ParseFile(fset, "foo.go", src, parser.ParseComments) - if err != nil { - t.Fatal(err) - } - - var found bool - for _, cg := range af.Comments { - if strings.HasPrefix(cg.Text(), "+build ") { - found = true - break - } - } - if !found { - t.Errorf("TestFilterOutBuildAnnotations is broken: missing build tag in test input") - } - - found = false - for _, cg := range filterOutBuildAnnotations(af.Comments) { - if strings.HasPrefix(cg.Text(), "+build ") { - t.Errorf("filterOutBuildAnnotations failed to filter build tag") - } - - if strings.Contains(cg.Text(), "non-tag comment") { - found = true - } - } - if !found { - t.Errorf("filterOutBuildAnnotations should not remove non-build tag comment") - } -}