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.