protected function compileArguments(Compiler $compiler, $withKeys = true) { $first = true; foreach ($this->getKeyValuePairs() as $pair) { if (!$first) { $compiler->raw(', '); } $first = false; if ($withKeys) { $compiler->compile($pair['key'])->raw(' => '); } $compiler->compile($pair['value']); } }
public function compile(Compiler $compiler) { switch ($this->attributes['type']) { case self::PROPERTY_CALL: $compiler->compile($this->nodes['node'])->raw('->')->raw($this->nodes['attribute']->attributes['value']); break; case self::METHOD_CALL: $compiler->compile($this->nodes['node'])->raw('->')->raw($this->nodes['attribute']->attributes['value'])->raw('(')->compile($this->nodes['arguments'])->raw(')'); break; case self::ARRAY_CALL: $compiler->compile($this->nodes['node'])->raw('[')->compile($this->nodes['attribute'])->raw(']'); break; } }