1: <?php declare(strict_types=1);
2:
3: namespace PhpParser\Node\Scalar;
4:
5: use PhpParser\Node\Expr;
6: use PhpParser\Node\InterpolatedStringPart;
7: use PhpParser\Node\Scalar;
8:
9: class InterpolatedString extends Scalar {
10: /** @var (Expr|InterpolatedStringPart)[] list of string parts */
11: public array $parts;
12:
13: /**
14: * Constructs an interpolated string node.
15: *
16: * @param (Expr|InterpolatedStringPart)[] $parts Interpolated string parts
17: * @param array<string, mixed> $attributes Additional attributes
18: */
19: public function __construct(array $parts, array $attributes = []) {
20: $this->attributes = $attributes;
21: $this->parts = $parts;
22: }
23:
24: public function getSubNodeNames(): array {
25: return ['parts'];
26: }
27:
28: public function getType(): string {
29: return 'Scalar_InterpolatedString';
30: }
31: }
32:
33: // @deprecated compatibility alias
34: class_alias(InterpolatedString::class, Encapsed::class);
35: