Created at 2026-10-10 02:09:03 , with PHPMetrics v2.8.1 (Jean-François Lépine).
Violations
21
Information
1
Warnings
13
Errors
7
Criticals
0

Class Violations

Class Violations
Wikibase\Search\Elastic\ElasticTermResult
Probably bugged warning
This component contains in theory 0.46 bugs.

* Calculation is based on number of operators, operands, cyclomatic complexity
* See more details at https://en.wikipedia.org/wiki/Halstead_complexity_measures
* testsuites has dependency to this class.

Maybe you should check your unit tests for this class.
Probably bugged
Wikibase\Search\Elastic\EntityResult
Probably bugged warning
This component contains in theory 0.46 bugs.

* Calculation is based on number of operators, operands, cyclomatic complexity
* See more details at https://en.wikipedia.org/wiki/Halstead_complexity_measures
* testsuites has dependency to this class.

Maybe you should check your unit tests for this class.
Probably bugged
Wikibase\Search\Elastic\Fields\StatementsField
Probably bugged warning
This component contains in theory 0.55 bugs.

* Calculation is based on number of operators, operands, cyclomatic complexity
* See more details at https://en.wikipedia.org/wiki/Halstead_complexity_measures
* testsuites has dependency to this class.

Maybe you should check your unit tests for this class.
Probably bugged
Wikibase\Search\Elastic\Fields\StatementTimeField
Probably bugged warning
This component contains in theory 0.4 bugs.

* Calculation is based on number of operators, operands, cyclomatic complexity
* See more details at https://en.wikipedia.org/wiki/Halstead_complexity_measures
* testsuites has dependency to this class.

Maybe you should check your unit tests for this class.
Probably bugged
Wikibase\Search\Elastic\EntityFullTextQueryBuilder
Probably bugged warning
This component contains in theory 0.82 bugs.

* Calculation is based on number of operators, operands, cyclomatic complexity
* See more details at https://en.wikipedia.org/wiki/Halstead_complexity_measures
* testsuites has dependency to this class.

Maybe you should check your unit tests for this class.
Probably bugged
Wikibase\Search\Elastic\Query\LabelsCompletionQuery
Too complex method code error
This class looks really complex.

* Algorithms are complex (Max cyclomatic complexity of class methods is 11)

Maybe you should delegate some code to other objects or split complex method.
Probably bugged warning
This component contains in theory 0.74 bugs.

* Calculation is based on number of operators, operands, cyclomatic complexity
* See more details at https://en.wikipedia.org/wiki/Halstead_complexity_measures
* testsuites has dependency to this class.

Maybe you should check your unit tests for this class.
Too complex method code Probably bugged
Wikibase\Search\Elastic\Query\InLabelScoringVisitor
Blob / God object error
A blob object (or "god class") does not follow the Single responsibility principle.

* object has lot of public methods (10, excluding getters and setters)
* object has a high Lack of cohesion of methods (LCOM=4)
* object knows everything (and use lot of external classes)

Maybe you should reducing the number of methods splitting this object in many sub objects.
Blob / God object
Wikibase\Search\Elastic\Query\InLabelFilterVisitor
Blob / God object error
A blob object (or "god class") does not follow the Single responsibility principle.

* object has lot of public methods (9, excluding getters and setters)
* object has a high Lack of cohesion of methods (LCOM=3)
* object knows everything (and use lot of external classes)

Maybe you should reducing the number of methods splitting this object in many sub objects.
Blob / God object
Wikibase\Search\Elastic\Query\WbStatementTimeFeature
Too complex class code error
This class looks really complex.

* Algorithms are complex (Total cyclomatic complexity of class is 42)
* Component uses 113 operators

Maybe you should delegate some code to other objects.
Too complex method code error
This class looks really complex.

* Algorithms are complex (Max cyclomatic complexity of class methods is 16)

Maybe you should delegate some code to other objects or split complex method.
Probably bugged warning
This component contains in theory 0.81 bugs.

* Calculation is based on number of operators, operands, cyclomatic complexity
* See more details at https://en.wikipedia.org/wiki/Halstead_complexity_measures
* testsuites has dependency to this class.

Maybe you should check your unit tests for this class.
Too complex class code Too complex method code Probably bugged
Wikibase\Search\Elastic\Query\HasLicenseFeature
Probably bugged warning
This component contains in theory 0.41 bugs.

* Calculation is based on number of operators, operands, cyclomatic complexity
* See more details at https://en.wikipedia.org/wiki/Halstead_complexity_measures
* testsuites has dependency to this class.

Maybe you should check your unit tests for this class.
Probably bugged
Wikibase\Search\Elastic\Query\InLabelFeature
Too complex method code error
This class looks really complex.

* Algorithms are complex (Max cyclomatic complexity of class methods is 13)

Maybe you should delegate some code to other objects or split complex method.
Probably bugged warning
This component contains in theory 0.56 bugs.

* Calculation is based on number of operators, operands, cyclomatic complexity
* See more details at https://en.wikipedia.org/wiki/Halstead_complexity_measures
* testsuites has dependency to this class.

Maybe you should check your unit tests for this class.
Too complex method code Probably bugged
Wikibase\Search\Elastic\Query\InLabelQuery
Probably bugged warning
This component contains in theory 0.42 bugs.

* Calculation is based on number of operators, operands, cyclomatic complexity
* See more details at https://en.wikipedia.org/wiki/Halstead_complexity_measures
* testsuites has dependency to this class.

Maybe you should check your unit tests for this class.
Probably bugged
Wikibase\Search\Elastic\Query\EntityFullTextQueryClassifier
Blob / God object error
A blob object (or "god class") does not follow the Single responsibility principle.

* object has lot of public methods (10, excluding getters and setters)
* object has a high Lack of cohesion of methods (LCOM=3)
* object knows everything (and use lot of external classes)

Maybe you should reducing the number of methods splitting this object in many sub objects.
Blob / God object
Wikibase\Search\Elastic\SpecialEntitiesWithoutPage
Probably bugged warning
This component contains in theory 0.42 bugs.

* Calculation is based on number of operators, operands, cyclomatic complexity
* See more details at https://en.wikipedia.org/wiki/Halstead_complexity_measures
* testsuites has dependency to this class.

Maybe you should check your unit tests for this class.
Probably bugged
Wikibase\Search\Elastic\Hooks\CirrusSearchHooksHandler
Probably bugged warning
This component contains in theory 0.66 bugs.

* Calculation is based on number of operators, operands, cyclomatic complexity
* See more details at https://en.wikipedia.org/wiki/Halstead_complexity_measures
* testsuites has dependency to this class.

Maybe you should check your unit tests for this class.
Too dependent information
This class looks use really high number of components.

* Efferent coupling is 22, so this class uses 22 different external components.

Maybe you should check why this class has lot of dependencies.
Probably bugged Too dependent

Package Violations

Package Violations
Wikibase\Search\Elastic
Stable Dependencies Principle warning
Packages should depend in the direction of stability.

This package is more stable (0.902) than 1 package(s) that it depends on.
The packages that are more stable are

* Wikibase\Search\Elastic\Query (0.935)
Stable Dependencies Principle