Updated to Drupal 8.5. Core Media not yet in use.
[yaffs-website] / vendor / nikic / php-parser / lib / PhpParser / Node / Expr / PropertyFetch.php
index adcf21ce11eaf0f6821c23759c91d0b838e77071..90efef3d8c6ed48954927ac52c0c3a63bd52db7c 100644 (file)
@@ -1,30 +1,35 @@
-<?php
+<?php declare(strict_types=1);
 
 namespace PhpParser\Node\Expr;
 
 use PhpParser\Node\Expr;
+use PhpParser\Node\Identifier;
 
 class PropertyFetch extends Expr
 {
     /** @var Expr Variable holding object */
     public $var;
-    /** @var string|Expr Property name */
+    /** @var Identifier|Expr Property name */
     public $name;
 
     /**
      * Constructs a function call node.
      *
-     * @param Expr        $var        Variable holding object
-     * @param string|Expr $name       Property name
-     * @param array       $attributes Additional attributes
+     * @param Expr                   $var        Variable holding object
+     * @param string|Identifier|Expr $name       Property name
+     * @param array                  $attributes Additional attributes
      */
-    public function __construct(Expr $var, $name, array $attributes = array()) {
+    public function __construct(Expr $var, $name, array $attributes = []) {
         parent::__construct($attributes);
         $this->var = $var;
-        $this->name = $name;
+        $this->name = \is_string($name) ? new Identifier($name) : $name;
     }
 
-    public function getSubNodeNames() {
-        return array('var', 'name');
+    public function getSubNodeNames() : array {
+        return ['var', 'name'];
+    }
+    
+    public function getType() : string {
+        return 'Expr_PropertyFetch';
     }
 }