aboutsummaryrefslogtreecommitdiff
path: root/go/analysis/analysis.go
diff options
context:
space:
mode:
authorAlan Donovan <adonovan@google.com>2018-09-27 12:42:39 -0400
committerAlan Donovan <adonovan@google.com>2018-09-27 17:26:44 +0000
commitb41e4b469b2bafe522fded91c604eed59357789c (patch)
treeee225fa121178826c3d024036ee312d72ddf23dd /go/analysis/analysis.go
parentd457fc80545a81e74af7ab0ea8ee875e86d59c65 (diff)
downloadgolang-x-tools-b41e4b469b2bafe522fded91c604eed59357789c.tar.gz
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>
Diffstat (limited to 'go/analysis/analysis.go')
-rw-r--r--go/analysis/analysis.go11
1 files changed, 7 insertions, 4 deletions
diff --git a/go/analysis/analysis.go b/go/analysis/analysis.go
index 8fa329c15..21fcb372b 100644
--- a/go/analysis/analysis.go
+++ b/go/analysis/analysis.go
@@ -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.