function TraitUseAdaptation::insteadof
Adds overwritten traits.
Parameters
Node\Name|string ...$traits Traits for overwrite:
Return value
$this The builder instance (for fluid interface)
File
-
vendor/
nikic/ php-parser/ lib/ PhpParser/ Builder/ TraitUseAdaptation.php, line 94
Class
Namespace
PhpParser\BuilderCode
public function insteadof(...$traits) {
if ($this->type === self::TYPE_UNDEFINED) {
if (is_null($this->trait)) {
throw new \LogicException('Precedence adaptation must have trait');
}
$this->type = self::TYPE_PRECEDENCE;
}
if ($this->type !== self::TYPE_PRECEDENCE) {
throw new \LogicException('Cannot add overwritten traits for not precedence adaptation buider');
}
foreach ($traits as $trait) {
$this->insteadof[] = BuilderHelpers::normalizeName($trait);
}
return $this;
}