Documentation ¶
Index ¶
- func IsNodeTerminating(n ast.Node) bool
- func SemCheck(module *ast.Module, ignoreUnused bool)
- type AttributeCheck
- func (v *AttributeCheck) CheckAttrsDistanceFromLine(s *SemanticAnalyzer, attrs parser.AttrGroup, line int, ...)
- func (v *AttributeCheck) CheckFunctionDecl(s *SemanticAnalyzer, n *ast.FunctionDecl)
- func (v *AttributeCheck) CheckStructType(s *SemanticAnalyzer, n ast.StructType)
- func (v *AttributeCheck) CheckVariableDecl(s *SemanticAnalyzer, n *ast.VariableDecl)
- func (v *AttributeCheck) EnterScope(s *SemanticAnalyzer)
- func (v *AttributeCheck) ExitScope(s *SemanticAnalyzer)
- func (v *AttributeCheck) Finalize(s *SemanticAnalyzer)
- func (v *AttributeCheck) Init(s *SemanticAnalyzer)
- func (_ AttributeCheck) Name() string
- func (v *AttributeCheck) PostVisit(s *SemanticAnalyzer, n ast.Node)
- func (v *AttributeCheck) Visit(s *SemanticAnalyzer, n ast.Node)
- type BreakAndNextCheck
- func (v *BreakAndNextCheck) EnterScope(s *SemanticAnalyzer)
- func (v *BreakAndNextCheck) ExitScope(s *SemanticAnalyzer)
- func (v *BreakAndNextCheck) Finalize(s *SemanticAnalyzer)
- func (v *BreakAndNextCheck) Init(s *SemanticAnalyzer)
- func (_ BreakAndNextCheck) Name() string
- func (v *BreakAndNextCheck) PostVisit(s *SemanticAnalyzer, n ast.Node)
- func (v *BreakAndNextCheck) Visit(s *SemanticAnalyzer, n ast.Node)
- type DeprecatedCheck
- func (v *DeprecatedCheck) EnterScope(s *SemanticAnalyzer)
- func (v *DeprecatedCheck) ExitScope(s *SemanticAnalyzer)
- func (v *DeprecatedCheck) Finalize(s *SemanticAnalyzer)
- func (v *DeprecatedCheck) Init(s *SemanticAnalyzer)
- func (_ DeprecatedCheck) Name() string
- func (v *DeprecatedCheck) PostVisit(s *SemanticAnalyzer, n ast.Node)
- func (v *DeprecatedCheck) Visit(s *SemanticAnalyzer, n ast.Node)
- func (v *DeprecatedCheck) WarnDeprecated(s *SemanticAnalyzer, thing ast.Locatable, typ, name, message string)
- type ImmutableAssignCheck
- func (v *ImmutableAssignCheck) EnterScope(s *SemanticAnalyzer)
- func (v *ImmutableAssignCheck) ExitScope(s *SemanticAnalyzer)
- func (v *ImmutableAssignCheck) Finalize(s *SemanticAnalyzer)
- func (v *ImmutableAssignCheck) Init(s *SemanticAnalyzer)
- func (_ ImmutableAssignCheck) Name() string
- func (v *ImmutableAssignCheck) PostVisit(s *SemanticAnalyzer, n ast.Node)
- func (v *ImmutableAssignCheck) Visit(s *SemanticAnalyzer, n ast.Node)
- type MiscCheck
- func (v *MiscCheck) EnterScope(s *SemanticAnalyzer)
- func (v *MiscCheck) ExitScope(s *SemanticAnalyzer)
- func (v *MiscCheck) Finalize(s *SemanticAnalyzer)
- func (v *MiscCheck) Init(s *SemanticAnalyzer)
- func (_ MiscCheck) Name() string
- func (v *MiscCheck) PostVisit(s *SemanticAnalyzer, n ast.Node)
- func (v *MiscCheck) Visit(s *SemanticAnalyzer, n ast.Node)
- type RecursiveDefinitionCheck
- func (v *RecursiveDefinitionCheck) EnterScope(s *SemanticAnalyzer)
- func (v *RecursiveDefinitionCheck) ExitScope(s *SemanticAnalyzer)
- func (v *RecursiveDefinitionCheck) Finalize(s *SemanticAnalyzer)
- func (v *RecursiveDefinitionCheck) Init(s *SemanticAnalyzer)
- func (_ RecursiveDefinitionCheck) Name() string
- func (v *RecursiveDefinitionCheck) PostVisit(s *SemanticAnalyzer, n ast.Node)
- func (v *RecursiveDefinitionCheck) Visit(s *SemanticAnalyzer, n ast.Node)
- type ReferenceCheck
- func (v *ReferenceCheck) EnterScope(s *SemanticAnalyzer)
- func (v *ReferenceCheck) ExitScope(s *SemanticAnalyzer)
- func (v *ReferenceCheck) Finalize(s *SemanticAnalyzer)
- func (v *ReferenceCheck) Init(s *SemanticAnalyzer)
- func (_ ReferenceCheck) Name() string
- func (v *ReferenceCheck) PostVisit(s *SemanticAnalyzer, n ast.Node)
- func (v *ReferenceCheck) Visit(s *SemanticAnalyzer, n ast.Node)
- type SemanticAnalyzer
- func (v *SemanticAnalyzer) EnterScope()
- func (v *SemanticAnalyzer) Err(thing ast.Locatable, err string, stuff ...interface{})
- func (v *SemanticAnalyzer) ExitScope()
- func (v *SemanticAnalyzer) Finalize()
- func (v *SemanticAnalyzer) Init()
- func (v *SemanticAnalyzer) PostVisit(n *ast.Node)
- func (v *SemanticAnalyzer) Visit(n *ast.Node) bool
- func (v *SemanticAnalyzer) Warn(thing ast.Locatable, err string, stuff ...interface{})
- type SemanticCheck
- type TypeCheck
- func (v *TypeCheck) CheckArrayAccessExpr(s *SemanticAnalyzer, expr *ast.ArrayAccessExpr)
- func (v *TypeCheck) CheckArrayLenExpr(s *SemanticAnalyzer, expr *ast.ArrayLenExpr)
- func (v *TypeCheck) CheckAssignStat(s *SemanticAnalyzer, stat *ast.AssignStat)
- func (v *TypeCheck) CheckBinaryExpr(s *SemanticAnalyzer, expr *ast.BinaryExpr)
- func (v *TypeCheck) CheckBinopAssignStat(s *SemanticAnalyzer, stat *ast.BinopAssignStat)
- func (v *TypeCheck) CheckCallExpr(s *SemanticAnalyzer, expr *ast.CallExpr)
- func (v *TypeCheck) CheckCastExpr(s *SemanticAnalyzer, expr *ast.CastExpr)
- func (v *TypeCheck) CheckCompositeLiteral(s *SemanticAnalyzer, lit *ast.CompositeLiteral)
- func (v *TypeCheck) CheckDerefAccessExpr(s *SemanticAnalyzer, expr *ast.DerefAccessExpr)
- func (v *TypeCheck) CheckDestructAssignStat(s *SemanticAnalyzer, stat *ast.DestructAssignStat)
- func (v *TypeCheck) CheckDestructBinopAssignStat(s *SemanticAnalyzer, stat *ast.DestructBinopAssignStat)
- func (v *TypeCheck) CheckDestructVarDecl(s *SemanticAnalyzer, decl *ast.DestructVarDecl)
- func (v *TypeCheck) CheckEnumLiteral(s *SemanticAnalyzer, lit *ast.EnumLiteral)
- func (v *TypeCheck) CheckIfStat(s *SemanticAnalyzer, stat *ast.IfStat)
- func (v *TypeCheck) CheckMatchStat(s *SemanticAnalyzer, stat *ast.MatchStat)
- func (v *TypeCheck) CheckNumericLiteral(s *SemanticAnalyzer, lit *ast.NumericLiteral)
- func (v *TypeCheck) CheckReturnStat(s *SemanticAnalyzer, stat *ast.ReturnStat)
- func (v *TypeCheck) CheckStructAccessExpr(s *SemanticAnalyzer, access *ast.StructAccessExpr)
- func (v *TypeCheck) CheckTupleLiteral(s *SemanticAnalyzer, lit *ast.TupleLiteral)
- func (v *TypeCheck) CheckUnaryExpr(s *SemanticAnalyzer, expr *ast.UnaryExpr)
- func (v *TypeCheck) CheckVariableDecl(s *SemanticAnalyzer, decl *ast.VariableDecl)
- func (v *TypeCheck) EnterScope(s *SemanticAnalyzer)
- func (v *TypeCheck) ExitScope(s *SemanticAnalyzer)
- func (v *TypeCheck) Finalize(s *SemanticAnalyzer)
- func (v *TypeCheck) Function() *ast.Function
- func (v *TypeCheck) Init(s *SemanticAnalyzer)
- func (_ TypeCheck) Name() string
- func (v *TypeCheck) PostVisit(s *SemanticAnalyzer, n ast.Node)
- func (v *TypeCheck) Visit(s *SemanticAnalyzer, n ast.Node)
- type UnreachableCheck
- func (v *UnreachableCheck) EnterScope(s *SemanticAnalyzer)
- func (v *UnreachableCheck) ExitScope(s *SemanticAnalyzer)
- func (v *UnreachableCheck) Finalize(s *SemanticAnalyzer)
- func (v *UnreachableCheck) Init(s *SemanticAnalyzer)
- func (_ UnreachableCheck) Name() string
- func (v *UnreachableCheck) PostVisit(s *SemanticAnalyzer, n ast.Node)
- func (v *UnreachableCheck) Visit(s *SemanticAnalyzer, n ast.Node)
- type UnusedCheck
- func (v *UnusedCheck) AnalyzeUsage(s *SemanticAnalyzer)
- func (v *UnusedCheck) EnterScope(s *SemanticAnalyzer)
- func (v *UnusedCheck) ExitScope(s *SemanticAnalyzer)
- func (v *UnusedCheck) Finalize(s *SemanticAnalyzer)
- func (v *UnusedCheck) Init(s *SemanticAnalyzer)
- func (_ UnusedCheck) Name() string
- func (v *UnusedCheck) PostVisit(s *SemanticAnalyzer, n ast.Node)
- func (v *UnusedCheck) Visit(s *SemanticAnalyzer, n ast.Node)
- type UseBeforeDeclareCheck
- func (v *UseBeforeDeclareCheck) EnterScope(s *SemanticAnalyzer)
- func (v *UseBeforeDeclareCheck) ExitScope(s *SemanticAnalyzer)
- func (v *UseBeforeDeclareCheck) Finalize(s *SemanticAnalyzer)
- func (v *UseBeforeDeclareCheck) Init(s *SemanticAnalyzer)
- func (_ UseBeforeDeclareCheck) Name() string
- func (v *UseBeforeDeclareCheck) PostVisit(s *SemanticAnalyzer, n ast.Node)
- func (v *UseBeforeDeclareCheck) Visit(s *SemanticAnalyzer, n ast.Node)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsNodeTerminating ¶
Types ¶
type AttributeCheck ¶
type AttributeCheck struct { }
func (*AttributeCheck) CheckAttrsDistanceFromLine ¶
func (v *AttributeCheck) CheckAttrsDistanceFromLine(s *SemanticAnalyzer, attrs parser.AttrGroup, line int, declType, declName string)
func (*AttributeCheck) CheckFunctionDecl ¶
func (v *AttributeCheck) CheckFunctionDecl(s *SemanticAnalyzer, n *ast.FunctionDecl)
func (*AttributeCheck) CheckStructType ¶
func (v *AttributeCheck) CheckStructType(s *SemanticAnalyzer, n ast.StructType)
func (*AttributeCheck) CheckVariableDecl ¶
func (v *AttributeCheck) CheckVariableDecl(s *SemanticAnalyzer, n *ast.VariableDecl)
func (*AttributeCheck) EnterScope ¶
func (v *AttributeCheck) EnterScope(s *SemanticAnalyzer)
func (*AttributeCheck) ExitScope ¶
func (v *AttributeCheck) ExitScope(s *SemanticAnalyzer)
func (*AttributeCheck) Finalize ¶
func (v *AttributeCheck) Finalize(s *SemanticAnalyzer)
func (*AttributeCheck) Init ¶
func (v *AttributeCheck) Init(s *SemanticAnalyzer)
func (AttributeCheck) Name ¶
func (_ AttributeCheck) Name() string
func (*AttributeCheck) PostVisit ¶
func (v *AttributeCheck) PostVisit(s *SemanticAnalyzer, n ast.Node)
func (*AttributeCheck) Visit ¶
func (v *AttributeCheck) Visit(s *SemanticAnalyzer, n ast.Node)
type BreakAndNextCheck ¶
type BreakAndNextCheck struct {
// contains filtered or unexported fields
}
func (*BreakAndNextCheck) EnterScope ¶
func (v *BreakAndNextCheck) EnterScope(s *SemanticAnalyzer)
func (*BreakAndNextCheck) ExitScope ¶
func (v *BreakAndNextCheck) ExitScope(s *SemanticAnalyzer)
func (*BreakAndNextCheck) Finalize ¶
func (v *BreakAndNextCheck) Finalize(s *SemanticAnalyzer)
func (*BreakAndNextCheck) Init ¶
func (v *BreakAndNextCheck) Init(s *SemanticAnalyzer)
func (BreakAndNextCheck) Name ¶
func (_ BreakAndNextCheck) Name() string
func (*BreakAndNextCheck) PostVisit ¶
func (v *BreakAndNextCheck) PostVisit(s *SemanticAnalyzer, n ast.Node)
func (*BreakAndNextCheck) Visit ¶
func (v *BreakAndNextCheck) Visit(s *SemanticAnalyzer, n ast.Node)
type DeprecatedCheck ¶
type DeprecatedCheck struct { }
func (*DeprecatedCheck) EnterScope ¶
func (v *DeprecatedCheck) EnterScope(s *SemanticAnalyzer)
func (*DeprecatedCheck) ExitScope ¶
func (v *DeprecatedCheck) ExitScope(s *SemanticAnalyzer)
func (*DeprecatedCheck) Finalize ¶
func (v *DeprecatedCheck) Finalize(s *SemanticAnalyzer)
func (*DeprecatedCheck) Init ¶
func (v *DeprecatedCheck) Init(s *SemanticAnalyzer)
func (DeprecatedCheck) Name ¶
func (_ DeprecatedCheck) Name() string
func (*DeprecatedCheck) PostVisit ¶
func (v *DeprecatedCheck) PostVisit(s *SemanticAnalyzer, n ast.Node)
func (*DeprecatedCheck) Visit ¶
func (v *DeprecatedCheck) Visit(s *SemanticAnalyzer, n ast.Node)
func (*DeprecatedCheck) WarnDeprecated ¶
func (v *DeprecatedCheck) WarnDeprecated(s *SemanticAnalyzer, thing ast.Locatable, typ, name, message string)
type ImmutableAssignCheck ¶
type ImmutableAssignCheck struct { }
func (*ImmutableAssignCheck) EnterScope ¶
func (v *ImmutableAssignCheck) EnterScope(s *SemanticAnalyzer)
func (*ImmutableAssignCheck) ExitScope ¶
func (v *ImmutableAssignCheck) ExitScope(s *SemanticAnalyzer)
func (*ImmutableAssignCheck) Finalize ¶
func (v *ImmutableAssignCheck) Finalize(s *SemanticAnalyzer)
func (*ImmutableAssignCheck) Init ¶
func (v *ImmutableAssignCheck) Init(s *SemanticAnalyzer)
func (ImmutableAssignCheck) Name ¶
func (_ ImmutableAssignCheck) Name() string
func (*ImmutableAssignCheck) PostVisit ¶
func (v *ImmutableAssignCheck) PostVisit(s *SemanticAnalyzer, n ast.Node)
func (*ImmutableAssignCheck) Visit ¶
func (v *ImmutableAssignCheck) Visit(s *SemanticAnalyzer, n ast.Node)
type MiscCheck ¶
type MiscCheck struct {
InFunction int
}
func (*MiscCheck) EnterScope ¶
func (v *MiscCheck) EnterScope(s *SemanticAnalyzer)
func (*MiscCheck) ExitScope ¶
func (v *MiscCheck) ExitScope(s *SemanticAnalyzer)
func (*MiscCheck) Finalize ¶
func (v *MiscCheck) Finalize(s *SemanticAnalyzer)
func (*MiscCheck) Init ¶
func (v *MiscCheck) Init(s *SemanticAnalyzer)
type RecursiveDefinitionCheck ¶
type RecursiveDefinitionCheck struct { }
func (*RecursiveDefinitionCheck) EnterScope ¶
func (v *RecursiveDefinitionCheck) EnterScope(s *SemanticAnalyzer)
func (*RecursiveDefinitionCheck) ExitScope ¶
func (v *RecursiveDefinitionCheck) ExitScope(s *SemanticAnalyzer)
func (*RecursiveDefinitionCheck) Finalize ¶
func (v *RecursiveDefinitionCheck) Finalize(s *SemanticAnalyzer)
func (*RecursiveDefinitionCheck) Init ¶
func (v *RecursiveDefinitionCheck) Init(s *SemanticAnalyzer)
func (RecursiveDefinitionCheck) Name ¶
func (_ RecursiveDefinitionCheck) Name() string
func (*RecursiveDefinitionCheck) PostVisit ¶
func (v *RecursiveDefinitionCheck) PostVisit(s *SemanticAnalyzer, n ast.Node)
func (*RecursiveDefinitionCheck) Visit ¶
func (v *RecursiveDefinitionCheck) Visit(s *SemanticAnalyzer, n ast.Node)
type ReferenceCheck ¶
type ReferenceCheck struct {
InFunction int
}
func (*ReferenceCheck) EnterScope ¶
func (v *ReferenceCheck) EnterScope(s *SemanticAnalyzer)
func (*ReferenceCheck) ExitScope ¶
func (v *ReferenceCheck) ExitScope(s *SemanticAnalyzer)
func (*ReferenceCheck) Finalize ¶
func (v *ReferenceCheck) Finalize(s *SemanticAnalyzer)
func (*ReferenceCheck) Init ¶
func (v *ReferenceCheck) Init(s *SemanticAnalyzer)
func (ReferenceCheck) Name ¶
func (_ ReferenceCheck) Name() string
func (*ReferenceCheck) PostVisit ¶
func (v *ReferenceCheck) PostVisit(s *SemanticAnalyzer, n ast.Node)
func (*ReferenceCheck) Visit ¶
func (v *ReferenceCheck) Visit(s *SemanticAnalyzer, n ast.Node)
type SemanticAnalyzer ¶
type SemanticAnalyzer struct { Module *ast.Module Submodule *ast.Submodule Check SemanticCheck // contains filtered or unexported fields }
func (*SemanticAnalyzer) EnterScope ¶
func (v *SemanticAnalyzer) EnterScope()
func (*SemanticAnalyzer) Err ¶
func (v *SemanticAnalyzer) Err(thing ast.Locatable, err string, stuff ...interface{})
func (*SemanticAnalyzer) ExitScope ¶
func (v *SemanticAnalyzer) ExitScope()
func (*SemanticAnalyzer) Finalize ¶
func (v *SemanticAnalyzer) Finalize()
Finalize is called after all checks have been run, and should be used for cleaning up and any checks that depend on having completely traversed the syntax tree.
func (*SemanticAnalyzer) Init ¶
func (v *SemanticAnalyzer) Init()
the initial check for a semantic pass this will be called _once_ and should be used to initialize things, etc...
func (*SemanticAnalyzer) PostVisit ¶
func (v *SemanticAnalyzer) PostVisit(n *ast.Node)
type SemanticCheck ¶
type SemanticCheck interface { Init(s *SemanticAnalyzer) EnterScope(s *SemanticAnalyzer) ExitScope(s *SemanticAnalyzer) Visit(*SemanticAnalyzer, ast.Node) PostVisit(*SemanticAnalyzer, ast.Node) Finalize(*SemanticAnalyzer) Name() string }
type TypeCheck ¶
type TypeCheck struct {
// contains filtered or unexported fields
}
func (*TypeCheck) CheckArrayAccessExpr ¶
func (v *TypeCheck) CheckArrayAccessExpr(s *SemanticAnalyzer, expr *ast.ArrayAccessExpr)
func (*TypeCheck) CheckArrayLenExpr ¶
func (v *TypeCheck) CheckArrayLenExpr(s *SemanticAnalyzer, expr *ast.ArrayLenExpr)
func (*TypeCheck) CheckAssignStat ¶
func (v *TypeCheck) CheckAssignStat(s *SemanticAnalyzer, stat *ast.AssignStat)
func (*TypeCheck) CheckBinaryExpr ¶
func (v *TypeCheck) CheckBinaryExpr(s *SemanticAnalyzer, expr *ast.BinaryExpr)
func (*TypeCheck) CheckBinopAssignStat ¶
func (v *TypeCheck) CheckBinopAssignStat(s *SemanticAnalyzer, stat *ast.BinopAssignStat)
func (*TypeCheck) CheckCallExpr ¶
func (v *TypeCheck) CheckCallExpr(s *SemanticAnalyzer, expr *ast.CallExpr)
func (*TypeCheck) CheckCastExpr ¶
func (v *TypeCheck) CheckCastExpr(s *SemanticAnalyzer, expr *ast.CastExpr)
func (*TypeCheck) CheckCompositeLiteral ¶
func (v *TypeCheck) CheckCompositeLiteral(s *SemanticAnalyzer, lit *ast.CompositeLiteral)
func (*TypeCheck) CheckDerefAccessExpr ¶
func (v *TypeCheck) CheckDerefAccessExpr(s *SemanticAnalyzer, expr *ast.DerefAccessExpr)
func (*TypeCheck) CheckDestructAssignStat ¶
func (v *TypeCheck) CheckDestructAssignStat(s *SemanticAnalyzer, stat *ast.DestructAssignStat)
func (*TypeCheck) CheckDestructBinopAssignStat ¶
func (v *TypeCheck) CheckDestructBinopAssignStat(s *SemanticAnalyzer, stat *ast.DestructBinopAssignStat)
func (*TypeCheck) CheckDestructVarDecl ¶
func (v *TypeCheck) CheckDestructVarDecl(s *SemanticAnalyzer, decl *ast.DestructVarDecl)
func (*TypeCheck) CheckEnumLiteral ¶
func (v *TypeCheck) CheckEnumLiteral(s *SemanticAnalyzer, lit *ast.EnumLiteral)
func (*TypeCheck) CheckIfStat ¶
func (v *TypeCheck) CheckIfStat(s *SemanticAnalyzer, stat *ast.IfStat)
func (*TypeCheck) CheckMatchStat ¶
func (v *TypeCheck) CheckMatchStat(s *SemanticAnalyzer, stat *ast.MatchStat)
func (*TypeCheck) CheckNumericLiteral ¶
func (v *TypeCheck) CheckNumericLiteral(s *SemanticAnalyzer, lit *ast.NumericLiteral)
func (*TypeCheck) CheckReturnStat ¶
func (v *TypeCheck) CheckReturnStat(s *SemanticAnalyzer, stat *ast.ReturnStat)
func (*TypeCheck) CheckStructAccessExpr ¶
func (v *TypeCheck) CheckStructAccessExpr(s *SemanticAnalyzer, access *ast.StructAccessExpr)
func (*TypeCheck) CheckTupleLiteral ¶
func (v *TypeCheck) CheckTupleLiteral(s *SemanticAnalyzer, lit *ast.TupleLiteral)
parentEnum is nil if not in enum
func (*TypeCheck) CheckUnaryExpr ¶
func (v *TypeCheck) CheckUnaryExpr(s *SemanticAnalyzer, expr *ast.UnaryExpr)
func (*TypeCheck) CheckVariableDecl ¶
func (v *TypeCheck) CheckVariableDecl(s *SemanticAnalyzer, decl *ast.VariableDecl)
func (*TypeCheck) EnterScope ¶
func (v *TypeCheck) EnterScope(s *SemanticAnalyzer)
func (*TypeCheck) ExitScope ¶
func (v *TypeCheck) ExitScope(s *SemanticAnalyzer)
func (*TypeCheck) Finalize ¶
func (v *TypeCheck) Finalize(s *SemanticAnalyzer)
func (*TypeCheck) Init ¶
func (v *TypeCheck) Init(s *SemanticAnalyzer)
type UnreachableCheck ¶
type UnreachableCheck struct { }
func (*UnreachableCheck) EnterScope ¶
func (v *UnreachableCheck) EnterScope(s *SemanticAnalyzer)
func (*UnreachableCheck) ExitScope ¶
func (v *UnreachableCheck) ExitScope(s *SemanticAnalyzer)
func (*UnreachableCheck) Finalize ¶
func (v *UnreachableCheck) Finalize(s *SemanticAnalyzer)
func (*UnreachableCheck) Init ¶
func (v *UnreachableCheck) Init(s *SemanticAnalyzer)
func (UnreachableCheck) Name ¶
func (_ UnreachableCheck) Name() string
func (*UnreachableCheck) PostVisit ¶
func (v *UnreachableCheck) PostVisit(s *SemanticAnalyzer, n ast.Node)
func (*UnreachableCheck) Visit ¶
func (v *UnreachableCheck) Visit(s *SemanticAnalyzer, n ast.Node)
type UnusedCheck ¶
type UnusedCheck struct {
// contains filtered or unexported fields
}
func (*UnusedCheck) AnalyzeUsage ¶
func (v *UnusedCheck) AnalyzeUsage(s *SemanticAnalyzer)
func (*UnusedCheck) EnterScope ¶
func (v *UnusedCheck) EnterScope(s *SemanticAnalyzer)
func (*UnusedCheck) ExitScope ¶
func (v *UnusedCheck) ExitScope(s *SemanticAnalyzer)
func (*UnusedCheck) Finalize ¶
func (v *UnusedCheck) Finalize(s *SemanticAnalyzer)
func (*UnusedCheck) Init ¶
func (v *UnusedCheck) Init(s *SemanticAnalyzer)
func (UnusedCheck) Name ¶
func (_ UnusedCheck) Name() string
func (*UnusedCheck) PostVisit ¶
func (v *UnusedCheck) PostVisit(s *SemanticAnalyzer, n ast.Node)
func (*UnusedCheck) Visit ¶
func (v *UnusedCheck) Visit(s *SemanticAnalyzer, n ast.Node)
type UseBeforeDeclareCheck ¶
type UseBeforeDeclareCheck struct {
// contains filtered or unexported fields
}
func (*UseBeforeDeclareCheck) EnterScope ¶
func (v *UseBeforeDeclareCheck) EnterScope(s *SemanticAnalyzer)
func (*UseBeforeDeclareCheck) ExitScope ¶
func (v *UseBeforeDeclareCheck) ExitScope(s *SemanticAnalyzer)
func (*UseBeforeDeclareCheck) Finalize ¶
func (v *UseBeforeDeclareCheck) Finalize(s *SemanticAnalyzer)
func (*UseBeforeDeclareCheck) Init ¶
func (v *UseBeforeDeclareCheck) Init(s *SemanticAnalyzer)
func (UseBeforeDeclareCheck) Name ¶
func (_ UseBeforeDeclareCheck) Name() string
func (*UseBeforeDeclareCheck) PostVisit ¶
func (v *UseBeforeDeclareCheck) PostVisit(s *SemanticAnalyzer, n ast.Node)
func (*UseBeforeDeclareCheck) Visit ¶
func (v *UseBeforeDeclareCheck) Visit(s *SemanticAnalyzer, n ast.Node)
Click to show internal directories.
Click to hide internal directories.