1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-14 18:36:58 +01:00
Commit Graph

47 Commits

Author SHA1 Message Date
Matthew Brown
e05a7c00cc Break FileScanner out from FileChecker 2018-01-21 12:44:46 -05:00
Matthew Brown
26945acce6 Move ClassLikeChecker::analyze into ClassChecker and InterfaceChecker 2018-01-14 13:08:24 -05:00
Matthew Brown
4175295113 Isolate where we load static storage objects (#195)
* Move FileChecker::$storage calls to provider

* Add ClassLikeStorageProvider

* Use ClassLikeStorageProvider everywhere

* Move storage arrays into providers
2017-07-29 15:05:06 -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
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
Matthew Brown
4fd46e1752 Improve formatting 2017-05-24 22:07:49 -04:00
Matthew Brown
b2957ef4e4 Remove redundant property 2017-02-22 00:06:31 -05:00
Matthew Brown
5cbd25fccc Allow generator to be used as a traversable 2017-02-08 20:58:50 -05:00
Matthew Brown
d3abc0011d Fix #80 - add dead code checks via command line 2017-01-31 23:24:33 -05:00
Matthew Brown
e51763328c Shortcut for generator, which does not extend anything 2017-01-27 08:41:32 -07:00
Matthew Brown
6bcc763414 Fix #3 by checking inside __constructor calls for initialisations 2017-01-26 23:23:12 -07:00
Matt Brown
0ba02f304f Make project checker always aware of file paths to classes 2017-01-19 10:55:58 -05:00
Matthew Brown
9220b958eb Fix phpcs errors 2017-01-16 19:06:39 -05:00
Matthew Brown
78c1138a94 Fix #53 - add back extends checks for reflected classes 2017-01-14 19:34:10 -05:00
Matt Brown
d2c9c423c5 Fix #46 - fix type assignment of anonymous classes 2017-01-13 10:44:04 -05:00
Matthew Brown
4e00ef51cd Do not check special terms 2017-01-09 01:50:24 -05:00
Matthew Brown
03c5ea3cef Store all class keys lowercased 2017-01-09 00:14:39 -05:00
Matthew Brown
694da2cabd Simplify a lot of APIs 2017-01-07 14:35:07 -05:00
Matthew Brown
7609ca02c0 Fix #32 by evaluating all class references in files lazily 2017-01-04 23:42:58 -05:00
Matthew Brown
883ca6a5db Fix #30 by consolidating properties into single storage array 2017-01-01 19:09:17 -05:00
Matthew Brown
b068bd7858 Fix many bugs 2016-12-30 20:05:32 -05:00
Matthew Brown
92fe58b97c Shift storage from static arrays to dedicated ClassLikeStorage objects 2016-12-30 12:41:14 -05:00
Matthew Brown
7cb6891a0b Add support for class constant visibility 2016-12-04 01:44:33 -05:00
Matthew Brown
264e77addd Change a few more words 2016-11-07 19:16:51 -05:00
Matthew Brown
36fc49965b Correct speling 2016-11-07 17:31:02 -05:00
Matthew Brown
622a0794c3 Swap in Fully-Qualified for Absolute terms 2016-11-07 17:29:51 -05:00
Matthew Brown
c5591adf10 Add support for global in functions and mixed inferred return errors 2016-11-05 17:54:34 -04:00
Jon Ursenbach
27c2db1d1d PSR-2 2016-11-02 17:50:54 -04:00
Matthew Brown
1c09ea7380 Fix Psalm errors in Psalm 2016-10-31 15:42:20 -04:00
Matthew Brown
722a7fba5c Don't squeal when autoloading classes 2016-10-30 01:13:33 -04:00
Matthew Brown
d8b10a6c97 Fix errors caught by Psalm 2016-10-23 01:57:11 -04:00
Matthew Brown
6d8e722a77 Add support for anonymous classes 2016-10-20 20:54:17 -04:00
Matthew Brown
d71d439e25 Closure basically implements callable 2016-10-20 18:05:28 -04:00
Matthew Brown
4c4b6e9902 Add docblocks where relevant 2016-10-12 01:38:29 -04:00
Matthew Brown
a30c82e5d7 Fix bugs in refactor 2016-10-10 01:35:12 -04:00
Matthew Brown
9ab0ee45a5 Add a bunch of docblocks 2016-09-09 20:07:36 -04:00
Matthew Brown
093c5447ae Avoid unnecessary interface casing errors 2016-08-22 16:41:45 -04:00
Matthew Brown
f7003bc53e Rename ClassMethodChecker to MethodChecker 2016-08-15 15:14:28 -04:00
Matthew Brown
84b4e09873 Simplify clearCache calls 2016-08-15 11:01:50 -04:00
Matthew Brown
d23242e4e7 Fix what methods get assigned 2016-08-15 00:31:34 -04:00
Matthew Brown
3f24af3031 Big refactor to limit reflection 2016-08-14 23:24:16 -04:00
Matthew Brown
affa6c306b Fix class case sensitivity 2016-08-14 13:00:41 -04:00
Matthew Brown
8ba4f5141c Simplify class registration 2016-08-14 12:06:53 -04:00
Matthew Brown
defc4cebc1 Add support for checking inherited constants 2016-08-13 19:44:24 -04:00
Matthew Brown
fd63f3e056 Abandon use of undersocres and fix interface parsing 2016-08-13 18:54:49 -04:00
Matthew Brown
7d1a106fd5 Big file reorg with ClassLikeChecker as new ClassChecker 2016-08-13 14:20:46 -04:00