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