Showing 3,272 of 4,939 total issues

Function withSetVariable has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
Open

    private function withSetVariable(string $var_name, Node $var_node, Node $ancestor_node): Context
    {
        $context = $this->context;
        $is_object = $var_node->kind === ast\AST_PROP;

Severity: Minor
Found in src/Phan/Analysis/ConditionVisitor.php - About 1 hr to fix

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 visitBinaryCoalesce has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
Open

    public function visitBinaryCoalesce(Node $node): UnionType
    {
        $left_node = $node->children['left'];
        $left_type = UnionTypeVisitor::unionTypeFromNode(
            $this->code_base,
Severity: Minor
Found in src/Phan/Analysis/BinaryOperatorFlagVisitor.php - About 1 hr to fix

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 filterNonArrayTypes has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
Open

    private static function filterNonArrayTypes(array $type_set): array
    {
        $new_types = [];
        $has_null = false;
        $has_other_nullable_types = false;
Severity: Minor
Found in src/Phan/Analysis/NegatedConditionVisitor.php - About 1 hr to fix

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 analyzeAbstractMethodsAreImplemented has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
Open

    public static function analyzeAbstractMethodsAreImplemented(
        CodeBase $code_base,
        Clazz $class
    ): void {
        // Don't worry about internal classes
Severity: Minor
Found in src/Phan/Analysis/AbstractMethodAnalyzer.php - About 1 hr to fix

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 compareYieldAgainstDeclaredType has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
Open

    private function compareYieldAgainstDeclaredType(Node $node, FunctionInterface $method, Context $context, array $template_type_list): Context
    {
        $code_base = $this->code_base;

        $type_list_count = \count($template_type_list);
Severity: Minor
Found in src/Phan/Analysis/PostOrderAnalysisVisitor.php - About 1 hr to fix

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 excludeMatchingTypes has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
Open

    public static function excludeMatchingTypes(CodeBase $code_base, UnionType $affected_type, UnionType $excluded_type): UnionType
    {
        if ($affected_type->isEmpty() || $excluded_type->isEmpty()) {
            return $affected_type;
        }
Severity: Minor
Found in src/Phan/Analysis/ConditionVisitorUtil.php - About 1 hr to fix

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 analyzeClassInheritance has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
Open

    public static function analyzeClassInheritance(
        CodeBase $code_base,
        Clazz $clazz
    ): void {

Severity: Minor
Found in src/Phan/Analysis/ClassInheritanceAnalyzer.php - About 1 hr to fix

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 applyToStatementList has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
Open

    private static function applyToStatementList(Node $statement_list): Node
    {
        if ($statement_list->kind !== ast\AST_STMT_LIST) {
            $statement_list = self::buildStatementList($statement_list->lineno, $statement_list);
        }
Severity: Minor
Found in src/Phan/AST/ASTSimplifier.php - About 1 hr to fix

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 visitNew has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
Open

    public function visitNew(Node $node): void
    {
        $name_node = $node->children['class'];
        if (!($name_node instanceof Node && $name_node->kind === ast\AST_NAME)) {
            throw new NodeException($node);
Severity: Minor
Found in src/Phan/AST/InferPureVisitor.php - About 1 hr to fix

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 visitStaticCall has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
Open

    public function visitStaticCall(Node $node): void
    {
        $method = $node->children['method'];
        if (!\is_string($method)) {
            throw new NodeException($node);
Severity: Minor
Found in src/Phan/AST/InferPureVisitor.php - About 1 hr to fix

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 typeAfterCastToObject has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
Open

    private static function typeAfterCastToObject(UnionType $expr_type): UnionType
    {
        static $stdclass;
        if ($stdclass === null) {
            $stdclass = Type::fromFullyQualifiedString('\stdClass');
Severity: Minor
Found in src/Phan/AST/UnionTypeVisitor.php - About 1 hr to fix

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 classListFromClassNameNode has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
Open

    public static function classListFromClassNameNode(CodeBase $code_base, Context $context, $node): array
    {
        $results = [];
        $strings = UnionTypeVisitor::unionTypeFromNode($code_base, $context, $node)->asStringScalarValues();
        foreach ($strings as $string) {
Severity: Minor
Found in src/Phan/AST/UnionTypeVisitor.php - About 1 hr to fix

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 getOrCreateProperty has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
Open

    public function getOrCreateProperty(
        string $property_name,
        bool $is_static
    ): Property {

Severity: Minor
Found in src/Phan/AST/ContextNode.php - About 1 hr to fix

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 hash has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
Open

    public static function hash($node): string
    {
        if (!is_object($node)) {
            // hashKey
            if (is_string($node)) {
Severity: Minor
Found in src/Phan/AST/ASTHasher.php - About 1 hr to fix

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 getClassListInner has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
Open

    public function getClassListInner(bool $ignore_missing_classes): array
    {
        $node = $this->node;
        if (!($node instanceof Node)) {
            if (\is_string($node)) {
Severity: Minor
Found in src/Phan/AST/ContextNode.php - About 1 hr to fix

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 analyzeClasses has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
Open

    public static function analyzeClasses(CodeBase $code_base, array $path_filter = null): void
    {
        CLI::progress('classes', 0.0, null);
        $classes = $code_base->getUserDefinedClassMap();
        if (\is_array($path_filter)) {
Severity: Minor
Found in src/Phan/Analysis.php - About 1 hr to fix

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 checkCalledFunction has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
Open

    protected function checkCalledFunction(Node $node, FunctionInterface $method): void
    {
        if ($method->isPure()) {
            // avoid false positives - throw when calling void methods that were marked as free of side effects.
            if ($method->isPHPInternal() || (($method instanceof Method && $method->isAbstract()) || $method->hasReturn() || $method->hasYield())) {
Severity: Minor
Found in src/Phan/AST/InferPureSnippetVisitor.php - About 1 hr to fix

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 checkForUndeclaredTypeMethods has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
Open

    private static function checkForUndeclaredTypeMethods(): void
    {
        foreach (self::getInternalClasses() as $class_name => $reflection_class) {
            foreach ($reflection_class->getMethods() as $reflection_method) {
                if ($reflection_method->class !== $class_name) {
Severity: Minor
Found in internal/reflection_completeness_check.php - About 1 hr to fix

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 extractConstantEntries has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
Open

    private static function extractConstantEntries(array $constants_entries): array
    {
        $result = [];
        foreach ($constants_entries as $entry) {
            $entry->registerXPathNamespace('a', 'http://docbook.org/ns/docbook');
Severity: Minor
Found in internal/lib/IncompatibleXMLSignatureDetector.php - About 1 hr to fix

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 visitIf has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
Open

    public function visitIf(Node $node): void
    {
        // @phan-suppress-next-line PhanUndeclaredProperty set by ASTSimplifier
        if (isset($node->is_simplified)) {
            $first_child = end($node->children);
Severity: Minor
Found in .phan/plugins/EmptyStatementListPlugin.php - About 1 hr to fix

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

Severity
Category
Status
Source
Language