Commit e464177
fix: emit loop body and END LOOP when loop is inside an IF branch (#65)
traverseFlowUntilMerge (used for activities inside IF/ELSE branches)
did not handle LoopedActivity — loops fell through to the "regular
activity" path which emitted the LOOP header but never called
emitLoopBody() or appended END LOOP.
Add explicit LoopedActivity handling in traverseFlowUntilMerge,
matching the pattern already used in traverseFlow and traverseLoopBody.
Add regression test TestRoundtripMicroflow_LoopInsideBranch.
Fixes #65
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>1 parent 715c8cd commit e464177
File tree
2 files changed
+51
-0
lines changed- mdl/executor
2 files changed
+51
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
348 | 348 | | |
349 | 349 | | |
350 | 350 | | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
351 | 372 | | |
352 | 373 | | |
353 | 374 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
435 | 435 | | |
436 | 436 | | |
437 | 437 | | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
438 | 468 | | |
439 | 469 | | |
440 | 470 | | |
| |||
0 commit comments