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
|
// ExampleNewImporter demonstrates usage of NewImporter to provide type
|
||||||
// information for dependencies when type-checking Go source code.
|
// information for dependencies when type-checking Go source code.
|
||||||
func ExampleNewImporter() {
|
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()
|
fset := token.NewFileSet()
|
||||||
f, err := parser.ParseFile(fset, "twopi.go", src, 0)
|
f, err := parser.ParseFile(fset, "myscanner.go", src, 0)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
|
@ -84,32 +85,34 @@ const TwoPi = 2 * math.Pi
|
||||||
packages := make(map[string]*types.Package)
|
packages := make(map[string]*types.Package)
|
||||||
imp := gcexportdata.NewImporter(fset, packages)
|
imp := gcexportdata.NewImporter(fset, packages)
|
||||||
conf := types.Config{Importer: imp}
|
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 {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// object from imported package
|
// 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",
|
fmt.Printf("const %s.%s %s = %s // %s\n",
|
||||||
pi.Pkg().Path(),
|
pi.Pkg().Path(),
|
||||||
pi.Name(),
|
pi.Name(),
|
||||||
pi.Type(),
|
pi.Type(),
|
||||||
pi.(*types.Const).Val(),
|
pi.(*types.Const).Val(),
|
||||||
slashify(fset.Position(pi.Pos())))
|
slashify(fset.Position(pi.Pos())),
|
||||||
|
)
|
||||||
|
|
||||||
// object in source package
|
// object in source package
|
||||||
twopi := pkg.Scope().Lookup("TwoPi")
|
twopi := pkg.Scope().Lookup("eof")
|
||||||
fmt.Printf("const %s %s = %s // %s\n",
|
fmt.Printf("const %s %s = %s // %s\n",
|
||||||
twopi.Name(),
|
twopi.Name(),
|
||||||
twopi.Type(),
|
twopi.Type(),
|
||||||
twopi.(*types.Const).Val(),
|
twopi.(*types.Const).Val(),
|
||||||
slashify(fset.Position(twopi.Pos())))
|
slashify(fset.Position(twopi.Pos())),
|
||||||
|
)
|
||||||
|
|
||||||
// Output:
|
// Output:
|
||||||
//
|
//
|
||||||
// const math.Pi untyped float = 3.14159 // $GOROOT/src/math/const.go:13:1
|
// const text/scanner.EOF untyped int = -1 // $GOROOT/src/text/scanner/scanner.go:75:1
|
||||||
// const TwoPi untyped float = 6.28319 // twopi.go:5:7
|
// const eof untyped int = -1 // myscanner.go:6:7
|
||||||
}
|
}
|
||||||
|
|
||||||
func slashify(posn token.Position) token.Position {
|
func slashify(posn token.Position) token.Position {
|
||||||
|
|
Loading…
Reference in New Issue