Псалом поддерживает @param-out для "this"?
Можно ли управлять фантомными типами в Псалме с помощью @param-out
за this
или self
? Пример:
/**
* @template T
*/
class Foo
{
/**
* @param T $t
*/
public function __construct($t)
{
$this->t = $t;
}
/**
* WRONG:
* @param-out Test<S> $this
*/
public function test()
{
// Also this doesn't work:
$this->t = new S();
}
}
Примером использования для этого может быть, например, класс файла с фантомным типом, установленным на Open
или Closed
, и звонит $file->open();
изменения T
к Open
.
1 ответ
Решение
Нет. Есть запрос на перенос, который может быть или не может быть объединен с использованием @param-self-out
.