Documentation
¶
Overview ¶
Package rust implements the Rust language analyzer for semantic input tracing
Index ¶
- type RustAnalyzer
- func (a *RustAnalyzer) AnalyzeMethodBody(method *types.MethodDef, source []byte, state *types.AnalysisState) (*analyzer.MethodFlowAnalysis, error)
- func (a *RustAnalyzer) BuildSymbolTable(filePath string, source []byte, root *sitter.Node) (*types.SymbolTable, error)
- func (a *RustAnalyzer) DetectFrameworks(symbolTable *types.SymbolTable, source []byte) ([]string, error)
- func (a *RustAnalyzer) ExtractAssignments(root *sitter.Node, source []byte, scope string) ([]*types.Assignment, error)
- func (a *RustAnalyzer) ExtractCalls(root *sitter.Node, source []byte, scope string) ([]*types.CallSite, error)
- func (a *RustAnalyzer) ExtractClasses(root *sitter.Node, source []byte) ([]*types.ClassDef, error)
- func (a *RustAnalyzer) ExtractFunctions(root *sitter.Node, source []byte) ([]*types.FunctionDef, error)
- func (a *RustAnalyzer) FindInputSources(root *sitter.Node, source []byte) ([]*types.FlowNode, error)
- func (a *RustAnalyzer) ResolveImports(symbolTable *types.SymbolTable, basePath string) ([]string, error)
- func (a *RustAnalyzer) 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 RustAnalyzer ¶
type RustAnalyzer struct {
*analyzer.BaseAnalyzer
// contains filtered or unexported fields
}
RustAnalyzer implements the LanguageAnalyzer interface for Rust
func NewRustAnalyzer ¶
func NewRustAnalyzer() *RustAnalyzer
NewRustAnalyzer creates a new Rust analyzer
func (*RustAnalyzer) AnalyzeMethodBody ¶
func (a *RustAnalyzer) AnalyzeMethodBody(method *types.MethodDef, source []byte, state *types.AnalysisState) (*analyzer.MethodFlowAnalysis, error)
func (*RustAnalyzer) BuildSymbolTable ¶
func (a *RustAnalyzer) BuildSymbolTable(filePath string, source []byte, root *sitter.Node) (*types.SymbolTable, error)
func (*RustAnalyzer) DetectFrameworks ¶
func (a *RustAnalyzer) DetectFrameworks(symbolTable *types.SymbolTable, source []byte) ([]string, error)
func (*RustAnalyzer) ExtractAssignments ¶
func (a *RustAnalyzer) ExtractAssignments(root *sitter.Node, source []byte, scope string) ([]*types.Assignment, error)
func (*RustAnalyzer) ExtractCalls ¶
func (*RustAnalyzer) ExtractClasses ¶
func (*RustAnalyzer) ExtractFunctions ¶
func (a *RustAnalyzer) ExtractFunctions(root *sitter.Node, source []byte) ([]*types.FunctionDef, error)
func (*RustAnalyzer) FindInputSources ¶
func (*RustAnalyzer) ResolveImports ¶
func (a *RustAnalyzer) ResolveImports(symbolTable *types.SymbolTable, basePath string) ([]string, error)
func (*RustAnalyzer) TraceExpression ¶
func (a *RustAnalyzer) TraceExpression(target types.FlowTarget, state *types.AnalysisState) (*types.FlowMap, error)
Click to show internal directories.
Click to hide internal directories.