Showing 3,272 of 4,939 total issues
Function canCastToNonNullableTypeHandlingTemplates
has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring. Open
protected function canCastToNonNullableTypeHandlingTemplates(Type $type, CodeBase $code_base): bool
{
if (parent::canCastToNonNullableTypeHandlingTemplates($type, $code_base)) {
return true;
}
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Function of
has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring. Open
public static function of(array $type_list, array $real_type_set = []): UnionType
{
$n = \count($type_list);
if ($n === 0) {
if ($real_type_set) {
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Function combineArrayTypesMerging
has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring. Open
public static function combineArrayTypesMerging(UnionType $union_type): UnionType
{
$result = [];
$array_shape_types = [];
foreach ($union_type->getTypeSet() as $type) {
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Function internalFunctionSignatureMapForFQSEN
has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring. Open
public static function internalFunctionSignatureMapForFQSEN(
$function_fqsen
): array {
$map = self::internalFunctionSignatureMap(Config::get_closest_target_php_version_id());
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Function canAnyTypeStrictCastToUnionType
has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring. Open
public function canAnyTypeStrictCastToUnionType(CodeBase $code_base, UnionType $target, bool $allow_casting = true): bool
{
foreach ($this->type_set as $type) {
if ($type instanceof IntType && !$allow_casting) {
if (!$target->hasTypeMatchingCallback(static function (Type $type): bool {
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Function computeExpandedTypesPreservingTemplate
has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring. Open
private function computeExpandedTypesPreservingTemplate(CodeBase $code_base, int $recursion_depth): UnionType
{
$union_type = $this->asPHPDocUnionType();
$class_fqsen = $this->asFQSEN();
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Function extractShapeComponents
has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring. Open
private static function extractShapeComponents(string $shape_component_string): array
{
$result = [];
foreach (self::extractNameList($shape_component_string) as $shape_component) {
// Because these can be nested, there may be more than one ':'. Only consider the first.
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Function visitWhile
has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring. Open
public function visitWhile(Node $node): Context
{
$context = $this->context->withLineNumberStart(
$node->lineno
)->withEnterLoop($node);
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Function computeNewContents
has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring. Open
public static function computeNewContents(string $file, string $contents, array $all_edits): ?string
{
\usort($all_edits, static function (FileEdit $a, FileEdit $b): int {
return ($a->replace_start <=> $b->replace_start)
?: ($a->replace_end <=> $b->replace_end)
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Function checkIsReadOnlyMethod
has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring. Open
private static function checkIsReadOnlyMethod(CodeBase $code_base, Method $method, PureMethodGraph $graph): void
{
if ($method->isPHPInternal() || $method->isAbstract()) {
return;
}
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Function quickWarn
has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring. Open
private function quickWarn(FunctionInterface $method, string $fqsen, Node $node): bool
{
if (!$method->isPure()) {
$fqsen_key = \strtolower(\ltrim($fqsen, "\\"));
$result = UseReturnValuePlugin::HARDCODED_FQSENS[$fqsen_key] ?? null;
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Function visitClass
has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring. Open
public function visitClass(Node $node): Context
{
if ($node->flags & \ast\flags\CLASS_ANONYMOUS) {
$class_name = (new ContextNode(
$this->code_base,
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Function visitStaticProp
has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring. Open
public function visitStaticProp(Node $node): Context
{
$property_name = $node->children['prop'];
// Things like self::${$x}
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Function visitStmtList
has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring. Open
public function visitStmtList(Node $node): ?bool
{
foreach ($node->children as $child) {
if (!($child instanceof Node)) {
continue;
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Function updateDimExpressionWithConditionalFilter
has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring. Open
final protected function updateDimExpressionWithConditionalFilter(
Node $node,
Context $context,
Closure $should_filter_cb,
Closure $filter_union_type_cb,
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Function updateVariableToBeNotIdentical
has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring. Open
final public function updateVariableToBeNotIdentical(
Node $var_node,
$expr,
Context $context = null
): Context {
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Function checkRedundantOrImpossibleTruthyCondition
has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring. Open
public function checkRedundantOrImpossibleTruthyCondition($node, Context $context, ?UnionType $type, bool $is_negated): void
{
if ($node instanceof Node) {
// Here, we only perform the redundant condition checks on whichever ran first, to avoid warning about both impossible and redundant conditions
if (isset($node->did_check_redundant_condition)) {
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Function analyzeBinaryBitwiseCommon
has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring. Open
private function analyzeBinaryBitwiseCommon(Node $node): UnionType
{
$left = UnionTypeVisitor::unionTypeFromNode(
$this->code_base,
$this->context,
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Function getLoopNodeTypeFetcher
has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring. Open
public static function getLoopNodeTypeFetcher(CodeBase $code_base, $node): ?Closure
{
if (!($node instanceof Node)) {
// This scalar won't change.
return null;
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Function initColorScheme
has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring. Open
private static function initColorScheme(): void
{
self::$color_scheme = self::DEFAULT_COLOR_FOR_TEMPLATE;
$env_color_scheme = \getenv('PHAN_COLOR_SCHEME');
// @phan-suppress-next-line PhanSuspiciousTruthyString allow 0 to be equal to unset.
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"