Skip to content

Commit 023fb7b

Browse files
committed
Mark Memcached:: methods as impure.
1 parent dd41088 commit 023fb7b

File tree

4 files changed

+672
-1
lines changed

4 files changed

+672
-1
lines changed

bin/functionMetadata_original.php

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,41 @@
170170
'DateTimeImmutable::getTimestamp' => ['hasSideEffects' => false],
171171
'DateTimeImmutable::getTimezone' => ['hasSideEffects' => false],
172172

173+
'Memcached::add' => ['hasSideEffects' => true],
174+
'Memcached::addByKey' => ['hasSideEffects' => true],
175+
'Memcached::append' => ['hasSideEffects' => true],
176+
'Memcached::appendByKey' => ['hasSideEffects' => true],
177+
'Memcached::cas' => ['hasSideEffects' => true],
178+
'Memcached::casByKey' => ['hasSideEffects' => true],
179+
'Memcached::decrement' => ['hasSideEffects' => true],
180+
'Memcached::decrementByKey' => ['hasSideEffects' => true],
181+
'Memcached::delete' => ['hasSideEffects' => true],
182+
'Memcached::deleteByKey' => ['hasSideEffects' => true],
183+
'Memcached::deleteMulti' => ['hasSideEffects' => true],
184+
'Memcached::deleteMultiByKey' => ['hasSideEffects' => true],
185+
'Memcached::fetch' => ['hasSideEffects' => true],
186+
'Memcached::fetchAll' => ['hasSideEffects' => true],
187+
'Memcached::flush' => ['hasSideEffects' => true],
188+
'Memcached::get' => ['hasSideEffects' => true],
189+
'Memcached::getByKey' => ['hasSideEffects' => true],
190+
'Memcached::getDelayed' => ['hasSideEffects' => true],
191+
'Memcached::getDelayedByKey' => ['hasSideEffects' => true],
192+
'Memcached::getMulti' => ['hasSideEffects' => true],
193+
'Memcached::getMultiByKey' => ['hasSideEffects' => true],
194+
'Memcached::getServerByKey' => ['hasSideEffects' => true],
195+
'Memcached::increment' => ['hasSideEffects' => true],
196+
'Memcached::incrementByKey' => ['hasSideEffects' => true],
197+
'Memcached::prepend' => ['hasSideEffects' => true],
198+
'Memcached::prependByKey' => ['hasSideEffects' => true],
199+
'Memcached::replace' => ['hasSideEffects' => true],
200+
'Memcached::replaceByKey' => ['hasSideEffects' => true],
201+
'Memcached::set' => ['hasSideEffects' => true],
202+
'Memcached::setByKey' => ['hasSideEffects' => true],
203+
'Memcached::setMulti' => ['hasSideEffects' => true],
204+
'Memcached::setMultiByKey' => ['hasSideEffects' => true],
205+
'Memcached::touch' => ['hasSideEffects' => true],
206+
'Memcached::touchByKey' => ['hasSideEffects' => true],
207+
173208
// affects isConnected()
174209
'Redis::connect' => ['hasSideEffects' => true],
175210
'Redis::pconnect' => ['hasSideEffects' => true],

resources/functionMetadata.php

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -434,6 +434,40 @@
434434
'JsonIncrementalParser::__construct' => ['hasSideEffects' => false],
435435
'JsonIncrementalParser::get' => ['hasSideEffects' => false],
436436
'JsonIncrementalParser::getError' => ['hasSideEffects' => false],
437+
'Memcached::add' => ['hasSideEffects' => true],
438+
'Memcached::addByKey' => ['hasSideEffects' => true],
439+
'Memcached::append' => ['hasSideEffects' => true],
440+
'Memcached::appendByKey' => ['hasSideEffects' => true],
441+
'Memcached::cas' => ['hasSideEffects' => true],
442+
'Memcached::casByKey' => ['hasSideEffects' => true],
443+
'Memcached::decrement' => ['hasSideEffects' => true],
444+
'Memcached::decrementByKey' => ['hasSideEffects' => true],
445+
'Memcached::delete' => ['hasSideEffects' => true],
446+
'Memcached::deleteByKey' => ['hasSideEffects' => true],
447+
'Memcached::deleteMulti' => ['hasSideEffects' => true],
448+
'Memcached::deleteMultiByKey' => ['hasSideEffects' => true],
449+
'Memcached::fetch' => ['hasSideEffects' => true],
450+
'Memcached::fetchAll' => ['hasSideEffects' => true],
451+
'Memcached::flush' => ['hasSideEffects' => true],
452+
'Memcached::get' => ['hasSideEffects' => true],
453+
'Memcached::getByKey' => ['hasSideEffects' => true],
454+
'Memcached::getDelayed' => ['hasSideEffects' => true],
455+
'Memcached::getDelayedByKey' => ['hasSideEffects' => true],
456+
'Memcached::getMulti' => ['hasSideEffects' => true],
457+
'Memcached::getMultiByKey' => ['hasSideEffects' => true],
458+
'Memcached::getServerByKey' => ['hasSideEffects' => true],
459+
'Memcached::increment' => ['hasSideEffects' => true],
460+
'Memcached::incrementByKey' => ['hasSideEffects' => true],
461+
'Memcached::prepend' => ['hasSideEffects' => true],
462+
'Memcached::prependByKey' => ['hasSideEffects' => true],
463+
'Memcached::replace' => ['hasSideEffects' => true],
464+
'Memcached::replaceByKey' => ['hasSideEffects' => true],
465+
'Memcached::set' => ['hasSideEffects' => true],
466+
'Memcached::setByKey' => ['hasSideEffects' => true],
467+
'Memcached::setMulti' => ['hasSideEffects' => true],
468+
'Memcached::setMultiByKey' => ['hasSideEffects' => true],
469+
'Memcached::touch' => ['hasSideEffects' => true],
470+
'Memcached::touchByKey' => ['hasSideEffects' => true],
437471
'MemcachedException::__construct' => ['hasSideEffects' => false],
438472
'MessageFormatter::__construct' => ['hasSideEffects' => false],
439473
'MessageFormatter::format' => ['hasSideEffects' => false],
@@ -1623,4 +1657,4 @@
16231657
'zlib_encode' => ['hasSideEffects' => false],
16241658
'zlib_get_coding_type' => ['hasSideEffects' => false],
16251659

1626-
];
1660+
];

tests/PHPStan/Rules/Comparison/StrictComparisonOfDifferentTypesRuleTest.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1040,4 +1040,9 @@ public function testBug11609(): void
10401040
]);
10411041
}
10421042

1043+
public function testBug13444(): void
1044+
{
1045+
$this->analyse([__DIR__ . '/data/bug-13444.php'], []);
1046+
}
1047+
10431048
}

0 commit comments

Comments
 (0)