childs = $childs; } /** * @param Text|Insert $child Child */ public function addChild(NodeAbstract $child) { if (!$child instanceof Text && !$child instanceof Insert) { throw new \InvalidArgumentException(sprintf('Argument 1 passed to %s() must be an instance of MtHaml\Node\Text or MtHaml\Node\Insert, instance of %s given', __METHOD__, get_class($child))); } $this->childs[] = $child; } /** * @return Text|Insert */ public function getChilds() { return $this->childs; } public function getNodeName() { return 'interpolated string'; } public function accept(NodeVisitorInterface $visitor) { if (false !== $visitor->enterInterpolatedString($this)) { if (false !== $visitor->enterInterpolatedStringChilds($this)) { foreach ($this->getChilds() as $child) { $child->accept($visitor); } $visitor->leaveInterpolatedStringChilds($this); } $visitor->leaveInterpolatedString($this); } } public function isConst() { foreach ($this->childs as $child) { if (!$child->isConst()) { return false; } } return true; } }