Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var Analyzer = &analysis.Analyzer{ Name: "mustinit", Doc: "checks for initialization of required fields", Flags: *flag.NewFlagSet("", flag.ExitOnError), Requires: []*analysis.Analyzer{inspect.Analyzer}, Run: run, FactTypes: []analysis.Fact{new(PackageFact)}, }
Functions ¶
This section is empty.
Types ¶
type PackageFact ¶
type PackageFact struct { // Requirements stores the requirements of all types in the package Requirements map[string]TypeRequirements `mustinit:"true"` }
PackageFact is used to transfer data on packages between passes
func (*PackageFact) AFact ¶
func (*PackageFact) AFact()
AFact is a type tag required to conform to analysis.Fact
type TypeRequirements ¶
type TypeRequirements struct { // IsRequired indicates the type must be initialized IsRequired bool `mustinit:"true"` // RequiredFIelds indicates which subfields must be initialized RequiredFields map[string]struct{} `mustinit:"true"` }
TypeRequiremends describe whether a type and its subfields must be initialized
Click to show internal directories.
Click to hide internal directories.