File tree Expand file tree Collapse file tree 3 files changed +40
-0
lines changed
tests/PHPStan/Rules/Pure/data Expand file tree Collapse file tree 3 files changed +40
-0
lines changed Original file line number Diff line number Diff line change 130
130
'random_int ' => ['hasSideEffects ' => true ],
131
131
132
132
// methods
133
+ 'DateTimeInterface::diff ' => ['hasSideEffects ' => false ],
134
+ 'DateTimeInterface::format ' => ['hasSideEffects ' => false ],
135
+ 'DateTimeInterface::getOffset ' => ['hasSideEffects ' => false ],
136
+ 'DateTimeInterface::getTimestamp ' => ['hasSideEffects ' => false ],
137
+ 'DateTimeInterface::getTimezone ' => ['hasSideEffects ' => false ],
138
+
133
139
'DateTime::createFromFormat ' => ['hasSideEffects ' => false ],
134
140
'DateTime::createFromImmutable ' => ['hasSideEffects ' => false ],
135
141
'DateTime::getLastErrors ' => ['hasSideEffects ' => false ],
Original file line number Diff line number Diff line change 86
86
'DateTimeImmutable::setTimestamp ' => ['hasSideEffects ' => false ],
87
87
'DateTimeImmutable::setTimezone ' => ['hasSideEffects ' => false ],
88
88
'DateTimeImmutable::sub ' => ['hasSideEffects ' => false ],
89
+ 'DateTimeInterface::diff ' => ['hasSideEffects ' => false ],
90
+ 'DateTimeInterface::format ' => ['hasSideEffects ' => false ],
91
+ 'DateTimeInterface::getOffset ' => ['hasSideEffects ' => false ],
92
+ 'DateTimeInterface::getTimestamp ' => ['hasSideEffects ' => false ],
93
+ 'DateTimeInterface::getTimezone ' => ['hasSideEffects ' => false ],
89
94
'Error::__construct ' => ['hasSideEffects ' => false ],
90
95
'ErrorException::__construct ' => ['hasSideEffects ' => false ],
91
96
'Event::__construct ' => ['hasSideEffects ' => false ],
Original file line number Diff line number Diff line change @@ -421,3 +421,32 @@ public static function getB(): int
421
421
return 1 ;
422
422
}
423
423
}
424
+
425
+ class CallDateTime
426
+ {
427
+
428
+ /**
429
+ * @phpstan-pure
430
+ */
431
+ public function doFoo (\DateTimeInterface $ date ): string
432
+ {
433
+ return $ date ->format ('j. n. Y ' );
434
+ }
435
+
436
+ /**
437
+ * @phpstan-pure
438
+ */
439
+ public function doFoo2 (\DateTime $ date ): string
440
+ {
441
+ return $ date ->format ('j. n. Y ' );
442
+ }
443
+
444
+ /**
445
+ * @phpstan-pure
446
+ */
447
+ public function doFoo3 (\DateTimeImmutable $ date ): string
448
+ {
449
+ return $ date ->format ('j. n. Y ' );
450
+ }
451
+
452
+ }
You can’t perform that action at this time.
0 commit comments