summaryrefslogtreecommitdiff
path: root/vendor/sebastian/lines-of-code/src/Counter.php
diff options
context:
space:
mode:
authorsupahgreg <supahgreg@users.noreply.github.com>2025-10-09 02:49:56 +0000
committersupahgreg <supahgreg@users.noreply.github.com>2025-10-09 03:08:30 +0000
commite41d6361221a30ca9d996cde7591111e626b7e1c (patch)
tree4572f61f37bbc76192ad60e0940c281483bc03af /vendor/sebastian/lines-of-code/src/Counter.php
parentab0aabf8548c206f3f624de5451a9b6abbde90be (diff)
Remove dev dependencies and update the rest.
Diffstat (limited to 'vendor/sebastian/lines-of-code/src/Counter.php')
-rw-r--r--vendor/sebastian/lines-of-code/src/Counter.php91
1 files changed, 0 insertions, 91 deletions
diff --git a/vendor/sebastian/lines-of-code/src/Counter.php b/vendor/sebastian/lines-of-code/src/Counter.php
deleted file mode 100644
index cfe5e20a7..000000000
--- a/vendor/sebastian/lines-of-code/src/Counter.php
+++ /dev/null
@@ -1,91 +0,0 @@
-<?php declare(strict_types=1);
-/*
- * This file is part of sebastian/lines-of-code.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-namespace SebastianBergmann\LinesOfCode;
-
-use function substr_count;
-use PhpParser\Error;
-use PhpParser\Lexer;
-use PhpParser\Node;
-use PhpParser\NodeTraverser;
-use PhpParser\Parser;
-use PhpParser\ParserFactory;
-
-final class Counter
-{
- /**
- * @throws RuntimeException
- */
- public function countInSourceFile(string $sourceFile): LinesOfCode
- {
- return $this->countInSourceString(file_get_contents($sourceFile));
- }
-
- /**
- * @throws RuntimeException
- */
- public function countInSourceString(string $source): LinesOfCode
- {
- $linesOfCode = substr_count($source, "\n");
-
- if ($linesOfCode === 0 && !empty($source)) {
- $linesOfCode = 1;
- }
-
- try {
- $nodes = $this->parser()->parse($source);
-
- assert($nodes !== null);
-
- return $this->countInAbstractSyntaxTree($linesOfCode, $nodes);
-
- // @codeCoverageIgnoreStart
- } catch (Error $error) {
- throw new RuntimeException(
- $error->getMessage(),
- (int) $error->getCode(),
- $error
- );
- }
- // @codeCoverageIgnoreEnd
- }
-
- /**
- * @param Node[] $nodes
- *
- * @throws RuntimeException
- */
- public function countInAbstractSyntaxTree(int $linesOfCode, array $nodes): LinesOfCode
- {
- $traverser = new NodeTraverser;
- $visitor = new LineCountingVisitor($linesOfCode);
-
- $traverser->addVisitor($visitor);
-
- try {
- /* @noinspection UnusedFunctionResultInspection */
- $traverser->traverse($nodes);
- // @codeCoverageIgnoreStart
- } catch (Error $error) {
- throw new RuntimeException(
- $error->getMessage(),
- (int) $error->getCode(),
- $error
- );
- }
- // @codeCoverageIgnoreEnd
-
- return $visitor->result();
- }
-
- private function parser(): Parser
- {
- return (new ParserFactory)->create(ParserFactory::PREFER_PHP7, new Lexer);
- }
-}