public static createForOptionalValueSecondMember ( $secondMember ) : TypeError | ||
return | TypeError |
/** * @param int|ValueInterface $quantifier * @param string|ValueInterface $firstMember * @param string|ValueInterface|null $secondMember */ public function __construct($quantifier, $firstMember, $secondMember = null) { if ($quantifier instanceof ValueInterface) { $quantifier = clone $quantifier; } elseif (is_scalar($quantifier)) { $quantifier = (int) $quantifier; } else { throw TypeErrorFactory::createForOptionalValueQuantifier($quantifier); } if (false === is_string($firstMember) && false === $firstMember instanceof ValueInterface) { throw TypeErrorFactory::createForOptionalValueFirstMember($firstMember); } if (null !== $secondMember && false === is_string($secondMember) && false === $secondMember instanceof ValueInterface) { throw TypeErrorFactory::createForOptionalValueSecondMember($secondMember); } $this->quantifier = $quantifier; $this->firstMember = $firstMember; $this->secondMember = $secondMember; }