Skip to content

v0.3.2

Choose a tag to compare

@suzumaze suzumaze released this 30 Sep 01:45
· 39 commits to main since this release
f4ff036

Follow-up hotfix for source-derived DI and AOP inspection after a second review against real Ray.Di/Ray.Aop.

  • A helper's fallback return is no longer treated as known after an unsupported statement (switch, while, try, ...) or a foreach over an unknown collection, matching the existing handling of unknown if branches.
  • array_map()/array_filter() callbacks such as [$object, 'method'] or user functions are reported as callback_unsupported; only a missing callback or a built-in PHP function is treated as inert.
  • An unknown branch inside an installed vendor helper is recorded at the Module call that consumes it instead of disappearing.
  • Direct binding declarations whose Bind is stored in a variable or property are unresolved with binding_chain_retained.
  • bear/di/moduleDeclarations accepts bindingsOffset and pointcutsOffset, because either list can stop early at the page byte budget.

Composition targets the latest reviewed Ray.Di (2.23.1) without reading the installed version; the docs describe the known Ray.Di 2.20 differences.

Validation: PHP 8.2–8.5 CI, PHPCS, PHPStan, 698 PHPUnit tests with 5,686 assertions, the isolated BEAR.Kata oracle (62 assertions), and a Kata/fixture regression comparison against real Ray.Di/Ray.Aop with no changes.