1
0
mirror of https://github.com/danog/psalm.git synced 2025-01-10 15:09:04 +01:00
psalm/src/Psalm/Internal/ReferenceConstraint.php
2022-12-13 20:46:43 -06:00

38 lines
721 B
PHP

<?php
namespace Psalm\Internal;
use Psalm\Type\Atomic\TFloat;
use Psalm\Type\Atomic\TInt;
use Psalm\Type\Atomic\TString;
use Psalm\Type\Union;
/**
* @internal
*/
class ReferenceConstraint
{
public ?Union $type = null;
public function __construct(?Union $type = null)
{
if ($type) {
$type = $type->getBuilder();
if ($type->getLiteralStrings()) {
$type->addType(new TString);
}
if ($type->getLiteralInts()) {
$type->addType(new TInt);
}
if ($type->getLiteralFloats()) {
$type->addType(new TFloat);
}
$this->type = $type->freeze();
}
}
}