You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Adopt the remaining language-independent kernels: CFG data structures and analyses (reachability, complexity, dead code), dependency graph algorithms (Tarjan SCC, Martin metrics), and LSH/MinHash.
Adopt the remaining language-independent kernels: CFG data structures and analyses (reachability, complexity, dead code), dependency graph algorithms (Tarjan SCC, Martin metrics), and LSH/MinHash.
Blocked by #8.
Tasks
cfg_builder.go(JS control-flow semantics, hoisting) buildingcore/cfg.CFG; implementStatementClassifier+NoOpClassifier(bare;) on jscan's parser nodescore/cfg.DetectDeadCode+LineFinding/MergeContiguousFindings/SortLineFindings; keep line/snippet enrichment language-sidecore/cfg.ComputeComplexitywith aComplexityContributorfor JS logical operators (&&,||,??, ternary)core/graph(DirectedGraph impl on jscan's dependency graph, Martin metrics with export-ratioAbstractnessFunc, Tarjan cycles)core/lsh(should be a drop-in; zero drift expected)core/domain/scoring.goshared calculators + grade mapping; keep jscan's count-ratio complexity penalty and per-file dead-code penalty composing with them🤖 Generated with Claude Code