go/gcexportdata: fix test again (fix older builds)
This time, chose a package that's not changed across several builds. Follow-up on https://go-review.googlesource.com/45151. Change-Id: I0b487a45f8b12179b3aa495d852c0b7caa44c921 Reviewed-on: https://go-review.googlesource.com/45154 Run-TryBot: Robert Griesemer <gri@golang.org> Reviewed-by: Alan Donovan <adonovan@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
parent
add5a52034
commit
b9ad13c5e8
|
@ -69,14 +69,15 @@ func ExampleRead() {
|
|||
// ExampleNewImporter demonstrates usage of NewImporter to provide type
|
||||
// information for dependencies when type-checking Go source code.
|
||||
func ExampleNewImporter() {
|
||||
const src = `package twopi
|
||||
const src = `package myscanner
|
||||
|
||||
import "math"
|
||||
// choosing a package that is unlikely to change across releases
|
||||
import "text/scanner"
|
||||
|
||||
const TwoPi = 2 * math.Pi
|
||||
const eof = scanner.EOF
|
||||
`
|
||||
fset := token.NewFileSet()
|
||||
f, err := parser.ParseFile(fset, "twopi.go", src, 0)
|
||||
f, err := parser.ParseFile(fset, "myscanner.go", src, 0)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
@ -84,32 +85,34 @@ const TwoPi = 2 * math.Pi
|
|||
packages := make(map[string]*types.Package)
|
||||
imp := gcexportdata.NewImporter(fset, packages)
|
||||
conf := types.Config{Importer: imp}
|
||||
pkg, err := conf.Check("twopi", fset, []*ast.File{f}, nil)
|
||||
pkg, err := conf.Check("myscanner", fset, []*ast.File{f}, nil)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
// object from imported package
|
||||
pi := packages["math"].Scope().Lookup("Pi")
|
||||
pi := packages["text/scanner"].Scope().Lookup("EOF")
|
||||
fmt.Printf("const %s.%s %s = %s // %s\n",
|
||||
pi.Pkg().Path(),
|
||||
pi.Name(),
|
||||
pi.Type(),
|
||||
pi.(*types.Const).Val(),
|
||||
slashify(fset.Position(pi.Pos())))
|
||||
slashify(fset.Position(pi.Pos())),
|
||||
)
|
||||
|
||||
// object in source package
|
||||
twopi := pkg.Scope().Lookup("TwoPi")
|
||||
twopi := pkg.Scope().Lookup("eof")
|
||||
fmt.Printf("const %s %s = %s // %s\n",
|
||||
twopi.Name(),
|
||||
twopi.Type(),
|
||||
twopi.(*types.Const).Val(),
|
||||
slashify(fset.Position(twopi.Pos())))
|
||||
slashify(fset.Position(twopi.Pos())),
|
||||
)
|
||||
|
||||
// Output:
|
||||
//
|
||||
// const math.Pi untyped float = 3.14159 // $GOROOT/src/math/const.go:13:1
|
||||
// const TwoPi untyped float = 6.28319 // twopi.go:5:7
|
||||
// const text/scanner.EOF untyped int = -1 // $GOROOT/src/text/scanner/scanner.go:75:1
|
||||
// const eof untyped int = -1 // myscanner.go:6:7
|
||||
}
|
||||
|
||||
func slashify(posn token.Position) token.Position {
|
||||
|
|
Loading…
Reference in New Issue