nikic/PHP-Parser · error · LogicException
Precedence adaptation must have trait
Error message
Precedence adaptation must have trait
What it means
Error "Precedence adaptation must have trait" thrown in nikic/PHP-Parser.
Source
Thrown at lib/PhpParser/Builder/TraitUseAdaptation.php:97
*
* @return $this The builder instance (for fluid interface)
*/
public function makePrivate() {
$this->setModifier(Modifiers::PRIVATE);
return $this;
}
/**
* Adds overwritten traits.
*
* @param Node\Name|string ...$traits Traits for overwrite
*
* @return $this The builder instance (for fluid interface)
*/
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;
}
protected function setModifier(int $modifier): void {
if ($this->type === self::TYPE_UNDEFINED) {View on GitHub (pinned to fbd47f7ebc)
When it happens
Trigger: Thrown at lib/PhpParser/Builder/TraitUseAdaptation.php:97 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of nikic/PHP-Parser@fbd47f7ebc (2026-08-17).
Data as JSON: /api/errors/ec84ece0b2cf2c5e.
Report an issue: GitHub.