GitNexus/gitnexus/test/unit/cfg
Gergo Magyar ad0a50271e feat(cfg): Ruby CFG visitor + def/use harvest (#2195 U10)
Add createRubyCfgVisitor + ruby-harvest: if/unless/elsif/else +
statement-modifier forms (x if c, x while c), while/until/for (until
inverts the sense), case/when + case/in (pattern, no fallthrough),
begin/rescue/else/ensure (ensure=finally, rescue=catch) + retry
(loop-back into begin), return/break/next/redo, blocks/lambdas as their
own closure CFGs. Wire into rubyProvider.

Every literal validated against tree-sitter-ruby via the probe (case vs
case_match, modifier nodes, typed rescue/ensure children). loop do /
while true keep EXIT reverse-reachable (production CDG probe: 3 edges).
34 real-parser tests; comprehensive sweep green (486). Gaps: yield,
expression-position if/case/begin inline, ivar/gvar non-local defs.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 13:02:17 +00:00
..
c-cpp-visitor.test.ts feat(cfg): call-site sites[] taint substrate for C-family (#2195 U6) 2026-06-14 11:56:21 +00:00
cfg-builder.test.ts feat(ingestion): add control-flow-graph layer for TS/JS (#2081) (#2099) 2026-06-10 19:26:45 +01:00
control-dependence.test.ts feat(pdg): control dependence — post-dominators + CDG (Ferrante) [M5 #2085] (#2188) 2026-06-13 18:49:03 +01:00
csharp-visitor.test.ts feat(cfg): call-site sites[] taint substrate for C-family (#2195 U6) 2026-06-14 11:56:21 +00:00
emit-guard.test.ts feat(cfg): intra-procedural REACHING_DEF data-dependence layer (#2082) (#2160) 2026-06-11 05:49:39 +01:00
go-visitor.test.ts feat(cfg): call-site sites[] taint substrate for C-family (#2195 U6) 2026-06-14 11:56:21 +00:00
harness.test.ts test(cfg): language-agnostic CFG unit-test harness (#2195 U1) 2026-06-14 10:43:00 +00:00
harvest.test.ts feat(taint): intra-procedural taint analysis (#2083) (#2164) 2026-06-12 07:35:09 +01:00
java-visitor.test.ts feat(cfg): call-site sites[] taint substrate for C-family (#2195 U6) 2026-06-14 11:56:21 +00:00
opt-in.test.ts feat(ingestion): add control-flow-graph layer for TS/JS (#2081) (#2099) 2026-06-10 19:26:45 +01:00
php-visitor.test.ts feat(cfg): PHP CFG visitor + def/use harvest (#2195 U9) 2026-06-14 12:46:39 +00:00
post-dominators.test.ts feat(pdg): control dependence — post-dominators + CDG (Ferrante) [M5 #2085] (#2188) 2026-06-13 18:49:03 +01:00
python-visitor.test.ts feat(cfg): Python CFG visitor + def/use harvest (#2195 U8) 2026-06-14 12:31:59 +00:00
reaching-defs.test.ts feat(cfg): intra-procedural REACHING_DEF data-dependence layer (#2082) (#2160) 2026-06-11 05:49:39 +01:00
ruby-visitor.test.ts feat(cfg): Ruby CFG visitor + def/use harvest (#2195 U10) 2026-06-14 13:02:17 +00:00
typescript-visitor.test.ts feat(cfg): intra-procedural REACHING_DEF data-dependence layer (#2082) (#2160) 2026-06-11 05:49:39 +01:00