aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--go/analysis/analysis.go11
-rw-r--r--go/analysis/internal/checker/checker.go1
2 files changed, 8 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.
diff --git a/go/analysis/internal/checker/checker.go b/go/analysis/internal/checker/checker.go
index d9647c0e2..bbdaf2bd8 100644
--- a/go/analysis/internal/checker/checker.go
+++ b/go/analysis/internal/checker/checker.go
@@ -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,