noverify
noverify copied to clipboard
Pretty fast linter (code static analysis utility) for PHP
noverify is only tested in normal mode where it reports all issues that were found. The diff (git) mode is what may be the most important feature for the real...
## Code Example ```php $x = new Foo(); if (is_int($x)) { //
If a symbol (function, class, etc) is defined more than once inside a project (or even a file), we could store a slice of positions instead of trying to choose...
## Code Example ```php // 1. Constants $example1 = [ C1 => 1, C2 => 2, C1 => 3, // Duplicate key C1 ]; $example2 = [ T::C1 => 1,...
## Code Example https://github.com/JetBrains/phpstorm-stubs/blob/b1041ca15222138a1d3d3aa4afb096df215bdc2e/standard/standard_1.php#L618 ```php function strtr ($str, $from, $to) {} function strtr ($str, array $replace_pairs) {} ``` Here we have 2 definitions for `strtr`, but only first is recorded,...
This implementation may be ported to NoVerify: * https://github.com/superhuman/rxxr2 * https://www.cs.bham.ac.uk/~hxt/research/rxxr2/ It doesn't look simple to port though. More info on the kinds of patterns we want to detect: *...
## Code Example ```php while (isset($x)) { // use of $x inside a loop } ``` ## Actual Behavior Warning about undefined `$x`. ## Expected Behavior No warnings. instanceof also...