Documentation
¶
Overview ¶
Package golang implements the Go language analyzer for semantic input tracing
Index ¶
- type GoAnalyzer
- func (a *GoAnalyzer) AnalyzeMethodBody(method *types.MethodDef, source []byte, state *types.AnalysisState) (*analyzer.MethodFlowAnalysis, error)
- func (a *GoAnalyzer) BuildSymbolTable(filePath string, source []byte, root *sitter.Node) (*types.SymbolTable, error)
- func (a *GoAnalyzer) DetectFrameworks(symbolTable *types.SymbolTable, source []byte) ([]string, error)
- func (a *GoAnalyzer) ExtractAssignments(root *sitter.Node, source []byte, scope string) ([]*types.Assignment, error)
- func (a *GoAnalyzer) ExtractCalls(root *sitter.Node, source []byte, scope string) ([]*types.CallSite, error)
- func (a *GoAnalyzer) ExtractClasses(root *sitter.Node, source []byte) ([]*types.ClassDef, error)
- func (a *GoAnalyzer) ExtractFunctions(root *sitter.Node, source []byte) ([]*types.FunctionDef, error)
- func (a *GoAnalyzer) FindInputSources(root *sitter.Node, source []byte) ([]*types.FlowNode, error)
- func (a *GoAnalyzer) ResolveImports(symbolTable *types.SymbolTable, basePath string) ([]string, error)
- func (a *GoAnalyzer) TraceExpression(target types.FlowTarget, state *types.AnalysisState) (*types.FlowMap, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type GoAnalyzer ¶
type GoAnalyzer struct {
*analyzer.BaseAnalyzer
// contains filtered or unexported fields
}
GoAnalyzer implements the LanguageAnalyzer interface for Go
func (*GoAnalyzer) AnalyzeMethodBody ¶
func (a *GoAnalyzer) AnalyzeMethodBody(method *types.MethodDef, source []byte, state *types.AnalysisState) (*analyzer.MethodFlowAnalysis, error)
func (*GoAnalyzer) BuildSymbolTable ¶
func (a *GoAnalyzer) BuildSymbolTable(filePath string, source []byte, root *sitter.Node) (*types.SymbolTable, error)
func (*GoAnalyzer) DetectFrameworks ¶
func (a *GoAnalyzer) DetectFrameworks(symbolTable *types.SymbolTable, source []byte) ([]string, error)
func (*GoAnalyzer) ExtractAssignments ¶
func (a *GoAnalyzer) ExtractAssignments(root *sitter.Node, source []byte, scope string) ([]*types.Assignment, error)
func (*GoAnalyzer) ExtractCalls ¶
func (*GoAnalyzer) ExtractClasses ¶
func (*GoAnalyzer) ExtractFunctions ¶
func (a *GoAnalyzer) ExtractFunctions(root *sitter.Node, source []byte) ([]*types.FunctionDef, error)
func (*GoAnalyzer) FindInputSources ¶
func (*GoAnalyzer) ResolveImports ¶
func (a *GoAnalyzer) ResolveImports(symbolTable *types.SymbolTable, basePath string) ([]string, error)
func (*GoAnalyzer) TraceExpression ¶
func (a *GoAnalyzer) TraceExpression(target types.FlowTarget, state *types.AnalysisState) (*types.FlowMap, error)
Click to show internal directories.
Click to hide internal directories.