mirror of
https://github.com/Vateron-Media/XC_VM.git
synced 2026-10-04 12:02:33 +02:00
refactor: apply Rector safe sets + fix the transform's fallout (reviewed)
Ran `make rector-fix` (deadCode + codeQuality prepared sets) over the PSR-4 class trees (Core/Domain/Cli/Infrastructure). Net -600 lines: dead-code removal and the empty-if/else collapse (the feedback_simplify_empty_else pattern this adoption targeted). 99 files mechanically transformed. The output was reviewed against the full test suite + PHPStan + a targeted scan; this commit is the CORRECTED pass (no broken state in history): - FIX (Rector bug): its boolean inversion dropped the parens around an assignment-in-condition — `if (($rKey = array_search(...)) === false)` became `if ($rKey = array_search(...) !== false)`, assigning the bool to $rKey and unsetting the wrong array offset. Restored parens in 7 sites (BouquetService, ChannelService, CategoryService). PHPStan caught only 1 of the 7; the rest were silent. Added BouquetServiceTest as a regression (proven to fail on the broken form). - FIX (pre-existing, same class): GroupService::removeGroupFromUsers had the identical dropped-parens bug already in the tree — corrected here too. - FIX: ServersCronJob::pingServer returns floor() (float) under an `: int` return type — added an (int) cast. - ACCEPT: LocallyCalledStaticMethodToNonStaticRector converted 25 locally-called private static helpers to instance methods (behaviour-preserving; call sites rewritten). Updated MonitorCommandTest's reflection helper to invoke on a constructor-less instance. Verified: PHPStan level 5 clean (0), suite 691 tests / 0 errors. NOTE: do not re-run `make rector-fix` on this tree without first skipping the inversion rule — the dropped-parens bug is deterministic and would return.
This commit is contained in:
@@ -19,11 +19,17 @@ final class MonitorCommandTest extends TestCase {
|
||||
}
|
||||
}
|
||||
|
||||
/** Invoke a private static MonitorCommand method via reflection. */
|
||||
/**
|
||||
* Invoke a private MonitorCommand method via reflection on a constructor-less
|
||||
* instance. Works for both instance and (still) static helpers — a static
|
||||
* method ignores the object argument. The tested helpers are pure (no $this),
|
||||
* so a bare instance is sufficient.
|
||||
*/
|
||||
private function call(string $method, ...$args) {
|
||||
$m = new ReflectionMethod(MonitorCommand::class, $method);
|
||||
$m->setAccessible(true);
|
||||
return $m->invoke(null, ...$args);
|
||||
$instance = (new \ReflectionClass(MonitorCommand::class))->newInstanceWithoutConstructor();
|
||||
return $m->invoke($instance, ...$args);
|
||||
}
|
||||
|
||||
// ── parseFrameRate (label768/780/1047/1052/1057) ───────────
|
||||
|
||||
Reference in New Issue
Block a user