c

package
v0.1.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 27, 2026 License: GPL-3.0 Imports: 8 Imported by: 0

Documentation

Overview

Package c implements the C language analyzer for semantic input tracing

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CAnalyzer

type CAnalyzer struct {
	*analyzer.BaseAnalyzer
	// contains filtered or unexported fields
}

CAnalyzer implements the LanguageAnalyzer interface for C

func NewCAnalyzer

func NewCAnalyzer() *CAnalyzer

NewCAnalyzer creates a new C analyzer

func (*CAnalyzer) AnalyzeMethodBody

func (a *CAnalyzer) AnalyzeMethodBody(method *types.MethodDef, source []byte, state *types.AnalysisState) (*analyzer.MethodFlowAnalysis, error)

func (*CAnalyzer) BuildSymbolTable

func (a *CAnalyzer) BuildSymbolTable(filePath string, source []byte, root *sitter.Node) (*types.SymbolTable, error)

func (*CAnalyzer) DetectFrameworks

func (a *CAnalyzer) DetectFrameworks(symbolTable *types.SymbolTable, source []byte) ([]string, error)

func (*CAnalyzer) ExtractAssignments

func (a *CAnalyzer) ExtractAssignments(root *sitter.Node, source []byte, scope string) ([]*types.Assignment, error)

func (*CAnalyzer) ExtractCalls

func (a *CAnalyzer) ExtractCalls(root *sitter.Node, source []byte, scope string) ([]*types.CallSite, error)

func (*CAnalyzer) ExtractClasses

func (a *CAnalyzer) ExtractClasses(root *sitter.Node, source []byte) ([]*types.ClassDef, error)

func (*CAnalyzer) ExtractFunctions

func (a *CAnalyzer) ExtractFunctions(root *sitter.Node, source []byte) ([]*types.FunctionDef, error)

func (*CAnalyzer) FindInputSources

func (a *CAnalyzer) FindInputSources(root *sitter.Node, source []byte) ([]*types.FlowNode, error)

func (*CAnalyzer) ResolveImports

func (a *CAnalyzer) ResolveImports(symbolTable *types.SymbolTable, basePath string) ([]string, error)

func (*CAnalyzer) TraceExpression

func (a *CAnalyzer) TraceExpression(target types.FlowTarget, state *types.AnalysisState) (*types.FlowMap, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL