psap / sap analysis report

SAP Analysis Report

One self-contained page: summary, the interactive I/A graph, in-browser Mermaid diagrams, cycle details, and diagram sources. No network access is required or made.

components
7
plotted
7
meanDistance
0.58
cycleGroups
0
outOfScopeDependencies
55

Analysis coverage 100.00%

discoveredFiles
49
selectedFiles
49
analyzedFiles
49
excludedFiles
0
skippedFiles
0

Highest distance from the main sequence

ComponentIADZone
Psap\Baseline0.000.001.00painZone
Psap\Diagnostic0.000.120.88painZone
Psap\Analyzer0.150.000.85painZone
Psap\Metrics0.170.000.83painZone
Psap\Component0.460.000.54painZone
Psap\Console1.000.000.00mainSequence
Psap\Report0.900.100.00mainSequence

Dependencies outside analysis scope

These references are not counted in Ca, Ce, I, A or D. PHP built-in types are excluded from this list.

Classes 55 · Namespaces 15. See the Interactive I/A tab for every namespace, component and source location.

NamespaceClassesReferencing classes
PhpParser\Node\Stmt93
PhpParser\Node82
PhpParser\Node\Expr81
PHPStan\PhpDocParser\Ast\Type71
PhpParser74
PHPStan\PhpDocParser\Parser41
Symfony\Component\Console\Input31
Symfony\Component\Console\Output21
PHPStan\PhpDocParser11
PHPStan\PhpDocParser\Ast\PhpDoc11

+5 more namespaces

Breakdown by component

Psap\Analyzer · Classes 48

PhpParser\Node\Stmt

Classes 9 · Referencing classes 3

  • Psap\Analyzer\Internal\DependencyNameCollector → PhpParser\Node\Stmt\Catch_ · instanceof · Analyzer/Internal/DependencyNameCollector.php:155
  • Psap\Analyzer\DependencyAnalyzer → PhpParser\Node\Stmt\ClassLike · parameter_type · Analyzer/DependencyAnalyzer.php:279
  • Psap\Analyzer\DependencyAnalyzer → PhpParser\Node\Stmt\ClassLike · parameter_type · Analyzer/DependencyAnalyzer.php:293

+18 more source locations omitted

PhpParser\Node

Classes 8 · Referencing classes 2

  • Psap\Analyzer\Internal\DependencyNameCollector → PhpParser\Node\Attribute · instanceof · Analyzer/Internal/DependencyNameCollector.php:61
  • Psap\Analyzer\Internal\DependencyNameCollector → PhpParser\Node\ComplexType · parameter_type · Analyzer/Internal/DependencyNameCollector.php:195
  • Psap\Analyzer\Internal\DependencyNameCollector → PhpParser\Node\ComplexType · parameter_type · Analyzer/Internal/DependencyNameCollector.php:206

+19 more source locations omitted

PhpParser\Node\Expr

Classes 8 · Referencing classes 1

  • Psap\Analyzer\Internal\DependencyNameCollector → PhpParser\Node\Expr\ArrowFunction · instanceof · Analyzer/Internal/DependencyNameCollector.php:118
  • Psap\Analyzer\Internal\DependencyNameCollector → PhpParser\Node\Expr\ClassConstFetch · instanceof · Analyzer/Internal/DependencyNameCollector.php:143
  • Psap\Analyzer\Internal\DependencyNameCollector → PhpParser\Node\Expr\Closure · instanceof · Analyzer/Internal/DependencyNameCollector.php:118

+5 more source locations omitted

PHPStan\PhpDocParser\Ast\Type

Classes 7 · Referencing classes 1

  • Psap\Analyzer\Internal\DocblockTypeExtractor → PHPStan\PhpDocParser\Ast\Type\ArrayTypeNode · instanceof · Analyzer/Internal/DocblockTypeExtractor.php:170
  • Psap\Analyzer\Internal\DocblockTypeExtractor → PHPStan\PhpDocParser\Ast\Type\GenericTypeNode · instanceof · Analyzer/Internal/DocblockTypeExtractor.php:175
  • Psap\Analyzer\Internal\DocblockTypeExtractor → PHPStan\PhpDocParser\Ast\Type\IdentifierTypeNode · instanceof · Analyzer/Internal/DocblockTypeExtractor.php:166

+4 more source locations omitted

PhpParser

Classes 7 · Referencing classes 4

  • Psap\Analyzer\DependencyAnalyzer → PhpParser\Error · catch · Analyzer/DependencyAnalyzer.php:105
  • Psap\Analyzer\DependencyAnalyzer → PhpParser\Error · catch · Analyzer/DependencyAnalyzer.php:137
  • Psap\Analyzer\DependencyAnalyzer → PhpParser\Error · parameter_type · Analyzer/DependencyAnalyzer.php:175

+21 more source locations omitted

PHPStan\PhpDocParser\Parser

Classes 4 · Referencing classes 1

  • Psap\Analyzer\Internal\DocblockTypeExtractor → PHPStan\PhpDocParser\Parser\ConstExprParser · new · Analyzer/Internal/DocblockTypeExtractor.php:66
  • Psap\Analyzer\Internal\DocblockTypeExtractor → PHPStan\PhpDocParser\Parser\PhpDocParser · property_type · Analyzer/Internal/DocblockTypeExtractor.php:60
  • Psap\Analyzer\Internal\DocblockTypeExtractor → PHPStan\PhpDocParser\Parser\PhpDocParser · new · Analyzer/Internal/DocblockTypeExtractor.php:68

+2 more source locations omitted

PHPStan\PhpDocParser

Classes 1 · Referencing classes 1

  • Psap\Analyzer\Internal\DocblockTypeExtractor → PHPStan\PhpDocParser\ParserConfig · new · Analyzer/Internal/DocblockTypeExtractor.php:64

PHPStan\PhpDocParser\Ast\PhpDoc

Classes 1 · Referencing classes 1

  • Psap\Analyzer\Internal\DocblockTypeExtractor → PHPStan\PhpDocParser\Ast\PhpDoc\PhpDocNode · return_type · Analyzer/Internal/DocblockTypeExtractor.php:147

PHPStan\PhpDocParser\Lexer

Classes 1 · Referencing classes 1

  • Psap\Analyzer\Internal\DocblockTypeExtractor → PHPStan\PhpDocParser\Lexer\Lexer · property_type · Analyzer/Internal/DocblockTypeExtractor.php:59
  • Psap\Analyzer\Internal\DocblockTypeExtractor → PHPStan\PhpDocParser\Lexer\Lexer · new · Analyzer/Internal/DocblockTypeExtractor.php:65

PhpParser\NodeVisitor

Classes 1 · Referencing classes 2

  • Psap\Analyzer\DependencyAnalyzer → PhpParser\NodeVisitor\NameResolver · new · Analyzer/DependencyAnalyzer.php:126
  • Psap\Analyzer\Internal\RootClassLikeCollector → PhpParser\NodeVisitor\NameResolver · parameter_type · Analyzer/Internal/RootClassLikeCollector.php:32

PhpParser\Node\Name

Classes 1 · Referencing classes 1

  • Psap\Analyzer\Internal\DocblockTypeExtractor → PhpParser\Node\Name\FullyQualified · new · Analyzer/Internal/DocblockTypeExtractor.php:225
Psap\Console · Classes 7

Symfony\Component\Console\Input

Classes 3 · Referencing classes 1

  • Psap\Console\AnalyzeCommand → Symfony\Component\Console\Input\InputArgument · class_constant · Console/AnalyzeCommand.php:62
  • Psap\Console\AnalyzeCommand → Symfony\Component\Console\Input\InputInterface · parameter_type · Console/AnalyzeCommand.php:123
  • Psap\Console\AnalyzeCommand → Symfony\Component\Console\Input\InputOption · class_constant · Console/AnalyzeCommand.php:68

+8 more source locations omitted

Symfony\Component\Console\Output

Classes 2 · Referencing classes 1

  • Psap\Console\AnalyzeCommand → Symfony\Component\Console\Output\ConsoleOutputInterface · instanceof · Console/AnalyzeCommand.php:125
  • Psap\Console\AnalyzeCommand → Symfony\Component\Console\Output\ConsoleOutputInterface · instanceof · Console/AnalyzeCommand.php:278
  • Psap\Console\AnalyzeCommand → Symfony\Component\Console\Output\OutputInterface · parameter_type · Console/AnalyzeCommand.php:123

+2 more source locations omitted

Symfony\Component\Console\Attribute

Classes 1 · Referencing classes 1

  • Psap\Console\AnalyzeCommand → Symfony\Component\Console\Attribute\AsCommand · attribute · Console/AnalyzeCommand.php:54

Symfony\Component\Console\Command

Classes 1 · Referencing classes 1

  • Psap\Console\AnalyzeCommand → Symfony\Component\Console\Command\Command · extends · Console/AnalyzeCommand.php:55
  • Psap\Console\AnalyzeCommand → Symfony\Component\Console\Command\Command · class_constant · Console/AnalyzeCommand.php:133
  • Psap\Console\AnalyzeCommand → Symfony\Component\Console\Command\Command · class_constant · Console/AnalyzeCommand.php:146

+13 more source locations omitted