harb/tools/push3-transpiler/src
johba 0cb2e7ba07 fix: EXEC.IF branch reconciliation still injects synthetic zeros (#618) (#1033)
Fixes #618

## Changes
Add stack depth validation in processExecIf() so asymmetric EXEC.IF branches (where one branch pushes more values than the other) throw an explicit error instead of silently padding with '0'. Error messages identify both branch depths for DYADIC and BOOLEAN stacks. Removed dead-code '0'/'false' fallbacks in buildAssignments and reconstruction. Updated existing unbalanced-branch tests to expect errors; added regression tests for error message content and BOOLEAN mismatch. All existing seed files (optimizer_v3.push3, optimizer_seed.push3) continue to transpile.

Co-authored-by: openhands <openhands@all-hands.dev>
Reviewed-on: https://codeberg.org/johba/harb/pulls/1033
Reviewed-by: Disinto_bot <disinto_bot@noreply.codeberg.org>
2026-03-20 08:42:34 +01:00
..
index.ts fix: inject.sh uses ts-node which is broken on Node >= 22 ESM (#1008) 2026-03-19 21:44:29 +00:00
parser.ts feat: Push3 → Solidity transpiler + OptimizerV3 port 2026-02-23 14:47:38 +00:00
transpiler.ts fix: EXEC.IF branch reconciliation still injects synthetic zeros (#618) (#1033) 2026-03-20 08:42:34 +01:00