1
0
mirror of https://github.com/golang/go synced 2024-10-01 01:28:32 -06:00

go/analysis: add Pass.OtherFiles field

This field lists the names of non-Go files that are part of the
package under analysis.

Change-Id: Ic967dc18b98e018c691442f7378cb29db30a1454
Reviewed-on: https://go-review.googlesource.com/138136
Reviewed-by: Michael Matloob <matloob@golang.org>
This commit is contained in:
Alan Donovan 2018-09-27 12:42:39 -04:00
parent d457fc8054
commit b41e4b469b
2 changed files with 8 additions and 4 deletions

View File

@ -90,16 +90,19 @@ func (a *Analyzer) String() string { return a.Name }
// program, and has both input and an output components.
//
// As in a compiler, one pass may depend on the result computed by another.
//
// The Run function should not call any of the Pass functions concurrently.
type Pass struct {
// -- inputs --
Analyzer *Analyzer // the identity of the current analyzer
// syntax and type information
Fset *token.FileSet // file position information
Files []*ast.File // the abstract syntax tree of each file
Pkg *types.Package // type information about the package
TypesInfo *types.Info // type information about the syntax trees
Fset *token.FileSet // file position information
Files []*ast.File // the abstract syntax tree of each file
OtherFiles []string // names of non-Go files of this package
Pkg *types.Package // type information about the package
TypesInfo *types.Info // type information about the syntax trees
// ResultOf provides the inputs to this analysis pass, which are
// the corresponding results of its prerequisite analyzers.

View File

@ -497,6 +497,7 @@ func (act *action) execOnce() {
Analyzer: act.a,
Fset: act.pkg.Fset,
Files: act.pkg.Syntax,
OtherFiles: act.pkg.OtherFiles,
Pkg: act.pkg.Types,
TypesInfo: act.pkg.TypesInfo,
ResultOf: inputs,