*/ protected $aComments; /** * @param CSSString $oCharset * @param int $iLineNo */ public function __construct(CSSString $oCharset, $iLineNo = 0) { $this->oCharset = $oCharset; $this->iLineNo = $iLineNo; $this->aComments = []; } /** * @return int */ public function getLineNo() { return $this->iLineNo; } /** * @param string|CSSString $oCharset * * @return void */ public function setCharset($sCharset) { $sCharset = $sCharset instanceof CSSString ? $sCharset : new CSSString($sCharset); $this->oCharset = $sCharset; } /** * @return string */ public function getCharset() { return $this->oCharset->getString(); } /** * @return string */ public function __toString() { return $this->render(new OutputFormat()); } /** * @param OutputFormat|null $oOutputFormat * * @return string */ public function render($oOutputFormat) { return "{$oOutputFormat->comments($this)}@charset {$this->oCharset->render($oOutputFormat)};"; } /** * @return string */ public function atRuleName() { return 'charset'; } /** * @return string */ public function atRuleArgs() { return $this->oCharset; } /** * @param array $aComments * * @return void */ public function addComments(array $aComments) { $this->aComments = array_merge($this->aComments, $aComments); } /** * @return array */ public function getComments() { return $this->aComments; } /** * @param array $aComments * * @return void */ public function setComments(array $aComments) { $this->aComments = $aComments; } }