The example shouldn't rely on the existance of example_test.go. That
breaks in the playground, which is what the "run" button in
https://golang.org/pkg/go/parser/#example_ParseFile does.
Make the example self-sufficient by using a small piece of source via a
string literal instead.
Fixes #19823.
Change-Id: Ie8a3c6c5d00724e38ff727862b62e6a3621adc88
Reviewed-on: https://go-review.googlesource.com/39236
Run-TryBot: Daniel Martà <mvdan@mvdan.cc>
Reviewed-by: Robert Griesemer <gri@golang.org>
func ExampleParseFile() {
fset := token.NewFileSet() // positions are relative to fset
- // Parse the file containing this very example
- // but stop after processing the imports.
- f, err := parser.ParseFile(fset, "example_test.go", nil, parser.ImportsOnly)
+ src := `package foo
+
+import (
+ "fmt"
+ "time"
+)
+
+func bar() {
+ fmt.Println(time.Now())
+}`
+
+ // Parse src but stop after processing the imports.
+ f, err := parser.ParseFile(fset, "", src, parser.ImportsOnly)
if err != nil {
fmt.Println(err)
return
// output:
//
// "fmt"
- // "go/parser"
- // "go/token"
+ // "time"
}