Commit Graph

5 Commits

Author SHA1 Message Date
Alan Donovan b41e4b469b 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>
2018-09-27 17:26:44 +00:00
Alan Donovan 308f0c7c09 go/analysis: revert UsesFacts to FactTypes
Forcing clients to register their Fact types with gob made for an
unfriendly API. Now the driver is again responsible for doing it.

The FactTypes field is now a slice of Fact values (not reflect.Types)
used only for their dynamic type, which is slightly more convenient.

Change-Id: I01219edb24bd2371ba642bb56508aa80c19a9b61
Reviewed-on: https://go-review.googlesource.com/137836
Run-TryBot: Alan Donovan <adonovan@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Michael Matloob <matloob@golang.org>
2018-09-27 16:40:32 +00:00
Alan Donovan 31d48d9a8c go/analysis: more API renamings:
Info -> TypesInfo
              Syntax -> Files
          Diagnostic -> Finding

Also, diagnostics are now reported by calling Pass.Report (or Reportf).

Change-Id: Id5e0745fca914699a6a64be3554049ffc02e822b
Reviewed-on: https://go-review.googlesource.com/137395
Reviewed-by: Michael Matloob <matloob@golang.org>
2018-09-25 20:33:08 +00:00
Alan Donovan e2857128af go/analysis: several API renamings
Analysis -> Analyzer
                 Unit     -> Pass
                 Output   -> Result
                 Inputs   -> ResultOf
                 Lemma    -> Fact
 Set{Object,Package}Lemma -> Export{Object,Package}Fact
    {Object,Package}Lemma -> Import{Object,Package}Fact
               LemmaTypes -> UsesFacts bool
                 plugins/ -> passes/

Notes:
- Unit.Output is no longer a field; it's the result of calling Analyzer.Run.
- Because analyzers no longer declare their LemmaTypes, they, not the
  driver, are now responsible for registering Fact types with Gob.

A follow-up change will additionally rename:

                  Finding -> Report
              Pass.Syntax -> Pass.Files
                Pass.Info -> Pass.TypesInfo

Change-Id: Iccbdadbea5a0aafe732e23a344dd57fd93681931
Reviewed-on: https://go-review.googlesource.com/137095
Reviewed-by: Ian Cottrell <iancottrell@google.com>
2018-09-25 16:28:27 +00:00
Alan Donovan 9f3b32b5c4 go/analysis: a new API for analysis tools
This CL contains just the API, the validate function,
and two example analyses, findcall and pkglemma.

Change-Id: Ia1f2652647050b1e0e15dad8b9ae10cf1a5fbdbc
Synopsis: go-review.googlesource.com/c/tools/+/134935
Design:   docs.google.com/document/d/1-azPLXaLgTCKeKDNg0HVMq2ovMlD-e7n1ZHzZVzOlJk
Reviewed-on: https://go-review.googlesource.com/135635
Reviewed-by: Ian Cottrell <iancottrell@google.com>
2018-09-17 22:09:49 +00:00