Skip to content

Commit d2dc8e4

Browse files
committed
Turn Document Entries into nodes
1 parent dea8ee1 commit d2dc8e4

File tree

24 files changed

+76
-125
lines changed

24 files changed

+76
-125
lines changed

packages/guides-restructured-text/src/RestructuredText/Directives/ToctreeDirective.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44

55
namespace phpDocumentor\Guides\RestructuredText\Directives;
66

7+
use phpDocumentor\Guides\Nodes\Menu\TocNode;
78
use phpDocumentor\Guides\Nodes\Node;
8-
use phpDocumentor\Guides\Nodes\TocNode;
99
use phpDocumentor\Guides\RestructuredText\Parser\Directive;
1010
use phpDocumentor\Guides\RestructuredText\Parser\DocumentParserContext;
1111
use phpDocumentor\Guides\RestructuredText\Toc\ToctreeBuilder;

packages/guides-restructured-text/src/RestructuredText/NodeRenderers/Html/TopicNodeRenderer.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515

1616
use InvalidArgumentException;
1717
use phpDocumentor\Guides\NodeRenderers\NodeRenderer;
18+
use phpDocumentor\Guides\Nodes\Menu\TocNode;
1819
use phpDocumentor\Guides\Nodes\Node;
19-
use phpDocumentor\Guides\Nodes\TocNode;
2020
use phpDocumentor\Guides\RenderContext;
2121
use phpDocumentor\Guides\RestructuredText\Nodes\TopicNode;
2222
use phpDocumentor\Guides\TemplateRenderer;

packages/guides/src/Compiler/NodeTransformers/DocumentBlockNodeTransformer.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
use phpDocumentor\Guides\Compiler\CompilerContext;
88
use phpDocumentor\Guides\Compiler\NodeTransformer;
99
use phpDocumentor\Guides\Nodes\DocumentBlockNode;
10+
use phpDocumentor\Guides\Nodes\Menu\TocNode;
1011
use phpDocumentor\Guides\Nodes\Node;
11-
use phpDocumentor\Guides\Nodes\TocNode;
1212

1313
use function array_merge;
1414

packages/guides/src/Compiler/NodeTransformers/MenuNodeTransformer.php

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@
77
use ArrayIterator;
88
use phpDocumentor\Guides\Compiler\CompilerContext;
99
use phpDocumentor\Guides\Compiler\NodeTransformer;
10-
use phpDocumentor\Guides\Meta\DocumentEntry;
1110
use phpDocumentor\Guides\Meta\DocumentReferenceEntry;
12-
use phpDocumentor\Guides\Meta\Entry as MetaEntry;
13-
use phpDocumentor\Guides\Meta\SectionEntry;
14-
use phpDocumentor\Guides\Nodes\MenuNode;
11+
use phpDocumentor\Guides\Nodes\DocumentTree\DocumentEntryNode;
12+
use phpDocumentor\Guides\Nodes\DocumentTree\Entry as MetaEntry;
13+
use phpDocumentor\Guides\Nodes\DocumentTree\SectionEntryNode;
14+
use phpDocumentor\Guides\Nodes\Menu\Entry;
15+
use phpDocumentor\Guides\Nodes\Menu\MenuNode;
1516
use phpDocumentor\Guides\Nodes\Node;
16-
use phpDocumentor\Guides\Nodes\TableOfContents\Entry;
1717
use Traversable;
1818

1919
use function array_merge;
@@ -30,7 +30,7 @@ public function enterNode(Node $node, CompilerContext $compilerContext): Node
3030

3131
foreach ($node->getFiles() as $file) {
3232
$metaEntry = $compilerContext->getProjectNode()->findDocumentEntry(ltrim($file, '/'));
33-
if (!($metaEntry instanceof DocumentEntry)) {
33+
if (!($metaEntry instanceof DocumentEntryNode)) {
3434
continue;
3535
}
3636

@@ -58,7 +58,7 @@ public function supports(Node $node): bool
5858
}
5959

6060
/** @return iterable<Entry> */
61-
private function buildFromDocumentEntry(DocumentEntry $document, int $depth, MenuNode $node, CompilerContext $compilerContext): iterable
61+
private function buildFromDocumentEntry(DocumentEntryNode $document, int $depth, MenuNode $node, CompilerContext $compilerContext): iterable
6262
{
6363
if ($depth > $node->getDepth()) {
6464
return new ArrayIterator([]);
@@ -75,8 +75,8 @@ private function buildFromDocumentEntry(DocumentEntry $document, int $depth, Men
7575

7676
/** @return Traversable<Entry> */
7777
private function buildFromSection(
78-
DocumentEntry $document,
79-
SectionEntry $entry,
78+
DocumentEntryNode $document,
79+
SectionEntryNode $entry,
8080
int $depth,
8181
MenuNode $node,
8282
CompilerContext $compilerContext,
@@ -93,12 +93,12 @@ private function buildFromSection(
9393
/** @return Traversable<Entry> */
9494
private function buildLevel(
9595
MetaEntry $child,
96-
DocumentEntry $document,
96+
DocumentEntryNode $document,
9797
int $depth,
9898
MenuNode $node,
9999
CompilerContext $compilerContext,
100100
): Traversable {
101-
if ($child instanceof SectionEntry) {
101+
if ($child instanceof SectionEntryNode) {
102102
if (!$node->isPageLevelOnly() || $depth === 1) {
103103
yield new Entry(
104104
$document->getFile(),
@@ -113,7 +113,7 @@ private function buildLevel(
113113
}
114114

115115
$subDocument = $compilerContext->getProjectNode()->findDocumentEntry($child->getFile());
116-
if (!($subDocument instanceof DocumentEntry)) {
116+
if (!($subDocument instanceof DocumentEntryNode)) {
117117
return;
118118
}
119119

packages/guides/src/Compiler/Passes/MetasPass.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66

77
use phpDocumentor\Guides\Compiler\CompilerContext;
88
use phpDocumentor\Guides\Compiler\CompilerPass;
9-
use phpDocumentor\Guides\Meta\DocumentEntry;
109
use phpDocumentor\Guides\Meta\DocumentReferenceEntry;
11-
use phpDocumentor\Guides\Meta\Entry;
12-
use phpDocumentor\Guides\Meta\SectionEntry;
1310
use phpDocumentor\Guides\Nodes\DocumentNode;
11+
use phpDocumentor\Guides\Nodes\DocumentTree\DocumentEntryNode;
12+
use phpDocumentor\Guides\Nodes\DocumentTree\Entry;
13+
use phpDocumentor\Guides\Nodes\DocumentTree\SectionEntryNode;
14+
use phpDocumentor\Guides\Nodes\Menu\TocNode;
1415
use phpDocumentor\Guides\Nodes\SectionNode;
15-
use phpDocumentor\Guides\Nodes\TocNode;
1616

1717
final class MetasPass implements CompilerPass
1818
{
@@ -24,7 +24,7 @@ public function run(array $documents, CompilerContext $compilerContext): array
2424
continue;
2525
}
2626

27-
$entry = new DocumentEntry($document->getFilePath(), $document->getTitle());
27+
$entry = new DocumentEntryNode($document->getFilePath(), $document->getTitle());
2828
$this->traverse($document, $entry);
2929
$compilerContext->getProjectNode()->addDocumentEntry($entry);
3030
}
@@ -41,7 +41,7 @@ private function traverse(DocumentNode|SectionNode $node, Entry $currentSection)
4141
{
4242
foreach ($node->getChildren() as $child) {
4343
if ($child instanceof SectionNode) {
44-
$entry = new SectionEntry($child->getTitle());
44+
$entry = new SectionEntryNode($child->getTitle());
4545
$currentSection->addChild($entry);
4646
$this->traverse($child, $entry);
4747
}

packages/guides/src/Meta/ChildEntry.php

Lines changed: 0 additions & 9 deletions
This file was deleted.

packages/guides/src/Meta/DocumentReferenceEntry.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@
44

55
namespace phpDocumentor\Guides\Meta;
66

7-
class DocumentReferenceEntry implements ChildEntry
7+
use phpDocumentor\Guides\Nodes\DocumentTree\Entry;
8+
9+
class DocumentReferenceEntry implements Entry
810
{
911
public function __construct(private readonly string $file)
1012
{
@@ -15,7 +17,7 @@ public function getFile(): string
1517
return $this->file;
1618
}
1719

18-
public function addChild(ChildEntry $child): void
20+
public function addChild(Entry $child): void
1921
{
2022
//This does not have entries
2123
}

packages/guides/src/NodeRenderers/Html/MenuEntryRenderer.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
namespace phpDocumentor\Guides\NodeRenderers\Html;
66

77
use phpDocumentor\Guides\NodeRenderers\NodeRenderer;
8+
use phpDocumentor\Guides\Nodes\Menu\Entry;
89
use phpDocumentor\Guides\Nodes\Node;
9-
use phpDocumentor\Guides\Nodes\TableOfContents\Entry;
1010
use phpDocumentor\Guides\RenderContext;
1111
use phpDocumentor\Guides\TemplateRenderer;
1212

packages/guides/src/NodeRenderers/Html/MenuNodeRenderer.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@
1515

1616
use phpDocumentor\Guides\NodeRenderers\NodeRenderer;
1717
use phpDocumentor\Guides\Nodes\ContentMenuNode;
18-
use phpDocumentor\Guides\Nodes\MenuNode;
18+
use phpDocumentor\Guides\Nodes\Menu\MenuNode;
19+
use phpDocumentor\Guides\Nodes\Menu\TocNode;
1920
use phpDocumentor\Guides\Nodes\Node;
20-
use phpDocumentor\Guides\Nodes\TocNode;
2121
use phpDocumentor\Guides\RenderContext;
2222
use phpDocumentor\Guides\TemplateRenderer;
2323
use Webmozart\Assert\Assert;

packages/guides/src/NodeRenderers/LaTeX/TocNodeRenderer.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515

1616
use InvalidArgumentException;
1717
use phpDocumentor\Guides\NodeRenderers\NodeRenderer;
18+
use phpDocumentor\Guides\Nodes\Menu\TocNode;
1819
use phpDocumentor\Guides\Nodes\Node;
19-
use phpDocumentor\Guides\Nodes\TocNode;
2020
use phpDocumentor\Guides\RenderContext;
2121
use phpDocumentor\Guides\TemplateRenderer;
2222

0 commit comments

Comments
 (0)