go/analysis: update internal/facts and unit checker to support all(Package|Object)Facts methods
Change-Id: Ibae7a87417be49941a5e4970c25df2ff48b346a7 Reviewed-on: https://go-review.googlesource.com/c/tools/+/185978 Run-TryBot: Michael Matloob <matloob@golang.org> Reviewed-by: Ian Cottrell <iancottrell@google.com>
This commit is contained in:
parent
9a621aea19
commit
d5f455491e
|
@ -99,6 +99,16 @@ func (s *Set) ExportObjectFact(obj types.Object, fact analysis.Fact) {
|
|||
s.mu.Unlock()
|
||||
}
|
||||
|
||||
func (s *Set) AllObjectFacts() []analysis.ObjectFact {
|
||||
var facts []analysis.ObjectFact
|
||||
for k, v := range s.m {
|
||||
if k.obj != nil {
|
||||
facts = append(facts, analysis.ObjectFact{k.obj, v})
|
||||
}
|
||||
}
|
||||
return facts
|
||||
}
|
||||
|
||||
// ImportPackageFact implements analysis.Pass.ImportPackageFact.
|
||||
func (s *Set) ImportPackageFact(pkg *types.Package, ptr analysis.Fact) bool {
|
||||
if pkg == nil {
|
||||
|
@ -122,6 +132,16 @@ func (s *Set) ExportPackageFact(fact analysis.Fact) {
|
|||
s.mu.Unlock()
|
||||
}
|
||||
|
||||
func (s *Set) AllPackageFacts() []analysis.PackageFact {
|
||||
var facts []analysis.PackageFact
|
||||
for k, v := range s.m {
|
||||
if k.obj == nil {
|
||||
facts = append(facts, analysis.PackageFact{k.pkg, v})
|
||||
}
|
||||
}
|
||||
return facts
|
||||
}
|
||||
|
||||
// gobFact is the Gob declaration of a serialized fact.
|
||||
type gobFact struct {
|
||||
PkgPath string // path of package
|
||||
|
|
|
@ -334,8 +334,10 @@ func run(fset *token.FileSet, cfg *Config, analyzers []*analysis.Analyzer) ([]re
|
|||
Report: func(d analysis.Diagnostic) { act.diagnostics = append(act.diagnostics, d) },
|
||||
ImportObjectFact: facts.ImportObjectFact,
|
||||
ExportObjectFact: facts.ExportObjectFact,
|
||||
AllObjectFacts: facts.AllObjectFacts,
|
||||
ImportPackageFact: facts.ImportPackageFact,
|
||||
ExportPackageFact: facts.ExportPackageFact,
|
||||
AllPackageFacts: facts.AllPackageFacts,
|
||||
}
|
||||
|
||||
t0 := time.Now()
|
||||
|
|
Loading…
Reference in New Issue