Skip to content

Commit cbcff2d

Browse files
committed
[DI] fix Autowiring tests of #18144
1 parent 22e9349 commit cbcff2d

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

Config/AutowireServiceResource.php

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
namespace Symfony\Component\DependencyInjection\Config;
1313

1414
use Symfony\Component\Config\Resource\SelfCheckingResourceInterface;
15+
use Symfony\Component\DependencyInjection\Compiler\AutowirePass;
1516

1617
class AutowireServiceResource implements SelfCheckingResourceInterface, \Serializable
1718
{
@@ -32,7 +33,19 @@ public function isFresh($timestamp)
3233
return false;
3334
}
3435

35-
return @filemtime($this->filePath) <= $timestamp;
36+
// has the file *not* been modified? Definitely fresh
37+
if (@filemtime($this->filePath) <= $timestamp) {
38+
return true;
39+
}
40+
41+
try {
42+
$reflectionClass = new \ReflectionClass($this->class);
43+
} catch (\ReflectionException $e) {
44+
// the class does not exist anymore!
45+
return false;
46+
}
47+
48+
return (array) $this === (array) AutowirePass::createResourceForClass($reflectionClass);
3649
}
3750

3851
public function __toString()

0 commit comments

Comments
 (0)