nikic/PHP-Parser · error · \LogicException

Can only use getStmts() on a "set" hook if the "propertyName

Error message

Can only use getStmts() on a "set" hook if the "propertyName" attribute is set

What it means

Error "Can only use getStmts() on a "set" hook if the "propertyName" attribute is set" thrown in nikic/PHP-Parser.

Source

Thrown at lib/PhpParser/Node/PropertyHook.php:81

        return null;
    }

    /**
     * Whether the property hook is final.
     */
    public function isFinal(): bool {
        return (bool) ($this->flags & Modifiers::FINAL);
    }

    public function getStmts(): ?array {
        if ($this->body instanceof Expr) {
            $name = $this->name->toLowerString();
            if ($name === 'get') {
                return [new Return_($this->body)];
            }
            if ($name === 'set') {
                if (!$this->hasAttribute('propertyName')) {
                    throw new \LogicException(
                        'Can only use getStmts() on a "set" hook if the "propertyName" attribute is set');
                }

                $propName = $this->getAttribute('propertyName');
                $prop = new PropertyFetch(new Variable('this'), (string) $propName);
                return [new Expression(new Assign($prop, $this->body))];
            }
            throw new \LogicException('Unknown property hook "' . $name . '"');
        }
        return $this->body;
    }

    public function getAttrGroups(): array {
        return $this->attrGroups;
    }

    public function getType(): string {
        return 'PropertyHook';

View on GitHub (pinned to fbd47f7ebc)

When it happens

Trigger: Thrown at lib/PhpParser/Node/PropertyHook.php:81 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/fbfbbeb6342e023c. Report an issue: GitHub.