phpantom_lsp 0.7.0

Fast PHP language server with deep type intelligence. Generics, Laravel, PHPStan annotations. Ready in an instant.
Documentation
// test: nested generic factory extends resolves through inheritance chain
// feature: completion
// Adapted from phpactor generics/gh-2295-test.test
// expect: childMethod(
---
<?php

abstract class Model {}

/** @template TModel of Model */
class Factory
{
    /**
     * @return TModel
     */
    public function create(): object {}
}

/**
 * @template TModel of Schedule
 * @extends Factory<TModel>
 */
class ScheduleFactory extends Factory {}

class Schedule extends Model {}

class ChildSchedule extends Schedule
{
    public function childMethod(): void {}
}

/** @extends ScheduleFactory<ChildSchedule> */
class ChildScheduleFactory extends ScheduleFactory {}

$s = (new ChildScheduleFactory())->create();
$s-><>