Skip to content

Develop#134

Merged
bfarmer67 merged 3 commits intomainfrom
develop
Mar 1, 2026
Merged

Develop#134
bfarmer67 merged 3 commits intomainfrom
develop

Conversation

@bfarmer67
Copy link
Contributor

No description provided.

bfarmer67 and others added 3 commits February 10, 2026 05:15
* Fix value-type boxing in Transition (#126), add failing test for #123, expand ExpressionRuntimeOptions

- Fix #126: Add EnsureConvert helper to Transition base class that wraps
  value-type expressions in Convert() when assigning to reference-type
  variables (boxing). Applied in Transition.SetResult and
  FinalTransition.AddExpressions.

- Add failing test for #123: IfThen with Return(label, value) in
  BlockAsync returns null instead of expected value. Root cause is in the
  lowering phase where Returns inside non-lowered conditionals are not
  converted to _finalResultVariable assignments.

- Expand ExpressionRuntimeOptions with Optimize flag (default true) to
  conditionally skip StateOptimizer, and SourceHandler callback to
  capture the generated state machine expression for debugging.

* Change SourceHandler to Action<string> with UnsafeAccessor for DebugView, add tests

* fix(expressions): Ensure Return gotos inside non-lowered expressions set final result

* test(expressions): Add regression test for Return labels in async TryCatch

* test(compiler): Add FastExpressionCompiler compatibility test for Return gotos with assignments

* Update nugets and cleanup
@bfarmer67 bfarmer67 merged commit e7154fe into main Mar 1, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant