Skip to content

[WIP] parse dependencies recursively #606

Draft
micheleorselli wants to merge 6 commits into
add-parse-cachefrom
parse-recursive
Draft

[WIP] parse dependencies recursively #606
micheleorselli wants to merge 6 commits into
add-parse-cachefrom
parse-recursive

Conversation

@micheleorselli

Copy link
Copy Markdown
Member

No description provided.

@codecov

codecov Bot commented Mar 31, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 58.21596% with 89 lines in your changes missing coverage. Please review.
✅ Project coverage is 93.34%. Comparing base (58a6dd2) to head (a8b112f).

Files with missing lines Patch % Lines
src/Analyzer/ScannedFQCNResolver.php 0.00% 72 Missing ⚠️
src/Analyzer/FQCNToFilePathResolver.php 72.00% 14 Missing ⚠️
src/Analyzer/ClassDescriptionIndex.php 97.61% 1 Missing ⚠️
src/Analyzer/FilesToParse.php 90.90% 1 Missing ⚠️
src/CLI/Runner.php 94.11% 1 Missing ⚠️

❌ Your patch check has failed because the patch coverage (58.21%) is below the target coverage (80.00%). You can increase the patch coverage or adjust the target coverage.
❌ Your project check has failed because the head coverage (93.34%) is below the target coverage (95.00%). You can increase the head coverage or adjust the target coverage.

Additional details and impacted files

Impacted file tree graph

@@                  Coverage Diff                  @@
##             add-parse-cache     #606      +/-   ##
=====================================================
- Coverage              98.29%   93.34%   -4.95%     
- Complexity               706      785      +79     
=====================================================
  Files                     89       91       +2     
  Lines                   2047     2238     +191     
=====================================================
+ Hits                    2012     2089      +77     
- Misses                    35      149     +114     
Files with missing lines Coverage Δ
src/Analyzer/ClassDescription.php 100.00% <100.00%> (ø)
src/Analyzer/ClassDescriptionIndex.php 97.61% <97.61%> (ø)
src/Analyzer/FilesToParse.php 91.66% <90.90%> (-8.34%) ⬇️
src/CLI/Runner.php 98.63% <94.11%> (+0.03%) ⬆️
src/Analyzer/FQCNToFilePathResolver.php 72.00% <72.00%> (ø)
src/Analyzer/ScannedFQCNResolver.php 0.00% <0.00%> (ø)

... and 3 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

micheleorselli and others added 5 commits April 1, 2026 21:32
Replace the associative array in FilesToParse with an SplQueue + seen-set
so that files added during parsing (resolved interfaces, traits, parent
classes) are actually visited. The previous foreach-based iteration
created an ArrayIterator snapshot at loop start, silently dropping all
dynamically added files.

Runner::collectParsedFiles now uses isEmpty()/shift() directly; the
seen-set in FilesToParse persists across dequeues, making the redundant
$parsedRealPaths guard in the consumer unnecessary.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant