Documentation ¶
Overview ¶
Package lintdsl provides helpers for implementing static analysis checks. Dot-importing this package is encouraged.
Index ¶
- func BoolConst(pass *analysis.Pass, expr ast.Expr) bool
- func CallName(call *ssa.CallCommon) string
- func CallNameAST(pass *analysis.Pass, call *ast.CallExpr) string
- func Dereference(T types.Type) types.Type
- func DereferenceR(T types.Type) types.Type
- func ExprToInt(pass *analysis.Pass, expr ast.Expr) (int64, bool)
- func ExprToString(pass *analysis.Pass, expr ast.Expr) (string, bool)
- func File(pass *analysis.Pass, node lint.Positioner) *ast.File
- func FilterDebug(instr []ssa.Instruction) []ssa.Instruction
- func Generator(pass *analysis.Pass, pos token.Pos) (facts.Generator, bool)
- func GroupSpecs(fset *token.FileSet, specs []ast.Spec) [][]ast.Spec
- func Inspect(node ast.Node, fn func(node ast.Node) bool)
- func IsBlank(id ast.Expr) bool
- func IsBoolConst(pass *analysis.Pass, expr ast.Expr) bool
- func IsCallTo(call *ssa.CallCommon, name string) bool
- func IsCallToAST(pass *analysis.Pass, node ast.Node, name string) bool
- func IsCallToAnyAST(pass *analysis.Pass, node ast.Node, names ...string) bool
- func IsExample(fn *ssa.Function) bool
- func IsGenerated(pass *analysis.Pass, pos token.Pos) bool
- func IsGoVersion(pass *analysis.Pass, minor int) bool
- func IsIdent(expr ast.Expr, ident string) bool
- func IsInMain(pass *analysis.Pass, node lint.Positioner) bool
- func IsInTest(pass *analysis.Pass, node lint.Positioner) bool
- func IsIntLiteral(expr ast.Expr, literal string) bool
- func IsNil(pass *analysis.Pass, expr ast.Expr) bool
- func IsObject(obj types.Object, name string) bool
- func IsOfType(pass *analysis.Pass, expr ast.Expr, name string) bool
- func IsPointerLike(T types.Type) bool
- func IsType(T types.Type, name string) bool
- func IsZero(expr ast.Expr) booldeprecated
- func Preamble(f *ast.File) string
- func Render(pass *analysis.Pass, x interface{}) string
- func RenderArgs(pass *analysis.Pass, args []ast.Expr) string
- func ReportNodef(pass *analysis.Pass, node ast.Node, format string, args ...interface{})
- func ReportNodefFG(pass *analysis.Pass, node ast.Node, format string, args ...interface{})
- func ReportfFG(pass *analysis.Pass, pos token.Pos, f string, args ...interface{})
- func SelectorName(pass *analysis.Pass, expr *ast.SelectorExpr) string
- type Field
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CallName ¶
func CallName(call *ssa.CallCommon) string
func Dereference ¶
Dereference returns a pointer's element type; otherwise it returns T.
func DereferenceR ¶
DereferenceR returns a pointer's element type; otherwise it returns T. If the element type is itself a pointer, DereferenceR will be applied recursively.
func FilterDebug ¶
func FilterDebug(instr []ssa.Instruction) []ssa.Instruction
func Generator ¶
Generator returns the generator that generated the file containing pos. It ignores //line directives.
func IsBlank ¶
isBlank returns whether id is the blank identifier "_". If id == nil, the answer is false.
func IsGenerated ¶
IsGenerated reports whether pos is in a generated file, It ignores //line directives.
func IsPointerLike ¶
func ReportNodef ¶
func ReportNodefFG ¶
func SelectorName ¶
func SelectorName(pass *analysis.Pass, expr *ast.SelectorExpr) string
Types ¶
Click to show internal directories.
Click to hide internal directories.