class TraitUse
Same name in this branch
- 11.1.x vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUse.php \PhpParser\Node\Stmt\TraitUse
Hierarchy
- class \PhpParser\Builder\TraitUse implements \PhpParser\Builder
Expanded class hierarchy of TraitUse
File
-
vendor/
nikic/ php-parser/ lib/ PhpParser/ Builder/ TraitUse.php, line 10
Namespace
PhpParser\BuilderView source
class TraitUse implements Builder {
/** @var Node\Name[] */
protected array $traits = [];
/** @var Stmt\TraitUseAdaptation[] */
protected array $adaptations = [];
/**
* Creates a trait use builder.
*
* @param Node\Name|string ...$traits Names of used traits
*/
public function __construct(...$traits) {
foreach ($traits as $trait) {
$this->and($trait);
}
}
/**
* Adds used trait.
*
* @param Node\Name|string $trait Trait name
*
* @return $this The builder instance (for fluid interface)
*/
public function and($trait) {
$this->traits[] = BuilderHelpers::normalizeName($trait);
return $this;
}
/**
* Adds trait adaptation.
*
* @param Stmt\TraitUseAdaptation|Builder\TraitUseAdaptation $adaptation Trait adaptation
*
* @return $this The builder instance (for fluid interface)
*/
public function with($adaptation) {
$adaptation = BuilderHelpers::normalizeNode($adaptation);
if (!$adaptation instanceof Stmt\TraitUseAdaptation) {
throw new \LogicException('Adaptation must have type TraitUseAdaptation');
}
$this->adaptations[] = $adaptation;
return $this;
}
/**
* Returns the built node.
*
* @return Node The built node
*/
public function getNode() : Node {
return new Stmt\TraitUse($this->traits, $this->adaptations);
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title |
---|---|---|---|---|
TraitUse::$adaptations | protected | property | @var Stmt\TraitUseAdaptation[] | |
TraitUse::$traits | protected | property | @var Node\Name[] | |
TraitUse::and | public | function | Adds used trait. | |
TraitUse::getNode | public | function | Returns the built node. | Overrides Builder::getNode |
TraitUse::with | public | function | Adds trait adaptation. | |
TraitUse::__construct | public | function | Creates a trait use builder. |