1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
// test: property narrowing with instanceof in if block // feature: completion // Adapted from phpactor combination/property.test // expect: getLinkedCustomer( --- <?php interface Timeline { public function getItems(): array; } class Trip implements Timeline { public function getItems(): array { return []; } public function getLinkedCustomer(): string { return 'James Bond'; } } class Test { private Timeline $timeline; public function doSomething(): void { if ($this->timeline instanceof Trip) { $this->timeline-><> } } }