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

1026 Commits

Author SHA1 Message Date
Matt Brown
f2a70fef85 Fix #745 - give iterator_to_array back its type info 2018-05-18 18:10:10 -04:00
Matt Brown
c6aa396dea Fix #741 - make sure closures are cloned properly 2018-05-18 17:47:40 -04:00
Matthew Brown
b0733254bb
Use individual type objects for each string (#757)
* 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
Matt Brown
3263b64301 Filter conditions better when encountering parent instanceof 2018-05-16 11:47:39 -04:00
Matt Brown
3119a1f68a Allow resolution of class constants in const arrays 2018-05-14 17:39:08 -04:00
Matt Brown
a0281e5716 Improve clause eradication after ifs 2018-05-14 16:29:51 -04:00
Matt Brown
02d65b617b Allow weak comparison between floats and ints 2018-05-14 12:02:06 -04:00
Matt Brown
58c68c355e Allow weak equality between scalar types 2018-05-14 10:36:41 -04:00
Matthew Brown
05c3d1ab03 Improve reporting of duplicate case statements 2018-05-13 22:02:10 -04:00
Matthew Brown
c00fdd0fe3 Add better type inference for next and prev
Fixes #738
2018-05-13 19:20:05 -04:00
Matthew Brown
d46997b196 Make sure weak equality clauses don’t generate ParadoxicalCondition 2018-05-13 01:27:45 -04:00
Matthew Brown
9f28be415a Fix reconciliation of ored types 2018-05-13 00:54:12 -04:00
Matthew Brown
69338abf7c Allow rough equality assertions to be negated too 2018-05-12 20:08:22 -04:00
Matthew Brown
8e90334428 Allow assignment to numeric string via assertion 2018-05-12 19:56:17 -04:00
Matthew Brown
7dd86efa13 Add support for checking negative values 2018-05-12 18:46:47 -04:00
Matthew Brown
4fe5ac87b6 Fix #712 - rewrite switch statement fallthroughs to understand logic better 2018-05-12 12:55:24 -04:00
Matthew Brown
5589aa89be Fix #736 - only remove offset type when it doesn’t contain const array type 2018-05-12 11:17:41 -04:00
Matthew Brown
56a1f744a0 Fix #734 - allow DOMDocument::appendChild to mirror its first arg 2018-05-12 00:28:21 -04:00
Matthew Brown
071558ec83 Fix #733 - DomNodeList implements ArrayAccess 2018-05-11 23:21:53 -04:00
Matthew Brown
b9b2a909a1 Fix #729 and prevent impossible const array access 2018-05-11 23:14:44 -04:00
Matt Brown
ef519ade72 Don’t adjust vars unless they’re passed by ref 2018-05-11 18:09:11 -04:00
Matt Brown
e9411eec76 Fix #730 - improve handling of templated closure params 2018-05-11 16:17:21 -04:00
Matt Brown
e3b6b9c273 Fix #724 - ignore any return types after return/throw/break/continue 2018-05-11 11:26:32 -04:00
Matthew Brown
a33d52d935 Add support for referencedProperty error restrictions 2018-05-11 00:07:41 -04:00
Matt Brown
92bb22ccca Fix misfire with similarly named class constants 2018-05-10 14:12:50 -04:00
Matt Brown
444dd33118 Fix issue with undefined class constant keys 2018-05-10 13:01:55 -04:00
Matt Brown
afe3b936d4 Fix test failure 2018-05-09 15:49:22 -04:00
Matt Brown
ad94761e15 Fix undefined property fetch redundant condition 2018-05-09 12:54:31 -04:00
Matthew Brown
318220a1bf Fix #728 - remove statement return type when re-analysing 2018-05-09 09:30:23 -04:00
Matthew Brown
3380de16a2 Fix #709 - detect intersection template matches a bit better 2018-05-08 23:17:11 -04:00
Matthew Brown
77d4629896 Fix #714 - fix trait class constants 2018-05-08 22:32:57 -04:00
Matthew Brown
8f9b4098bc Allow scalar to work with false
Fixes #718
2018-05-08 22:18:58 -04:00
Matthew Brown
bfa21e1108 Fix #721 by allowing @property annotations to be inheritable 2018-05-08 22:13:26 -04:00
Matthew Brown
2c0dd36035 Fix get type return types 2018-05-08 22:01:05 -04:00
Matthew Brown
5c39fb5ab1 Fix #716 - uss string inference to inform property names 2018-05-08 21:21:22 -04:00
Matthew Brown
c1440c11dc Create separate file for magic properties 2018-05-08 20:25:39 -04:00
Matthew Brown
e50ef8bf03 Support __invoke return types 2018-05-08 19:49:25 -04:00
Tyson Andre
9a9f6d1856 Make the string concatenation of two known values into a known value (#717)
* Make the string concatenation of two known values into a known value

address review comments

* Add vim temporary files to .gitignore
2018-05-08 19:11:18 -04:00
Matt Brown
6e259bed03 Always evaluate closures, even when passed as mixed call args 2018-05-08 18:11:10 -04:00
Matt Brown
4f678f5f99 Fix bad comparisons 2018-05-08 17:42:02 -04:00
Matt Brown
bc17d23788 Fix mixed empty checks 2018-05-08 16:34:08 -04:00
Matthew Brown
2968882ac5 Add skipped test for bug 2018-05-08 00:57:18 -04:00
Matt Brown
0eda76b742 Fix strict reconciliation of bools 2018-05-07 18:09:40 -04:00
Matt Brown
3c9e42f884 Fix string assertion for ternaries 2018-05-07 17:52:18 -04:00
Matt Brown
f858924b60 Fix erroneous string matching after oring 2018-05-07 17:40:16 -04:00
Matt Brown
2299cecd23 Fix strict isset reconciliation 2018-05-07 17:15:27 -04:00
Matt Brown
6460d907f9 Improve array handling when offsets hard to define 2018-05-07 16:22:04 -04:00
Matt Brown
091d13b73f Fix reconciliation of non-isset array vars 2018-05-07 16:00:56 -04:00
Matt Brown
c0729a02cd Fix remaining issues with logic checks 2018-05-07 14:52:45 -04:00
Matt Brown
9d901db740 Add new array creation test with hard-to-key offsets 2018-05-07 14:34:25 -04:00