This PR makes a callable chosen by a value-selecting source flow every
branch it can yield (??, ||, or, && right operand, ternary, statement
if, elvis). It also keeps an operator branch opaque. Both change
@callable-flow captures, and the PR adds *-callable-alternatives
regression fixtures that these benches glob.
To verify, the BASE (merge-base 233ca2849) and HEAD emitters were run
over the same HEAD fixture corpus plus the synthetic source. Every
added or removed match is an @callable-flow.* match on one of those
sources. The pre-existing corpus is byte-identical for all 16
scope-capture languages and for Python. Emitter delta, then corpus
growth:
- ruby: +5/-0 app.rb (+1 file, +58 groups)
- swift: +6/-3 App.swift (+1 file, +36 groups)
- dart: +6/-3 app.dart (+1 file, +33 groups)
- kotlin: +8/-2 App.kt (+1 file, +71 groups)
- typescript: +18/-14 4 files (+288 groups)
- python: +11/-7 app.py (+1 file, +85 groups)
The removed matches are whole-expression seeds and copies that carried
a qualified name of the compound source. They are replaced by one
seed or copy per operand. Synthetic scaling counts are unchanged and
every scaling ratio stays under budget. Per-language notes are in
baselines.json under _rebaselined_3354_callable_alternatives.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>