From a7395d073c7e9fd8a013126349b0b64bb7c83fa3 Mon Sep 17 00:00:00 2001 From: Jaapio Date: Fri, 19 Jan 2024 17:57:41 +0100 Subject: [PATCH] [!!!TASK] Make all classes final This library has a very large number of extension points via interfaces and abstract classes. All other classes should not be extended by users and shall theirfor be marked as final. There are a few classes left that should also be marked as final but those require some extra attention. --- packages/guides-cli/src/Config/Configuration.php | 2 +- packages/guides-cli/src/Config/XmlFileLoader.php | 2 +- .../src/DependencyInjection/ApplicationExtension.php | 2 +- .../guides-cli/tests/unit/Logger/SpyProcessorTest.php | 2 +- .../src/Code/DependencyInjection/CodeExtension.php | 2 +- packages/guides-code/src/Code/Twig/CodeExtension.php | 2 +- .../unit/Highlighter/HighlightPhpHighlighterTest.php | 2 +- .../src/Graphs/DependencyInjection/Configuration.php | 2 +- .../src/Graphs/DependencyInjection/GraphsExtension.php | 2 +- packages/guides-graphs/src/Graphs/Nodes/UmlNode.php | 2 +- .../src/Graphs/Renderer/PlantumlRenderer.php | 2 +- .../Markdown/DependencyInjection/MarkdownExtension.php | 2 +- .../DependencyInjection/Compiler/TextRolePass.php | 2 +- .../RestructuredText/Directives/AdmonitionDirective.php | 2 +- .../RestructuredText/Directives/AttentionDirective.php | 2 +- .../RestructuredText/Directives/BreadcrumbDirective.php | 2 +- .../src/RestructuredText/Directives/CautionDirective.php | 2 +- .../src/RestructuredText/Directives/ClassDirective.php | 2 +- .../RestructuredText/Directives/CodeBlockDirective.php | 2 +- .../RestructuredText/Directives/ContainerDirective.php | 2 +- .../src/RestructuredText/Directives/ContentsDirective.php | 2 +- .../src/RestructuredText/Directives/DangerDirective.php | 2 +- .../RestructuredText/Directives/DefaultRoleDirective.php | 2 +- .../RestructuredText/Directives/DeprecatedDirective.php | 2 +- .../Directives/DocumentBlockDirective.php | 2 +- .../src/RestructuredText/Directives/EpigraphDirective.php | 2 +- .../src/RestructuredText/Directives/ErrorDirective.php | 2 +- .../src/RestructuredText/Directives/FigureDirective.php | 2 +- .../src/RestructuredText/Directives/GeneralDirective.php | 2 +- .../RestructuredText/Directives/HighlightDirective.php | 2 +- .../RestructuredText/Directives/HighlightsDirective.php | 2 +- .../src/RestructuredText/Directives/HintDirective.php | 2 +- .../src/RestructuredText/Directives/ImageDirective.php | 2 +- .../RestructuredText/Directives/ImportantDirective.php | 2 +- .../src/RestructuredText/Directives/IndexDirective.php | 2 +- .../src/RestructuredText/Directives/LaTeXMain.php | 2 +- .../src/RestructuredText/Directives/MenuDirective.php | 2 +- .../src/RestructuredText/Directives/MetaDirective.php | 2 +- .../src/RestructuredText/Directives/NoteDirective.php | 2 +- .../RestructuredText/Directives/PullQuoteDirective.php | 2 +- .../src/RestructuredText/Directives/RawDirective.php | 2 +- .../src/RestructuredText/Directives/ReplaceDirective.php | 2 +- .../src/RestructuredText/Directives/RoleDirective.php | 2 +- .../src/RestructuredText/Directives/SeeAlsoDirective.php | 2 +- .../src/RestructuredText/Directives/SidebarDirective.php | 2 +- .../RestructuredText/Directives/TestLoggerDirective.php | 2 +- .../src/RestructuredText/Directives/TipDirective.php | 2 +- .../src/RestructuredText/Directives/TitleDirective.php | 2 +- .../src/RestructuredText/Directives/ToctreeDirective.php | 2 +- .../src/RestructuredText/Directives/TodoDirective.php | 2 +- .../RestructuredText/Directives/VersionAddedDirective.php | 2 +- .../Directives/VersionChangedDirective.php | 2 +- .../src/RestructuredText/Directives/WarningDirective.php | 2 +- .../NodeRenderers/Html/AdmonitionNodeRenderer.php | 2 +- .../NodeRenderers/Html/GeneralDirectiveNodeRenderer.php | 2 +- .../NodeRenderers/LaTeX/GeneralDirectiveNodeRenderer.php | 2 +- .../src/RestructuredText/Nodes/AdmonitionNode.php | 2 +- .../src/RestructuredText/Nodes/ConfvalNode.php | 2 +- .../src/RestructuredText/Nodes/ContainerNode.php | 2 +- .../src/RestructuredText/Nodes/OptionNode.php | 2 +- .../src/RestructuredText/Nodes/VersionChangeNode.php | 2 +- .../src/RestructuredText/Parser/BlockContext.php | 2 +- .../src/RestructuredText/Parser/Buffer.php | 2 +- .../src/RestructuredText/Parser/Directive.php | 2 +- .../src/RestructuredText/Parser/DirectiveOption.php | 2 +- .../Parser/DocumentParserContextFactory.php | 2 +- .../src/RestructuredText/Parser/InlineParser.php | 1 + .../RestructuredText/Parser/Interlink/InterlinkData.php | 2 +- .../src/RestructuredText/Parser/LineChecker.php | 2 +- .../src/RestructuredText/Parser/LinesIterator.php | 2 +- .../Parser/Productions/DirectiveContentRule.php | 2 +- .../Productions/FieldList/AbstractFieldListItemRule.php | 2 +- .../Productions/FieldList/AddressFieldListItemRule.php | 2 +- .../Productions/FieldList/AuthorFieldListItemRule.php | 2 +- .../Productions/FieldList/AuthorsFieldListItemRule.php | 2 +- .../Productions/FieldList/ContactFieldListItemRule.php | 2 +- .../Productions/FieldList/CopyrightFieldListItemRule.php | 2 +- .../Productions/FieldList/DateFieldListItemRule.php | 2 +- .../Productions/FieldList/DedicationFieldListItemRule.php | 2 +- .../Productions/FieldList/NocommentsFieldListItemRule.php | 2 +- .../Productions/FieldList/NosearchFieldListItemRule.php | 2 +- .../FieldList/OrganizationFieldListItemRule.php | 2 +- .../Productions/FieldList/OrphanFieldListItemRule.php | 2 +- .../Productions/FieldList/ProjectFieldListItemRule.php | 2 +- .../Productions/FieldList/RevisionFieldListItemRule.php | 2 +- .../Productions/FieldList/TocDepthFieldListItemRule.php | 2 +- .../Productions/FieldList/VersionFieldListItemRule.php | 2 +- .../Parser/Productions/InlineRules/AnnotationRoleRule.php | 2 +- .../Productions/InlineRules/AnonymousPhraseRule.php | 2 +- .../Productions/InlineRules/AnonymousReferenceRule.php | 2 +- .../Productions/InlineRules/DefaultTextRoleRule.php | 2 +- .../Parser/Productions/InlineRules/EmphasisRule.php | 2 +- .../Parser/Productions/InlineRules/EscapeRule.php | 2 +- .../Productions/InlineRules/InternalReferenceRule.php | 2 +- .../Parser/Productions/InlineRules/LiteralRule.php | 2 +- .../Parser/Productions/InlineRules/NamedPhraseRule.php | 2 +- .../Parser/Productions/InlineRules/NamedReferenceRule.php | 2 +- .../Parser/Productions/InlineRules/NbspRule.php | 2 +- .../Parser/Productions/InlineRules/PlainTextRule.php | 2 +- .../Productions/InlineRules/StandaloneEmailRule.php | 2 +- .../Productions/InlineRules/StandaloneHyperlinkRule.php | 2 +- .../Parser/Productions/InlineRules/StrongRule.php | 2 +- .../Parser/Productions/InlineRules/TextRoleRule.php | 2 +- .../Parser/Productions/InlineRules/VariableInlineRule.php | 2 +- .../Parser/Productions/Table/GridTableBuilder.php | 2 +- .../src/RestructuredText/Parser/Productions/TitleRule.php | 2 +- .../RestructuredText/TextRoles/AbbreviationTextRole.php | 2 +- .../RestructuredText/TextRoles/DefaultTextRoleFactory.php | 2 +- .../RestructuredText/TextRoles/DocReferenceTextRole.php | 2 +- .../TextRoles/GenericReferenceTextRole.php | 2 +- .../src/RestructuredText/TextRoles/GenericTextRole.php | 2 +- .../src/RestructuredText/TextRoles/LiteralTextRole.php | 2 +- .../src/RestructuredText/TextRoles/MathTextRole.php | 2 +- .../src/RestructuredText/TextRoles/ReferenceTextRole.php | 2 +- .../src/RestructuredText/TextRoles/SpanTextRole.php | 2 +- .../src/RestructuredText/Toc/GlobSearcher.php | 2 +- .../src/RestructuredText/Toc/ToctreeBuilder.php | 2 +- .../tests/unit/Parser/DummyBaseDirective.php | 2 +- .../tests/unit/Parser/DummyNode.php | 2 +- .../tests/unit/Parser/InlineLexerTest.php | 2 +- .../tests/unit/Parser/Productions/CollectAllRule.php | 2 +- .../tests/unit/Parser/Productions/LinkRuleTest.php | 2 +- .../tests/unit/Parser/Productions/SimpleTableRuleTest.php | 2 +- .../tests/unit/TextRoles/DefaultTextRoleFactoryTest.php | 2 +- .../tests/unit/TextRoles/DocReferenceTextRoleTest.php | 2 +- .../tests/unit/TextRoles/ReferenceTextRoleTest.php | 2 +- .../Bootstrap/DependencyInjection/BootstrapExtension.php | 2 +- .../src/Bootstrap/Directives/TabDirective.php | 2 +- .../src/Bootstrap/Directives/TabsDirective.php | 2 +- .../src/Bootstrap/Nodes/AbstractTabNode.php | 2 +- packages/guides/src/Compiler/Compiler.php | 2 +- packages/guides/src/Compiler/CompilerContext.php | 2 +- .../NodeTransformers/CitationInlineNodeTransformer.php | 2 +- .../NodeTransformers/CitationTargetTransformer.php | 2 +- .../Compiler/NodeTransformers/ClassNodeTransformer.php | 2 +- .../NodeTransformers/DocumentBlockNodeTransformer.php | 2 +- .../DocumentEntryRegistrationTransformer.php | 2 +- .../NodeTransformers/FootNodeNamedTransformer.php | 2 +- .../NodeTransformers/FootNodeNumberedTransformer.php | 2 +- .../NodeTransformers/FootnoteInlineNodeTransformer.php | 2 +- .../InternalMenuEntryNodeTransformer.php | 2 +- .../SubInternalMenuEntryNodeTransformer.php | 2 +- .../SectionEntryRegistrationTransformer.php | 2 +- .../NodeTransformers/VariableInlineNodeTransformer.php | 2 +- packages/guides/src/Compiler/Passes/GlobalMenuPass.php | 2 +- .../src/Compiler/Passes/ImplicitHyperlinkTargetPass.php | 2 +- .../guides/src/DependencyInjection/CommandLocator.php | 2 +- .../src/DependencyInjection/Compiler/ParserRulesPass.php | 2 +- .../guides/src/DependencyInjection/GuidesExtension.php | 2 +- packages/guides/src/DependencyInjection/TestExtension.php | 2 +- packages/guides/src/FileCollector.php | 2 +- packages/guides/src/Meta/CitationTarget.php | 2 +- packages/guides/src/Meta/ExternalTarget.php | 2 +- packages/guides/src/Meta/FootnoteTarget.php | 2 +- packages/guides/src/NodeRenderers/DefaultNodeRenderer.php | 2 +- .../src/NodeRenderers/Html/BreadCrumbNodeRenderer.php | 2 +- .../guides/src/NodeRenderers/Html/TableNodeRenderer.php | 2 +- .../src/NodeRenderers/InMemoryNodeRendererFactory.php | 2 +- .../guides/src/NodeRenderers/LaTeX/TableNodeRenderer.php | 2 +- .../guides/src/NodeRenderers/LaTeX/TitleNodeRenderer.php | 2 +- .../guides/src/NodeRenderers/LaTeX/TocNodeRenderer.php | 2 +- packages/guides/src/Nodes/CitationNode.php | 2 +- packages/guides/src/Nodes/ClassNode.php | 2 +- packages/guides/src/Nodes/CodeNode.php | 2 +- packages/guides/src/Nodes/CollectionNode.php | 2 +- packages/guides/src/Nodes/DefinitionListNode.php | 2 +- packages/guides/src/Nodes/FieldListNode.php | 2 +- packages/guides/src/Nodes/FigureNode.php | 2 +- packages/guides/src/Nodes/FootnoteNode.php | 2 +- packages/guides/src/Nodes/ImageNode.php | 2 +- packages/guides/src/Nodes/Inline/CitationInlineNode.php | 2 +- packages/guides/src/Nodes/Inline/DocReferenceNode.php | 2 +- packages/guides/src/Nodes/Inline/FootnoteInlineNode.php | 2 +- packages/guides/src/Nodes/Inline/HyperLinkNode.php | 2 +- packages/guides/src/Nodes/Inline/ReferenceNode.php | 2 +- packages/guides/src/Nodes/Inline/VariableInlineNode.php | 2 +- packages/guides/src/Nodes/InlineCompoundNode.php | 2 +- packages/guides/src/Nodes/MainNode.php | 2 +- packages/guides/src/Nodes/Menu/ContentMenuNode.php | 2 +- packages/guides/src/Nodes/Menu/NavMenuNode.php | 2 +- packages/guides/src/Nodes/Menu/TocNode.php | 2 +- packages/guides/src/Nodes/Metadata/AddressNode.php | 2 +- packages/guides/src/Nodes/Metadata/AuthorNode.php | 2 +- packages/guides/src/Nodes/Metadata/AuthorsNode.php | 2 +- packages/guides/src/Nodes/Metadata/ContactNode.php | 2 +- packages/guides/src/Nodes/Metadata/CopyrightNode.php | 2 +- packages/guides/src/Nodes/Metadata/DateNode.php | 2 +- packages/guides/src/Nodes/Metadata/MetaNode.php | 2 +- packages/guides/src/Nodes/Metadata/NoCommentsNode.php | 2 +- packages/guides/src/Nodes/Metadata/NoSearchNode.php | 2 +- packages/guides/src/Nodes/Metadata/OrganizationNode.php | 2 +- packages/guides/src/Nodes/Metadata/OrphanNode.php | 2 +- packages/guides/src/Nodes/Metadata/RevisionNode.php | 2 +- packages/guides/src/Nodes/Metadata/TocDepthNode.php | 2 +- packages/guides/src/Nodes/Metadata/TopicNode.php | 2 +- packages/guides/src/Nodes/Metadata/VersionNode.php | 2 +- packages/guides/src/Nodes/ParagraphNode.php | 2 +- packages/guides/src/Nodes/ProjectNode.php | 2 +- packages/guides/src/Nodes/QuoteNode.php | 2 +- packages/guides/src/Nodes/RawNode.php | 2 +- packages/guides/src/Nodes/SeparatorNode.php | 2 +- packages/guides/src/Nodes/SpanNode.php | 2 +- packages/guides/src/Nodes/TableNode.php | 2 +- packages/guides/src/Nodes/TitleNode.php | 2 +- .../src/ReferenceResolvers/AnchorHyperlinkResolver.php | 2 +- .../src/ReferenceResolvers/AnchorReferenceResolver.php | 3 +-- .../src/ReferenceResolvers/DocReferenceResolver.php | 2 +- .../src/ReferenceResolvers/EmailReferenceResolver.php | 2 +- .../src/ReferenceResolvers/ExternalReferenceResolver.php | 2 +- .../src/ReferenceResolvers/InterlinkReferenceResolver.php | 2 +- .../src/ReferenceResolvers/InternalReferenceResolver.php | 2 +- packages/guides/src/ReferenceResolvers/Message.php | 2 +- .../src/ReferenceResolvers/NullAnchorNormalizer.php | 2 +- .../src/ReferenceResolvers/PageHyperlinkResolver.php | 2 +- .../src/ReferenceResolvers/SluggerAnchorNormalizer.php | 2 +- packages/guides/src/Renderer/HtmlRenderer.php | 2 +- packages/guides/src/Renderer/InMemoryRendererFactory.php | 2 +- packages/guides/src/Renderer/InterlinkObjectsRenderer.php | 2 +- packages/guides/src/Renderer/LatexRenderer.php | 2 +- packages/guides/src/Settings/ProjectSettings.php | 2 +- packages/guides/src/Twig/EnvironmentBuilder.php | 2 +- packages/guides/src/Twig/Theme/ThemeManager.php | 2 +- .../CollectLinkTargetsTransformerTest.php | 6 +++--- .../DocumentEntryRegistrationTransformerTest.php | 2 +- .../SectionEntryRegistrationTransformerTest.php | 2 +- .../Compiler/Passes/ImplicitHyperlinkTargetPassTest.php | 2 +- .../guides/tests/unit/Event/PostRenderDocumentTest.php | 2 +- .../guides/tests/unit/Event/PreRenderDocumentTest.php | 2 +- packages/guides/tests/unit/Event/PreRenderProcessTest.php | 2 +- .../unit/Nodes/DefinitionLists/DefinitionListTermTest.php | 8 ++++---- packages/guides/tests/unit/ParserTest.php | 2 +- .../ReferenceResolvers/AnchorReferenceResolverTest.php | 7 ++++--- .../tests/unit/Renderer/DocumentTreeIteratorTest.php | 2 +- packages/guides/tests/unit/SpyTemplateRenderer.php | 2 +- tests/Functional/FunctionalTest.php | 2 +- tests/Integration/IntegrationTest.php | 2 +- 236 files changed, 244 insertions(+), 243 deletions(-) diff --git a/packages/guides-cli/src/Config/Configuration.php b/packages/guides-cli/src/Config/Configuration.php index 459d9eb65..9eddbef96 100644 --- a/packages/guides-cli/src/Config/Configuration.php +++ b/packages/guides-cli/src/Config/Configuration.php @@ -19,7 +19,7 @@ use function assert; -class Configuration implements ConfigurationInterface +final class Configuration implements ConfigurationInterface { public function getConfigTreeBuilder(): TreeBuilder { diff --git a/packages/guides-cli/src/Config/XmlFileLoader.php b/packages/guides-cli/src/Config/XmlFileLoader.php index 8bcabe845..882fb5bb5 100644 --- a/packages/guides-cli/src/Config/XmlFileLoader.php +++ b/packages/guides-cli/src/Config/XmlFileLoader.php @@ -23,7 +23,7 @@ use function is_string; use function sprintf; -class XmlFileLoader extends FileLoader +final class XmlFileLoader extends FileLoader { /** @return mixed[][] */ public function load(mixed $resource, string|null $type = null): array diff --git a/packages/guides-cli/src/DependencyInjection/ApplicationExtension.php b/packages/guides-cli/src/DependencyInjection/ApplicationExtension.php index b9e66133a..570c13282 100644 --- a/packages/guides-cli/src/DependencyInjection/ApplicationExtension.php +++ b/packages/guides-cli/src/DependencyInjection/ApplicationExtension.php @@ -26,7 +26,7 @@ use function dirname; use function sprintf; -class ApplicationExtension extends Extension implements CompilerPassInterface +final class ApplicationExtension extends Extension implements CompilerPassInterface { /** @param string[] $configs */ public function load(array $configs, ContainerBuilder $container): void diff --git a/packages/guides-cli/tests/unit/Logger/SpyProcessorTest.php b/packages/guides-cli/tests/unit/Logger/SpyProcessorTest.php index 15551fcaf..aa8137b48 100644 --- a/packages/guides-cli/tests/unit/Logger/SpyProcessorTest.php +++ b/packages/guides-cli/tests/unit/Logger/SpyProcessorTest.php @@ -15,7 +15,7 @@ use PHPUnit\Framework\TestCase; -class SpyProcessorTest extends TestCase +final class SpyProcessorTest extends TestCase { public function testHasBeenCalledReturnsFalseByDefault(): void { diff --git a/packages/guides-code/src/Code/DependencyInjection/CodeExtension.php b/packages/guides-code/src/Code/DependencyInjection/CodeExtension.php index 49d69e29d..60ecca03e 100644 --- a/packages/guides-code/src/Code/DependencyInjection/CodeExtension.php +++ b/packages/guides-code/src/Code/DependencyInjection/CodeExtension.php @@ -27,7 +27,7 @@ use function assert; use function dirname; -class CodeExtension extends Extension implements ConfigurationInterface, PrependExtensionInterface +final class CodeExtension extends Extension implements ConfigurationInterface, PrependExtensionInterface { public function getConfigTreeBuilder(): TreeBuilder { diff --git a/packages/guides-code/src/Code/Twig/CodeExtension.php b/packages/guides-code/src/Code/Twig/CodeExtension.php index e55a5972c..45ae0f461 100644 --- a/packages/guides-code/src/Code/Twig/CodeExtension.php +++ b/packages/guides-code/src/Code/Twig/CodeExtension.php @@ -19,7 +19,7 @@ use function is_array; -class CodeExtension extends AbstractExtension +final class CodeExtension extends AbstractExtension { public function __construct( private Highlighter $highlighter, diff --git a/packages/guides-code/tests/unit/Highlighter/HighlightPhpHighlighterTest.php b/packages/guides-code/tests/unit/Highlighter/HighlightPhpHighlighterTest.php index 7283d0427..224e269b3 100644 --- a/packages/guides-code/tests/unit/Highlighter/HighlightPhpHighlighterTest.php +++ b/packages/guides-code/tests/unit/Highlighter/HighlightPhpHighlighterTest.php @@ -19,7 +19,7 @@ use Psr\Log\NullLogger; use Psr\Log\Test\TestLogger; -class HighlightPhpHighlighterTest extends TestCase +final class HighlightPhpHighlighterTest extends TestCase { public function testItEscapesCharactersForbiddenInPreTags(): void { diff --git a/packages/guides-graphs/src/Graphs/DependencyInjection/Configuration.php b/packages/guides-graphs/src/Graphs/DependencyInjection/Configuration.php index 2cb9c5898..9a91024a0 100644 --- a/packages/guides-graphs/src/Graphs/DependencyInjection/Configuration.php +++ b/packages/guides-graphs/src/Graphs/DependencyInjection/Configuration.php @@ -19,7 +19,7 @@ use function assert; -class Configuration implements ConfigurationInterface +final class Configuration implements ConfigurationInterface { public function getConfigTreeBuilder(): TreeBuilder { diff --git a/packages/guides-graphs/src/Graphs/DependencyInjection/GraphsExtension.php b/packages/guides-graphs/src/Graphs/DependencyInjection/GraphsExtension.php index 0fb070852..a05b3f349 100644 --- a/packages/guides-graphs/src/Graphs/DependencyInjection/GraphsExtension.php +++ b/packages/guides-graphs/src/Graphs/DependencyInjection/GraphsExtension.php @@ -21,7 +21,7 @@ use function dirname; -class GraphsExtension extends Extension implements PrependExtensionInterface +final class GraphsExtension extends Extension implements PrependExtensionInterface { /** @param mixed[] $configs */ public function load(array $configs, ContainerBuilder $container): void diff --git a/packages/guides-graphs/src/Graphs/Nodes/UmlNode.php b/packages/guides-graphs/src/Graphs/Nodes/UmlNode.php index d684a8f82..3fd5edcdf 100644 --- a/packages/guides-graphs/src/Graphs/Nodes/UmlNode.php +++ b/packages/guides-graphs/src/Graphs/Nodes/UmlNode.php @@ -15,7 +15,7 @@ use phpDocumentor\Guides\Nodes\TextNode; -class UmlNode extends TextNode +final class UmlNode extends TextNode { private string $caption = ''; diff --git a/packages/guides-graphs/src/Graphs/Renderer/PlantumlRenderer.php b/packages/guides-graphs/src/Graphs/Renderer/PlantumlRenderer.php index 4bed351c4..758ae85b9 100644 --- a/packages/guides-graphs/src/Graphs/Renderer/PlantumlRenderer.php +++ b/packages/guides-graphs/src/Graphs/Renderer/PlantumlRenderer.php @@ -24,7 +24,7 @@ use function sys_get_temp_dir; use function tempnam; -class PlantumlRenderer implements DiagramRenderer +final class PlantumlRenderer implements DiagramRenderer { public function __construct(private readonly LoggerInterface $logger, private readonly string $plantUmlBinaryPath) { diff --git a/packages/guides-markdown/src/Markdown/DependencyInjection/MarkdownExtension.php b/packages/guides-markdown/src/Markdown/DependencyInjection/MarkdownExtension.php index 7e0601931..1ef29429e 100644 --- a/packages/guides-markdown/src/Markdown/DependencyInjection/MarkdownExtension.php +++ b/packages/guides-markdown/src/Markdown/DependencyInjection/MarkdownExtension.php @@ -22,7 +22,7 @@ use function dirname; -class MarkdownExtension extends Extension implements PrependExtensionInterface, CompilerPassInterface +final class MarkdownExtension extends Extension implements PrependExtensionInterface, CompilerPassInterface { /** @param mixed[] $configs */ public function load(array $configs, ContainerBuilder $container): void diff --git a/packages/guides-restructured-text/src/RestructuredText/DependencyInjection/Compiler/TextRolePass.php b/packages/guides-restructured-text/src/RestructuredText/DependencyInjection/Compiler/TextRolePass.php index 2ef7cc0f7..2ae2f9e79 100644 --- a/packages/guides-restructured-text/src/RestructuredText/DependencyInjection/Compiler/TextRolePass.php +++ b/packages/guides-restructured-text/src/RestructuredText/DependencyInjection/Compiler/TextRolePass.php @@ -18,7 +18,7 @@ use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Reference; -class TextRolePass implements CompilerPassInterface +final class TextRolePass implements CompilerPassInterface { public function process(ContainerBuilder $container): void { diff --git a/packages/guides-restructured-text/src/RestructuredText/Directives/AdmonitionDirective.php b/packages/guides-restructured-text/src/RestructuredText/Directives/AdmonitionDirective.php index 1ecdbef97..7f3a44a28 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Directives/AdmonitionDirective.php +++ b/packages/guides-restructured-text/src/RestructuredText/Directives/AdmonitionDirective.php @@ -34,7 +34,7 @@ * * @see https://docutils.sourceforge.io/docs/ref/rst/directives.html#generic-admonition */ -class AdmonitionDirective extends SubDirective +final class AdmonitionDirective extends SubDirective { public function getName(): string { diff --git a/packages/guides-restructured-text/src/RestructuredText/Directives/AttentionDirective.php b/packages/guides-restructured-text/src/RestructuredText/Directives/AttentionDirective.php index 4a2faf44c..9fbf086ec 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Directives/AttentionDirective.php +++ b/packages/guides-restructured-text/src/RestructuredText/Directives/AttentionDirective.php @@ -15,7 +15,7 @@ use phpDocumentor\Guides\RestructuredText\Parser\Productions\Rule; -class AttentionDirective extends AbstractAdmonitionDirective +final class AttentionDirective extends AbstractAdmonitionDirective { public function __construct(protected Rule $startingRule) { diff --git a/packages/guides-restructured-text/src/RestructuredText/Directives/BreadcrumbDirective.php b/packages/guides-restructured-text/src/RestructuredText/Directives/BreadcrumbDirective.php index 950556abb..8d0e130eb 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Directives/BreadcrumbDirective.php +++ b/packages/guides-restructured-text/src/RestructuredText/Directives/BreadcrumbDirective.php @@ -30,7 +30,7 @@ * .. breadcrumb:: * ``` */ -class BreadcrumbDirective extends BaseDirective +final class BreadcrumbDirective extends BaseDirective { public function getName(): string { diff --git a/packages/guides-restructured-text/src/RestructuredText/Directives/CautionDirective.php b/packages/guides-restructured-text/src/RestructuredText/Directives/CautionDirective.php index 08a5f9a51..8d59c891c 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Directives/CautionDirective.php +++ b/packages/guides-restructured-text/src/RestructuredText/Directives/CautionDirective.php @@ -15,7 +15,7 @@ use phpDocumentor\Guides\RestructuredText\Parser\Productions\Rule; -class CautionDirective extends AbstractAdmonitionDirective +final class CautionDirective extends AbstractAdmonitionDirective { public function __construct(protected Rule $startingRule) { diff --git a/packages/guides-restructured-text/src/RestructuredText/Directives/ClassDirective.php b/packages/guides-restructured-text/src/RestructuredText/Directives/ClassDirective.php index b2d123ccd..8119a367b 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Directives/ClassDirective.php +++ b/packages/guides-restructured-text/src/RestructuredText/Directives/ClassDirective.php @@ -25,7 +25,7 @@ use function array_merge; use function explode; -class ClassDirective extends SubDirective +final class ClassDirective extends SubDirective { public function getName(): string { diff --git a/packages/guides-restructured-text/src/RestructuredText/Directives/CodeBlockDirective.php b/packages/guides-restructured-text/src/RestructuredText/Directives/CodeBlockDirective.php index c84b4a308..f2b58a7c6 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Directives/CodeBlockDirective.php +++ b/packages/guides-restructured-text/src/RestructuredText/Directives/CodeBlockDirective.php @@ -35,7 +35,7 @@ * * @link https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html#directive-code-block */ -class CodeBlockDirective extends BaseDirective +final class CodeBlockDirective extends BaseDirective { /** @see https://regex101.com/r/I3KttH/1 */ public const LINE_NUMBER_RANGES_REGEX = '/^\d+(-\d+)?(?:,\s*\d+(-\d+)?)*$/'; diff --git a/packages/guides-restructured-text/src/RestructuredText/Directives/ContainerDirective.php b/packages/guides-restructured-text/src/RestructuredText/Directives/ContainerDirective.php index df93beb28..b127f57bc 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Directives/ContainerDirective.php +++ b/packages/guides-restructured-text/src/RestructuredText/Directives/ContainerDirective.php @@ -24,7 +24,7 @@ * * @link https://docutils.sourceforge.io/docs/ref/rst/directives.html#container */ -class ContainerDirective extends SubDirective +final class ContainerDirective extends SubDirective { public function getName(): string { diff --git a/packages/guides-restructured-text/src/RestructuredText/Directives/ContentsDirective.php b/packages/guides-restructured-text/src/RestructuredText/Directives/ContentsDirective.php index b28ec8951..0eaccbc5c 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Directives/ContentsDirective.php +++ b/packages/guides-restructured-text/src/RestructuredText/Directives/ContentsDirective.php @@ -25,7 +25,7 @@ * * Displays a table of content of the current page */ -class ContentsDirective extends BaseDirective +final class ContentsDirective extends BaseDirective { public function __construct( private readonly DocumentNameResolverInterface $documentNameResolver, diff --git a/packages/guides-restructured-text/src/RestructuredText/Directives/DangerDirective.php b/packages/guides-restructured-text/src/RestructuredText/Directives/DangerDirective.php index a0ee3e184..de267f791 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Directives/DangerDirective.php +++ b/packages/guides-restructured-text/src/RestructuredText/Directives/DangerDirective.php @@ -15,7 +15,7 @@ use phpDocumentor\Guides\RestructuredText\Parser\Productions\Rule; -class DangerDirective extends AbstractAdmonitionDirective +final class DangerDirective extends AbstractAdmonitionDirective { public function __construct(protected Rule $startingRule) { diff --git a/packages/guides-restructured-text/src/RestructuredText/Directives/DefaultRoleDirective.php b/packages/guides-restructured-text/src/RestructuredText/Directives/DefaultRoleDirective.php index 7130f7862..e3c18d2a6 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Directives/DefaultRoleDirective.php +++ b/packages/guides-restructured-text/src/RestructuredText/Directives/DefaultRoleDirective.php @@ -21,7 +21,7 @@ * * https://docutils.sourceforge.io/docs/ref/rst/directives.html#default-role */ -class DefaultRoleDirective extends ActionDirective +final class DefaultRoleDirective extends ActionDirective { public function getName(): string { diff --git a/packages/guides-restructured-text/src/RestructuredText/Directives/DeprecatedDirective.php b/packages/guides-restructured-text/src/RestructuredText/Directives/DeprecatedDirective.php index 00c695cb6..80354d6c6 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Directives/DeprecatedDirective.php +++ b/packages/guides-restructured-text/src/RestructuredText/Directives/DeprecatedDirective.php @@ -15,7 +15,7 @@ use phpDocumentor\Guides\RestructuredText\Parser\Productions\Rule; -class DeprecatedDirective extends AbstractVersionChangeDirective +final class DeprecatedDirective extends AbstractVersionChangeDirective { public function __construct(protected Rule $startingRule) { diff --git a/packages/guides-restructured-text/src/RestructuredText/Directives/DocumentBlockDirective.php b/packages/guides-restructured-text/src/RestructuredText/Directives/DocumentBlockDirective.php index 55dfc6050..b61d74e09 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Directives/DocumentBlockDirective.php +++ b/packages/guides-restructured-text/src/RestructuredText/Directives/DocumentBlockDirective.php @@ -19,7 +19,7 @@ use phpDocumentor\Guides\RestructuredText\Parser\BlockContext; use phpDocumentor\Guides\RestructuredText\Parser\Directive; -class DocumentBlockDirective extends SubDirective +final class DocumentBlockDirective extends SubDirective { public function getName(): string { diff --git a/packages/guides-restructured-text/src/RestructuredText/Directives/EpigraphDirective.php b/packages/guides-restructured-text/src/RestructuredText/Directives/EpigraphDirective.php index f3631b93a..e0bd7f5d4 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Directives/EpigraphDirective.php +++ b/packages/guides-restructured-text/src/RestructuredText/Directives/EpigraphDirective.php @@ -26,7 +26,7 @@ * * https://docutils.sourceforge.io/docs/ref/rst/directives.html#epigraph */ -class EpigraphDirective extends SubDirective +final class EpigraphDirective extends SubDirective { public function getName(): string { diff --git a/packages/guides-restructured-text/src/RestructuredText/Directives/ErrorDirective.php b/packages/guides-restructured-text/src/RestructuredText/Directives/ErrorDirective.php index e81fa8cfb..8a195f693 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Directives/ErrorDirective.php +++ b/packages/guides-restructured-text/src/RestructuredText/Directives/ErrorDirective.php @@ -15,7 +15,7 @@ use phpDocumentor\Guides\RestructuredText\Parser\Productions\Rule; -class ErrorDirective extends AbstractAdmonitionDirective +final class ErrorDirective extends AbstractAdmonitionDirective { public function __construct(protected Rule $startingRule) { diff --git a/packages/guides-restructured-text/src/RestructuredText/Directives/FigureDirective.php b/packages/guides-restructured-text/src/RestructuredText/Directives/FigureDirective.php index f490cabcc..0e18dae88 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Directives/FigureDirective.php +++ b/packages/guides-restructured-text/src/RestructuredText/Directives/FigureDirective.php @@ -33,7 +33,7 @@ * * Here is an awesome caption */ -class FigureDirective extends SubDirective +final class FigureDirective extends SubDirective { public function __construct( private readonly DocumentNameResolverInterface $documentNameResolver, diff --git a/packages/guides-restructured-text/src/RestructuredText/Directives/GeneralDirective.php b/packages/guides-restructured-text/src/RestructuredText/Directives/GeneralDirective.php index cf28b92d7..46a5637c9 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Directives/GeneralDirective.php +++ b/packages/guides-restructured-text/src/RestructuredText/Directives/GeneralDirective.php @@ -23,7 +23,7 @@ /** * A catch-all directive, the content is treated as content, the options passed on */ -class GeneralDirective extends SubDirective +final class GeneralDirective extends SubDirective { public function getName(): string { diff --git a/packages/guides-restructured-text/src/RestructuredText/Directives/HighlightDirective.php b/packages/guides-restructured-text/src/RestructuredText/Directives/HighlightDirective.php index a8e71c38a..923be2001 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Directives/HighlightDirective.php +++ b/packages/guides-restructured-text/src/RestructuredText/Directives/HighlightDirective.php @@ -21,7 +21,7 @@ /** * https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html#directive-highlight */ -class HighlightDirective extends ActionDirective +final class HighlightDirective extends ActionDirective { public function getName(): string { diff --git a/packages/guides-restructured-text/src/RestructuredText/Directives/HighlightsDirective.php b/packages/guides-restructured-text/src/RestructuredText/Directives/HighlightsDirective.php index 13038a0b2..0c6abeab5 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Directives/HighlightsDirective.php +++ b/packages/guides-restructured-text/src/RestructuredText/Directives/HighlightsDirective.php @@ -25,7 +25,7 @@ * * https://docutils.sourceforge.io/docs/ref/rst/directives.html#highlights */ -class HighlightsDirective extends SubDirective +final class HighlightsDirective extends SubDirective { public function getName(): string { diff --git a/packages/guides-restructured-text/src/RestructuredText/Directives/HintDirective.php b/packages/guides-restructured-text/src/RestructuredText/Directives/HintDirective.php index 45e11fd98..189dcbe80 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Directives/HintDirective.php +++ b/packages/guides-restructured-text/src/RestructuredText/Directives/HintDirective.php @@ -15,7 +15,7 @@ use phpDocumentor\Guides\RestructuredText\Parser\Productions\Rule; -class HintDirective extends AbstractAdmonitionDirective +final class HintDirective extends AbstractAdmonitionDirective { public function __construct(protected Rule $startingRule) { diff --git a/packages/guides-restructured-text/src/RestructuredText/Directives/ImageDirective.php b/packages/guides-restructured-text/src/RestructuredText/Directives/ImageDirective.php index d0fb11725..855b5ec1b 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Directives/ImageDirective.php +++ b/packages/guides-restructured-text/src/RestructuredText/Directives/ImageDirective.php @@ -28,7 +28,7 @@ * :width: 100 * :title: An image */ -class ImageDirective extends BaseDirective +final class ImageDirective extends BaseDirective { public function __construct( private readonly DocumentNameResolverInterface $documentNameResolver, diff --git a/packages/guides-restructured-text/src/RestructuredText/Directives/ImportantDirective.php b/packages/guides-restructured-text/src/RestructuredText/Directives/ImportantDirective.php index e2e40640b..569164525 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Directives/ImportantDirective.php +++ b/packages/guides-restructured-text/src/RestructuredText/Directives/ImportantDirective.php @@ -15,7 +15,7 @@ use phpDocumentor\Guides\RestructuredText\Parser\Productions\Rule; -class ImportantDirective extends AbstractAdmonitionDirective +final class ImportantDirective extends AbstractAdmonitionDirective { public function __construct(protected Rule $startingRule) { diff --git a/packages/guides-restructured-text/src/RestructuredText/Directives/IndexDirective.php b/packages/guides-restructured-text/src/RestructuredText/Directives/IndexDirective.php index 655844818..023779540 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Directives/IndexDirective.php +++ b/packages/guides-restructured-text/src/RestructuredText/Directives/IndexDirective.php @@ -13,7 +13,7 @@ namespace phpDocumentor\Guides\RestructuredText\Directives; -class IndexDirective extends SubDirective +final class IndexDirective extends SubDirective { public function getName(): string { diff --git a/packages/guides-restructured-text/src/RestructuredText/Directives/LaTeXMain.php b/packages/guides-restructured-text/src/RestructuredText/Directives/LaTeXMain.php index 8bb75abb7..a13ceffde 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Directives/LaTeXMain.php +++ b/packages/guides-restructured-text/src/RestructuredText/Directives/LaTeXMain.php @@ -21,7 +21,7 @@ /** * Marks the document as LaTeX main */ -class LaTeXMain extends BaseDirective +final class LaTeXMain extends BaseDirective { public function getName(): string { diff --git a/packages/guides-restructured-text/src/RestructuredText/Directives/MenuDirective.php b/packages/guides-restructured-text/src/RestructuredText/Directives/MenuDirective.php index ff3ea045a..6c5d77d94 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Directives/MenuDirective.php +++ b/packages/guides-restructured-text/src/RestructuredText/Directives/MenuDirective.php @@ -30,7 +30,7 @@ * * By default it displays a menu of the pages on level 1 up to level 2. */ -class MenuDirective extends BaseDirective +final class MenuDirective extends BaseDirective { public function __construct(private readonly ToctreeBuilder $toctreeBuilder) { diff --git a/packages/guides-restructured-text/src/RestructuredText/Directives/MetaDirective.php b/packages/guides-restructured-text/src/RestructuredText/Directives/MetaDirective.php index 2d71ca167..4217195d2 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Directives/MetaDirective.php +++ b/packages/guides-restructured-text/src/RestructuredText/Directives/MetaDirective.php @@ -23,7 +23,7 @@ * .. meta:: * :key: value */ -class MetaDirective extends ActionDirective +final class MetaDirective extends ActionDirective { public function getName(): string { diff --git a/packages/guides-restructured-text/src/RestructuredText/Directives/NoteDirective.php b/packages/guides-restructured-text/src/RestructuredText/Directives/NoteDirective.php index 76a7cccc8..929d0e3f4 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Directives/NoteDirective.php +++ b/packages/guides-restructured-text/src/RestructuredText/Directives/NoteDirective.php @@ -15,7 +15,7 @@ use phpDocumentor\Guides\RestructuredText\Parser\Productions\Rule; -class NoteDirective extends AbstractAdmonitionDirective +final class NoteDirective extends AbstractAdmonitionDirective { public function __construct(protected Rule $startingRule) { diff --git a/packages/guides-restructured-text/src/RestructuredText/Directives/PullQuoteDirective.php b/packages/guides-restructured-text/src/RestructuredText/Directives/PullQuoteDirective.php index 0035debc8..38703dc28 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Directives/PullQuoteDirective.php +++ b/packages/guides-restructured-text/src/RestructuredText/Directives/PullQuoteDirective.php @@ -26,7 +26,7 @@ * * https://docutils.sourceforge.io/docs/ref/rst/directives.html#pull-quote */ -class PullQuoteDirective extends SubDirective +final class PullQuoteDirective extends SubDirective { public function getName(): string { diff --git a/packages/guides-restructured-text/src/RestructuredText/Directives/RawDirective.php b/packages/guides-restructured-text/src/RestructuredText/Directives/RawDirective.php index 19041cc0c..00ef0791e 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Directives/RawDirective.php +++ b/packages/guides-restructured-text/src/RestructuredText/Directives/RawDirective.php @@ -29,7 +29,7 @@ * * @link https://docutils.sourceforge.io/docs/ref/rst/directives.html#raw-data-pass-through */ -class RawDirective extends BaseDirective +final class RawDirective extends BaseDirective { public function getName(): string { diff --git a/packages/guides-restructured-text/src/RestructuredText/Directives/ReplaceDirective.php b/packages/guides-restructured-text/src/RestructuredText/Directives/ReplaceDirective.php index d1fb55c5b..7aabeda0f 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Directives/ReplaceDirective.php +++ b/packages/guides-restructured-text/src/RestructuredText/Directives/ReplaceDirective.php @@ -28,7 +28,7 @@ * * .. |test| replace:: The Test String! */ -class ReplaceDirective extends SubDirective +final class ReplaceDirective extends SubDirective { public function getName(): string { diff --git a/packages/guides-restructured-text/src/RestructuredText/Directives/RoleDirective.php b/packages/guides-restructured-text/src/RestructuredText/Directives/RoleDirective.php index f379516a9..e0448aaea 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Directives/RoleDirective.php +++ b/packages/guides-restructured-text/src/RestructuredText/Directives/RoleDirective.php @@ -29,7 +29,7 @@ * * https://docutils.sourceforge.io/docs/ref/rst/directives.html#role */ -class RoleDirective extends ActionDirective +final class RoleDirective extends ActionDirective { public function __construct( private readonly LoggerInterface $logger, diff --git a/packages/guides-restructured-text/src/RestructuredText/Directives/SeeAlsoDirective.php b/packages/guides-restructured-text/src/RestructuredText/Directives/SeeAlsoDirective.php index 4a6c3a7f5..5372026aa 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Directives/SeeAlsoDirective.php +++ b/packages/guides-restructured-text/src/RestructuredText/Directives/SeeAlsoDirective.php @@ -15,7 +15,7 @@ use phpDocumentor\Guides\RestructuredText\Parser\Productions\Rule; -class SeeAlsoDirective extends AbstractAdmonitionDirective +final class SeeAlsoDirective extends AbstractAdmonitionDirective { public function __construct(protected Rule $startingRule) { diff --git a/packages/guides-restructured-text/src/RestructuredText/Directives/SidebarDirective.php b/packages/guides-restructured-text/src/RestructuredText/Directives/SidebarDirective.php index 2e10149a1..f71359529 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Directives/SidebarDirective.php +++ b/packages/guides-restructured-text/src/RestructuredText/Directives/SidebarDirective.php @@ -25,7 +25,7 @@ * * https://docutils.sourceforge.io/docs/ref/rst/directives.html#sidebar */ -class SidebarDirective extends SubDirective +final class SidebarDirective extends SubDirective { public function getName(): string { diff --git a/packages/guides-restructured-text/src/RestructuredText/Directives/TestLoggerDirective.php b/packages/guides-restructured-text/src/RestructuredText/Directives/TestLoggerDirective.php index c4679e9f4..6b50d4a6e 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Directives/TestLoggerDirective.php +++ b/packages/guides-restructured-text/src/RestructuredText/Directives/TestLoggerDirective.php @@ -26,7 +26,7 @@ * * @link https://docutils.sourceforge.io/docs/ref/rst/directives.html#container */ -class TestLoggerDirective extends SubDirective +final class TestLoggerDirective extends SubDirective { public function __construct( protected Rule $startingRule, diff --git a/packages/guides-restructured-text/src/RestructuredText/Directives/TipDirective.php b/packages/guides-restructured-text/src/RestructuredText/Directives/TipDirective.php index 896253aa2..88c6fbc84 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Directives/TipDirective.php +++ b/packages/guides-restructured-text/src/RestructuredText/Directives/TipDirective.php @@ -15,7 +15,7 @@ use phpDocumentor\Guides\RestructuredText\Parser\Productions\Rule; -class TipDirective extends AbstractAdmonitionDirective +final class TipDirective extends AbstractAdmonitionDirective { public function __construct(protected Rule $startingRule) { diff --git a/packages/guides-restructured-text/src/RestructuredText/Directives/TitleDirective.php b/packages/guides-restructured-text/src/RestructuredText/Directives/TitleDirective.php index 8f53e424f..bc98ae13f 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Directives/TitleDirective.php +++ b/packages/guides-restructured-text/src/RestructuredText/Directives/TitleDirective.php @@ -21,7 +21,7 @@ * * .. title:: Page title */ -class TitleDirective extends ActionDirective +final class TitleDirective extends ActionDirective { public function getName(): string { diff --git a/packages/guides-restructured-text/src/RestructuredText/Directives/ToctreeDirective.php b/packages/guides-restructured-text/src/RestructuredText/Directives/ToctreeDirective.php index 1e19fa15a..9afe04800 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Directives/ToctreeDirective.php +++ b/packages/guides-restructured-text/src/RestructuredText/Directives/ToctreeDirective.php @@ -31,7 +31,7 @@ * * @link https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html#table-of-contents */ -class ToctreeDirective extends BaseDirective +final class ToctreeDirective extends BaseDirective { /** @param Rule $startingRule */ public function __construct( diff --git a/packages/guides-restructured-text/src/RestructuredText/Directives/TodoDirective.php b/packages/guides-restructured-text/src/RestructuredText/Directives/TodoDirective.php index 78ba19e03..2a3b6c68c 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Directives/TodoDirective.php +++ b/packages/guides-restructured-text/src/RestructuredText/Directives/TodoDirective.php @@ -19,7 +19,7 @@ /** * Todo directives are treated as comments, omitting all content or options */ -class TodoDirective extends ActionDirective +final class TodoDirective extends ActionDirective { public function getName(): string { diff --git a/packages/guides-restructured-text/src/RestructuredText/Directives/VersionAddedDirective.php b/packages/guides-restructured-text/src/RestructuredText/Directives/VersionAddedDirective.php index 75cc9954a..c9ae440f1 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Directives/VersionAddedDirective.php +++ b/packages/guides-restructured-text/src/RestructuredText/Directives/VersionAddedDirective.php @@ -15,7 +15,7 @@ use phpDocumentor\Guides\RestructuredText\Parser\Productions\Rule; -class VersionAddedDirective extends AbstractVersionChangeDirective +final class VersionAddedDirective extends AbstractVersionChangeDirective { public function __construct(protected Rule $startingRule) { diff --git a/packages/guides-restructured-text/src/RestructuredText/Directives/VersionChangedDirective.php b/packages/guides-restructured-text/src/RestructuredText/Directives/VersionChangedDirective.php index cbea8a5f0..bc041e48c 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Directives/VersionChangedDirective.php +++ b/packages/guides-restructured-text/src/RestructuredText/Directives/VersionChangedDirective.php @@ -15,7 +15,7 @@ use phpDocumentor\Guides\RestructuredText\Parser\Productions\Rule; -class VersionChangedDirective extends AbstractVersionChangeDirective +final class VersionChangedDirective extends AbstractVersionChangeDirective { public function __construct(protected Rule $startingRule) { diff --git a/packages/guides-restructured-text/src/RestructuredText/Directives/WarningDirective.php b/packages/guides-restructured-text/src/RestructuredText/Directives/WarningDirective.php index ed8429d78..e71073de7 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Directives/WarningDirective.php +++ b/packages/guides-restructured-text/src/RestructuredText/Directives/WarningDirective.php @@ -15,7 +15,7 @@ use phpDocumentor\Guides\RestructuredText\Parser\Productions\Rule; -class WarningDirective extends AbstractAdmonitionDirective +final class WarningDirective extends AbstractAdmonitionDirective { public function __construct(protected Rule $startingRule) { diff --git a/packages/guides-restructured-text/src/RestructuredText/NodeRenderers/Html/AdmonitionNodeRenderer.php b/packages/guides-restructured-text/src/RestructuredText/NodeRenderers/Html/AdmonitionNodeRenderer.php index 58b9559cc..b1aa25fee 100644 --- a/packages/guides-restructured-text/src/RestructuredText/NodeRenderers/Html/AdmonitionNodeRenderer.php +++ b/packages/guides-restructured-text/src/RestructuredText/NodeRenderers/Html/AdmonitionNodeRenderer.php @@ -24,7 +24,7 @@ use function is_a; /** @implements NodeRenderer */ -class AdmonitionNodeRenderer implements NodeRenderer +final class AdmonitionNodeRenderer implements NodeRenderer { public function __construct(private readonly TemplateRenderer $renderer) { diff --git a/packages/guides-restructured-text/src/RestructuredText/NodeRenderers/Html/GeneralDirectiveNodeRenderer.php b/packages/guides-restructured-text/src/RestructuredText/NodeRenderers/Html/GeneralDirectiveNodeRenderer.php index 5f92cc5f2..8ea1caef9 100644 --- a/packages/guides-restructured-text/src/RestructuredText/NodeRenderers/Html/GeneralDirectiveNodeRenderer.php +++ b/packages/guides-restructured-text/src/RestructuredText/NodeRenderers/Html/GeneralDirectiveNodeRenderer.php @@ -27,7 +27,7 @@ use function str_replace; /** @implements NodeRenderer */ -class GeneralDirectiveNodeRenderer implements NodeRenderer +final class GeneralDirectiveNodeRenderer implements NodeRenderer { public function __construct( private readonly TemplateRenderer $renderer, diff --git a/packages/guides-restructured-text/src/RestructuredText/NodeRenderers/LaTeX/GeneralDirectiveNodeRenderer.php b/packages/guides-restructured-text/src/RestructuredText/NodeRenderers/LaTeX/GeneralDirectiveNodeRenderer.php index 78ba080b7..94d371a29 100644 --- a/packages/guides-restructured-text/src/RestructuredText/NodeRenderers/LaTeX/GeneralDirectiveNodeRenderer.php +++ b/packages/guides-restructured-text/src/RestructuredText/NodeRenderers/LaTeX/GeneralDirectiveNodeRenderer.php @@ -27,7 +27,7 @@ use function str_replace; /** @implements NodeRenderer */ -class GeneralDirectiveNodeRenderer implements NodeRenderer +final class GeneralDirectiveNodeRenderer implements NodeRenderer { public function __construct( private readonly TemplateRenderer $renderer, diff --git a/packages/guides-restructured-text/src/RestructuredText/Nodes/AdmonitionNode.php b/packages/guides-restructured-text/src/RestructuredText/Nodes/AdmonitionNode.php index a66af4772..e6072572c 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Nodes/AdmonitionNode.php +++ b/packages/guides-restructured-text/src/RestructuredText/Nodes/AdmonitionNode.php @@ -18,7 +18,7 @@ use phpDocumentor\Guides\Nodes\Node; /** @extends CompoundNode */ -class AdmonitionNode extends CompoundNode +final class AdmonitionNode extends CompoundNode { /** @param Node[] $value */ public function __construct(private readonly string $name, private readonly InlineCompoundNode|null $title, private readonly string $text, array $value, private readonly bool $isTitled = false) diff --git a/packages/guides-restructured-text/src/RestructuredText/Nodes/ConfvalNode.php b/packages/guides-restructured-text/src/RestructuredText/Nodes/ConfvalNode.php index b20e39680..c092dfc07 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Nodes/ConfvalNode.php +++ b/packages/guides-restructured-text/src/RestructuredText/Nodes/ConfvalNode.php @@ -25,7 +25,7 @@ * * @extends CompoundNode */ -class ConfvalNode extends CompoundNode implements LinkTargetNode +final class ConfvalNode extends CompoundNode implements LinkTargetNode { public const LINK_TYPE = 'std:confval'; diff --git a/packages/guides-restructured-text/src/RestructuredText/Nodes/ContainerNode.php b/packages/guides-restructured-text/src/RestructuredText/Nodes/ContainerNode.php index 47501ac84..3ff799689 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Nodes/ContainerNode.php +++ b/packages/guides-restructured-text/src/RestructuredText/Nodes/ContainerNode.php @@ -17,6 +17,6 @@ use phpDocumentor\Guides\Nodes\Node; /** @extends CompoundNode */ -class ContainerNode extends CompoundNode +final class ContainerNode extends CompoundNode { } diff --git a/packages/guides-restructured-text/src/RestructuredText/Nodes/OptionNode.php b/packages/guides-restructured-text/src/RestructuredText/Nodes/OptionNode.php index cf8a91fc3..9370e76ef 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Nodes/OptionNode.php +++ b/packages/guides-restructured-text/src/RestructuredText/Nodes/OptionNode.php @@ -25,7 +25,7 @@ * * @extends CompoundNode */ -class OptionNode extends CompoundNode implements LinkTargetNode, MultipleLinkTargetsNode +final class OptionNode extends CompoundNode implements LinkTargetNode, MultipleLinkTargetsNode { public const LINK_TYPE = 'std:option'; diff --git a/packages/guides-restructured-text/src/RestructuredText/Nodes/VersionChangeNode.php b/packages/guides-restructured-text/src/RestructuredText/Nodes/VersionChangeNode.php index 7232cf8d6..2e3f5add6 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Nodes/VersionChangeNode.php +++ b/packages/guides-restructured-text/src/RestructuredText/Nodes/VersionChangeNode.php @@ -19,7 +19,7 @@ use function sprintf; /** @extends CompoundNode */ -class VersionChangeNode extends CompoundNode +final class VersionChangeNode extends CompoundNode { private readonly string $versionLabel; diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/BlockContext.php b/packages/guides-restructured-text/src/RestructuredText/Parser/BlockContext.php index f35182508..ce0e93a51 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Parser/BlockContext.php +++ b/packages/guides-restructured-text/src/RestructuredText/Parser/BlockContext.php @@ -18,7 +18,7 @@ /** * Our document parser contains */ -class BlockContext +final class BlockContext { private readonly LinesIterator $documentIterator; diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/Buffer.php b/packages/guides-restructured-text/src/RestructuredText/Parser/Buffer.php index a4767cba5..9f8a2fa50 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Parser/Buffer.php +++ b/packages/guides-restructured-text/src/RestructuredText/Parser/Buffer.php @@ -26,7 +26,7 @@ use const PHP_INT_MAX; -class Buffer +final class Buffer { /** @param string[] $lines */ public function __construct( diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/Directive.php b/packages/guides-restructured-text/src/RestructuredText/Parser/Directive.php index 34c04b9fa..7af33c3ac 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Parser/Directive.php +++ b/packages/guides-restructured-text/src/RestructuredText/Parser/Directive.php @@ -26,7 +26,7 @@ * * .. |variable| name:: */ -class Directive +final class Directive { private InlineCompoundNode|null $dataNode = null; diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/DirectiveOption.php b/packages/guides-restructured-text/src/RestructuredText/Parser/DirectiveOption.php index 50ba5604a..c56bc93d3 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Parser/DirectiveOption.php +++ b/packages/guides-restructured-text/src/RestructuredText/Parser/DirectiveOption.php @@ -15,7 +15,7 @@ use function strval; -class DirectiveOption +final class DirectiveOption { public function __construct(private readonly string $name, private string|int|float|bool|null $value = null) { diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/DocumentParserContextFactory.php b/packages/guides-restructured-text/src/RestructuredText/Parser/DocumentParserContextFactory.php index 3893ff48c..ad40fd039 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Parser/DocumentParserContextFactory.php +++ b/packages/guides-restructured-text/src/RestructuredText/Parser/DocumentParserContextFactory.php @@ -17,7 +17,7 @@ use phpDocumentor\Guides\RestructuredText\TextRoles\TextRoleFactory; use phpDocumentor\Guides\Settings\SettingsManager; -class DocumentParserContextFactory +final class DocumentParserContextFactory { public function __construct( private readonly TextRoleFactory $textRoleFactory, diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/InlineParser.php b/packages/guides-restructured-text/src/RestructuredText/Parser/InlineParser.php index f7f53869e..cac7236f1 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Parser/InlineParser.php +++ b/packages/guides-restructured-text/src/RestructuredText/Parser/InlineParser.php @@ -20,6 +20,7 @@ use function usort; +/** @internal */ class InlineParser { /** @var InlineRule[] */ diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/Interlink/InterlinkData.php b/packages/guides-restructured-text/src/RestructuredText/Parser/Interlink/InterlinkData.php index 41daef7c0..603304b15 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Parser/Interlink/InterlinkData.php +++ b/packages/guides-restructured-text/src/RestructuredText/Parser/Interlink/InterlinkData.php @@ -13,7 +13,7 @@ namespace phpDocumentor\Guides\RestructuredText\Parser\Interlink; -class InterlinkData +final class InterlinkData { public function __construct( public readonly string $reference, diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/LineChecker.php b/packages/guides-restructured-text/src/RestructuredText/Parser/LineChecker.php index 5316b6c23..2df6ed1c5 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Parser/LineChecker.php +++ b/packages/guides-restructured-text/src/RestructuredText/Parser/LineChecker.php @@ -16,7 +16,7 @@ use function in_array; use function mb_strlen; -class LineChecker +final class LineChecker { private const HEADER_LETTERS = [ '!', diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/LinesIterator.php b/packages/guides-restructured-text/src/RestructuredText/Parser/LinesIterator.php index 653e8872a..a8e390095 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Parser/LinesIterator.php +++ b/packages/guides-restructured-text/src/RestructuredText/Parser/LinesIterator.php @@ -27,7 +27,7 @@ use function trim; /** @implements Iterator */ -class LinesIterator implements Iterator +final class LinesIterator implements Iterator { /** @var string[] */ private array $lines = []; diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/DirectiveContentRule.php b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/DirectiveContentRule.php index 889286d19..9498de862 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/DirectiveContentRule.php +++ b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/DirectiveContentRule.php @@ -19,7 +19,7 @@ use phpDocumentor\Guides\RestructuredText\Parser\BlockContext; /** @implements Rule */ -class DirectiveContentRule implements Rule +final class DirectiveContentRule implements Rule { public function __construct(private readonly RuleContainer $bodyElements) { diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/AbstractFieldListItemRule.php b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/AbstractFieldListItemRule.php index 9312c616c..5540e4583 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/AbstractFieldListItemRule.php +++ b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/AbstractFieldListItemRule.php @@ -20,7 +20,7 @@ use function strtolower; -class AbstractFieldListItemRule implements FieldListItemRule +final class AbstractFieldListItemRule implements FieldListItemRule { public function applies(FieldListItemNode $fieldListItemNode): bool { diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/AddressFieldListItemRule.php b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/AddressFieldListItemRule.php index 04eca7f23..f2f55cdbf 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/AddressFieldListItemRule.php +++ b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/AddressFieldListItemRule.php @@ -20,7 +20,7 @@ use function strtolower; -class AddressFieldListItemRule implements FieldListItemRule +final class AddressFieldListItemRule implements FieldListItemRule { public function applies(FieldListItemNode $fieldListItemNode): bool { diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/AuthorFieldListItemRule.php b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/AuthorFieldListItemRule.php index 4380a135d..ed39bdf59 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/AuthorFieldListItemRule.php +++ b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/AuthorFieldListItemRule.php @@ -20,7 +20,7 @@ use function strtolower; -class AuthorFieldListItemRule implements FieldListItemRule +final class AuthorFieldListItemRule implements FieldListItemRule { public function applies(FieldListItemNode $fieldListItemNode): bool { diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/AuthorsFieldListItemRule.php b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/AuthorsFieldListItemRule.php index 312ad3403..7a62289f6 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/AuthorsFieldListItemRule.php +++ b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/AuthorsFieldListItemRule.php @@ -27,7 +27,7 @@ use function str_contains; use function strtolower; -class AuthorsFieldListItemRule implements FieldListItemRule +final class AuthorsFieldListItemRule implements FieldListItemRule { public function applies(FieldListItemNode $fieldListItemNode): bool { diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/ContactFieldListItemRule.php b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/ContactFieldListItemRule.php index 55cf4e813..d074f2c71 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/ContactFieldListItemRule.php +++ b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/ContactFieldListItemRule.php @@ -20,7 +20,7 @@ use function strtolower; -class ContactFieldListItemRule implements FieldListItemRule +final class ContactFieldListItemRule implements FieldListItemRule { public function applies(FieldListItemNode $fieldListItemNode): bool { diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/CopyrightFieldListItemRule.php b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/CopyrightFieldListItemRule.php index ce35b1e1b..ebe103183 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/CopyrightFieldListItemRule.php +++ b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/CopyrightFieldListItemRule.php @@ -20,7 +20,7 @@ use function strtolower; -class CopyrightFieldListItemRule implements FieldListItemRule +final class CopyrightFieldListItemRule implements FieldListItemRule { public function applies(FieldListItemNode $fieldListItemNode): bool { diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/DateFieldListItemRule.php b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/DateFieldListItemRule.php index a9ce65ca6..4026d22ea 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/DateFieldListItemRule.php +++ b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/DateFieldListItemRule.php @@ -20,7 +20,7 @@ use function strtolower; -class DateFieldListItemRule implements FieldListItemRule +final class DateFieldListItemRule implements FieldListItemRule { public function applies(FieldListItemNode $fieldListItemNode): bool { diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/DedicationFieldListItemRule.php b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/DedicationFieldListItemRule.php index a76b7d258..35f5bb2e8 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/DedicationFieldListItemRule.php +++ b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/DedicationFieldListItemRule.php @@ -20,7 +20,7 @@ use function strtolower; -class DedicationFieldListItemRule implements FieldListItemRule +final class DedicationFieldListItemRule implements FieldListItemRule { public function applies(FieldListItemNode $fieldListItemNode): bool { diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/NocommentsFieldListItemRule.php b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/NocommentsFieldListItemRule.php index 19fdaf491..0d137e0df 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/NocommentsFieldListItemRule.php +++ b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/NocommentsFieldListItemRule.php @@ -20,7 +20,7 @@ use function strtolower; -class NocommentsFieldListItemRule implements FieldListItemRule +final class NocommentsFieldListItemRule implements FieldListItemRule { public function applies(FieldListItemNode $fieldListItemNode): bool { diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/NosearchFieldListItemRule.php b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/NosearchFieldListItemRule.php index e4eccbedc..dcf60af8d 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/NosearchFieldListItemRule.php +++ b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/NosearchFieldListItemRule.php @@ -20,7 +20,7 @@ use function strtolower; -class NosearchFieldListItemRule implements FieldListItemRule +final class NosearchFieldListItemRule implements FieldListItemRule { public function applies(FieldListItemNode $fieldListItemNode): bool { diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/OrganizationFieldListItemRule.php b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/OrganizationFieldListItemRule.php index 44a14c167..aa9392b15 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/OrganizationFieldListItemRule.php +++ b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/OrganizationFieldListItemRule.php @@ -20,7 +20,7 @@ use function strtolower; -class OrganizationFieldListItemRule implements FieldListItemRule +final class OrganizationFieldListItemRule implements FieldListItemRule { public function applies(FieldListItemNode $fieldListItemNode): bool { diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/OrphanFieldListItemRule.php b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/OrphanFieldListItemRule.php index 40775493e..484432b45 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/OrphanFieldListItemRule.php +++ b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/OrphanFieldListItemRule.php @@ -20,7 +20,7 @@ use function strtolower; -class OrphanFieldListItemRule implements FieldListItemRule +final class OrphanFieldListItemRule implements FieldListItemRule { public function applies(FieldListItemNode $fieldListItemNode): bool { diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/ProjectFieldListItemRule.php b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/ProjectFieldListItemRule.php index f7c05acbc..2f5b4c63e 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/ProjectFieldListItemRule.php +++ b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/ProjectFieldListItemRule.php @@ -21,7 +21,7 @@ use function sprintf; use function strtolower; -class ProjectFieldListItemRule implements FieldListItemRule +final class ProjectFieldListItemRule implements FieldListItemRule { public function __construct(private readonly LoggerInterface $logger) { diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/RevisionFieldListItemRule.php b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/RevisionFieldListItemRule.php index 416ca2388..5988b98eb 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/RevisionFieldListItemRule.php +++ b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/RevisionFieldListItemRule.php @@ -20,7 +20,7 @@ use function strtolower; -class RevisionFieldListItemRule implements FieldListItemRule +final class RevisionFieldListItemRule implements FieldListItemRule { public function applies(FieldListItemNode $fieldListItemNode): bool { diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/TocDepthFieldListItemRule.php b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/TocDepthFieldListItemRule.php index c5589e80d..63ec93e95 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/TocDepthFieldListItemRule.php +++ b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/TocDepthFieldListItemRule.php @@ -20,7 +20,7 @@ use function strtolower; -class TocDepthFieldListItemRule implements FieldListItemRule +final class TocDepthFieldListItemRule implements FieldListItemRule { public function applies(FieldListItemNode $fieldListItemNode): bool { diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/VersionFieldListItemRule.php b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/VersionFieldListItemRule.php index 9fad3cf00..e8825cd62 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/VersionFieldListItemRule.php +++ b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/FieldList/VersionFieldListItemRule.php @@ -21,7 +21,7 @@ use function sprintf; use function strtolower; -class VersionFieldListItemRule implements FieldListItemRule +final class VersionFieldListItemRule implements FieldListItemRule { public function __construct(private readonly LoggerInterface $logger) { diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/AnnotationRoleRule.php b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/AnnotationRoleRule.php index 73fbd55bc..5d39d66b7 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/AnnotationRoleRule.php +++ b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/AnnotationRoleRule.php @@ -23,7 +23,7 @@ /** * Rule to parse for text roles such as ``:ref:`something` ` */ -class AnnotationRoleRule extends AbstractInlineRule +final class AnnotationRoleRule extends AbstractInlineRule { public function applies(InlineLexer $lexer): bool { diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/AnonymousPhraseRule.php b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/AnonymousPhraseRule.php index 2a2bb10b6..2fc596d54 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/AnonymousPhraseRule.php +++ b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/AnonymousPhraseRule.php @@ -28,7 +28,7 @@ * * @see https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#anonymous-hyperlinks */ -class AnonymousPhraseRule extends ReferenceRule +final class AnonymousPhraseRule extends ReferenceRule { use EmbeddedReferenceParser; diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/AnonymousReferenceRule.php b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/AnonymousReferenceRule.php index cdc5517e1..116c6ba84 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/AnonymousReferenceRule.php +++ b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/AnonymousReferenceRule.php @@ -28,7 +28,7 @@ * * @see https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#anonymous-hyperlinks */ -class AnonymousReferenceRule extends ReferenceRule +final class AnonymousReferenceRule extends ReferenceRule { public function applies(InlineLexer $lexer): bool { diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/DefaultTextRoleRule.php b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/DefaultTextRoleRule.php index f050e84cb..f54680da4 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/DefaultTextRoleRule.php +++ b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/DefaultTextRoleRule.php @@ -20,7 +20,7 @@ /** * Rule to parse for default text roles such as `something` */ -class DefaultTextRoleRule extends AbstractInlineRule +final class DefaultTextRoleRule extends AbstractInlineRule { public function applies(InlineLexer $lexer): bool { diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/EmphasisRule.php b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/EmphasisRule.php index e60eb777a..ab8f06449 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/EmphasisRule.php +++ b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/EmphasisRule.php @@ -21,7 +21,7 @@ /** * Rule to parse for default text roles such as `something` */ -class EmphasisRule extends AbstractInlineRule +final class EmphasisRule extends AbstractInlineRule { public function applies(InlineLexer $lexer): bool { diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/EscapeRule.php b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/EscapeRule.php index 796e19b71..a50696271 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/EscapeRule.php +++ b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/EscapeRule.php @@ -23,7 +23,7 @@ /** * Rule to escape characters with a backslash */ -class EscapeRule extends ReferenceRule +final class EscapeRule extends ReferenceRule { public function applies(InlineLexer $lexer): bool { diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/InternalReferenceRule.php b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/InternalReferenceRule.php index 9e5081ae5..13dc4e4ad 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/InternalReferenceRule.php +++ b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/InternalReferenceRule.php @@ -17,7 +17,7 @@ use phpDocumentor\Guides\RestructuredText\Parser\BlockContext; use phpDocumentor\Guides\RestructuredText\Parser\InlineLexer; -class InternalReferenceRule extends ReferenceRule +final class InternalReferenceRule extends ReferenceRule { public function applies(InlineLexer $lexer): bool { diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/LiteralRule.php b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/LiteralRule.php index 805214ca1..d04161e21 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/LiteralRule.php +++ b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/LiteralRule.php @@ -23,7 +23,7 @@ /** * Rule for literals such as ``something`` */ -class LiteralRule extends AbstractInlineRule +final class LiteralRule extends AbstractInlineRule { public function applies(InlineLexer $lexer): bool { diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/NamedPhraseRule.php b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/NamedPhraseRule.php index 5ef60189d..c3243064e 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/NamedPhraseRule.php +++ b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/NamedPhraseRule.php @@ -28,7 +28,7 @@ * * @see https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#hyperlink-references */ -class NamedPhraseRule extends ReferenceRule +final class NamedPhraseRule extends ReferenceRule { use EmbeddedReferenceParser; diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/NamedReferenceRule.php b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/NamedReferenceRule.php index bcc0a2ad1..66d7bf133 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/NamedReferenceRule.php +++ b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/NamedReferenceRule.php @@ -28,7 +28,7 @@ * * @see https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#hyperlink-references */ -class NamedReferenceRule extends ReferenceRule +final class NamedReferenceRule extends ReferenceRule { public function applies(InlineLexer $lexer): bool { diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/NbspRule.php b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/NbspRule.php index 4e3a3947f..056c7e34f 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/NbspRule.php +++ b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/NbspRule.php @@ -20,7 +20,7 @@ /** * Rule to parse for non-breaking spaces: a~b */ -class NbspRule extends ReferenceRule +final class NbspRule extends ReferenceRule { public function applies(InlineLexer $lexer): bool { diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/PlainTextRule.php b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/PlainTextRule.php index 16312406b..42d0e5f33 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/PlainTextRule.php +++ b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/PlainTextRule.php @@ -18,7 +18,7 @@ use phpDocumentor\Guides\RestructuredText\Parser\BlockContext; use phpDocumentor\Guides\RestructuredText\Parser\InlineLexer; -class PlainTextRule implements InlineRule +final class PlainTextRule implements InlineRule { public function applies(InlineLexer $lexer): bool { diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/StandaloneEmailRule.php b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/StandaloneEmailRule.php index 22f4a254e..e5beb95cf 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/StandaloneEmailRule.php +++ b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/StandaloneEmailRule.php @@ -26,7 +26,7 @@ * * @see https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#standalone-hyperlinks */ -class StandaloneEmailRule extends ReferenceRule +final class StandaloneEmailRule extends ReferenceRule { public function applies(InlineLexer $lexer): bool { diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/StandaloneHyperlinkRule.php b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/StandaloneHyperlinkRule.php index 5e49c131a..f7a1ebfd8 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/StandaloneHyperlinkRule.php +++ b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/StandaloneHyperlinkRule.php @@ -26,7 +26,7 @@ * * @see https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#standalone-hyperlinks */ -class StandaloneHyperlinkRule extends ReferenceRule +final class StandaloneHyperlinkRule extends ReferenceRule { public function applies(InlineLexer $lexer): bool { diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/StrongRule.php b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/StrongRule.php index 2a5662705..be51e2d37 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/StrongRule.php +++ b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/StrongRule.php @@ -21,7 +21,7 @@ /** * Rule to parse for default text roles such as `something` */ -class StrongRule extends AbstractInlineRule +final class StrongRule extends AbstractInlineRule { public function applies(InlineLexer $lexer): bool { diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/TextRoleRule.php b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/TextRoleRule.php index 36f36d20f..75180b154 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/TextRoleRule.php +++ b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/TextRoleRule.php @@ -22,7 +22,7 @@ /** * Rule to parse for text roles such as ``:ref:`something` ` */ -class TextRoleRule extends AbstractInlineRule +final class TextRoleRule extends AbstractInlineRule { public function applies(InlineLexer $lexer): bool { diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/VariableInlineRule.php b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/VariableInlineRule.php index 252d82901..c48bfdfde 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/VariableInlineRule.php +++ b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/VariableInlineRule.php @@ -21,7 +21,7 @@ /** * Rule to parse for inline variables such as |replace_me| */ -class VariableInlineRule extends AbstractInlineRule +final class VariableInlineRule extends AbstractInlineRule { public function applies(InlineLexer $lexer): bool { diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/Table/GridTableBuilder.php b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/Table/GridTableBuilder.php index 6171de51e..b3e27c4c6 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/Table/GridTableBuilder.php +++ b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/Table/GridTableBuilder.php @@ -34,7 +34,7 @@ use function str_repeat; use function trim; -class GridTableBuilder +final class GridTableBuilder { public function __construct(private readonly LoggerInterface $logger) { diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/TitleRule.php b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/TitleRule.php index f1e3208b4..af60ac381 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/TitleRule.php +++ b/packages/guides-restructured-text/src/RestructuredText/Parser/Productions/TitleRule.php @@ -31,7 +31,7 @@ * * @implements Rule */ -class TitleRule implements Rule +final class TitleRule implements Rule { private const TITLE_LENGTH_MIN = 2; diff --git a/packages/guides-restructured-text/src/RestructuredText/TextRoles/AbbreviationTextRole.php b/packages/guides-restructured-text/src/RestructuredText/TextRoles/AbbreviationTextRole.php index 0e0dba44b..c1c6d8fa2 100644 --- a/packages/guides-restructured-text/src/RestructuredText/TextRoles/AbbreviationTextRole.php +++ b/packages/guides-restructured-text/src/RestructuredText/TextRoles/AbbreviationTextRole.php @@ -21,7 +21,7 @@ use function preg_match; use function trim; -class AbbreviationTextRole extends BaseTextRole +final class AbbreviationTextRole extends BaseTextRole { protected string $name = 'abbreviation'; diff --git a/packages/guides-restructured-text/src/RestructuredText/TextRoles/DefaultTextRoleFactory.php b/packages/guides-restructured-text/src/RestructuredText/TextRoles/DefaultTextRoleFactory.php index 8c632cfe6..ba1a3769d 100644 --- a/packages/guides-restructured-text/src/RestructuredText/TextRoles/DefaultTextRoleFactory.php +++ b/packages/guides-restructured-text/src/RestructuredText/TextRoles/DefaultTextRoleFactory.php @@ -15,7 +15,7 @@ use function in_array; -class DefaultTextRoleFactory implements TextRoleFactory +final class DefaultTextRoleFactory implements TextRoleFactory { /** @var TextRole[] */ private array $textRoles; diff --git a/packages/guides-restructured-text/src/RestructuredText/TextRoles/DocReferenceTextRole.php b/packages/guides-restructured-text/src/RestructuredText/TextRoles/DocReferenceTextRole.php index 9ab9a9523..6d80ba2b0 100644 --- a/packages/guides-restructured-text/src/RestructuredText/TextRoles/DocReferenceTextRole.php +++ b/packages/guides-restructured-text/src/RestructuredText/TextRoles/DocReferenceTextRole.php @@ -17,7 +17,7 @@ use phpDocumentor\Guides\Nodes\Inline\DocReferenceNode; use phpDocumentor\Guides\RestructuredText\Parser\Interlink\InterlinkParser; -class DocReferenceTextRole extends AbstractReferenceTextRole +final class DocReferenceTextRole extends AbstractReferenceTextRole { final public const NAME = 'doc'; diff --git a/packages/guides-restructured-text/src/RestructuredText/TextRoles/GenericReferenceTextRole.php b/packages/guides-restructured-text/src/RestructuredText/TextRoles/GenericReferenceTextRole.php index c3c89c2af..1dd53a8de 100644 --- a/packages/guides-restructured-text/src/RestructuredText/TextRoles/GenericReferenceTextRole.php +++ b/packages/guides-restructured-text/src/RestructuredText/TextRoles/GenericReferenceTextRole.php @@ -20,7 +20,7 @@ use function array_keys; -class GenericReferenceTextRole extends AbstractReferenceTextRole +final class GenericReferenceTextRole extends AbstractReferenceTextRole { public function __construct( private readonly GenericLinkProvider $genericLinkProvider, diff --git a/packages/guides-restructured-text/src/RestructuredText/TextRoles/GenericTextRole.php b/packages/guides-restructured-text/src/RestructuredText/TextRoles/GenericTextRole.php index 612d97969..f2ad3ca84 100644 --- a/packages/guides-restructured-text/src/RestructuredText/TextRoles/GenericTextRole.php +++ b/packages/guides-restructured-text/src/RestructuredText/TextRoles/GenericTextRole.php @@ -16,7 +16,7 @@ use phpDocumentor\Guides\Nodes\Inline\GenericTextRoleInlineNode; use phpDocumentor\Guides\RestructuredText\Parser\DocumentParserContext; -class GenericTextRole extends BaseTextRole +final class GenericTextRole extends BaseTextRole { protected string $name = 'default'; protected string|null $baseRole = null; diff --git a/packages/guides-restructured-text/src/RestructuredText/TextRoles/LiteralTextRole.php b/packages/guides-restructured-text/src/RestructuredText/TextRoles/LiteralTextRole.php index 0bae87705..a19e2ffda 100644 --- a/packages/guides-restructured-text/src/RestructuredText/TextRoles/LiteralTextRole.php +++ b/packages/guides-restructured-text/src/RestructuredText/TextRoles/LiteralTextRole.php @@ -16,7 +16,7 @@ use phpDocumentor\Guides\Nodes\Inline\GenericTextRoleInlineNode; use phpDocumentor\Guides\RestructuredText\Parser\DocumentParserContext; -class LiteralTextRole extends BaseTextRole +final class LiteralTextRole extends BaseTextRole { protected string $name = 'literal'; diff --git a/packages/guides-restructured-text/src/RestructuredText/TextRoles/MathTextRole.php b/packages/guides-restructured-text/src/RestructuredText/TextRoles/MathTextRole.php index 4edb0b648..3522ea367 100644 --- a/packages/guides-restructured-text/src/RestructuredText/TextRoles/MathTextRole.php +++ b/packages/guides-restructured-text/src/RestructuredText/TextRoles/MathTextRole.php @@ -16,7 +16,7 @@ use phpDocumentor\Guides\Nodes\Inline\GenericTextRoleInlineNode; use phpDocumentor\Guides\RestructuredText\Parser\DocumentParserContext; -class MathTextRole extends BaseTextRole +final class MathTextRole extends BaseTextRole { protected string $name = 'math'; diff --git a/packages/guides-restructured-text/src/RestructuredText/TextRoles/ReferenceTextRole.php b/packages/guides-restructured-text/src/RestructuredText/TextRoles/ReferenceTextRole.php index 2bfb74c4f..7d76d324e 100644 --- a/packages/guides-restructured-text/src/RestructuredText/TextRoles/ReferenceTextRole.php +++ b/packages/guides-restructured-text/src/RestructuredText/TextRoles/ReferenceTextRole.php @@ -16,7 +16,7 @@ use phpDocumentor\Guides\Nodes\Inline\AbstractLinkInlineNode; use phpDocumentor\Guides\Nodes\Inline\ReferenceNode; -class ReferenceTextRole extends AbstractReferenceTextRole +final class ReferenceTextRole extends AbstractReferenceTextRole { final public const NAME = 'ref'; diff --git a/packages/guides-restructured-text/src/RestructuredText/TextRoles/SpanTextRole.php b/packages/guides-restructured-text/src/RestructuredText/TextRoles/SpanTextRole.php index a13a3b167..81bf94db1 100644 --- a/packages/guides-restructured-text/src/RestructuredText/TextRoles/SpanTextRole.php +++ b/packages/guides-restructured-text/src/RestructuredText/TextRoles/SpanTextRole.php @@ -27,7 +27,7 @@ * * ``` */ -class SpanTextRole extends BaseTextRole +final class SpanTextRole extends BaseTextRole { protected string $name = 'span'; diff --git a/packages/guides-restructured-text/src/RestructuredText/Toc/GlobSearcher.php b/packages/guides-restructured-text/src/RestructuredText/Toc/GlobSearcher.php index 0b8177296..4dbb0a46f 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Toc/GlobSearcher.php +++ b/packages/guides-restructured-text/src/RestructuredText/Toc/GlobSearcher.php @@ -19,7 +19,7 @@ use function rtrim; -class GlobSearcher +final class GlobSearcher { public function __construct( private readonly DocumentNameResolverInterface $documentNameResolver, diff --git a/packages/guides-restructured-text/src/RestructuredText/Toc/ToctreeBuilder.php b/packages/guides-restructured-text/src/RestructuredText/Toc/ToctreeBuilder.php index abd1f9d5f..baf2870ea 100644 --- a/packages/guides-restructured-text/src/RestructuredText/Toc/ToctreeBuilder.php +++ b/packages/guides-restructured-text/src/RestructuredText/Toc/ToctreeBuilder.php @@ -29,7 +29,7 @@ use const FILTER_VALIDATE_URL; -class ToctreeBuilder +final class ToctreeBuilder { use EmbeddedReferenceParser; diff --git a/packages/guides-restructured-text/tests/unit/Parser/DummyBaseDirective.php b/packages/guides-restructured-text/tests/unit/Parser/DummyBaseDirective.php index 51bc10bd6..1116fbe92 100644 --- a/packages/guides-restructured-text/tests/unit/Parser/DummyBaseDirective.php +++ b/packages/guides-restructured-text/tests/unit/Parser/DummyBaseDirective.php @@ -16,7 +16,7 @@ use phpDocumentor\Guides\Nodes\Node; use phpDocumentor\Guides\RestructuredText\Directives\BaseDirective as DirectiveHandler; -class DummyBaseDirective extends DirectiveHandler +final class DummyBaseDirective extends DirectiveHandler { private string $name = 'dummy'; diff --git a/packages/guides-restructured-text/tests/unit/Parser/DummyNode.php b/packages/guides-restructured-text/tests/unit/Parser/DummyNode.php index 387261fc6..f68516ec8 100644 --- a/packages/guides-restructured-text/tests/unit/Parser/DummyNode.php +++ b/packages/guides-restructured-text/tests/unit/Parser/DummyNode.php @@ -15,7 +15,7 @@ use phpDocumentor\Guides\Nodes\Node; -class DummyNode implements Node +final class DummyNode implements Node { /** @param DirectiveOption[] $directiveOptions */ public function __construct(private readonly string $name, private readonly string $data, private readonly array $directiveOptions) diff --git a/packages/guides-restructured-text/tests/unit/Parser/InlineLexerTest.php b/packages/guides-restructured-text/tests/unit/Parser/InlineLexerTest.php index 42f067e66..f4f49dfb3 100644 --- a/packages/guides-restructured-text/tests/unit/Parser/InlineLexerTest.php +++ b/packages/guides-restructured-text/tests/unit/Parser/InlineLexerTest.php @@ -18,7 +18,7 @@ use function PHPUnit\Framework\assertEquals; -class InlineLexerTest extends TestCase +final class InlineLexerTest extends TestCase { /** @param int[] $result */ #[DataProvider('inlineLexerProvider')] diff --git a/packages/guides-restructured-text/tests/unit/Parser/Productions/CollectAllRule.php b/packages/guides-restructured-text/tests/unit/Parser/Productions/CollectAllRule.php index 1154b6c98..eec975b2d 100644 --- a/packages/guides-restructured-text/tests/unit/Parser/Productions/CollectAllRule.php +++ b/packages/guides-restructured-text/tests/unit/Parser/Productions/CollectAllRule.php @@ -20,7 +20,7 @@ use phpDocumentor\Guides\RestructuredText\Parser\Buffer; /** @implements Rule */ -class CollectAllRule implements Rule +final class CollectAllRule implements Rule { public function applies(BlockContext $blockContext): bool { diff --git a/packages/guides-restructured-text/tests/unit/Parser/Productions/LinkRuleTest.php b/packages/guides-restructured-text/tests/unit/Parser/Productions/LinkRuleTest.php index 1f9b1ef50..5a3ad3bcc 100644 --- a/packages/guides-restructured-text/tests/unit/Parser/Productions/LinkRuleTest.php +++ b/packages/guides-restructured-text/tests/unit/Parser/Productions/LinkRuleTest.php @@ -17,7 +17,7 @@ use phpDocumentor\Guides\Nodes\AnchorNode; use PHPUnit\Framework\Attributes\DataProvider; -class LinkRuleTest extends RuleTestCase +final class LinkRuleTest extends RuleTestCase { private LinkRule $rule; diff --git a/packages/guides-restructured-text/tests/unit/Parser/Productions/SimpleTableRuleTest.php b/packages/guides-restructured-text/tests/unit/Parser/Productions/SimpleTableRuleTest.php index 43b23f8a9..0b03f9dbd 100644 --- a/packages/guides-restructured-text/tests/unit/Parser/Productions/SimpleTableRuleTest.php +++ b/packages/guides-restructured-text/tests/unit/Parser/Productions/SimpleTableRuleTest.php @@ -20,7 +20,7 @@ use phpDocumentor\Guides\Nodes\TableNode; use PHPUnit\Framework\Attributes\DataProvider; -class SimpleTableRuleTest extends RuleTestCase +final class SimpleTableRuleTest extends RuleTestCase { private SimpleTableRule $rule; diff --git a/packages/guides-restructured-text/tests/unit/TextRoles/DefaultTextRoleFactoryTest.php b/packages/guides-restructured-text/tests/unit/TextRoles/DefaultTextRoleFactoryTest.php index 8ce2f8e36..8e5d396bd 100644 --- a/packages/guides-restructured-text/tests/unit/TextRoles/DefaultTextRoleFactoryTest.php +++ b/packages/guides-restructured-text/tests/unit/TextRoles/DefaultTextRoleFactoryTest.php @@ -16,7 +16,7 @@ use Monolog\Logger; use PHPUnit\Framework\TestCase; -class DefaultTextRoleFactoryTest extends TestCase +final class DefaultTextRoleFactoryTest extends TestCase { private Logger $logger; private DefaultTextRoleFactory $defaultTextRoleFactory; diff --git a/packages/guides-restructured-text/tests/unit/TextRoles/DocReferenceTextRoleTest.php b/packages/guides-restructured-text/tests/unit/TextRoles/DocReferenceTextRoleTest.php index fc3a31cfa..eba117f86 100644 --- a/packages/guides-restructured-text/tests/unit/TextRoles/DocReferenceTextRoleTest.php +++ b/packages/guides-restructured-text/tests/unit/TextRoles/DocReferenceTextRoleTest.php @@ -20,7 +20,7 @@ use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; -class DocReferenceTextRoleTest extends TestCase +final class DocReferenceTextRoleTest extends TestCase { private DocReferenceTextRole $docReferenceTextRole; private DocumentParserContext&MockObject $documentParserContext; diff --git a/packages/guides-restructured-text/tests/unit/TextRoles/ReferenceTextRoleTest.php b/packages/guides-restructured-text/tests/unit/TextRoles/ReferenceTextRoleTest.php index 755779b5f..fe1c4e168 100644 --- a/packages/guides-restructured-text/tests/unit/TextRoles/ReferenceTextRoleTest.php +++ b/packages/guides-restructured-text/tests/unit/TextRoles/ReferenceTextRoleTest.php @@ -19,7 +19,7 @@ use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; -class ReferenceTextRoleTest extends TestCase +final class ReferenceTextRoleTest extends TestCase { private ReferenceTextRole $referenceTextRole; private DocumentParserContext&MockObject $documentParserContext; diff --git a/packages/guides-theme-bootstrap/src/Bootstrap/DependencyInjection/BootstrapExtension.php b/packages/guides-theme-bootstrap/src/Bootstrap/DependencyInjection/BootstrapExtension.php index 7ee3d794f..d620ee7b1 100644 --- a/packages/guides-theme-bootstrap/src/Bootstrap/DependencyInjection/BootstrapExtension.php +++ b/packages/guides-theme-bootstrap/src/Bootstrap/DependencyInjection/BootstrapExtension.php @@ -21,7 +21,7 @@ use function dirname; -class BootstrapExtension extends Extension implements PrependExtensionInterface +final class BootstrapExtension extends Extension implements PrependExtensionInterface { /** @param mixed[] $configs */ public function load(array $configs, ContainerBuilder $container): void diff --git a/packages/guides-theme-bootstrap/src/Bootstrap/Directives/TabDirective.php b/packages/guides-theme-bootstrap/src/Bootstrap/Directives/TabDirective.php index b516fc8f4..4dd4ae991 100644 --- a/packages/guides-theme-bootstrap/src/Bootstrap/Directives/TabDirective.php +++ b/packages/guides-theme-bootstrap/src/Bootstrap/Directives/TabDirective.php @@ -27,7 +27,7 @@ use function strtolower; use function strval; -class TabDirective extends SubDirective +final class TabDirective extends SubDirective { public function getName(): string { diff --git a/packages/guides-theme-bootstrap/src/Bootstrap/Directives/TabsDirective.php b/packages/guides-theme-bootstrap/src/Bootstrap/Directives/TabsDirective.php index 967108bd7..5cff70f3d 100644 --- a/packages/guides-theme-bootstrap/src/Bootstrap/Directives/TabsDirective.php +++ b/packages/guides-theme-bootstrap/src/Bootstrap/Directives/TabsDirective.php @@ -27,7 +27,7 @@ use function is_string; -class TabsDirective extends SubDirective +final class TabsDirective extends SubDirective { private int $tabsCounter = 0; diff --git a/packages/guides-theme-bootstrap/src/Bootstrap/Nodes/AbstractTabNode.php b/packages/guides-theme-bootstrap/src/Bootstrap/Nodes/AbstractTabNode.php index 87763087d..cdf06e90c 100644 --- a/packages/guides-theme-bootstrap/src/Bootstrap/Nodes/AbstractTabNode.php +++ b/packages/guides-theme-bootstrap/src/Bootstrap/Nodes/AbstractTabNode.php @@ -35,7 +35,7 @@ public function getKey(): string { return $this->key; } - + public function isActive(): bool { return $this->active; diff --git a/packages/guides/src/Compiler/Compiler.php b/packages/guides/src/Compiler/Compiler.php index c7e0ca7ef..9eb413947 100644 --- a/packages/guides/src/Compiler/Compiler.php +++ b/packages/guides/src/Compiler/Compiler.php @@ -18,7 +18,7 @@ use phpDocumentor\Guides\Nodes\DocumentNode; use SplPriorityQueue; -class Compiler +final class Compiler { /** @var SplPriorityQueue */ private readonly SplPriorityQueue $passes; diff --git a/packages/guides/src/Compiler/CompilerContext.php b/packages/guides/src/Compiler/CompilerContext.php index c1a26c1ec..64cf46544 100644 --- a/packages/guides/src/Compiler/CompilerContext.php +++ b/packages/guides/src/Compiler/CompilerContext.php @@ -19,7 +19,7 @@ use phpDocumentor\Guides\Nodes\Node; use phpDocumentor\Guides\Nodes\ProjectNode; -class CompilerContext +final class CompilerContext { /** @var TreeNode */ private TreeNode $shadowTree; diff --git a/packages/guides/src/Compiler/NodeTransformers/CitationInlineNodeTransformer.php b/packages/guides/src/Compiler/NodeTransformers/CitationInlineNodeTransformer.php index 4013f0a88..d41ccf37e 100644 --- a/packages/guides/src/Compiler/NodeTransformers/CitationInlineNodeTransformer.php +++ b/packages/guides/src/Compiler/NodeTransformers/CitationInlineNodeTransformer.php @@ -19,7 +19,7 @@ use phpDocumentor\Guides\Nodes\Node; /** @implements NodeTransformer */ -class CitationInlineNodeTransformer implements NodeTransformer +final class CitationInlineNodeTransformer implements NodeTransformer { public function enterNode(Node $node, CompilerContext $compilerContext): Node { diff --git a/packages/guides/src/Compiler/NodeTransformers/CitationTargetTransformer.php b/packages/guides/src/Compiler/NodeTransformers/CitationTargetTransformer.php index 5f748f23e..926216746 100644 --- a/packages/guides/src/Compiler/NodeTransformers/CitationTargetTransformer.php +++ b/packages/guides/src/Compiler/NodeTransformers/CitationTargetTransformer.php @@ -20,7 +20,7 @@ use phpDocumentor\Guides\Nodes\Node; /** @implements NodeTransformer */ -class CitationTargetTransformer implements NodeTransformer +final class CitationTargetTransformer implements NodeTransformer { public function enterNode(Node $node, CompilerContext $compilerContext): Node { diff --git a/packages/guides/src/Compiler/NodeTransformers/ClassNodeTransformer.php b/packages/guides/src/Compiler/NodeTransformers/ClassNodeTransformer.php index 76b95729c..22fb83fb9 100644 --- a/packages/guides/src/Compiler/NodeTransformers/ClassNodeTransformer.php +++ b/packages/guides/src/Compiler/NodeTransformers/ClassNodeTransformer.php @@ -27,7 +27,7 @@ * The "class" directive sets the "classes" attribute value on its content or on the first immediately following * non-comment element. https://docutils.sourceforge.io/docs/ref/rst/directives.html#class */ -class ClassNodeTransformer implements NodeTransformer +final class ClassNodeTransformer implements NodeTransformer { /** @var string[] */ private array $classes = []; diff --git a/packages/guides/src/Compiler/NodeTransformers/DocumentBlockNodeTransformer.php b/packages/guides/src/Compiler/NodeTransformers/DocumentBlockNodeTransformer.php index 6215405f8..4936ec85e 100644 --- a/packages/guides/src/Compiler/NodeTransformers/DocumentBlockNodeTransformer.php +++ b/packages/guides/src/Compiler/NodeTransformers/DocumentBlockNodeTransformer.php @@ -25,7 +25,7 @@ * The "class" directive sets the "classes" attribute value on its content or on the first immediately following * non-comment element. https://docutils.sourceforge.io/docs/ref/rst/directives.html#class */ -class DocumentBlockNodeTransformer implements NodeTransformer +final class DocumentBlockNodeTransformer implements NodeTransformer { public function enterNode(Node $node, CompilerContext $compilerContext): Node { diff --git a/packages/guides/src/Compiler/NodeTransformers/DocumentEntryRegistrationTransformer.php b/packages/guides/src/Compiler/NodeTransformers/DocumentEntryRegistrationTransformer.php index d0cfafa40..1a01611ec 100644 --- a/packages/guides/src/Compiler/NodeTransformers/DocumentEntryRegistrationTransformer.php +++ b/packages/guides/src/Compiler/NodeTransformers/DocumentEntryRegistrationTransformer.php @@ -22,7 +22,7 @@ use Psr\Log\LoggerInterface; /** @implements NodeTransformer */ -class DocumentEntryRegistrationTransformer implements NodeTransformer +final class DocumentEntryRegistrationTransformer implements NodeTransformer { public function __construct( private readonly LoggerInterface $logger, diff --git a/packages/guides/src/Compiler/NodeTransformers/FootNodeNamedTransformer.php b/packages/guides/src/Compiler/NodeTransformers/FootNodeNamedTransformer.php index ee7d2f2a3..43b96a390 100644 --- a/packages/guides/src/Compiler/NodeTransformers/FootNodeNamedTransformer.php +++ b/packages/guides/src/Compiler/NodeTransformers/FootNodeNamedTransformer.php @@ -20,7 +20,7 @@ use phpDocumentor\Guides\Nodes\Node; /** @implements NodeTransformer */ -class FootNodeNamedTransformer implements NodeTransformer +final class FootNodeNamedTransformer implements NodeTransformer { public function enterNode(Node $node, CompilerContext $compilerContext): Node { diff --git a/packages/guides/src/Compiler/NodeTransformers/FootNodeNumberedTransformer.php b/packages/guides/src/Compiler/NodeTransformers/FootNodeNumberedTransformer.php index b6c08e31a..ac7903cb5 100644 --- a/packages/guides/src/Compiler/NodeTransformers/FootNodeNumberedTransformer.php +++ b/packages/guides/src/Compiler/NodeTransformers/FootNodeNumberedTransformer.php @@ -20,7 +20,7 @@ use phpDocumentor\Guides\Nodes\Node; /** @implements NodeTransformer */ -class FootNodeNumberedTransformer implements NodeTransformer +final class FootNodeNumberedTransformer implements NodeTransformer { public function enterNode(Node $node, CompilerContext $compilerContext): Node { diff --git a/packages/guides/src/Compiler/NodeTransformers/FootnoteInlineNodeTransformer.php b/packages/guides/src/Compiler/NodeTransformers/FootnoteInlineNodeTransformer.php index 572eb92d0..844726b64 100644 --- a/packages/guides/src/Compiler/NodeTransformers/FootnoteInlineNodeTransformer.php +++ b/packages/guides/src/Compiler/NodeTransformers/FootnoteInlineNodeTransformer.php @@ -19,7 +19,7 @@ use phpDocumentor\Guides\Nodes\Node; /** @implements NodeTransformer */ -class FootnoteInlineNodeTransformer implements NodeTransformer +final class FootnoteInlineNodeTransformer implements NodeTransformer { public function enterNode(Node $node, CompilerContext $compilerContext): Node { diff --git a/packages/guides/src/Compiler/NodeTransformers/MenuNodeTransformers/InternalMenuEntryNodeTransformer.php b/packages/guides/src/Compiler/NodeTransformers/MenuNodeTransformers/InternalMenuEntryNodeTransformer.php index cbd5fea9c..a5e74374c 100644 --- a/packages/guides/src/Compiler/NodeTransformers/MenuNodeTransformers/InternalMenuEntryNodeTransformer.php +++ b/packages/guides/src/Compiler/NodeTransformers/MenuNodeTransformers/InternalMenuEntryNodeTransformer.php @@ -26,7 +26,7 @@ use function implode; use function sprintf; -class InternalMenuEntryNodeTransformer extends AbstractMenuEntryNodeTransformer +final class InternalMenuEntryNodeTransformer extends AbstractMenuEntryNodeTransformer { use MenuEntryManagement; use SubSectionHierarchyHandler; diff --git a/packages/guides/src/Compiler/NodeTransformers/MenuNodeTransformers/SubInternalMenuEntryNodeTransformer.php b/packages/guides/src/Compiler/NodeTransformers/MenuNodeTransformers/SubInternalMenuEntryNodeTransformer.php index 9d9d7b432..d0555af72 100644 --- a/packages/guides/src/Compiler/NodeTransformers/MenuNodeTransformers/SubInternalMenuEntryNodeTransformer.php +++ b/packages/guides/src/Compiler/NodeTransformers/MenuNodeTransformers/SubInternalMenuEntryNodeTransformer.php @@ -24,7 +24,7 @@ use function assert; use function sprintf; -class SubInternalMenuEntryNodeTransformer extends AbstractMenuEntryNodeTransformer +final class SubInternalMenuEntryNodeTransformer extends AbstractMenuEntryNodeTransformer { use MenuEntryManagement; use SubSectionHierarchyHandler; diff --git a/packages/guides/src/Compiler/NodeTransformers/SectionEntryRegistrationTransformer.php b/packages/guides/src/Compiler/NodeTransformers/SectionEntryRegistrationTransformer.php index 3b0afa9af..136964ec3 100644 --- a/packages/guides/src/Compiler/NodeTransformers/SectionEntryRegistrationTransformer.php +++ b/packages/guides/src/Compiler/NodeTransformers/SectionEntryRegistrationTransformer.php @@ -25,7 +25,7 @@ use function end; /** @implements NodeTransformer */ -class SectionEntryRegistrationTransformer implements NodeTransformer +final class SectionEntryRegistrationTransformer implements NodeTransformer { /** @var SectionEntryNode[] $sectionStack */ private array $sectionStack = []; diff --git a/packages/guides/src/Compiler/NodeTransformers/VariableInlineNodeTransformer.php b/packages/guides/src/Compiler/NodeTransformers/VariableInlineNodeTransformer.php index 5de3d6aba..7d53eac8c 100644 --- a/packages/guides/src/Compiler/NodeTransformers/VariableInlineNodeTransformer.php +++ b/packages/guides/src/Compiler/NodeTransformers/VariableInlineNodeTransformer.php @@ -26,7 +26,7 @@ * The "class" directive sets the "classes" attribute value on its content or on the first immediately following * non-comment element. https://docutils.sourceforge.io/docs/ref/rst/directives.html#class */ -class VariableInlineNodeTransformer implements NodeTransformer +final class VariableInlineNodeTransformer implements NodeTransformer { public function __construct( private readonly LoggerInterface $logger, diff --git a/packages/guides/src/Compiler/Passes/GlobalMenuPass.php b/packages/guides/src/Compiler/Passes/GlobalMenuPass.php index eaf1d4776..11d6c88c7 100644 --- a/packages/guides/src/Compiler/Passes/GlobalMenuPass.php +++ b/packages/guides/src/Compiler/Passes/GlobalMenuPass.php @@ -29,7 +29,7 @@ use const PHP_INT_MAX; -class GlobalMenuPass implements CompilerPass +final class GlobalMenuPass implements CompilerPass { public function __construct( private readonly SettingsManager $settingsManager, diff --git a/packages/guides/src/Compiler/Passes/ImplicitHyperlinkTargetPass.php b/packages/guides/src/Compiler/Passes/ImplicitHyperlinkTargetPass.php index 6e345f9a2..260bab199 100644 --- a/packages/guides/src/Compiler/Passes/ImplicitHyperlinkTargetPass.php +++ b/packages/guides/src/Compiler/Passes/ImplicitHyperlinkTargetPass.php @@ -35,7 +35,7 @@ * This follows the reStructuredText rules as outlined in: * https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#implicit-hyperlink-targets */ -class ImplicitHyperlinkTargetPass implements CompilerPass +final class ImplicitHyperlinkTargetPass implements CompilerPass { public function getPriority(): int { diff --git a/packages/guides/src/DependencyInjection/CommandLocator.php b/packages/guides/src/DependencyInjection/CommandLocator.php index 429915b82..4f339ba0d 100644 --- a/packages/guides/src/DependencyInjection/CommandLocator.php +++ b/packages/guides/src/DependencyInjection/CommandLocator.php @@ -22,7 +22,7 @@ use function is_object; use function sprintf; -class CommandLocator implements HandlerLocator +final class CommandLocator implements HandlerLocator { public function __construct(private readonly ContainerInterface $commands) { diff --git a/packages/guides/src/DependencyInjection/Compiler/ParserRulesPass.php b/packages/guides/src/DependencyInjection/Compiler/ParserRulesPass.php index a50d1e456..da70456e9 100644 --- a/packages/guides/src/DependencyInjection/Compiler/ParserRulesPass.php +++ b/packages/guides/src/DependencyInjection/Compiler/ParserRulesPass.php @@ -17,7 +17,7 @@ use Symfony\Component\DependencyInjection\Compiler\PriorityTaggedServiceTrait; use Symfony\Component\DependencyInjection\ContainerBuilder; -class ParserRulesPass implements CompilerPassInterface +final class ParserRulesPass implements CompilerPassInterface { use PriorityTaggedServiceTrait; diff --git a/packages/guides/src/DependencyInjection/GuidesExtension.php b/packages/guides/src/DependencyInjection/GuidesExtension.php index 582787593..8f59d2b12 100644 --- a/packages/guides/src/DependencyInjection/GuidesExtension.php +++ b/packages/guides/src/DependencyInjection/GuidesExtension.php @@ -40,7 +40,7 @@ use function is_array; use function pathinfo; -class GuidesExtension extends Extension implements CompilerPassInterface, ConfigurationInterface, PrependExtensionInterface +final class GuidesExtension extends Extension implements CompilerPassInterface, ConfigurationInterface, PrependExtensionInterface { public function getConfigTreeBuilder(): TreeBuilder { diff --git a/packages/guides/src/DependencyInjection/TestExtension.php b/packages/guides/src/DependencyInjection/TestExtension.php index 582f6ef7a..fa6d0a6a5 100644 --- a/packages/guides/src/DependencyInjection/TestExtension.php +++ b/packages/guides/src/DependencyInjection/TestExtension.php @@ -25,7 +25,7 @@ use Symfony\Component\DependencyInjection\Extension\Extension; use Symfony\Component\DependencyInjection\Reference; -class TestExtension extends Extension implements CompilerPassInterface +final class TestExtension extends Extension implements CompilerPassInterface { /** @param array $configs */ public function load(array $configs, ContainerBuilder $container): void diff --git a/packages/guides/src/FileCollector.php b/packages/guides/src/FileCollector.php index fc696e287..96adc1baa 100644 --- a/packages/guides/src/FileCollector.php +++ b/packages/guides/src/FileCollector.php @@ -25,7 +25,7 @@ use function substr; use function trim; -class FileCollector +final class FileCollector { /** @var string[][] */ private array $fileInfos = []; diff --git a/packages/guides/src/Meta/CitationTarget.php b/packages/guides/src/Meta/CitationTarget.php index 0845d592f..35484e278 100644 --- a/packages/guides/src/Meta/CitationTarget.php +++ b/packages/guides/src/Meta/CitationTarget.php @@ -13,6 +13,6 @@ namespace phpDocumentor\Guides\Meta; -class CitationTarget extends AnnotationTarget +final class CitationTarget extends AnnotationTarget { } diff --git a/packages/guides/src/Meta/ExternalTarget.php b/packages/guides/src/Meta/ExternalTarget.php index 58ade56d5..5921d541c 100644 --- a/packages/guides/src/Meta/ExternalTarget.php +++ b/packages/guides/src/Meta/ExternalTarget.php @@ -13,7 +13,7 @@ namespace phpDocumentor\Guides\Meta; -class ExternalTarget implements Target +final class ExternalTarget implements Target { public function __construct( private readonly string $url, diff --git a/packages/guides/src/Meta/FootnoteTarget.php b/packages/guides/src/Meta/FootnoteTarget.php index 6c2d0638c..928e53538 100644 --- a/packages/guides/src/Meta/FootnoteTarget.php +++ b/packages/guides/src/Meta/FootnoteTarget.php @@ -13,7 +13,7 @@ namespace phpDocumentor\Guides\Meta; -class FootnoteTarget extends AnnotationTarget +final class FootnoteTarget extends AnnotationTarget { public function __construct(string $documentPath, string $anchorName, string $name, private int $number) { diff --git a/packages/guides/src/NodeRenderers/DefaultNodeRenderer.php b/packages/guides/src/NodeRenderers/DefaultNodeRenderer.php index 68cc211bf..da9a68cbc 100644 --- a/packages/guides/src/NodeRenderers/DefaultNodeRenderer.php +++ b/packages/guides/src/NodeRenderers/DefaultNodeRenderer.php @@ -23,7 +23,7 @@ use function sprintf; /** @implements NodeRenderer */ -class DefaultNodeRenderer implements NodeRenderer, NodeRendererFactoryAware +final class DefaultNodeRenderer implements NodeRenderer, NodeRendererFactoryAware { private NodeRendererFactory|null $nodeRendererFactory = null; diff --git a/packages/guides/src/NodeRenderers/Html/BreadCrumbNodeRenderer.php b/packages/guides/src/NodeRenderers/Html/BreadCrumbNodeRenderer.php index c42f95fe9..8c4d28da1 100644 --- a/packages/guides/src/NodeRenderers/Html/BreadCrumbNodeRenderer.php +++ b/packages/guides/src/NodeRenderers/Html/BreadCrumbNodeRenderer.php @@ -30,7 +30,7 @@ * @template T as Node * @implements NodeRenderer */ -class BreadCrumbNodeRenderer implements NodeRenderer +final class BreadCrumbNodeRenderer implements NodeRenderer { private string $template = 'body/menu/breadcrumb.html.twig'; diff --git a/packages/guides/src/NodeRenderers/Html/TableNodeRenderer.php b/packages/guides/src/NodeRenderers/Html/TableNodeRenderer.php index a7fa8d7dc..e7f5b02bc 100644 --- a/packages/guides/src/NodeRenderers/Html/TableNodeRenderer.php +++ b/packages/guides/src/NodeRenderers/Html/TableNodeRenderer.php @@ -22,7 +22,7 @@ use function is_a; /** @implements NodeRenderer */ -class TableNodeRenderer implements NodeRenderer +final class TableNodeRenderer implements NodeRenderer { public function __construct(private readonly TemplateRenderer $renderer) { diff --git a/packages/guides/src/NodeRenderers/InMemoryNodeRendererFactory.php b/packages/guides/src/NodeRenderers/InMemoryNodeRendererFactory.php index ec1d15134..0382c31ae 100644 --- a/packages/guides/src/NodeRenderers/InMemoryNodeRendererFactory.php +++ b/packages/guides/src/NodeRenderers/InMemoryNodeRendererFactory.php @@ -15,7 +15,7 @@ use phpDocumentor\Guides\Nodes\Node; -class InMemoryNodeRendererFactory implements NodeRendererFactory +final class InMemoryNodeRendererFactory implements NodeRendererFactory { /** @var array, NodeRenderer> */ private array $cache = []; diff --git a/packages/guides/src/NodeRenderers/LaTeX/TableNodeRenderer.php b/packages/guides/src/NodeRenderers/LaTeX/TableNodeRenderer.php index 918162b68..5306da635 100644 --- a/packages/guides/src/NodeRenderers/LaTeX/TableNodeRenderer.php +++ b/packages/guides/src/NodeRenderers/LaTeX/TableNodeRenderer.php @@ -29,7 +29,7 @@ use function max; /** @implements NodeRenderer */ -class TableNodeRenderer implements NodeRenderer, NodeRendererFactoryAware +final class TableNodeRenderer implements NodeRenderer, NodeRendererFactoryAware { private NodeRendererFactory|null $nodeRendererFactory = null; diff --git a/packages/guides/src/NodeRenderers/LaTeX/TitleNodeRenderer.php b/packages/guides/src/NodeRenderers/LaTeX/TitleNodeRenderer.php index 61bcce73f..4f0cab2a7 100644 --- a/packages/guides/src/NodeRenderers/LaTeX/TitleNodeRenderer.php +++ b/packages/guides/src/NodeRenderers/LaTeX/TitleNodeRenderer.php @@ -23,7 +23,7 @@ use function is_a; /** @implements NodeRenderer */ -class TitleNodeRenderer implements NodeRenderer +final class TitleNodeRenderer implements NodeRenderer { public function __construct(private readonly TemplateRenderer $renderer) { diff --git a/packages/guides/src/NodeRenderers/LaTeX/TocNodeRenderer.php b/packages/guides/src/NodeRenderers/LaTeX/TocNodeRenderer.php index afdef02f6..eb1942da4 100644 --- a/packages/guides/src/NodeRenderers/LaTeX/TocNodeRenderer.php +++ b/packages/guides/src/NodeRenderers/LaTeX/TocNodeRenderer.php @@ -23,7 +23,7 @@ use function is_a; /** @implements NodeRenderer */ -class TocNodeRenderer implements NodeRenderer +final class TocNodeRenderer implements NodeRenderer { public function __construct(private readonly TemplateRenderer $renderer) { diff --git a/packages/guides/src/Nodes/CitationNode.php b/packages/guides/src/Nodes/CitationNode.php index 039e3ef45..b0a8d6abf 100644 --- a/packages/guides/src/Nodes/CitationNode.php +++ b/packages/guides/src/Nodes/CitationNode.php @@ -22,7 +22,7 @@ * * .. [Ref] Book or article reference, URL or whatever. */ -class CitationNode extends AnnotationNode +final class CitationNode extends AnnotationNode { public function getAnchor(): string { diff --git a/packages/guides/src/Nodes/ClassNode.php b/packages/guides/src/Nodes/ClassNode.php index db2b7d260..a2c1e6625 100644 --- a/packages/guides/src/Nodes/ClassNode.php +++ b/packages/guides/src/Nodes/ClassNode.php @@ -22,7 +22,7 @@ */ /** @extends AbstractNode */ -class ClassNode extends AbstractNode +final class ClassNode extends AbstractNode { public function __construct(string $value) { diff --git a/packages/guides/src/Nodes/CodeNode.php b/packages/guides/src/Nodes/CodeNode.php index dd86ebfc5..07420aa71 100644 --- a/packages/guides/src/Nodes/CodeNode.php +++ b/packages/guides/src/Nodes/CodeNode.php @@ -15,7 +15,7 @@ use function implode; -class CodeNode extends TextNode +final class CodeNode extends TextNode { /** @var int|null The line number to start counting from and display, or null to hide line numbers */ private int|null $startingLineNumber = null; diff --git a/packages/guides/src/Nodes/CollectionNode.php b/packages/guides/src/Nodes/CollectionNode.php index b260ce1ad..81fde4533 100644 --- a/packages/guides/src/Nodes/CollectionNode.php +++ b/packages/guides/src/Nodes/CollectionNode.php @@ -20,6 +20,6 @@ * * @extends CompoundNode */ -class CollectionNode extends CompoundNode +final class CollectionNode extends CompoundNode { } diff --git a/packages/guides/src/Nodes/DefinitionListNode.php b/packages/guides/src/Nodes/DefinitionListNode.php index 660cdbd43..1a8e730a1 100644 --- a/packages/guides/src/Nodes/DefinitionListNode.php +++ b/packages/guides/src/Nodes/DefinitionListNode.php @@ -18,7 +18,7 @@ use function array_values; /** @extends CompoundNode */ -class DefinitionListNode extends CompoundNode +final class DefinitionListNode extends CompoundNode { //phpcs:ignore Generic.CodeAnalysis.UselessOverridingMethod.Found public function __construct(DefinitionListItemNode ...$definitionListItems) diff --git a/packages/guides/src/Nodes/FieldListNode.php b/packages/guides/src/Nodes/FieldListNode.php index ee08de61a..c4c2e7ccf 100644 --- a/packages/guides/src/Nodes/FieldListNode.php +++ b/packages/guides/src/Nodes/FieldListNode.php @@ -16,6 +16,6 @@ use phpDocumentor\Guides\Nodes\FieldLists\FieldListItemNode; /** @extends CompoundNode */ -class FieldListNode extends CompoundNode +final class FieldListNode extends CompoundNode { } diff --git a/packages/guides/src/Nodes/FigureNode.php b/packages/guides/src/Nodes/FigureNode.php index a9f87e78b..d2f522f1e 100644 --- a/packages/guides/src/Nodes/FigureNode.php +++ b/packages/guides/src/Nodes/FigureNode.php @@ -14,7 +14,7 @@ namespace phpDocumentor\Guides\Nodes; /** @extends AbstractNode */ -class FigureNode extends AbstractNode +final class FigureNode extends AbstractNode { public function __construct(ImageNode $image, protected Node|null $document = null) { diff --git a/packages/guides/src/Nodes/FootnoteNode.php b/packages/guides/src/Nodes/FootnoteNode.php index cabdd1135..25b899ffb 100644 --- a/packages/guides/src/Nodes/FootnoteNode.php +++ b/packages/guides/src/Nodes/FootnoteNode.php @@ -23,7 +23,7 @@ * .. [#f1] Text of the first footnote. * .. [#f2] Text of the second footnote. */ -class FootnoteNode extends AnnotationNode +final class FootnoteNode extends AnnotationNode { /** @param list $value */ public function __construct(array $value, string $name, private int $number) diff --git a/packages/guides/src/Nodes/ImageNode.php b/packages/guides/src/Nodes/ImageNode.php index 4ba68533e..cb4f15256 100644 --- a/packages/guides/src/Nodes/ImageNode.php +++ b/packages/guides/src/Nodes/ImageNode.php @@ -13,6 +13,6 @@ namespace phpDocumentor\Guides\Nodes; -class ImageNode extends TextNode +final class ImageNode extends TextNode { } diff --git a/packages/guides/src/Nodes/Inline/CitationInlineNode.php b/packages/guides/src/Nodes/Inline/CitationInlineNode.php index 2bd5b4b00..5b419fef2 100644 --- a/packages/guides/src/Nodes/Inline/CitationInlineNode.php +++ b/packages/guides/src/Nodes/Inline/CitationInlineNode.php @@ -22,7 +22,7 @@ * * https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html#citations */ -class CitationInlineNode extends AnnotationInlineNode +final class CitationInlineNode extends AnnotationInlineNode { final public const TYPE = 'citation_inline'; diff --git a/packages/guides/src/Nodes/Inline/DocReferenceNode.php b/packages/guides/src/Nodes/Inline/DocReferenceNode.php index 41f453422..3cbc25cec 100644 --- a/packages/guides/src/Nodes/Inline/DocReferenceNode.php +++ b/packages/guides/src/Nodes/Inline/DocReferenceNode.php @@ -25,7 +25,7 @@ * :doc:`custom text ` * :doc:`custom text ` */ -class DocReferenceNode extends AbstractLinkInlineNode implements CrossReferenceNode +final class DocReferenceNode extends AbstractLinkInlineNode implements CrossReferenceNode { final public const TYPE = 'doc'; diff --git a/packages/guides/src/Nodes/Inline/FootnoteInlineNode.php b/packages/guides/src/Nodes/Inline/FootnoteInlineNode.php index 0e331c7c8..cb52cf1ab 100644 --- a/packages/guides/src/Nodes/Inline/FootnoteInlineNode.php +++ b/packages/guides/src/Nodes/Inline/FootnoteInlineNode.php @@ -29,7 +29,7 @@ * * https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html#footnotes */ -class FootnoteInlineNode extends AnnotationInlineNode +final class FootnoteInlineNode extends AnnotationInlineNode { final public const TYPE = 'footnote'; diff --git a/packages/guides/src/Nodes/Inline/HyperLinkNode.php b/packages/guides/src/Nodes/Inline/HyperLinkNode.php index e9d4187d3..5ea04e8fe 100644 --- a/packages/guides/src/Nodes/Inline/HyperLinkNode.php +++ b/packages/guides/src/Nodes/Inline/HyperLinkNode.php @@ -16,7 +16,7 @@ /** * Represents a link to an external source or email */ -class HyperLinkNode extends AbstractLinkInlineNode +final class HyperLinkNode extends AbstractLinkInlineNode { public function __construct(string $value, string $targetReference) { diff --git a/packages/guides/src/Nodes/Inline/ReferenceNode.php b/packages/guides/src/Nodes/Inline/ReferenceNode.php index d2a3f6bcd..1dcf3d366 100644 --- a/packages/guides/src/Nodes/Inline/ReferenceNode.php +++ b/packages/guides/src/Nodes/Inline/ReferenceNode.php @@ -28,7 +28,7 @@ * * Cross-references are resolved at the start of the rendering phase. */ -class ReferenceNode extends AbstractLinkInlineNode implements CrossReferenceNode +final class ReferenceNode extends AbstractLinkInlineNode implements CrossReferenceNode { final public const TYPE = 'ref'; diff --git a/packages/guides/src/Nodes/Inline/VariableInlineNode.php b/packages/guides/src/Nodes/Inline/VariableInlineNode.php index 81304b10c..8f39b6e20 100644 --- a/packages/guides/src/Nodes/Inline/VariableInlineNode.php +++ b/packages/guides/src/Nodes/Inline/VariableInlineNode.php @@ -15,7 +15,7 @@ use phpDocumentor\Guides\Nodes\Node; -class VariableInlineNode extends InlineNode +final class VariableInlineNode extends InlineNode { final public const TYPE = 'variable'; diff --git a/packages/guides/src/Nodes/InlineCompoundNode.php b/packages/guides/src/Nodes/InlineCompoundNode.php index 760b1291d..497f487a7 100644 --- a/packages/guides/src/Nodes/InlineCompoundNode.php +++ b/packages/guides/src/Nodes/InlineCompoundNode.php @@ -17,7 +17,7 @@ use phpDocumentor\Guides\Nodes\Inline\PlainTextInlineNode; /** @extends CompoundNode */ -class InlineCompoundNode extends CompoundNode +final class InlineCompoundNode extends CompoundNode { public function toString(): string { diff --git a/packages/guides/src/Nodes/MainNode.php b/packages/guides/src/Nodes/MainNode.php index 618f77dc1..92fd6cffb 100644 --- a/packages/guides/src/Nodes/MainNode.php +++ b/packages/guides/src/Nodes/MainNode.php @@ -13,6 +13,6 @@ namespace phpDocumentor\Guides\Nodes; -class MainNode extends TextNode +final class MainNode extends TextNode { } diff --git a/packages/guides/src/Nodes/Menu/ContentMenuNode.php b/packages/guides/src/Nodes/Menu/ContentMenuNode.php index a0e9f1b7f..1c6cfbf6f 100644 --- a/packages/guides/src/Nodes/Menu/ContentMenuNode.php +++ b/packages/guides/src/Nodes/Menu/ContentMenuNode.php @@ -16,7 +16,7 @@ use function is_scalar; /** @link https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html#table-of-contents */ -class ContentMenuNode extends MenuNode +final class ContentMenuNode extends MenuNode { public function getDepth(): int { diff --git a/packages/guides/src/Nodes/Menu/NavMenuNode.php b/packages/guides/src/Nodes/Menu/NavMenuNode.php index 2bdf0acc8..f1713db5a 100644 --- a/packages/guides/src/Nodes/Menu/NavMenuNode.php +++ b/packages/guides/src/Nodes/Menu/NavMenuNode.php @@ -15,7 +15,7 @@ use function is_scalar; -class NavMenuNode extends MenuNode +final class NavMenuNode extends MenuNode { private string|null $currentPath = null; /** @var string[] */ diff --git a/packages/guides/src/Nodes/Menu/TocNode.php b/packages/guides/src/Nodes/Menu/TocNode.php index 502cea510..a71644bdd 100644 --- a/packages/guides/src/Nodes/Menu/TocNode.php +++ b/packages/guides/src/Nodes/Menu/TocNode.php @@ -16,7 +16,7 @@ use function is_scalar; /** @link https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html#table-of-contents */ -class TocNode extends MenuNode +final class TocNode extends MenuNode { public function getDepth(): int { diff --git a/packages/guides/src/Nodes/Metadata/AddressNode.php b/packages/guides/src/Nodes/Metadata/AddressNode.php index fd97f6272..3f2f47360 100644 --- a/packages/guides/src/Nodes/Metadata/AddressNode.php +++ b/packages/guides/src/Nodes/Metadata/AddressNode.php @@ -18,7 +18,7 @@ * document, or a third-party contact address. Its structure is identical to that of the literal_block * element: whitespace is significant, especially newlines. */ -class AddressNode extends MetadataNode +final class AddressNode extends MetadataNode { public function __construct(private readonly string $body) { diff --git a/packages/guides/src/Nodes/Metadata/AuthorNode.php b/packages/guides/src/Nodes/Metadata/AuthorNode.php index f6b98ab0b..17a3e07f3 100644 --- a/packages/guides/src/Nodes/Metadata/AuthorNode.php +++ b/packages/guides/src/Nodes/Metadata/AuthorNode.php @@ -18,7 +18,7 @@ /** * The author element holds the name of the author of the document. */ -class AuthorNode extends MetadataNode +final class AuthorNode extends MetadataNode { /** @param Node[] $children */ public function __construct(string $plaintext, private readonly array $children) diff --git a/packages/guides/src/Nodes/Metadata/AuthorsNode.php b/packages/guides/src/Nodes/Metadata/AuthorsNode.php index d161e0c4c..9d6a136c6 100644 --- a/packages/guides/src/Nodes/Metadata/AuthorsNode.php +++ b/packages/guides/src/Nodes/Metadata/AuthorsNode.php @@ -16,7 +16,7 @@ /** * The authors element is a container for author information for documents with multiple authors. */ -class AuthorsNode extends MetadataNode +final class AuthorsNode extends MetadataNode { /** @param AuthorNode[] $authorNodes */ public function __construct(private readonly array $authorNodes) diff --git a/packages/guides/src/Nodes/Metadata/ContactNode.php b/packages/guides/src/Nodes/Metadata/ContactNode.php index effe787ea..5b9e14e81 100644 --- a/packages/guides/src/Nodes/Metadata/ContactNode.php +++ b/packages/guides/src/Nodes/Metadata/ContactNode.php @@ -17,7 +17,7 @@ * The contact element holds contact information for the author (individual or group) of the document, or a * third-party contact. It is typically used for an email or web address. */ -class ContactNode extends MetadataNode +final class ContactNode extends MetadataNode { public function __construct(private readonly string $email) { diff --git a/packages/guides/src/Nodes/Metadata/CopyrightNode.php b/packages/guides/src/Nodes/Metadata/CopyrightNode.php index 808dee19b..f5e88aec5 100644 --- a/packages/guides/src/Nodes/Metadata/CopyrightNode.php +++ b/packages/guides/src/Nodes/Metadata/CopyrightNode.php @@ -16,6 +16,6 @@ /** * The copyright element contains the document's copyright statement. */ -class CopyrightNode extends MetadataNode +final class CopyrightNode extends MetadataNode { } diff --git a/packages/guides/src/Nodes/Metadata/DateNode.php b/packages/guides/src/Nodes/Metadata/DateNode.php index 00af56121..484efb09e 100644 --- a/packages/guides/src/Nodes/Metadata/DateNode.php +++ b/packages/guides/src/Nodes/Metadata/DateNode.php @@ -16,6 +16,6 @@ /** * The date node contains the date of publication, release, or last modification of the document. */ -class DateNode extends MetadataNode +final class DateNode extends MetadataNode { } diff --git a/packages/guides/src/Nodes/Metadata/MetaNode.php b/packages/guides/src/Nodes/Metadata/MetaNode.php index 5a0842ede..cc846df2c 100644 --- a/packages/guides/src/Nodes/Metadata/MetaNode.php +++ b/packages/guides/src/Nodes/Metadata/MetaNode.php @@ -13,7 +13,7 @@ namespace phpDocumentor\Guides\Nodes\Metadata; -class MetaNode extends MetadataNode +final class MetaNode extends MetadataNode { public function __construct(protected string $key, string $value) { diff --git a/packages/guides/src/Nodes/Metadata/NoCommentsNode.php b/packages/guides/src/Nodes/Metadata/NoCommentsNode.php index 5fa8f2469..7132a1287 100644 --- a/packages/guides/src/Nodes/Metadata/NoCommentsNode.php +++ b/packages/guides/src/Nodes/Metadata/NoCommentsNode.php @@ -16,6 +16,6 @@ /** * If set, the web application won’t display a comment form for a page generated from this source file */ -class NoCommentsNode extends MetadataNode +final class NoCommentsNode extends MetadataNode { } diff --git a/packages/guides/src/Nodes/Metadata/NoSearchNode.php b/packages/guides/src/Nodes/Metadata/NoSearchNode.php index 88fd1dd11..a6c9d1072 100644 --- a/packages/guides/src/Nodes/Metadata/NoSearchNode.php +++ b/packages/guides/src/Nodes/Metadata/NoSearchNode.php @@ -18,6 +18,6 @@ * * If the file is rendered to HTML the meta tag "noindex" will also be set. */ -class NoSearchNode extends MetadataNode +final class NoSearchNode extends MetadataNode { } diff --git a/packages/guides/src/Nodes/Metadata/OrganizationNode.php b/packages/guides/src/Nodes/Metadata/OrganizationNode.php index da8eea833..a42295ca2 100644 --- a/packages/guides/src/Nodes/Metadata/OrganizationNode.php +++ b/packages/guides/src/Nodes/Metadata/OrganizationNode.php @@ -19,7 +19,7 @@ * The organization element contains the name of document author's organization, * or the organization responsible for the document. */ -class OrganizationNode extends MetadataNode +final class OrganizationNode extends MetadataNode { /** @param Node[] $children */ public function __construct(string $plaintext, private readonly array $children) diff --git a/packages/guides/src/Nodes/Metadata/OrphanNode.php b/packages/guides/src/Nodes/Metadata/OrphanNode.php index c2727be66..94b6f4db0 100644 --- a/packages/guides/src/Nodes/Metadata/OrphanNode.php +++ b/packages/guides/src/Nodes/Metadata/OrphanNode.php @@ -16,6 +16,6 @@ /** * If set, warnings about this file not being included in any toctree will be suppressed. */ -class OrphanNode extends MetadataNode +final class OrphanNode extends MetadataNode { } diff --git a/packages/guides/src/Nodes/Metadata/RevisionNode.php b/packages/guides/src/Nodes/Metadata/RevisionNode.php index f96691cbd..be0bf414a 100644 --- a/packages/guides/src/Nodes/Metadata/RevisionNode.php +++ b/packages/guides/src/Nodes/Metadata/RevisionNode.php @@ -17,6 +17,6 @@ * The revision element contains the revision number of the document. It can be * used alone or in conjunction with version. */ -class RevisionNode extends MetadataNode +final class RevisionNode extends MetadataNode { } diff --git a/packages/guides/src/Nodes/Metadata/TocDepthNode.php b/packages/guides/src/Nodes/Metadata/TocDepthNode.php index 7482bd0ab..a0f672003 100644 --- a/packages/guides/src/Nodes/Metadata/TocDepthNode.php +++ b/packages/guides/src/Nodes/Metadata/TocDepthNode.php @@ -20,7 +20,7 @@ * This metadata effects to the depth of local toctree. But it does not effect to the depth of global * toctree. So this would not be change the sidebar of some themes which uses global one. */ -class TocDepthNode extends MetadataNode +final class TocDepthNode extends MetadataNode { public function __construct(int $value) { diff --git a/packages/guides/src/Nodes/Metadata/TopicNode.php b/packages/guides/src/Nodes/Metadata/TopicNode.php index f31eb9f35..6e0890439 100644 --- a/packages/guides/src/Nodes/Metadata/TopicNode.php +++ b/packages/guides/src/Nodes/Metadata/TopicNode.php @@ -21,7 +21,7 @@ * It can be created by the `.. topic::` directive or by a Bibliographic field list containing the keyword `:Abstract:` * or `:Dedication:`. */ -class TopicNode extends MetadataNode +final class TopicNode extends MetadataNode { public function __construct(private readonly string $title, private readonly string $body) { diff --git a/packages/guides/src/Nodes/Metadata/VersionNode.php b/packages/guides/src/Nodes/Metadata/VersionNode.php index d4afc69c3..800f32c7b 100644 --- a/packages/guides/src/Nodes/Metadata/VersionNode.php +++ b/packages/guides/src/Nodes/Metadata/VersionNode.php @@ -17,6 +17,6 @@ * The version element contains the version number of the document. It can be * used alone or in conjunction with revision. */ -class VersionNode extends MetadataNode +final class VersionNode extends MetadataNode { } diff --git a/packages/guides/src/Nodes/ParagraphNode.php b/packages/guides/src/Nodes/ParagraphNode.php index a8e209aef..1e6793422 100644 --- a/packages/guides/src/Nodes/ParagraphNode.php +++ b/packages/guides/src/Nodes/ParagraphNode.php @@ -14,6 +14,6 @@ namespace phpDocumentor\Guides\Nodes; /** @extends CompoundNode */ -class ParagraphNode extends CompoundNode +final class ParagraphNode extends CompoundNode { } diff --git a/packages/guides/src/Nodes/ProjectNode.php b/packages/guides/src/Nodes/ProjectNode.php index d9e1a3614..41d23beae 100644 --- a/packages/guides/src/Nodes/ProjectNode.php +++ b/packages/guides/src/Nodes/ProjectNode.php @@ -28,7 +28,7 @@ use const DATE_RFC2822; /** @extends CompoundNode */ -class ProjectNode extends CompoundNode +final class ProjectNode extends CompoundNode { /** * Variables are replacements in a document or project. diff --git a/packages/guides/src/Nodes/QuoteNode.php b/packages/guides/src/Nodes/QuoteNode.php index 490358790..eb3fa888f 100644 --- a/packages/guides/src/Nodes/QuoteNode.php +++ b/packages/guides/src/Nodes/QuoteNode.php @@ -14,7 +14,7 @@ namespace phpDocumentor\Guides\Nodes; /** @extends CompoundNode */ -class QuoteNode extends CompoundNode +final class QuoteNode extends CompoundNode { /** * @param list $value diff --git a/packages/guides/src/Nodes/RawNode.php b/packages/guides/src/Nodes/RawNode.php index 228321072..c55a4c171 100644 --- a/packages/guides/src/Nodes/RawNode.php +++ b/packages/guides/src/Nodes/RawNode.php @@ -13,6 +13,6 @@ namespace phpDocumentor\Guides\Nodes; -class RawNode extends TextNode +final class RawNode extends TextNode { } diff --git a/packages/guides/src/Nodes/SeparatorNode.php b/packages/guides/src/Nodes/SeparatorNode.php index 4556710f3..9c5059259 100644 --- a/packages/guides/src/Nodes/SeparatorNode.php +++ b/packages/guides/src/Nodes/SeparatorNode.php @@ -14,7 +14,7 @@ namespace phpDocumentor\Guides\Nodes; /** @extends CompoundNode */ -class SeparatorNode extends CompoundNode +final class SeparatorNode extends CompoundNode { public function __construct(protected int $level) { diff --git a/packages/guides/src/Nodes/SpanNode.php b/packages/guides/src/Nodes/SpanNode.php index 9c447f015..4cc356c11 100644 --- a/packages/guides/src/Nodes/SpanNode.php +++ b/packages/guides/src/Nodes/SpanNode.php @@ -13,7 +13,7 @@ namespace phpDocumentor\Guides\Nodes; -class SpanNode extends TextNode +final class SpanNode extends TextNode { /** @param InlineCompoundNode[] $tokens */ public function __construct(string $content, protected array $tokens = []) diff --git a/packages/guides/src/Nodes/TableNode.php b/packages/guides/src/Nodes/TableNode.php index 48f6584a9..e66706949 100644 --- a/packages/guides/src/Nodes/TableNode.php +++ b/packages/guides/src/Nodes/TableNode.php @@ -19,7 +19,7 @@ use function max; /** @extends CompoundNode */ -class TableNode extends CompoundNode +final class TableNode extends CompoundNode { /** * @param TableRow[] $data diff --git a/packages/guides/src/Nodes/TitleNode.php b/packages/guides/src/Nodes/TitleNode.php index d7d7f0cbf..628f0599e 100644 --- a/packages/guides/src/Nodes/TitleNode.php +++ b/packages/guides/src/Nodes/TitleNode.php @@ -16,7 +16,7 @@ use phpDocumentor\Guides\Nodes\Inline\PlainTextInlineNode; /** @extends CompoundNode */ -class TitleNode extends CompoundNode +final class TitleNode extends CompoundNode { protected string $target = ''; diff --git a/packages/guides/src/ReferenceResolvers/AnchorHyperlinkResolver.php b/packages/guides/src/ReferenceResolvers/AnchorHyperlinkResolver.php index b9cf823ce..c2a23fbc5 100644 --- a/packages/guides/src/ReferenceResolvers/AnchorHyperlinkResolver.php +++ b/packages/guides/src/ReferenceResolvers/AnchorHyperlinkResolver.php @@ -23,7 +23,7 @@ * * A link is an anchor if it starts with a hashtag */ -class AnchorHyperlinkResolver implements ReferenceResolver +final class AnchorHyperlinkResolver implements ReferenceResolver { public final const PRIORITY = -100; diff --git a/packages/guides/src/ReferenceResolvers/AnchorReferenceResolver.php b/packages/guides/src/ReferenceResolvers/AnchorReferenceResolver.php index fbe56356f..e940ac8bb 100644 --- a/packages/guides/src/ReferenceResolvers/AnchorReferenceResolver.php +++ b/packages/guides/src/ReferenceResolvers/AnchorReferenceResolver.php @@ -23,7 +23,7 @@ * * A link is an anchor if it starts with a hashtag */ -class AnchorReferenceResolver implements ReferenceResolver +final class AnchorReferenceResolver implements ReferenceResolver { public final const PRIORITY = -100; @@ -40,7 +40,6 @@ public function resolve(LinkInlineNode $node, RenderContext $renderContext, Mess } $reducedAnchor = $this->anchorReducer->reduceAnchor($node->getTargetReference()); - $target = $renderContext->getProjectNode()->getInternalTarget($reducedAnchor, $node->getLinkType()); if ($target === null) { diff --git a/packages/guides/src/ReferenceResolvers/DocReferenceResolver.php b/packages/guides/src/ReferenceResolvers/DocReferenceResolver.php index f6b6bc45f..7176d4d16 100644 --- a/packages/guides/src/ReferenceResolvers/DocReferenceResolver.php +++ b/packages/guides/src/ReferenceResolvers/DocReferenceResolver.php @@ -20,7 +20,7 @@ use function sprintf; -class DocReferenceResolver implements ReferenceResolver +final class DocReferenceResolver implements ReferenceResolver { public final const PRIORITY = 1000; diff --git a/packages/guides/src/ReferenceResolvers/EmailReferenceResolver.php b/packages/guides/src/ReferenceResolvers/EmailReferenceResolver.php index 9cdbbce50..fa835aed6 100644 --- a/packages/guides/src/ReferenceResolvers/EmailReferenceResolver.php +++ b/packages/guides/src/ReferenceResolvers/EmailReferenceResolver.php @@ -23,7 +23,7 @@ /** * Resolves references with an embedded email address */ -class EmailReferenceResolver implements ReferenceResolver +final class EmailReferenceResolver implements ReferenceResolver { public final const PRIORITY = -100; diff --git a/packages/guides/src/ReferenceResolvers/ExternalReferenceResolver.php b/packages/guides/src/ReferenceResolvers/ExternalReferenceResolver.php index cf66d5b04..8a5ce536a 100644 --- a/packages/guides/src/ReferenceResolvers/ExternalReferenceResolver.php +++ b/packages/guides/src/ReferenceResolvers/ExternalReferenceResolver.php @@ -32,7 +32,7 @@ * * @see https://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml */ -class ExternalReferenceResolver implements ReferenceResolver +final class ExternalReferenceResolver implements ReferenceResolver { public final const PRIORITY = -100; final public const SUPPORTED_SCHEMAS = '(?:aaa|aaas|about|acap|acct|acd|acr|adiumxtra|adt|afp|afs|aim|amss|android|appdata|apt|ar|ark|at|attachment|aw|barion|bb|beshare|bitcoin|bitcoincash|blob|bolo|browserext|cabal|calculator|callto|cap|cast|casts|chrome|chrome-extension|cid|coap|coap+tcp|coap+ws|coaps|coaps+tcp|coaps+ws|com-eventbrite-attendee|content|content-type|crid|cstr|cvs|dab|dat|data|dav|dhttp|diaspora|dict|did|dis|dlna-playcontainer|dlna-playsingle|dns|dntp|doi|dpp|drm|drop|dtmi|dtn|dvb|dvx|dweb|ed2k|eid|elsi|embedded|ens|ethereum|example|facetime|fax|feed|feedready|fido|file|filesystem|finger|first-run-pen-experience|fish|fm|ftp|fuchsia-pkg|geo|gg|git|gitoid|gizmoproject|go|gopher|graph|grd|gtalk|h323|ham|hcap|hcp|http|https|hxxp|hxxps|hydrazone|hyper|iax|icap|icon|im|imap|info|iotdisco|ipfs|ipn|ipns|ipp|ipps|irc|irc6|ircs|iris|iris\.beep|iris\.lwz|iris\.xpc|iris\.xpcs|isostore|itms|jabber|jar|jms|keyparc|lastfm|lbry|ldap|ldaps|leaptofrogans|lorawan|lpa|lvlt|magnet|mailserver|mailto|maps|market|matrix|message|microsoft\.windows\.camera|microsoft\.windows\.camera\.multipicker|microsoft\.windows\.camera\.picker|mid|mms|modem|mongodb|moz|ms-access|ms-appinstaller|ms-browser-extension|ms-calculator|ms-drive-to|ms-enrollment|ms-excel|ms-eyecontrolspeech|ms-gamebarservices|ms-gamingoverlay|ms-getoffice|ms-help|ms-infopath|ms-inputapp|ms-launchremotedesktop|ms-lockscreencomponent-config|ms-media-stream-id|ms-meetnow|ms-mixedrealitycapture|ms-mobileplans|ms-newsandinterests|ms-officeapp|ms-people|ms-project|ms-powerpoint|ms-publisher|ms-remotedesktop|ms-remotedesktop-launch|ms-restoretabcompanion|ms-screenclip|ms-screensketch|ms-search|ms-search-repair|ms-secondary-screen-controller|ms-secondary-screen-setup|ms-settings|ms-settings-airplanemode|ms-settings-bluetooth|ms-settings-camera|ms-settings-cellular|ms-settings-cloudstorage|ms-settings-connectabledevices|ms-settings-displays-topology|ms-settings-emailandaccounts|ms-settings-language|ms-settings-location|ms-settings-lock|ms-settings-nfctransactions|ms-settings-notifications|ms-settings-power|ms-settings-privacy|ms-settings-proximity|ms-settings-screenrotation|ms-settings-wifi|ms-settings-workplace|ms-spd|ms-stickers|ms-sttoverlay|ms-transit-to|ms-useractivityset|ms-virtualtouchpad|ms-visio|ms-walk-to|ms-whiteboard|ms-whiteboard-cmd|ms-word|msnim|msrp|msrps|mss|mt|mtqp|mumble|mupdate|mvn|news|nfs|ni|nih|nntp|notes|num|ocf|oid|onenote|onenote-cmd|opaquelocktoken|openpgp4fpr|otpauth|p1|pack|palm|paparazzi|payment|payto|pkcs11|platform|pop|pres|prospero|proxy|pwid|psyc|pttp|qb|query|quic-transport|redis|rediss|reload|res|resource|rmi|rsync|rtmfp|rtmp|rtsp|rtsps|rtspu|sarif|secondlife|secret-token|service|session|sftp|sgn|shc|shttp (OBSOLETE)|sieve|simpleledger|simplex|sip|sips|skype|smb|smp|sms|smtp|snews|snmp|soap\.beep|soap\.beeps|soldat|spiffe|spotify|ssb|ssh|starknet|steam|stun|stuns|submit|svn|swh|swid|swidpath|tag|taler|teamspeak|tel|teliaeid|telnet|tftp|things|thismessage|tip|tn3270|tool|turn|turns|tv|udp|unreal|upt|urn|ut2004|uuid-in-package|v-event|vemmi|ventrilo|ves|videotex|vnc|view-source|vscode|vscode-insiders|vsls|w3|wais|web3|wcr|webcal|web+ap|wifi|wpid|ws|wss|wtai|wyciwyg|xcon|xcon-userid|xfire|xmlrpc\.beep|xmlrpc\.beeps|xmpp|xri|ymsgr|z39\.50|z39\.50r|z39\.50s)'; diff --git a/packages/guides/src/ReferenceResolvers/InterlinkReferenceResolver.php b/packages/guides/src/ReferenceResolvers/InterlinkReferenceResolver.php index b977164dd..2ac497d1d 100644 --- a/packages/guides/src/ReferenceResolvers/InterlinkReferenceResolver.php +++ b/packages/guides/src/ReferenceResolvers/InterlinkReferenceResolver.php @@ -18,7 +18,7 @@ use phpDocumentor\Guides\ReferenceResolvers\Interlink\InventoryRepository; use phpDocumentor\Guides\RenderContext; -class InterlinkReferenceResolver implements ReferenceResolver +final class InterlinkReferenceResolver implements ReferenceResolver { public final const PRIORITY = 50; diff --git a/packages/guides/src/ReferenceResolvers/InternalReferenceResolver.php b/packages/guides/src/ReferenceResolvers/InternalReferenceResolver.php index b6658e5d8..765967605 100644 --- a/packages/guides/src/ReferenceResolvers/InternalReferenceResolver.php +++ b/packages/guides/src/ReferenceResolvers/InternalReferenceResolver.php @@ -16,7 +16,7 @@ use phpDocumentor\Guides\Nodes\Inline\LinkInlineNode; use phpDocumentor\Guides\RenderContext; -class InternalReferenceResolver implements ReferenceResolver +final class InternalReferenceResolver implements ReferenceResolver { public final const PRIORITY = 100; diff --git a/packages/guides/src/ReferenceResolvers/Message.php b/packages/guides/src/ReferenceResolvers/Message.php index 00bb9ae08..e400a36be 100644 --- a/packages/guides/src/ReferenceResolvers/Message.php +++ b/packages/guides/src/ReferenceResolvers/Message.php @@ -13,7 +13,7 @@ namespace phpDocumentor\Guides\ReferenceResolvers; -class Message +final class Message { /** @param array $debugInfo */ public function __construct( diff --git a/packages/guides/src/ReferenceResolvers/NullAnchorNormalizer.php b/packages/guides/src/ReferenceResolvers/NullAnchorNormalizer.php index 6589fcecd..975b12990 100644 --- a/packages/guides/src/ReferenceResolvers/NullAnchorNormalizer.php +++ b/packages/guides/src/ReferenceResolvers/NullAnchorNormalizer.php @@ -13,7 +13,7 @@ namespace phpDocumentor\Guides\ReferenceResolvers; -class NullAnchorNormalizer implements AnchorNormalizer +final class NullAnchorNormalizer implements AnchorNormalizer { public function reduceAnchor(string $rawAnchor): string { diff --git a/packages/guides/src/ReferenceResolvers/PageHyperlinkResolver.php b/packages/guides/src/ReferenceResolvers/PageHyperlinkResolver.php index 6c8839d5d..a4fd7f4c9 100644 --- a/packages/guides/src/ReferenceResolvers/PageHyperlinkResolver.php +++ b/packages/guides/src/ReferenceResolvers/PageHyperlinkResolver.php @@ -27,7 +27,7 @@ * * `Link Text <../page.rst>`_ or [Link Text](path/to/another/page.md) */ -class PageHyperlinkResolver implements ReferenceResolver +final class PageHyperlinkResolver implements ReferenceResolver { // Named links and anchors take precedence public final const PRIORITY = -200; diff --git a/packages/guides/src/ReferenceResolvers/SluggerAnchorNormalizer.php b/packages/guides/src/ReferenceResolvers/SluggerAnchorNormalizer.php index 7aaa21232..ae6fea669 100644 --- a/packages/guides/src/ReferenceResolvers/SluggerAnchorNormalizer.php +++ b/packages/guides/src/ReferenceResolvers/SluggerAnchorNormalizer.php @@ -17,7 +17,7 @@ use function strtolower; -class SluggerAnchorNormalizer implements AnchorNormalizer +final class SluggerAnchorNormalizer implements AnchorNormalizer { public function reduceAnchor(string $rawAnchor): string { diff --git a/packages/guides/src/Renderer/HtmlRenderer.php b/packages/guides/src/Renderer/HtmlRenderer.php index a018b0e39..02a2f2013 100644 --- a/packages/guides/src/Renderer/HtmlRenderer.php +++ b/packages/guides/src/Renderer/HtmlRenderer.php @@ -13,6 +13,6 @@ namespace phpDocumentor\Guides\Renderer; -class HtmlRenderer extends BaseTypeRenderer +final class HtmlRenderer extends BaseTypeRenderer { } diff --git a/packages/guides/src/Renderer/InMemoryRendererFactory.php b/packages/guides/src/Renderer/InMemoryRendererFactory.php index 80a5108b9..89ca46efd 100644 --- a/packages/guides/src/Renderer/InMemoryRendererFactory.php +++ b/packages/guides/src/Renderer/InMemoryRendererFactory.php @@ -17,7 +17,7 @@ use function sprintf; -class InMemoryRendererFactory implements TypeRendererFactory +final class InMemoryRendererFactory implements TypeRendererFactory { /** @param iterable $renderSets */ public function __construct(private readonly iterable $renderSets) diff --git a/packages/guides/src/Renderer/InterlinkObjectsRenderer.php b/packages/guides/src/Renderer/InterlinkObjectsRenderer.php index 1504a370f..09f7c0b79 100644 --- a/packages/guides/src/Renderer/InterlinkObjectsRenderer.php +++ b/packages/guides/src/Renderer/InterlinkObjectsRenderer.php @@ -22,7 +22,7 @@ use const JSON_PRETTY_PRINT; -class InterlinkObjectsRenderer implements TypeRenderer +final class InterlinkObjectsRenderer implements TypeRenderer { public function __construct( private readonly UrlGeneratorInterface $urlGenerator, diff --git a/packages/guides/src/Renderer/LatexRenderer.php b/packages/guides/src/Renderer/LatexRenderer.php index 100106e48..b98b70430 100644 --- a/packages/guides/src/Renderer/LatexRenderer.php +++ b/packages/guides/src/Renderer/LatexRenderer.php @@ -17,7 +17,7 @@ use phpDocumentor\Guides\RenderContext; use phpDocumentor\Guides\TemplateRenderer; -class LatexRenderer implements TypeRenderer +final class LatexRenderer implements TypeRenderer { public function __construct(private readonly TemplateRenderer $renderer) { diff --git a/packages/guides/src/Settings/ProjectSettings.php b/packages/guides/src/Settings/ProjectSettings.php index 94d8b31ee..dcd3290a2 100644 --- a/packages/guides/src/Settings/ProjectSettings.php +++ b/packages/guides/src/Settings/ProjectSettings.php @@ -13,7 +13,7 @@ namespace phpDocumentor\Guides\Settings; -class ProjectSettings +final class ProjectSettings { /** @var array */ private array $inventories = []; diff --git a/packages/guides/src/Twig/EnvironmentBuilder.php b/packages/guides/src/Twig/EnvironmentBuilder.php index e65999343..30e2609c3 100644 --- a/packages/guides/src/Twig/EnvironmentBuilder.php +++ b/packages/guides/src/Twig/EnvironmentBuilder.php @@ -19,7 +19,7 @@ use Twig\Extension\DebugExtension; use Twig\Extension\ExtensionInterface; -class EnvironmentBuilder +final class EnvironmentBuilder { private Environment $environment; diff --git a/packages/guides/src/Twig/Theme/ThemeManager.php b/packages/guides/src/Twig/Theme/ThemeManager.php index cbdde2450..ef5dc8c62 100644 --- a/packages/guides/src/Twig/Theme/ThemeManager.php +++ b/packages/guides/src/Twig/Theme/ThemeManager.php @@ -21,7 +21,7 @@ use function implode; use function sprintf; -class ThemeManager +final class ThemeManager { /** @var array */ private array $themeMap = []; diff --git a/packages/guides/tests/unit/Compiler/NodeTransformers/CollectLinkTargetsTransformerTest.php b/packages/guides/tests/unit/Compiler/NodeTransformers/CollectLinkTargetsTransformerTest.php index 6ff3d119a..143ba3c09 100644 --- a/packages/guides/tests/unit/Compiler/NodeTransformers/CollectLinkTargetsTransformerTest.php +++ b/packages/guides/tests/unit/Compiler/NodeTransformers/CollectLinkTargetsTransformerTest.php @@ -23,15 +23,15 @@ use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; -class CollectLinkTargetsTransformerTest extends TestCase +final class CollectLinkTargetsTransformerTest extends TestCase { private AnchorNormalizer&MockObject $anchorReducer; private CompilerContext $context; - private ProjectNode&MockObject $projectNode; + private ProjectNode $projectNode; protected function setUp(): void { - $this->projectNode = $this->createMock(ProjectNode::class); + $this->projectNode = new ProjectNode('some-name'); $this->context = $this->getCompilerContext('some-path'); $this->anchorReducer = $this->createMock(AnchorNormalizer::class); } diff --git a/packages/guides/tests/unit/Compiler/NodeTransformers/DocumentEntryRegistrationTransformerTest.php b/packages/guides/tests/unit/Compiler/NodeTransformers/DocumentEntryRegistrationTransformerTest.php index 8d47f11fc..218863b90 100644 --- a/packages/guides/tests/unit/Compiler/NodeTransformers/DocumentEntryRegistrationTransformerTest.php +++ b/packages/guides/tests/unit/Compiler/NodeTransformers/DocumentEntryRegistrationTransformerTest.php @@ -22,7 +22,7 @@ use PHPUnit\Framework\TestCase; use Psr\Log\LoggerInterface; -class DocumentEntryRegistrationTransformerTest extends TestCase +final class DocumentEntryRegistrationTransformerTest extends TestCase { private CompilerContext $context; diff --git a/packages/guides/tests/unit/Compiler/NodeTransformers/SectionEntryRegistrationTransformerTest.php b/packages/guides/tests/unit/Compiler/NodeTransformers/SectionEntryRegistrationTransformerTest.php index 5463f37b6..75296b9b3 100644 --- a/packages/guides/tests/unit/Compiler/NodeTransformers/SectionEntryRegistrationTransformerTest.php +++ b/packages/guides/tests/unit/Compiler/NodeTransformers/SectionEntryRegistrationTransformerTest.php @@ -22,7 +22,7 @@ use phpDocumentor\Guides\Nodes\TitleNode; use PHPUnit\Framework\TestCase; -class SectionEntryRegistrationTransformerTest extends TestCase +final class SectionEntryRegistrationTransformerTest extends TestCase { private CompilerContext $context; diff --git a/packages/guides/tests/unit/Compiler/Passes/ImplicitHyperlinkTargetPassTest.php b/packages/guides/tests/unit/Compiler/Passes/ImplicitHyperlinkTargetPassTest.php index 458f13210..383697c09 100644 --- a/packages/guides/tests/unit/Compiler/Passes/ImplicitHyperlinkTargetPassTest.php +++ b/packages/guides/tests/unit/Compiler/Passes/ImplicitHyperlinkTargetPassTest.php @@ -23,7 +23,7 @@ use PHPUnit\Framework\TestCase; use Symfony\Component\String\Slugger\AsciiSlugger; -class ImplicitHyperlinkTargetPassTest extends TestCase +final class ImplicitHyperlinkTargetPassTest extends TestCase { public function testAllImplicitUniqueSections(): void { diff --git a/packages/guides/tests/unit/Event/PostRenderDocumentTest.php b/packages/guides/tests/unit/Event/PostRenderDocumentTest.php index 56623ce73..dd9b00c4f 100644 --- a/packages/guides/tests/unit/Event/PostRenderDocumentTest.php +++ b/packages/guides/tests/unit/Event/PostRenderDocumentTest.php @@ -21,7 +21,7 @@ use phpDocumentor\Guides\RenderContext; use PHPUnit\Framework\TestCase; -class PostRenderDocumentTest extends TestCase +final class PostRenderDocumentTest extends TestCase { public function testEventCreation(): void { diff --git a/packages/guides/tests/unit/Event/PreRenderDocumentTest.php b/packages/guides/tests/unit/Event/PreRenderDocumentTest.php index cb68bfaa1..e48fe7714 100644 --- a/packages/guides/tests/unit/Event/PreRenderDocumentTest.php +++ b/packages/guides/tests/unit/Event/PreRenderDocumentTest.php @@ -21,7 +21,7 @@ use phpDocumentor\Guides\RenderContext; use PHPUnit\Framework\TestCase; -class PreRenderDocumentTest extends TestCase +final class PreRenderDocumentTest extends TestCase { public function testCreateEvent(): void { diff --git a/packages/guides/tests/unit/Event/PreRenderProcessTest.php b/packages/guides/tests/unit/Event/PreRenderProcessTest.php index c695ac135..a4f62db5e 100644 --- a/packages/guides/tests/unit/Event/PreRenderProcessTest.php +++ b/packages/guides/tests/unit/Event/PreRenderProcessTest.php @@ -25,7 +25,7 @@ use PHPUnit\Framework\TestCase; use Psr\EventDispatcher\EventDispatcherInterface; -class PreRenderProcessTest extends TestCase +final class PreRenderProcessTest extends TestCase { private EventDispatcherInterface&MockObject $eventDispatcherMock; diff --git a/packages/guides/tests/unit/Nodes/DefinitionLists/DefinitionListTermTest.php b/packages/guides/tests/unit/Nodes/DefinitionLists/DefinitionListTermTest.php index 09b1334b2..b9fa89039 100644 --- a/packages/guides/tests/unit/Nodes/DefinitionLists/DefinitionListTermTest.php +++ b/packages/guides/tests/unit/Nodes/DefinitionLists/DefinitionListTermTest.php @@ -25,7 +25,7 @@ final class DefinitionListTermTest extends TestCase */ public function testTheDefinitionTermTextIsAvailable(): void { - $term = self::createStub(InlineCompoundNode::class); + $term = new InlineCompoundNode([]); $definitionListTerm = new DefinitionListItemNode($term, [], []); @@ -38,8 +38,8 @@ public function testTheDefinitionTermTextIsAvailable(): void */ public function testClassifiersAreMadeAvailable(): void { - $term = self::createStub(InlineCompoundNode::class); - $classifier = self::createStub(InlineCompoundNode::class); + $term = new InlineCompoundNode([]); + $classifier = new InlineCompoundNode([]); $definitionListTerm = new DefinitionListItemNode($term, [$classifier], []); @@ -49,7 +49,7 @@ public function testClassifiersAreMadeAvailable(): void /** @covers ::__construct */ public function testDefinitionsAreMadeAvailable(): void { - $term = self::createStub(InlineCompoundNode::class); + $term = new InlineCompoundNode([]); $definition1 = new DefinitionNode([]); $definition2 = new DefinitionNode([]); diff --git a/packages/guides/tests/unit/ParserTest.php b/packages/guides/tests/unit/ParserTest.php index 7a8324714..b2dbe5f86 100644 --- a/packages/guides/tests/unit/ParserTest.php +++ b/packages/guides/tests/unit/ParserTest.php @@ -18,7 +18,7 @@ use PHPUnit\Framework\TestCase; use RuntimeException; -class ParserTest extends TestCase +final class ParserTest extends TestCase { public function testParseWillThrowWhenInputFormatIsNotSupported(): void { diff --git a/packages/guides/tests/unit/ReferenceResolvers/AnchorReferenceResolverTest.php b/packages/guides/tests/unit/ReferenceResolvers/AnchorReferenceResolverTest.php index 82613603d..0b51ce7b4 100644 --- a/packages/guides/tests/unit/ReferenceResolvers/AnchorReferenceResolverTest.php +++ b/packages/guides/tests/unit/ReferenceResolvers/AnchorReferenceResolverTest.php @@ -26,15 +26,15 @@ final class AnchorReferenceResolverTest extends TestCase { private AnchorNormalizer&MockObject $anchorReducer; private RenderContext&MockObject $renderContext; - private ProjectNode&MockObject $projectNode; + private ProjectNode $projectNode; private AnchorReferenceResolver $subject; private Stub&UrlGeneratorInterface $urlGenerator; protected function setUp(): void { $internalTarget = new InternalTarget('some-path', 'some-name'); - $this->projectNode = $this->createMock(ProjectNode::class); - $this->projectNode->expects(self::once())->method('getInternalTarget')->willReturn($internalTarget); + $this->projectNode = new ProjectNode('some-name'); + $this->projectNode->addLinkTarget('reduced-anchor', $internalTarget); $this->anchorReducer = $this->createMock(AnchorNormalizer::class); $this->renderContext = $this->createMock(RenderContext::class); $this->renderContext->expects(self::once())->method('getProjectNode')->willReturn($this->projectNode); @@ -56,6 +56,7 @@ public function testAnchorReducerGetsCalledOndResolvingReference(): void public function testResolvedReferenceReturnsCanonicalUrl(): void { + $this->anchorReducer->expects(self::once())->method('reduceAnchor')->willReturn('reduced-anchor'); $this->urlGenerator->method('generateCanonicalOutputUrl')->willReturn('canonical-url'); $input = new ReferenceNode('lorem-ipsum'); $messages = new Messages(); diff --git a/packages/guides/tests/unit/Renderer/DocumentTreeIteratorTest.php b/packages/guides/tests/unit/Renderer/DocumentTreeIteratorTest.php index 9fa5d3e67..ba2f331e7 100644 --- a/packages/guides/tests/unit/Renderer/DocumentTreeIteratorTest.php +++ b/packages/guides/tests/unit/Renderer/DocumentTreeIteratorTest.php @@ -18,7 +18,7 @@ use function assert; -class DocumentTreeIteratorTest extends IteratorTestCase +final class DocumentTreeIteratorTest extends IteratorTestCase { public function testIterateDocumentStructure(): void { diff --git a/packages/guides/tests/unit/SpyTemplateRenderer.php b/packages/guides/tests/unit/SpyTemplateRenderer.php index 7fc4dfd25..90e936981 100644 --- a/packages/guides/tests/unit/SpyTemplateRenderer.php +++ b/packages/guides/tests/unit/SpyTemplateRenderer.php @@ -15,7 +15,7 @@ use phpDocumentor\Guides\Nodes\Node; -class SpyTemplateRenderer implements TemplateRenderer +final class SpyTemplateRenderer implements TemplateRenderer { /** @var mixed[] */ private array $context; diff --git a/tests/Functional/FunctionalTest.php b/tests/Functional/FunctionalTest.php index e124ae41d..b9d184c2e 100644 --- a/tests/Functional/FunctionalTest.php +++ b/tests/Functional/FunctionalTest.php @@ -56,7 +56,7 @@ use const LC_ALL; -class FunctionalTest extends ApplicationTestCase +final class FunctionalTest extends ApplicationTestCase { private const SKIP_INDENTER_FILES = ['code-block-diff']; diff --git a/tests/Integration/IntegrationTest.php b/tests/Integration/IntegrationTest.php index 9fb5ad9b0..d6783dd59 100644 --- a/tests/Integration/IntegrationTest.php +++ b/tests/Integration/IntegrationTest.php @@ -42,7 +42,7 @@ use const LC_ALL; -class IntegrationTest extends ApplicationTestCase +final class IntegrationTest extends ApplicationTestCase { private const CONTENT_START = ''; private const CONTENT_END = '';