--- /dev/null
+<?php
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node\Expr;
+
+class ArrayItem extends Expr
+{
+ /** @var null|Expr Key */
+ public $key;
+ /** @var Expr Value */
+ public $value;
+ /** @var bool Whether to assign by reference */
+ public $byRef;
+
+ /**
+ * Constructs an array item node.
+ *
+ * @param Expr $value Value
+ * @param null|Expr $key Key
+ * @param bool $byRef Whether to assign by reference
+ * @param array $attributes Additional attributes
+ */
+ public function __construct(Expr $value, Expr $key = null, $byRef = false, array $attributes = array()) {
+ parent::__construct($attributes);
+ $this->key = $key;
+ $this->value = $value;
+ $this->byRef = $byRef;
+ }
+
+ public function getSubNodeNames() {
+ return array('key', 'value', 'byRef');
+ }
+}