in src/render/Renderer.php [45:179]
abstract protected function renderLinkReferenceDefinition(
Blocks\LinkReferenceDefinition $node
): T;
abstract protected function renderListOfItems(Blocks\ListOfItems $node): T;
abstract protected function renderParagraph(Blocks\Paragraph $node): T;
abstract protected function renderTableExtension(Blocks\TableExtension $node): T;
abstract protected function renderThematicBreak(): T;
///// inlines ////
abstract protected function renderAutoLink(Inlines\AutoLink $node): T;
abstract protected function renderCodeSpan(Inlines\CodeSpan $node): T;
abstract protected function renderEmphasis(Inlines\Emphasis $node): T;
abstract protected function renderHardLineBreak(): T;
abstract protected function renderImage(Inlines\Image $node): T;
abstract protected function renderInlineWithPlainTextContent(
Inlines\InlineWithPlainTextContent $node,
): T;
abstract protected function renderLink(Inlines\Link $node): T;
abstract protected function renderRawHTML(Inlines\RawHTML $node): T;
abstract protected function renderSoftLineBreak(): T;
abstract protected function renderStrikethroughExtension(
Inlines\StrikethroughExtension $node,
): T;
protected function renderResolvedNode(
ASTNode $node,
): T {
if ($node is Blocks\BlankLine) {
return $this->renderBlankLine();
}
if ($node is Blocks\BlockQuote) {
return $this->renderBlockQuote($node);
}
if ($node is Blocks\BlockSequence) {
return $this->renderNodes($node->getChildren());
}
if ($node is Blocks\Document) {
return $this->renderDocument($node);
}
// Blocks\FencedCodeBlock
// Blocks\IndentedCodeBlock
if ($node is Blocks\CodeBlock) {
return $this->renderCodeBlock($node);
}
if ($node is Blocks\Heading) {
return $this->renderHeading($node);
}
if ($node is Blocks\HTMLBlock) {
return $this->renderHTMLBlock($node);
}
if ($node is Blocks\InlineSequenceBlock) {
return $this->renderNodes($node->getChildren());
}
if ($node is Blocks\LinkReferenceDefinition) {
return $this->renderLinkReferenceDefinition($node);
}
if ($node is Blocks\ListOfItems) {
return $this->renderListOfItems($node);
}
if ($node is Blocks\Paragraph) {
return $this->renderParagraph($node);
}
if ($node is Blocks\TableExtension) {
return $this->renderTableExtension($node);
}
if ($node is Blocks\ThematicBreak) {
return $this->renderThematicBreak();
}
if ($node is Inlines\AutoLink) {
return $this->renderAutoLink($node);
}
// Inlines\BackslashEscape
// Inlines\DisallowedRawHTML
// Inlines\EntityReference
// Inlines\TextualContent
if ($node is Inlines\InlineWithPlainTextContent) {
return $this->renderInlineWithPlainTextContent($node);
}
if ($node is Inlines\CodeSpan) {
return $this->renderCodeSpan($node);
}
if ($node is Inlines\Emphasis) {
return $this->renderEmphasis($node);
}
if ($node is Inlines\HardLineBreak) {
return $this->renderHardLineBreak();
}
if ($node is Inlines\Image) {
return $this->renderImage($node);
}
if ($node is Inlines\InlineSequence) {
return $this->renderNodes($node->getChildren());
}
if ($node is Inlines\Link) {
return $this->renderLink($node);
}
if ($node is Inlines\RawHTML) {
return $this->renderRawHTML($node);
}
if ($node is Inlines\SoftLineBreak) {
return $this->renderSoftLineBreak();
}
if ($node is Inlines\StrikethroughExtension) {
return $this->renderStrikethroughExtension($node);
}
invariant_violation(
"Unhandled node type: %s",
\get_class($node),
);
}