Updated to Drupal 8.5. Core Media not yet in use.
[yaffs-website] / vendor / symfony / dependency-injection / Alias.php
index eaf7f00ccd446d4ec4cf5f5979a1b224f9a72d9b..8773b8389110f5a0600ebdb921d8a53ff8297db9 100644 (file)
@@ -15,6 +15,7 @@ class Alias
 {
     private $id;
     private $public;
+    private $private;
 
     /**
      * @param string $id     Alias identifier
@@ -22,8 +23,9 @@ class Alias
      */
     public function __construct($id, $public = true)
     {
-        $this->id = strtolower($id);
+        $this->id = (string) $id;
         $this->public = $public;
+        $this->private = 2 > func_num_args();
     }
 
     /**
@@ -40,10 +42,44 @@ class Alias
      * Sets if this Alias is public.
      *
      * @param bool $boolean If this Alias should be public
+     *
+     * @return $this
      */
     public function setPublic($boolean)
     {
         $this->public = (bool) $boolean;
+        $this->private = false;
+
+        return $this;
+    }
+
+    /**
+     * Sets if this Alias is private.
+     *
+     * When set, the "private" state has a higher precedence than "public".
+     * In version 3.4, a "private" alias always remains publicly accessible,
+     * but triggers a deprecation notice when accessed from the container,
+     * so that the alias can be made really private in 4.0.
+     *
+     * @param bool $boolean
+     *
+     * @return $this
+     */
+    public function setPrivate($boolean)
+    {
+        $this->private = (bool) $boolean;
+
+        return $this;
+    }
+
+    /**
+     * Whether this alias is private.
+     *
+     * @return bool
+     */
+    public function isPrivate()
+    {
+        return $this->private;
     }
 
     /**