コード例 #1
0
ファイル: TreeBuilder.php プロジェクト: gunderjt/MtHaml
 public function hasStatements()
 {
     if (!$this->parent instanceof Root) {
         return true;
     }
     return $this->parent->hasChilds();
 }
コード例 #2
0
ファイル: Escaping.php プロジェクト: gunderjt/MtHaml
 protected function setEscape(NodeAbstract $node, $mode)
 {
     switch ($mode) {
         case self::ESCAPE_FALSE:
             $node->getEscaping()->setEnabled(false);
             break;
         case self::ESCAPE_ONCE:
             $node->getEscaping()->setEnabled(true)->setOnce(true);
             break;
         case self::ESCAPE_TRUE:
             $node->getEscaping()->setEnabled(true);
             break;
     }
 }
コード例 #3
0
 public function addChild(NodeAbstract $node)
 {
     if (!$this->allowsNestingAndContent() && $this->hasContent()) {
         throw new Exception('A node cannot have both content and nested nodes');
     }
     if (null !== ($parent = $node->getParent())) {
         $parent->removeChild($node);
     }
     $prev = end($this->childs) ?: null;
     $this->childs[] = $node;
     $node->setParent($this);
     if ($prev) {
         $prev->setNextSibling($node);
     }
     $node->setPreviousSibling($prev);
     $node->setNextSibling(null);
 }
コード例 #4
0
ファイル: TargetAbstract.php プロジェクト: gunderjt/MtHaml
 public function compile(Environment $env, NodeAbstract $node)
 {
     $renderer = $this->createRenderer($env, array());
     $node->accept($renderer);
     return $renderer->getOutput();
 }
コード例 #5
0
 public function __construct(array $position, $doctypeId, $options)
 {
     parent::__construct($position);
     $this->doctypeId = $doctypeId;
     $this->options = $options;
 }
コード例 #6
0
 public function __construct(array $position, NodeAbstract $name = null, NodeAbstract $value = null)
 {
     parent::__construct($position);
     $this->name = $name;
     $this->value = $value;
 }
コード例 #7
0
 protected function shouldIndentBeforeClose(NodeAbstract $node)
 {
     if ($node instanceof Tag) {
         if ($node->getFlags() & Tag::FLAG_REMOVE_INNER_WHITESPACES) {
             return false;
         }
         if (!$node->hasChilds()) {
             return false;
         }
     }
     if (null !== ($child = $this->getLastChildIfTag($node))) {
         if ($child->getFlags() & Tag::FLAG_REMOVE_OUTER_WHITESPACES) {
             return false;
         }
     }
     return true;
 }
コード例 #8
0
ファイル: ObjectRefId.php プロジェクト: gunderjt/MtHaml
 public function __construct($position, NodeAbstract $object, NodeAbstract $prefix = null)
 {
     parent::__construct($position);
     $this->object = $object;
     $this->prefix = $prefix;
 }
コード例 #9
0
 public function __construct(array $position, NodeAbstract $content)
 {
     parent::__construct($position);
     $this->content = $content;
 }
コード例 #10
0
ファイル: Filter.php プロジェクト: gunderjt/MtHaml
 public function __construct(array $position, $filter)
 {
     parent::__construct($position);
     $this->filter = $filter;
 }
コード例 #11
0
 public function __construct(array $position, array $childs = array())
 {
     parent::__construct($position);
     $this->childs = $childs;
 }