protected function visitTag(Tag $tag)
{
$this->initTagName($tag);
$insidePrettyprint = !$tag->canInline() && $this->prettyprint && !$tag->isInline();
$prettyprint = $tag->keepWhiteSpaces() || $insidePrettyprint;
if ($this->prettyprint && !$insidePrettyprint) {
$this->buffer[] = $this->indent();
}
$this->tempPrettyPrint($prettyprint, 'compileTag', $tag);
if (!$prettyprint && $this->prettyprint && !$tag->isInline()) {
$this->buffer[] = $this->newline();
}
}