Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type CheckFunc ¶
type CheckFunc func(id string, previousFiles []protodesc.File, files []protodesc.File) ([]*analysis.Annotation, error)
CheckFunc is a check function.
type Checker ¶
type Checker struct {
// contains filtered or unexported fields
}
Checker provides a base embeddable checker.
func (*Checker) MarshalJSON ¶
MarshalJSON implements Checker.
type CheckerBuilder ¶
type CheckerBuilder struct {
// contains filtered or unexported fields
}
CheckerBuilder is a checker builder.
func NewCheckerBuilder ¶
func NewCheckerBuilder( id string, newPurpose func(ConfigBuilder) (string, error), newCheck func(ConfigBuilder) (CheckFunc, error), ) *CheckerBuilder
NewCheckerBuilder returns a new CheckerBuilder.
func NewNopCheckerBuilder ¶
func NewNopCheckerBuilder( id string, purpose string, checkFunc CheckFunc, ) *CheckerBuilder
NewNopCheckerBuilder returns a new CheckerBuilder for the direct purpose and CheckFunc.
func (*CheckerBuilder) NewChecker ¶
func (c *CheckerBuilder) NewChecker(configBuilder ConfigBuilder, categories []string) (*Checker, error)
NewChecker returns a new Checker.
Categories will be sorted and Purpose will be prepended with "Checks that " and appended with ".".
Categories is an actual copy from the checkerBuilder.
type Config ¶
type Config struct {
// Checkers are the checkers to run.
//
// Checkers will be sorted by first categories, then id when Configs are
// created from this package, i.e. created wth ConfigBuilder.NewConfig.
Checkers []*Checker
IgnoreIDToRootPaths map[string]map[string]struct{}
IgnoreRootPaths map[string]struct{}
}
Config is the check config.
type ConfigBuilder ¶
type ConfigBuilder struct {
Use []string
Except []string
IgnoreIDOrCategoryToRootPaths map[string][]string
IgnoreRootPaths []string
EnumZeroValueSuffix string
RPCAllowSameRequestResponse bool
RPCAllowGoogleProtobufEmptyRequests bool
RPCAllowGoogleProtobufEmptyResponses bool
ServiceSuffix string
}
ConfigBuilder is a config builder.
func (ConfigBuilder) NewConfig ¶
func (b ConfigBuilder) NewConfig( checkerBuilders []*CheckerBuilder, idToCategories map[string][]string, defaultCategories []string, ) (*Config, error)
NewConfig returns a new Config.
type Helper ¶
type Helper struct {
// contains filtered or unexported fields
}
Helper is a helper for checkers.
func (*Helper) AddAnnotationf ¶
func (h *Helper) AddAnnotationf( descriptor protodesc.Descriptor, location protodesc.Location, format string, args ...interface{}, )
AddAnnotationf adds an annotation with the id as the Type.
If descriptor is nil, no filename information is added. If location is nil, no line or column information will be added.
func (*Helper) Annotations ¶
func (h *Helper) Annotations() []*analysis.Annotation
Annotations returns the added annotations.