1<?php declare(strict_types=1);
2
3namespace PhpParser\Node\Expr;
4
5use PhpParser\Node;
6use PhpParser\Node\Expr;
7use PhpParser\Node\Name;
8
9class Instanceof_ extends Expr {
10    /** @var Expr Expression */
11    public Expr $expr;
12    /** @var Name|Expr Class name */
13    public Node $class;
14
15    /**
16     * Constructs an instanceof check node.
17     *
18     * @param Expr $expr Expression
19     * @param Name|Expr $class Class name
20     * @param array<string, mixed> $attributes Additional attributes
21     */
22    public function __construct(Expr $expr, Node $class, array $attributes = []) {
23        $this->attributes = $attributes;
24        $this->expr = $expr;
25        $this->class = $class;
26    }
27
28    public function getSubNodeNames(): array {
29        return ['expr', 'class'];
30    }
31
32    public function getType(): string {
33        return 'Expr_Instanceof';
34    }
35}
36