1
0
mirror of https://github.com/danog/psalm.git synced 2024-11-26 20:34:47 +01:00
psalm/docs/running_psalm/issues/ImpureMethodCall.md
2020-03-20 19:13:56 -04:00

378 B

ImpureMethodCall

Emitted when calling an impure method from a function or method marked as pure.

<?php

class A {
    public int $a = 5;

    public function foo() : void {
        $this->a++;
    }
}

/** @psalm-pure */
function filterOdd(int $i, A $a) : ?int {
    $a->foo();

    if ($i % 2 === 0 || $a->a === 2) {
        return $i;
    }

    return null;
}