1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-15 02:47:02 +01:00
Commit Graph

187 Commits

Author SHA1 Message Date
Brown
6a7148204b Add checks elsewhere too 2018-10-17 13:25:09 -04:00
Brown
a2e7a65f3a Add better types for microtime 2018-10-10 16:03:00 -04:00
Brown
8e73b34469 Fix - improve handling of print_r 2018-10-10 10:58:47 -04:00
Brown
67c90edadf Don’t check methods we’ve already checked 2018-09-30 11:34:51 -04:00
Matt Brown
6e5a9bf076 Fix - use better return type for array_slice 2018-09-07 10:53:56 -04:00
Matt Brown
956a7c749b Improve handling of array_search and strstr, and restrict ini_set types 2018-08-29 13:58:07 -04:00
Matthew Brown
6670dd31e1 Fix - improve typing of object-like arrays containing class like strings 2018-08-08 21:31:13 -04:00
SignpostMarv
3eb027d371 875 addendum ()
* testing port

* testing return values with port

* removing redundant assertions

* forgot to return ¬_¬

* Fix build
2018-07-10 00:08:53 -04:00
Matt Brown
166706a35d Fix - improve return types for parse_url 2018-07-09 14:37:14 -04:00
Matthew Brown
cd4bb75d80 Fix - handle gettimeofday args 2018-07-07 20:35:24 -04:00
Matt Brown
7e09f59825 Fix - improve return type of version_compare 2018-07-06 13:09:05 -04:00
Matt Brown
376c3c54c0 Add better checks for array_reduce
Fixes 
2018-06-28 16:01:53 -04:00
Matt Brown
ffda44c3ba Fix - check assertions, even outside conditionals 2018-06-25 18:02:05 -04:00
Matt Brown
6542a0a784 Fix - convert void array map return to null 2018-06-11 17:00:26 -04:00
Matt Brown
d35a3996fa Fix - improve handling of closure vars 2018-06-11 16:54:20 -04:00
Matt Brown
29a971d40e Fix - make sure in_array informs literal types 2018-06-08 13:53:42 -04:00
Matthew Brown
b47d732993 Fix to support PHP Parser 4.0.2 2018-06-03 10:05:50 -04:00
Bruce Weirdan
6ecea35837 array_column return type inference ()
* Exception message typo fixed

* array_column return type inference

It takes a safe approach and only tries to be smart when array row type
is definite single shape

* cs fix
2018-05-31 21:14:06 -04:00
Matthew Brown
c8faaf0ca9 Remove unused vars 2018-05-23 21:27:01 -04:00
Matthew Brown
e61ba336be Rewrite ifs as big switch 2018-05-23 21:17:14 -04:00
Matthew Brown
ea465852e1 Move TypeCombination logic into its own class 2018-05-19 19:44:03 -04:00
Matt Brown
f2a70fef85 Fix - give iterator_to_array back its type info 2018-05-18 18:10:10 -04:00
Matthew Brown
b0733254bb
Use individual type objects for each string ()
* Experiment with individual types for each string

* Fix bunch of errors

* Fix a few more issues

* Fix a whole bunch of bugs

* Fix most remaining bugs

* Fix isset warnings

* Fix psalm errors in psalm

* Limit big string size

* Fix falsiness of ints

* Fix issue with type widening, allowing value set in nested if to be altered

* Don’t complain if type is mixed

* Add skipped-for-now test

* Add specific test to address issue
2018-05-18 11:02:50 -04:00
Matthew Brown
dbc0e6dfcb Use arrays instead of strings for assertions 2018-05-12 19:38:43 -04:00
Matthew Brown
b4c0ffbe9d Also match substr_replace 2018-05-09 00:39:45 -04:00
Matthew Brown
8149573754 Treat str_ireplace like str_replace 2018-05-09 00:34:44 -04:00
Matthew Brown
21261172a8 Fix - support offsets of known array types 2018-05-05 17:30:18 -04:00
Matthew Brown
1a4ddc7cdd
Support value types ()
* Add first idea

* Add initial count experiments

* Remove false positives

* Fix getId to support changes in conditionals

* Add better tests

* Strip types when not exists

* Fix array offsets

* More fixes

* Add class constant value types

* Clone constants everywhere

* Don’t complain unnecessarily

* Be more lenient with possibly invalid __sets

* Fix mixed issues

* Fix bug concerning orred string equality

* Remove unnecessary casts
2018-05-03 13:56:30 -04:00
Matthew Brown
acacde173e Fix highlight_string return type default 2018-04-30 01:49:55 -04:00
Matthew Brown
6ad2184b7e Improve highlight_string/highlight_file signatures 2018-04-30 00:31:27 -04:00
Matt Brown
6afaf5aae9 Make Psalm compatible with PHP Parser 4 2018-04-17 13:06:02 -04:00
Matt Brown
3cc549384f Type explode more accurately 2018-04-16 16:03:04 -04:00
Matthew Brown
3fe9a0606e Fix - warn about MixedArgument when inferredType property does not exist
And handle str_replace more leniently when args unknown
2018-04-07 15:16:46 -04:00
Matt Brown
60c6bb4021 Fix - be more judicious about inserting mixed into places 2018-04-06 18:28:22 -04:00
Matt Brown
c932ed7764 Fix - allow Psalm to understand assertions on properties of array objects 2018-04-06 16:23:10 -04:00
Matthew Brown
4ff7db09f9 Fix var_export return type
Fixes 
2018-04-02 22:19:58 -04:00
Matthew Brown
58115599a1 Add support for callable(...) syntax
Ref 
2018-03-26 22:13:10 -04:00
Matthew Brown
8b102d891c Allow intersection types in callable args 2018-03-18 20:29:41 -04:00
Matthew Brown
d0fc48cfaf Remove unnecessary whitespace 2018-03-15 00:37:08 -04:00
Matt Brown
822d0a116e Reflect all numeric types passed to abs
Fixes 
2018-03-14 18:05:36 -04:00
Matt Brown
52b6a5cbde Fix - fix buggy handling of packed vars 2018-03-13 13:50:41 -04:00
Matthew Brown
a0be2e390a Fix case of mapping function before analysis 2018-03-05 09:05:38 -05:00
Matt Brown
80864b1ce8 Don’t be concerned about unused params named $_
Fixes 
2018-02-27 11:39:26 -05:00
Matt Brown
30c6aa5c68 Add missing spaces 2018-02-26 11:09:17 -05:00
Matt Brown
93b714d7c8 Fix - make array_map on object-like more accurate 2018-02-26 11:01:30 -05:00
Matt Brown
9d165bee7b Fix generic return type for array_map
Ref 
2018-02-26 10:39:48 -05:00
Matt Brown
1df4c3d196 Add DocblockTypeContradiction to find possible issues with docblock types
Fixes 
2018-02-06 18:44:53 -05:00
Matt Brown
fc58655963 Make logic more Psalm-compatible 2018-02-06 13:52:59 -05:00
Matthew Brown
8e0998e081 Break apart the Codebase class 2018-02-03 18:56:54 -05:00
Matthew Brown
fb300baa6d Move a bunch of code into Codebase 2018-02-01 00:50:01 -05:00