Updated to Drupal 8.5. Core Media not yet in use.
[yaffs-website] / web / core / lib / Drupal / Component / DependencyInjection / Dumper / OptimizedPhpArrayDumper.php
index 11768d0c20e023eb0c5a3bb9729eb2205c256f34..dfd2a431ccb6a44caf4ba0c4656392fbe65e78e2 100644 (file)
@@ -65,7 +65,7 @@ class OptimizedPhpArrayDumper extends Dumper {
     $definition['aliases'] = $this->getAliases();
     $definition['parameters'] = $this->getParameters();
     $definition['services'] = $this->getServiceDefinitions();
-    $definition['frozen'] = $this->container->isFrozen();
+    $definition['frozen'] = $this->container->isCompiled();
     $definition['machine_format'] = $this->supportsMachineFormat();
     return $definition;
   }
@@ -103,8 +103,8 @@ class OptimizedPhpArrayDumper extends Dumper {
     }
 
     $parameters = $this->container->getParameterBag()->all();
-    $is_frozen = $this->container->isFrozen();
-    return $this->prepareParameters($parameters, $is_frozen);
+    $is_compiled = $this->container->isCompiled();
+    return $this->prepareParameters($parameters, $is_compiled);
   }
 
   /**
@@ -309,10 +309,10 @@ class OptimizedPhpArrayDumper extends Dumper {
         }
       }
       else {
-        if (is_object($value)) {
+        $code[$key] = $this->dumpValue($value);
+        if (is_object($code[$key])) {
           $resolve = TRUE;
         }
-        $code[$key] = $this->dumpValue($value);
       }
     }
 
@@ -403,6 +403,9 @@ class OptimizedPhpArrayDumper extends Dumper {
     elseif ($value instanceof Parameter) {
       return $this->getParameterCall((string) $value);
     }
+    elseif (is_string($value) && preg_match('/^\%(.*)\%$/', $value, $matches)) {
+      return $this->getParameterCall($matches[1]);
+    }
     elseif ($value instanceof Expression) {
       throw new RuntimeException('Unable to use expressions as the Symfony ExpressionLanguage component is not installed.');
     }