From b503606e88a5408ebfc520829905c36f14372cb3 Mon Sep 17 00:00:00 2001 From: Taras Girnyk Date: Mon, 22 Aug 2016 11:46:49 +0300 Subject: [PATCH 1/2] Added isFrozen method dumping to the cached container --- .../DependencyInjection/Dumper/PhpDumper.php | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php b/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php index c124fb372d129..78a8a14b560f5 100644 --- a/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php +++ b/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php @@ -143,6 +143,7 @@ public function dump(array $options = array()) if ($this->container->isFrozen()) { $code .= $this->addFrozenConstructor(); $code .= $this->addFrozenCompile(); + $code .= $this->addIsFrozenMethod(); } else { $code .= $this->addConstructor(); } @@ -865,6 +866,26 @@ public function compile() throw new LogicException('You cannot compile a dumped frozen container.'); } +EOF; + } + + /** + * Adds the isFrozen method for a frozen container. + * + * @return string + */ + private function addIsFrozenMethod() + { + return <<docStar} + * {@inheritdoc} + */ + public function isFrozen() + { + return true; + } + EOF; } From 9a99e4edadc98b9db8a19f3a68819f8f5c4f00fe Mon Sep 17 00:00:00 2001 From: Taras Girnyk Date: Mon, 22 Aug 2016 11:57:06 +0300 Subject: [PATCH 2/2] Fixed tests comparing dumped container --- .../DependencyInjection/Tests/Fixtures/php/services10.php | 8 ++++++++ .../DependencyInjection/Tests/Fixtures/php/services12.php | 8 ++++++++ .../DependencyInjection/Tests/Fixtures/php/services13.php | 8 ++++++++ .../Tests/Fixtures/php/services9_compiled.php | 8 ++++++++ 4 files changed, 32 insertions(+) diff --git a/src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services10.php b/src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services10.php index 8e0852c8df986..e573052e1c5d7 100644 --- a/src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services10.php +++ b/src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services10.php @@ -41,6 +41,14 @@ public function compile() throw new LogicException('You cannot compile a dumped frozen container.'); } + /** + * {@inheritdoc} + */ + public function isFrozen() + { + return true; + } + /** * Gets the 'test' service. * diff --git a/src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services12.php b/src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services12.php index d94cf3dedd53b..d5059b6f4b750 100644 --- a/src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services12.php +++ b/src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services12.php @@ -45,6 +45,14 @@ public function compile() throw new LogicException('You cannot compile a dumped frozen container.'); } + /** + * {@inheritdoc} + */ + public function isFrozen() + { + return true; + } + /** * Gets the 'test' service. * diff --git a/src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services13.php b/src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services13.php index 4ee512ab5040f..58052966744ee 100644 --- a/src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services13.php +++ b/src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services13.php @@ -39,6 +39,14 @@ public function compile() throw new LogicException('You cannot compile a dumped frozen container.'); } + /** + * {@inheritdoc} + */ + public function isFrozen() + { + return true; + } + /** * Gets the 'bar' service. * diff --git a/src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9_compiled.php b/src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9_compiled.php index bcbd4a67b6b9d..c62fedaa3eccd 100644 --- a/src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9_compiled.php +++ b/src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9_compiled.php @@ -60,6 +60,14 @@ public function compile() throw new LogicException('You cannot compile a dumped frozen container.'); } + /** + * {@inheritdoc} + */ + public function isFrozen() + { + return true; + } + /** * Gets the 'bar' service. *