Skip to content

Conversation

@judus
Copy link
Owner

@judus judus commented Oct 8, 2025

No description provided.

@codecov
Copy link

codecov bot commented Oct 8, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (f36e0b8) to head (837bd68).
⚠️ Report is 4 commits behind head on master.

Additional details and impacted files
@@              Coverage Diff              @@
##             master       #33      +/-   ##
=============================================
+ Coverage     98.71%   100.00%   +1.28%     
- Complexity      415       433      +18     
=============================================
  Files            34        34              
  Lines          1170      1299     +129     
=============================================
+ Hits           1155      1299     +144     
+ Misses           15         0      -15     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@judus judus merged commit 8fe3a29 into master Oct 8, 2025
3 checks passed
Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting

Comment on lines +603 to +608
if ($this->noReflection) {
$method->setBody(<<<'PHP'
$compiledMethod = $this->buildCompiledInvokerMethodName($serviceId, $method);
if (method_exists($this, $compiledMethod)) {
return $this->{$compiledMethod}($args);

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Pass instance argument incorrectly when invoking compiled services

The compiled container’s invokeServiceMethod() dispatches compiled invokers with return $this->{$compiledMethod}($args); even though generateMethodInvoker() defines those invoker methods to accept an optional $instance followed by the $args array. When noReflection is enabled (and also in the strict/lenient branches below), the first parameter is therefore an array instead of ?object, which will raise a TypeError before the target method is executed. The call needs to pass both parameters in the proper order (e.g. $this->{$compiledMethod}(null, $args)).

Useful? React with 👍 / 👎.

Comment on lines +419 to +426
if (is_string($target) && class_exists($target)) {
$contextKey = $target . '::__invoke';
if (isset($this->compiledMethodMap[$contextKey])) {
return $this->{$this->compiledMethodMap[$contextKey]}(null, $arguments);
}
throw nNotFoundException::forMissingCompiledInvoker($contextKey);

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Typo throws unknown class in no-reflection invoke path

In the invoke() implementation for no-reflection mode the fallback branch for string class targets uses throw nNotFoundException::forMissingCompiledInvoker($contextKey);. The extra leading n makes PHP look for an undefined symbol and the compiled container will fatally error instead of throwing the intended NotFoundException. This prevents strict/no-reflection invocations from working when a compiled invoker is missing.

Useful? React with 👍 / 👎.

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.

2 participants