Skip to content

v3.9.21

Choose a tag to compare

@recca0120 recca0120 released this 23 Feb 22:44
· 135 commits to main since this release
ccf1575

Refactor: Restructure Interpreter with Expression System

Changes

  • Introduce Expression<T> interface with visitor pattern for AST evaluation
  • Extract 30+ expression classes (arithmetic, comparison, string, array, statements)
  • Replace ad-hoc resolver with Context-based evaluation (bindings + fork)
  • Move Interpreter out of TestParser to src/Interpreter/
  • Merge DataProviderResolver into PhpExpression
  • Fix ForeachExpression key variable binding
  • Simplify yield evaluation to single-pass
  • Deduplicate loop body handlers via LoopBodyExecutor