Skip to content

Commit 02dcdd7

Browse files
committed
Avoid deprecated SplObjectStorage::attach/detach
Use offsetSet and offsetUnset instead.
1 parent f7d2856 commit 02dcdd7

File tree

4 files changed

+8
-7
lines changed

4 files changed

+8
-7
lines changed

grammar/php.y

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1275,8 +1275,9 @@ dereferenceable_scalar:
12751275
T_ARRAY '(' array_pair_list ')'
12761276
{ $attrs = attributes(); $attrs['kind'] = Expr\Array_::KIND_LONG;
12771277
$$ = new Expr\Array_($3, $attrs);
1278-
$this->createdArrays->attach($$); }
1279-
| array_short_syntax { $$ = $1; $this->createdArrays->attach($$); }
1278+
$this->createdArrays->offsetSet($$); }
1279+
| array_short_syntax
1280+
{ $$ = $1; $this->createdArrays->offsetSet($$); }
12801281
| T_CONSTANT_ENCAPSED_STRING
12811282
{ $$ = Scalar\String_::fromString($1, attributes(), $this->phpVersion->supportsUnicodeEscapes()); }
12821283
| '"' encaps_list '"'

lib/PhpParser/Parser/Php7.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2692,10 +2692,10 @@ protected function initReduceCallbacks(): void {
26922692
561 => static function ($self, $stackPos) {
26932693
$attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos]); $attrs['kind'] = Expr\Array_::KIND_LONG;
26942694
$self->semValue = new Expr\Array_($self->semStack[$stackPos-(4-3)], $attrs);
2695-
$self->createdArrays->attach($self->semValue);
2695+
$self->createdArrays->offsetSet($self->semValue);
26962696
},
26972697
562 => static function ($self, $stackPos) {
2698-
$self->semValue = $self->semStack[$stackPos-(1-1)]; $self->createdArrays->attach($self->semValue);
2698+
$self->semValue = $self->semStack[$stackPos-(1-1)]; $self->createdArrays->offsetSet($self->semValue);
26992699
},
27002700
563 => static function ($self, $stackPos) {
27012701
$self->semValue = Scalar\String_::fromString($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]), $self->phpVersion->supportsUnicodeEscapes());

lib/PhpParser/Parser/Php8.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2693,10 +2693,10 @@ protected function initReduceCallbacks(): void {
26932693
564 => static function ($self, $stackPos) {
26942694
$attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos]); $attrs['kind'] = Expr\Array_::KIND_LONG;
26952695
$self->semValue = new Expr\Array_($self->semStack[$stackPos-(4-3)], $attrs);
2696-
$self->createdArrays->attach($self->semValue);
2696+
$self->createdArrays->offsetSet($self->semValue);
26972697
},
26982698
565 => static function ($self, $stackPos) {
2699-
$self->semValue = $self->semStack[$stackPos-(1-1)]; $self->createdArrays->attach($self->semValue);
2699+
$self->semValue = $self->semStack[$stackPos-(1-1)]; $self->createdArrays->offsetSet($self->semValue);
27002700
},
27012701
566 => static function ($self, $stackPos) {
27022702
$self->semValue = Scalar\String_::fromString($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]), $self->phpVersion->supportsUnicodeEscapes());

lib/PhpParser/ParserAbstract.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1003,7 +1003,7 @@ protected function createEmptyElemAttributes(int $tokenPos): array {
10031003
}
10041004

10051005
protected function fixupArrayDestructuring(Array_ $node): Expr\List_ {
1006-
$this->createdArrays->detach($node);
1006+
$this->createdArrays->offsetUnset($node);
10071007
return new Expr\List_(array_map(function (Node\ArrayItem $item) {
10081008
if ($item->value instanceof Expr\Error) {
10091009
// We used Error as a placeholder for empty elements, which are legal for destructuring.

0 commit comments

Comments
 (0)