<?php
namespace Sabberworm\CSS\Property;
> use Sabberworm\CSS\Comment\Comment;
/**
> use Sabberworm\CSS\OutputFormat;
* Class representing an @charset rule.
>
< * Class representing an @charset rule.
> * Class representing an `@charset` rule.
> *
< * • May not be found in any CSSList other than the Document.
< * • May only appear at the very top of a Document’s contents.
< * • Must not appear more than once.
> * - May not be found in any CSSList other than the Document.
> * - May only appear at the very top of a Document’s contents.
> * - Must not appear more than once.
> */
> class Charset implements AtRule
> {
> /**
> * @var string
*/
< class Charset implements AtRule {
<
private $sCharset;
>
protected $iLineNo;
> /**
protected $aComment;
> * @var int
> */
< protected $aComment;
< public function __construct($sCharset, $iLineNo = 0) {
> /**
> * @var array<array-key, Comment>
> */
> protected $aComments;
>
> /**
> * @param string $sCharset
> * @param int $iLineNo
> */
> public function __construct($sCharset, $iLineNo = 0)
> {
$this->iLineNo = $iLineNo;
< $this->aComments = array();
> $this->aComments = [];
}
/**
* @return int
*/
< public function getLineNo() {
> public function getLineNo()
> {
return $this->iLineNo;
}
< public function setCharset($sCharset) {
> /**
> * @param string $sCharset
> *
> * @return void
> */
> public function setCharset($sCharset)
> {
$this->sCharset = $sCharset;
}
< public function getCharset() {
> /**
> * @return string
> */
> public function getCharset()
> {
return $this->sCharset;
}
< public function __toString() {
< return $this->render(new \Sabberworm\CSS\OutputFormat());
> /**
> * @return string
> */
> public function __toString()
> {
> return $this->render(new OutputFormat());
}
< public function render(\Sabberworm\CSS\OutputFormat $oOutputFormat) {
> /**
> * @return string
> */
> public function render(OutputFormat $oOutputFormat)
> {
return "@charset {$this->sCharset->render($oOutputFormat)};";
}
< public function atRuleName() {
> /**
> * @return string
> */
> public function atRuleName()
> {
return 'charset';
}
< public function atRuleArgs() {
> /**
> * @return string
> */
> public function atRuleArgs()
> {
return $this->sCharset;
}
< public function addComments(array $aComments) {
> /**
> * @param array<array-key, Comment> $aComments
> *
> * @return void
> */
> public function addComments(array $aComments)
> {
$this->aComments = array_merge($this->aComments, $aComments);
}
< public function getComments() {
> /**
> * @return array<array-key, Comment>
> */
> public function getComments()
> {
return $this->aComments;
}
< public function setComments(array $aComments) {
> /**
> * @param array<array-key, Comment> $aComments
> *
> * @return void
> */
> public function setComments(array $aComments)
> {
$this->aComments = $aComments;
}
}