1
0
mirror of https://github.com/danog/psalm.git synced 2024-11-27 04:45:20 +01:00
Commit Graph

55 Commits

Author SHA1 Message Date
Matthew Brown
edb2b4c5ef Get type of requires 2020-06-13 15:48:12 -04:00
Philip Hofstetter
d315822bfa make skipping of checks after invalid includes configurable
as suggested in the PR it's best to make the setting configurable.

In order not to break existing installations, we default to keeping the
old behaviour, but in a later version of psalm, we might change the
default.
2020-02-27 18:49:23 -05:00
Philip Hofstetter
f2277ebb6d don't disable checks when includes can't be resolved
Any unresolvable include (even suppressed ones) would lead to some
subsequent tests being disabled as a side-effect.

this fixes #2817
2020-02-27 18:49:23 -05:00
Brown
1208437b4c Fix #1940 - allow proper evaluation of /a/b/../../ 2019-07-12 14:28:21 -04:00
Matthew Brown
da42be175f Apply PHPCS fixes
Fixes #1880
2019-07-05 16:27:53 -04:00
LeSuisse
f29826b958 Fully qualify constants and function calls (#1849)
This should give a small performance boost.
Part of #1837.

The change is enforced via phpcs and can be autofixed
with phpcbf.
2019-06-26 16:52:29 -04:00
Brown
d75ac7f55d Move test fixtures to a single directory 2019-05-09 18:23:14 -04:00
Brown
21b1c04c1d Fix #1526 - ignore files if they weren’t picked up in scanning step 2019-04-03 10:43:48 -04:00
Matthew Brown
c772914910 Add some formatting 2019-03-23 14:27:54 -04:00
Matthew Brown
efbcf7dc5b Fix #1417 - store root file path when scanning for manipulations 2019-03-02 15:07:26 -05:00
Bruce Weirdan
ec85096c96 Fixed identified issues 2019-03-02 08:43:19 -05:00
Matthew Brown
b43a6a31f1 Enable casing plugin and fix issues it found 2019-01-12 10:52:23 -05:00
Matthew Brown
4d79b61e93 Change _checker to _analyzer 2018-11-12 11:20:59 -05:00
Matthew Brown
4688b25fd9 Move internal classes to own namespace 2018-11-12 11:20:59 -05:00
Brown
67b114f3f7 Skip test broken by new scanning system 2018-10-15 09:16:11 -04:00
Matt Brown
dce8d14e1b Fix syntax errors in tests 2018-09-17 12:15:45 -04:00
Matthew Brown
7c274431f0 Fix #975 - don’t check things at all when there’s a duplicate class 2018-09-04 21:22:05 -04:00
Matt Brown
b97972ebb3 Fix Psalm-found issues 2018-09-04 14:37:33 -04:00
Matt Brown
cbfebb7a69 Fix #971 - be more robust in face of duplicate classes 2018-09-04 14:34:14 -04:00
Matt Brown
f844f86a6c Improve type coercion checks in strict mode 2018-08-28 17:42:39 -04:00
Matt Brown
0304201d91 Fix #932 - allow obvious string vars to be used for includes 2018-08-07 13:17:23 -04:00
Matthew Brown
fb3bc2661e Fix #797 - check backup included file for defined function 2018-06-06 21:47:26 -04:00
Matthew Brown
55fdef250e Add config to allow hoisting constants to the top of a file 2018-06-01 09:07:22 -04:00
Matthew Brown
72f65cf544 Fix global tests 2018-05-30 22:56:46 -04:00
Matthew Brown
6b8e019a07 Bleed global variables declared in functions into main context 2018-05-30 22:09:46 -04:00
Matt Brown
549e90eca4 Treat required files the same as the files that require them, reporting-wise 2018-05-30 16:19:18 -04:00
Matt Brown
1462020cd4 Properly analyse nested traits 2018-05-30 13:08:56 -04:00
Matt Brown
68dbe509a8 Fix #731 - report issues in files required by the source 2018-05-30 12:23:53 -04:00
Matthew Brown
c217849737 Improve handling of projects that use include/require heavily 2018-05-22 23:39:01 -04:00
Matthew Brown
3a77504730 Add test to find bad behaviour 2018-03-30 19:15:24 -04:00
Matthew Brown
3578c49bf2 Add test for #587 2018-03-17 15:02:25 -04:00
Matthew Brown
8e0998e081 Break apart the Codebase class 2018-02-03 18:56:54 -05:00
Matthew Brown
bc9761f6c9 Create Codebase out from ProjectChecker 2018-01-21 13:45:33 -05:00
Matthew Brown
e05a7c00cc Break FileScanner out from FileChecker 2018-01-21 12:44:46 -05:00
Matt Brown
21eafd8bfc Fix #352 with a mixed copout if the use is passed by reference 2018-01-12 12:33:26 -05:00
Matt Brown
2120d258a4 Fix formatting of return type adder 2018-01-11 15:50:58 -05:00
Matthew Brown
f136fc3296 Fix #305 by making test error message checks more accurate 2017-11-15 21:04:25 -05:00
Matt Brown
69f494ccdc Add test for #169 2017-07-31 15:10:42 -04:00
Matt Brown
22b6dafe3c Fix #194 - carry over const definitions 2017-07-28 10:42:30 -04:00
Matthew Brown
e29dd140e3 Refactor scanning and analysis, introducing multithreading (#191)
* Add failing test

* Add visitor to soup up classlike references

* Move a whole bunch of code into the visitor

* Move some methods back, move onto analysis stage

* Use the getAliases method everywhere

* Fix refs

* Fix more refs

* Fix some tests

* Fix more tests

* Fix include tests

* Shift config class finding to project checker and fix bugs

* Fix a few more tests

* transition test to new syntax

* Remove var_dump

* Delete a bunch of code and fix mutation test

* Remove unnecessary visitation

* Transition to better mocked out file provider, breaking some cached statement loading

* Use different scheme for naming anonymous classes

* Fix anonymous class issues

* Refactor file/statement loading

* Add specific property types

* Fix mapped property assignment

* Improve how we deal with traits

* Fix trait checking

* Pass Psalm checks

* Add multi-process support

* Delay console output until the end

* Remove PHP 7 syntax

* Update file storage with classes

* Fix scanning individual files and add reflection return types

* Always turn XDebug off

* Add quicker method of getting method mutations

* Queue return types for crawling

* Interpret all strings as possible classes once we see a `get_class` call

* Check invalid return types again

* Fix template namespacing issues

* Default to class-insensitive file names for includes

* Don’t overwrite existing issues data

* Add var docblocks for scanning

* Add null check

* Fix loading of external classes in templates

* Only try to populate class when we haven’t yet seen it’s not a class

* Fix trait property accessibility

* Only ever improve docblock param type

* Make param replacement more robust

* Fix static const missing inferred type

* Fix a few more tests

* Register constant definitions

* Fix trait aliasing

* Skip constant type tests for now

* Fix linting issues

* Make sure caching is off for tests

* Remove unnecessary return

* Use emulative parser if on PHP 5.6

* Cache parser for faster first-time parse

* Fix constant resolution when scanning classes

* Remove test that’s beyond a practical scope

* Add back --diff support

* Add --help for --threads

* Remove unused vars
2017-07-25 16:11:02 -04:00
Matt Brown
1745518c2c Fix #166 - prevent require loop 2017-06-06 10:11:34 -04:00
Matthew Brown
1fee30d065 Add trailing commas 2017-06-05 22:12:19 -04:00
Matthew Brown
81223c45e0 Fix #166 - return instead of looping infinitely 2017-06-05 21:46:04 +01:00
Matthew Brown
b79b9e9b8c Add breaking test 2017-06-05 15:21:03 +01:00
Matthew Brown
e99150b403 Refactor include tests to allow checking multiple files per test cc @ernunion 2017-06-01 23:16:45 -04:00
Matthew Brown
22a716f4da Improve formatting of phpdocs 2017-05-26 20:16:18 -04:00
Matthew Brown
d6909193ea Add additional formatting changes 2017-05-26 20:05:57 -04:00
Jon Ursenbach
11bc153deb Rewriting and streamlining every unit test with data providers. (#147)
* Rewriting and streamlining every unit test with data providers.

All unit tests have been rewritten into PHPUnit data providers
to reduce the amount of unnecessary code-reuse through out the
test suite.
2017-04-24 23:45:02 -04:00
Matt Brown
a7872472be Add stubbing tests and modify config initialisation 2017-01-31 19:22:05 -05:00
Matt Brown
875717bb96 Fix #63 by adding directory separators 2017-01-17 22:10:21 -05:00