mirror of
https://github.com/nikic/PHP-Parser.git
synced 2025-01-17 07:08:14 +01:00
Rename Scalar\EncapsedStringPart to InterpolatedStringPart
It is no longer an expression node, which unfortunately does require a more awkward type for the Encaps node.
This commit is contained in:
parent
23835d20ef
commit
f4ec6a1e53
@ -77,6 +77,8 @@ A number of AST nodes have been renamed or moved in the AST hierarchy:
|
||||
|
||||
* `Node\Scalar\LNumber` is now `Node\Scalar\Int_`.
|
||||
* `Node\Scalar\DNumber` is now `Node\Scalar\Float_`.
|
||||
* `Node\Scalar\EncapsedStringPart` is now `Node\InterpolatedStringPart` and no longer extends
|
||||
`Node\Scalar` or `Node\Expr`.
|
||||
* `Node\Expr\ClosureUse` is now `Node\ClosureUse` and no longer extends `Node\Expr`.
|
||||
* `Node\Expr\ArrayItem` is now `Node\ArrayItem` and no longer extends `Node\Expr`.
|
||||
* `Node\Stmt\StaticVar` is now `Node\StaticVar` and no longer extends `Node\Stmt`.
|
||||
|
@ -1127,7 +1127,7 @@ exit_expr:
|
||||
backticks_expr:
|
||||
/* empty */ { $$ = array(); }
|
||||
| T_ENCAPSED_AND_WHITESPACE
|
||||
{ $$ = array(Scalar\EncapsedStringPart[Scalar\String_::parseEscapeSequences($1, '`')]); }
|
||||
{ $$ = array(Node\InterpolatedStringPart[Scalar\String_::parseEscapeSequences($1, '`')]); }
|
||||
| encaps_list { parseEncapsed($1, '`', true); $$ = $1; }
|
||||
;
|
||||
|
||||
@ -1325,7 +1325,7 @@ encaps_list:
|
||||
;
|
||||
|
||||
encaps_string_part:
|
||||
T_ENCAPSED_AND_WHITESPACE { $$ = Scalar\EncapsedStringPart[$1]; }
|
||||
T_ENCAPSED_AND_WHITESPACE { $$ = Node\InterpolatedStringPart[$1]; }
|
||||
;
|
||||
|
||||
encaps_str_varname:
|
||||
|
@ -106,7 +106,7 @@ function resolveMacros($code) {
|
||||
if ('parseEncapsed' === $name) {
|
||||
assertArgs(3, $args, $name);
|
||||
|
||||
return 'foreach (' . $args[0] . ' as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) {'
|
||||
return 'foreach (' . $args[0] . ' as $s) { if ($s instanceof Node\InterpolatedStringPart) {'
|
||||
. ' $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, ' . $args[1] . ', ' . $args[2] . '); } }';
|
||||
}
|
||||
|
||||
|
@ -1,15 +1,15 @@
|
||||
<?php declare(strict_types=1);
|
||||
|
||||
namespace PhpParser\Node\Scalar;
|
||||
namespace PhpParser\Node;
|
||||
|
||||
use PhpParser\Node\Scalar;
|
||||
use PhpParser\NodeAbstract;
|
||||
|
||||
class EncapsedStringPart extends Scalar {
|
||||
class InterpolatedStringPart extends NodeAbstract {
|
||||
/** @var string String value */
|
||||
public $value;
|
||||
|
||||
/**
|
||||
* Constructs a node representing a string part of an encapsed string.
|
||||
* Constructs a node representing a string part of an interpolated string.
|
||||
*
|
||||
* @param string $value String value
|
||||
* @param array $attributes Additional attributes
|
||||
@ -24,6 +24,6 @@ class EncapsedStringPart extends Scalar {
|
||||
}
|
||||
|
||||
public function getType(): string {
|
||||
return 'Scalar_EncapsedStringPart';
|
||||
return 'InterpolatedStringPart';
|
||||
}
|
||||
}
|
@ -3,17 +3,18 @@
|
||||
namespace PhpParser\Node\Scalar;
|
||||
|
||||
use PhpParser\Node\Expr;
|
||||
use PhpParser\Node\InterpolatedStringPart;
|
||||
use PhpParser\Node\Scalar;
|
||||
|
||||
class Encapsed extends Scalar {
|
||||
/** @var Expr[] list of string parts */
|
||||
/** @var (Expr|InterpolatedStringPart)[] list of string parts */
|
||||
public $parts;
|
||||
|
||||
/**
|
||||
* Constructs an encapsed string node.
|
||||
* Constructs an interpolated string node.
|
||||
*
|
||||
* @param Expr[] $parts Encaps list
|
||||
* @param array $attributes Additional attributes
|
||||
* @param (Expr|InterpolatedStringPart)[] $parts Interpolated string parts
|
||||
* @param array $attributes Additional attributes
|
||||
*/
|
||||
public function __construct(array $parts, array $attributes = []) {
|
||||
$this->attributes = $attributes;
|
||||
|
@ -2707,10 +2707,10 @@ class Php7 extends \PhpParser\ParserAbstract
|
||||
$this->semValue = array();
|
||||
},
|
||||
505 => function ($stackPos) {
|
||||
$this->semValue = array(new Scalar\EncapsedStringPart(Scalar\String_::parseEscapeSequences($this->semStack[$stackPos-(1-1)], '`'), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes));
|
||||
$this->semValue = array(new Node\InterpolatedStringPart(Scalar\String_::parseEscapeSequences($this->semStack[$stackPos-(1-1)], '`'), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes));
|
||||
},
|
||||
506 => function ($stackPos) {
|
||||
foreach ($this->semStack[$stackPos-(1-1)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', true); } }; $this->semValue = $this->semStack[$stackPos-(1-1)];
|
||||
foreach ($this->semStack[$stackPos-(1-1)] as $s) { if ($s instanceof Node\InterpolatedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', true); } }; $this->semValue = $this->semStack[$stackPos-(1-1)];
|
||||
},
|
||||
507 => function ($stackPos) {
|
||||
$this->semValue = array();
|
||||
@ -2768,7 +2768,7 @@ class Php7 extends \PhpParser\ParserAbstract
|
||||
},
|
||||
524 => function ($stackPos) {
|
||||
$attrs = $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED;
|
||||
foreach ($this->semStack[$stackPos-(3-2)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '"', true); } }; $this->semValue = new Scalar\Encapsed($this->semStack[$stackPos-(3-2)], $attrs);
|
||||
foreach ($this->semStack[$stackPos-(3-2)] as $s) { if ($s instanceof Node\InterpolatedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '"', true); } }; $this->semValue = new Scalar\Encapsed($this->semStack[$stackPos-(3-2)], $attrs);
|
||||
},
|
||||
525 => function ($stackPos) {
|
||||
$this->semValue = $this->parseLNumber($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes, $this->phpVersion->allowsInvalidOctals());
|
||||
@ -2982,7 +2982,7 @@ class Php7 extends \PhpParser\ParserAbstract
|
||||
$this->semValue = array($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]);
|
||||
},
|
||||
594 => function ($stackPos) {
|
||||
$this->semValue = new Scalar\EncapsedStringPart($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
|
||||
$this->semValue = new Node\InterpolatedStringPart($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
|
||||
},
|
||||
595 => function ($stackPos) {
|
||||
$this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
|
||||
|
@ -2725,10 +2725,10 @@ class Php8 extends \PhpParser\ParserAbstract
|
||||
$this->semValue = array();
|
||||
},
|
||||
505 => function ($stackPos) {
|
||||
$this->semValue = array(new Scalar\EncapsedStringPart(Scalar\String_::parseEscapeSequences($this->semStack[$stackPos-(1-1)], '`'), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes));
|
||||
$this->semValue = array(new Node\InterpolatedStringPart(Scalar\String_::parseEscapeSequences($this->semStack[$stackPos-(1-1)], '`'), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes));
|
||||
},
|
||||
506 => function ($stackPos) {
|
||||
foreach ($this->semStack[$stackPos-(1-1)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', true); } }; $this->semValue = $this->semStack[$stackPos-(1-1)];
|
||||
foreach ($this->semStack[$stackPos-(1-1)] as $s) { if ($s instanceof Node\InterpolatedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', true); } }; $this->semValue = $this->semStack[$stackPos-(1-1)];
|
||||
},
|
||||
507 => function ($stackPos) {
|
||||
$this->semValue = array();
|
||||
@ -2786,7 +2786,7 @@ class Php8 extends \PhpParser\ParserAbstract
|
||||
},
|
||||
524 => function ($stackPos) {
|
||||
$attrs = $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED;
|
||||
foreach ($this->semStack[$stackPos-(3-2)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '"', true); } }; $this->semValue = new Scalar\Encapsed($this->semStack[$stackPos-(3-2)], $attrs);
|
||||
foreach ($this->semStack[$stackPos-(3-2)] as $s) { if ($s instanceof Node\InterpolatedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '"', true); } }; $this->semValue = new Scalar\Encapsed($this->semStack[$stackPos-(3-2)], $attrs);
|
||||
},
|
||||
525 => function ($stackPos) {
|
||||
$this->semValue = $this->parseLNumber($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes, $this->phpVersion->allowsInvalidOctals());
|
||||
@ -3000,7 +3000,7 @@ class Php8 extends \PhpParser\ParserAbstract
|
||||
$this->semValue = array($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]);
|
||||
},
|
||||
594 => function ($stackPos) {
|
||||
$this->semValue = new Scalar\EncapsedStringPart($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
|
||||
$this->semValue = new Node\InterpolatedStringPart($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
|
||||
},
|
||||
595 => function ($stackPos) {
|
||||
$this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
|
||||
|
@ -777,7 +777,7 @@ abstract class ParserAbstract implements Parser {
|
||||
return new String_($contents, $attributes);
|
||||
} else {
|
||||
assert(count($contents) > 0);
|
||||
if (!$contents[0] instanceof Node\Scalar\EncapsedStringPart) {
|
||||
if (!$contents[0] instanceof Node\InterpolatedStringPart) {
|
||||
// If there is no leading encapsed string part, pretend there is an empty one
|
||||
$this->stripIndentation(
|
||||
'', $indentLen, $indentChar, true, false, $contents[0]->getAttributes()
|
||||
@ -786,7 +786,7 @@ abstract class ParserAbstract implements Parser {
|
||||
|
||||
$newContents = [];
|
||||
foreach ($contents as $i => $part) {
|
||||
if ($part instanceof Node\Scalar\EncapsedStringPart) {
|
||||
if ($part instanceof Node\InterpolatedStringPart) {
|
||||
$isLast = $i === \count($contents) - 1;
|
||||
$part->value = $this->stripIndentation(
|
||||
$part->value, $indentLen, $indentChar,
|
||||
|
@ -168,7 +168,7 @@ class Standard extends PrettyPrinterAbstract {
|
||||
$label = $node->getAttribute('docLabel');
|
||||
if ($label && !$this->encapsedContainsEndLabel($node->parts, $label)) {
|
||||
if (count($node->parts) === 1
|
||||
&& $node->parts[0] instanceof Scalar\EncapsedStringPart
|
||||
&& $node->parts[0] instanceof Node\InterpolatedStringPart
|
||||
&& $node->parts[0]->value === ''
|
||||
) {
|
||||
return "<<<$label\n$label" . $this->docStringEndToken;
|
||||
@ -238,10 +238,6 @@ class Standard extends PrettyPrinterAbstract {
|
||||
return preg_match('/^-?[0-9]+$/', $stringValue) ? $stringValue . '.0' : $stringValue;
|
||||
}
|
||||
|
||||
protected function pScalar_EncapsedStringPart(Scalar\EncapsedStringPart $node) {
|
||||
throw new \LogicException('Cannot directly print EncapsedStringPart');
|
||||
}
|
||||
|
||||
// Assignments
|
||||
|
||||
protected function pExpr_Assign(Expr\Assign $node) {
|
||||
@ -1001,7 +997,7 @@ class Standard extends PrettyPrinterAbstract {
|
||||
protected function pEncapsList(array $encapsList, $quote) {
|
||||
$return = '';
|
||||
foreach ($encapsList as $element) {
|
||||
if ($element instanceof Scalar\EncapsedStringPart) {
|
||||
if ($element instanceof Node\InterpolatedStringPart) {
|
||||
$return .= $this->escapeString($element->value, $quote);
|
||||
} else {
|
||||
$return .= '{' . $this->p($element) . '}';
|
||||
@ -1064,7 +1060,7 @@ class Standard extends PrettyPrinterAbstract {
|
||||
foreach ($parts as $i => $part) {
|
||||
$atStart = $i === 0;
|
||||
$atEnd = $i === count($parts) - 1;
|
||||
if ($part instanceof Scalar\EncapsedStringPart
|
||||
if ($part instanceof Node\InterpolatedStringPart
|
||||
&& $this->containsEndLabel($part->value, $label, $atStart, $atEnd)
|
||||
) {
|
||||
return true;
|
||||
|
@ -975,7 +975,7 @@ abstract class PrettyPrinterAbstract {
|
||||
}
|
||||
break;
|
||||
case self::FIXUP_ENCAPSED:
|
||||
if (!$subNode instanceof Scalar\EncapsedStringPart
|
||||
if (!$subNode instanceof Node\InterpolatedStringPart
|
||||
&& !$this->origTokens->haveBraces($subStartPos, $subEndPos)
|
||||
) {
|
||||
return '{' . $this->p($subNode) . '}';
|
||||
|
@ -6,7 +6,7 @@ use PhpParser\Node\Expr;
|
||||
use PhpParser\Node\Name;
|
||||
use PhpParser\Node\Scalar\Float_;
|
||||
use PhpParser\Node\Scalar\Encapsed;
|
||||
use PhpParser\Node\Scalar\EncapsedStringPart;
|
||||
use PhpParser\Node\InterpolatedStringPart;
|
||||
use PhpParser\Node\Scalar\Int_;
|
||||
use PhpParser\Node\Scalar\String_;
|
||||
use PhpParser\Node\Stmt;
|
||||
@ -115,17 +115,17 @@ class PrettyPrinterTest extends CodeTestAbstract {
|
||||
// Empty doc string variations (encapsed variant does not occur naturally)
|
||||
[new String_("", $nowdoc), "<<<'STR'\nSTR\n"],
|
||||
[new String_("", $heredoc), "<<<STR\nSTR\n"],
|
||||
[new Encapsed([new EncapsedStringPart('')], $heredoc), "<<<STR\nSTR\n"],
|
||||
[new Encapsed([new InterpolatedStringPart('')], $heredoc), "<<<STR\nSTR\n"],
|
||||
// Encapsed doc string variations
|
||||
[new Encapsed([new EncapsedStringPart('foo')], $heredoc), "<<<STR\nfoo\nSTR\n"],
|
||||
[new Encapsed([new EncapsedStringPart('foo'), new Expr\Variable('y')], $heredoc), "<<<STR\nfoo{\$y}\nSTR\n"],
|
||||
[new Encapsed([new EncapsedStringPart("\nSTR"), new Expr\Variable('y')], $heredoc), "<<<STR\n\nSTR{\$y}\nSTR\n"],
|
||||
[new Encapsed([new EncapsedStringPart("\nSTR"), new Expr\Variable('y')], $heredoc), "<<<STR\n\nSTR{\$y}\nSTR\n"],
|
||||
[new Encapsed([new Expr\Variable('y'), new EncapsedStringPart("STR\n")], $heredoc), "<<<STR\n{\$y}STR\n\nSTR\n"],
|
||||
[new Encapsed([new InterpolatedStringPart('foo')], $heredoc), "<<<STR\nfoo\nSTR\n"],
|
||||
[new Encapsed([new InterpolatedStringPart('foo'), new Expr\Variable('y')], $heredoc), "<<<STR\nfoo{\$y}\nSTR\n"],
|
||||
[new Encapsed([new InterpolatedStringPart("\nSTR"), new Expr\Variable('y')], $heredoc), "<<<STR\n\nSTR{\$y}\nSTR\n"],
|
||||
[new Encapsed([new InterpolatedStringPart("\nSTR"), new Expr\Variable('y')], $heredoc), "<<<STR\n\nSTR{\$y}\nSTR\n"],
|
||||
[new Encapsed([new Expr\Variable('y'), new InterpolatedStringPart("STR\n")], $heredoc), "<<<STR\n{\$y}STR\n\nSTR\n"],
|
||||
// Encapsed doc string fallback
|
||||
[new Encapsed([new Expr\Variable('y'), new EncapsedStringPart("\nSTR")], $heredoc), '"{$y}\\nSTR"'],
|
||||
[new Encapsed([new EncapsedStringPart("STR\n"), new Expr\Variable('y')], $heredoc), '"STR\\n{$y}"'],
|
||||
[new Encapsed([new EncapsedStringPart("STR")], $heredoc), '"STR"'],
|
||||
[new Encapsed([new Expr\Variable('y'), new InterpolatedStringPart("\nSTR")], $heredoc), '"{$y}\\nSTR"'],
|
||||
[new Encapsed([new InterpolatedStringPart("STR\n"), new Expr\Variable('y')], $heredoc), '"STR\\n{$y}"'],
|
||||
[new Encapsed([new InterpolatedStringPart("STR")], $heredoc), '"STR"'],
|
||||
];
|
||||
}
|
||||
|
||||
@ -169,14 +169,6 @@ class PrettyPrinterTest extends CodeTestAbstract {
|
||||
$prettyPrinter->prettyPrint($stmts);
|
||||
}
|
||||
|
||||
public function testPrettyPrintEncapsedStringPart() {
|
||||
$this->expectException(\LogicException::class);
|
||||
$this->expectExceptionMessage('Cannot directly print EncapsedStringPart');
|
||||
$expr = new Node\Scalar\EncapsedStringPart('foo');
|
||||
$prettyPrinter = new PrettyPrinter\Standard();
|
||||
$prettyPrinter->prettyPrintExpr($expr);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider provideTestFormatPreservingPrint
|
||||
* @covers \PhpParser\PrettyPrinter\Standard<extended>
|
||||
|
@ -17,7 +17,7 @@ array(
|
||||
1: Stmt_Expression(
|
||||
expr: Expr_ShellExec(
|
||||
parts: array(
|
||||
0: Scalar_EncapsedStringPart(
|
||||
0: InterpolatedStringPart(
|
||||
value: test
|
||||
)
|
||||
)
|
||||
@ -26,7 +26,7 @@ array(
|
||||
2: Stmt_Expression(
|
||||
expr: Expr_ShellExec(
|
||||
parts: array(
|
||||
0: Scalar_EncapsedStringPart(
|
||||
0: InterpolatedStringPart(
|
||||
value: test
|
||||
)
|
||||
1: Expr_Variable(
|
||||
@ -38,7 +38,7 @@ array(
|
||||
3: Stmt_Expression(
|
||||
expr: Expr_ShellExec(
|
||||
parts: array(
|
||||
0: Scalar_EncapsedStringPart(
|
||||
0: InterpolatedStringPart(
|
||||
value: test `
|
||||
)
|
||||
)
|
||||
@ -47,7 +47,7 @@ array(
|
||||
4: Stmt_Expression(
|
||||
expr: Expr_ShellExec(
|
||||
parts: array(
|
||||
0: Scalar_EncapsedStringPart(
|
||||
0: InterpolatedStringPart(
|
||||
value: test \"
|
||||
)
|
||||
)
|
||||
|
@ -25,7 +25,7 @@ array(
|
||||
expr: Expr_ArrayDimFetch(
|
||||
var: Scalar_Encapsed(
|
||||
parts: array(
|
||||
0: Scalar_EncapsedStringPart(
|
||||
0: InterpolatedStringPart(
|
||||
value: foo
|
||||
)
|
||||
1: Expr_Variable(
|
||||
@ -42,7 +42,7 @@ array(
|
||||
expr: Expr_MethodCall(
|
||||
var: Scalar_Encapsed(
|
||||
parts: array(
|
||||
0: Scalar_EncapsedStringPart(
|
||||
0: InterpolatedStringPart(
|
||||
value: foo
|
||||
)
|
||||
1: Expr_Variable(
|
||||
|
@ -66,7 +66,7 @@ array(
|
||||
4: Stmt_Expression(
|
||||
expr: Scalar_Encapsed(
|
||||
parts: array(
|
||||
0: Scalar_EncapsedStringPart(
|
||||
0: InterpolatedStringPart(
|
||||
value: Test
|
||||
)
|
||||
1: Expr_Variable(
|
||||
@ -84,13 +84,13 @@ array(
|
||||
5: Stmt_Expression(
|
||||
expr: Scalar_Encapsed(
|
||||
parts: array(
|
||||
0: Scalar_EncapsedStringPart(
|
||||
0: InterpolatedStringPart(
|
||||
value: Test
|
||||
)
|
||||
1: Expr_Variable(
|
||||
name: a
|
||||
)
|
||||
2: Scalar_EncapsedStringPart(
|
||||
2: InterpolatedStringPart(
|
||||
value: and
|
||||
)
|
||||
3: Expr_PropertyFetch(
|
||||
@ -101,7 +101,7 @@ array(
|
||||
name: c
|
||||
)
|
||||
)
|
||||
4: Scalar_EncapsedStringPart(
|
||||
4: InterpolatedStringPart(
|
||||
value: test
|
||||
)
|
||||
)
|
||||
|
@ -37,7 +37,7 @@ array(
|
||||
0: Expr_Variable(
|
||||
name: var
|
||||
)
|
||||
1: Scalar_EncapsedStringPart(
|
||||
1: InterpolatedStringPart(
|
||||
value:
|
||||
|
||||
)
|
||||
@ -67,11 +67,11 @@ array(
|
||||
0: Expr_Variable(
|
||||
name: var
|
||||
)
|
||||
1: Scalar_EncapsedStringPart(
|
||||
1: InterpolatedStringPart(
|
||||
value:
|
||||
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
@ -223,13 +223,13 @@ array(
|
||||
15: Stmt_Expression(
|
||||
expr: Scalar_Encapsed(
|
||||
parts: array(
|
||||
0: Scalar_EncapsedStringPart(
|
||||
0: InterpolatedStringPart(
|
||||
value: \{
|
||||
)
|
||||
1: Expr_Variable(
|
||||
name: A
|
||||
)
|
||||
2: Scalar_EncapsedStringPart(
|
||||
2: InterpolatedStringPart(
|
||||
value: }
|
||||
)
|
||||
)
|
||||
@ -238,13 +238,13 @@ array(
|
||||
16: Stmt_Expression(
|
||||
expr: Scalar_Encapsed(
|
||||
parts: array(
|
||||
0: Scalar_EncapsedStringPart(
|
||||
0: InterpolatedStringPart(
|
||||
value: \{
|
||||
)
|
||||
1: Expr_Variable(
|
||||
name: A
|
||||
)
|
||||
2: Scalar_EncapsedStringPart(
|
||||
2: InterpolatedStringPart(
|
||||
value: }
|
||||
)
|
||||
)
|
||||
@ -253,7 +253,7 @@ array(
|
||||
17: Stmt_Expression(
|
||||
expr: Scalar_Encapsed(
|
||||
parts: array(
|
||||
0: Scalar_EncapsedStringPart(
|
||||
0: InterpolatedStringPart(
|
||||
value: \
|
||||
)
|
||||
1: Expr_Variable(
|
||||
@ -265,13 +265,13 @@ array(
|
||||
18: Stmt_Expression(
|
||||
expr: Scalar_Encapsed(
|
||||
parts: array(
|
||||
0: Scalar_EncapsedStringPart(
|
||||
0: InterpolatedStringPart(
|
||||
value: \{
|
||||
)
|
||||
1: Expr_Variable(
|
||||
name: A
|
||||
)
|
||||
2: Scalar_EncapsedStringPart(
|
||||
2: InterpolatedStringPart(
|
||||
value: }
|
||||
)
|
||||
)
|
||||
@ -285,7 +285,7 @@ array(
|
||||
name: A
|
||||
)
|
||||
)
|
||||
1: Scalar_EncapsedStringPart(
|
||||
1: InterpolatedStringPart(
|
||||
value: [B]
|
||||
)
|
||||
)
|
||||
@ -294,7 +294,7 @@ array(
|
||||
20: Stmt_Expression(
|
||||
expr: Scalar_Encapsed(
|
||||
parts: array(
|
||||
0: Scalar_EncapsedStringPart(
|
||||
0: InterpolatedStringPart(
|
||||
value: $
|
||||
)
|
||||
1: Expr_ArrayDimFetch(
|
||||
@ -311,13 +311,13 @@ array(
|
||||
21: Stmt_Expression(
|
||||
expr: Scalar_Encapsed(
|
||||
parts: array(
|
||||
0: Scalar_EncapsedStringPart(
|
||||
0: InterpolatedStringPart(
|
||||
value: A
|
||||
)
|
||||
1: Expr_Variable(
|
||||
name: B
|
||||
)
|
||||
2: Scalar_EncapsedStringPart(
|
||||
2: InterpolatedStringPart(
|
||||
value: C
|
||||
)
|
||||
)
|
||||
|
@ -166,7 +166,7 @@ array(
|
||||
5: Stmt_Expression(
|
||||
expr: Scalar_Encapsed(
|
||||
parts: array(
|
||||
0: Scalar_EncapsedStringPart(
|
||||
0: InterpolatedStringPart(
|
||||
value: a
|
||||
b
|
||||
|
||||
@ -174,7 +174,7 @@ array(
|
||||
1: Expr_Variable(
|
||||
name: test
|
||||
)
|
||||
2: Scalar_EncapsedStringPart(
|
||||
2: InterpolatedStringPart(
|
||||
value:
|
||||
d
|
||||
e
|
||||
@ -200,7 +200,7 @@ array(
|
||||
7: Stmt_Expression(
|
||||
expr: Scalar_Encapsed(
|
||||
parts: array(
|
||||
0: Scalar_EncapsedStringPart(
|
||||
0: InterpolatedStringPart(
|
||||
value: a
|
||||
|
||||
@@{ "\t" }@@a
|
||||
@ -212,7 +212,7 @@ array(
|
||||
1: Expr_Variable(
|
||||
name: test
|
||||
)
|
||||
2: Scalar_EncapsedStringPart(
|
||||
2: InterpolatedStringPart(
|
||||
value:
|
||||
|
||||
d
|
||||
@ -229,7 +229,7 @@ array(
|
||||
0: Expr_Variable(
|
||||
name: one
|
||||
)
|
||||
1: Scalar_EncapsedStringPart(
|
||||
1: InterpolatedStringPart(
|
||||
value: -
|
||||
)
|
||||
)
|
||||
@ -241,7 +241,7 @@ array(
|
||||
0: Expr_Variable(
|
||||
name: two
|
||||
)
|
||||
1: Scalar_EncapsedStringPart(
|
||||
1: InterpolatedStringPart(
|
||||
value: -
|
||||
)
|
||||
)
|
||||
@ -253,7 +253,7 @@ array(
|
||||
0: Expr_Variable(
|
||||
name: three
|
||||
)
|
||||
1: Scalar_EncapsedStringPart(
|
||||
1: InterpolatedStringPart(
|
||||
value: -
|
||||
)
|
||||
)
|
||||
@ -265,7 +265,7 @@ array(
|
||||
0: Expr_Variable(
|
||||
name: four
|
||||
)
|
||||
1: Scalar_EncapsedStringPart(
|
||||
1: InterpolatedStringPart(
|
||||
value: -
|
||||
)
|
||||
2: Expr_Variable(
|
||||
@ -280,13 +280,13 @@ array(
|
||||
0: Expr_Variable(
|
||||
name: five
|
||||
)
|
||||
1: Scalar_EncapsedStringPart(
|
||||
1: InterpolatedStringPart(
|
||||
value: -
|
||||
)
|
||||
2: Expr_Variable(
|
||||
name: five
|
||||
)
|
||||
3: Scalar_EncapsedStringPart(
|
||||
3: InterpolatedStringPart(
|
||||
value: -
|
||||
)
|
||||
)
|
||||
@ -298,13 +298,13 @@ array(
|
||||
0: Expr_Variable(
|
||||
name: six
|
||||
)
|
||||
1: Scalar_EncapsedStringPart(
|
||||
1: InterpolatedStringPart(
|
||||
value: -
|
||||
)
|
||||
2: Expr_Variable(
|
||||
name: six
|
||||
)
|
||||
3: Scalar_EncapsedStringPart(
|
||||
3: InterpolatedStringPart(
|
||||
value: -
|
||||
)
|
||||
4: Expr_Variable(
|
||||
@ -319,7 +319,7 @@ array(
|
||||
0: Expr_Variable(
|
||||
name: seven
|
||||
)
|
||||
1: Scalar_EncapsedStringPart(
|
||||
1: InterpolatedStringPart(
|
||||
value:
|
||||
-
|
||||
)
|
||||
@ -332,7 +332,7 @@ array(
|
||||
0: Expr_Variable(
|
||||
name: eight
|
||||
)
|
||||
1: Scalar_EncapsedStringPart(
|
||||
1: InterpolatedStringPart(
|
||||
value:
|
||||
-
|
||||
)
|
||||
|
@ -80,7 +80,7 @@ array(
|
||||
5: Stmt_Expression(
|
||||
expr: Scalar_Encapsed(
|
||||
parts: array(
|
||||
0: Scalar_EncapsedStringPart(
|
||||
0: InterpolatedStringPart(
|
||||
value: Foo
|
||||
|
||||
)
|
||||
@ -103,7 +103,7 @@ array(
|
||||
exprs: array(
|
||||
0: Scalar_Encapsed(
|
||||
parts: array(
|
||||
0: Scalar_EncapsedStringPart(
|
||||
0: InterpolatedStringPart(
|
||||
value: a
|
||||
|
||||
)
|
||||
@ -114,4 +114,4 @@ array(
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
Loading…
x
Reference in New Issue
Block a user