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

2688 Commits

Author SHA1 Message Date
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
53ff05783c Clean up code slightly 2018-05-08 17:43:26 -04:00
Matt Brown
4f678f5f99 Fix bad comparisons 2018-05-08 17:42:02 -04:00
Matt Brown
03ea65cff8 Don’t complain about false values on properties when we don’t care 2018-05-08 16:57:16 -04:00
Matt Brown
bc17d23788 Fix mixed empty checks 2018-05-08 16:34:08 -04:00
Bruce Weirdan
2afe364ee0 simplexml callmap update (#723)
* simplexml callmap update

fixes vimeo/psalm#722 and includes a number of manual updates to
simplexml function/method signatures (based on php.net docs)

* minor fixes

- s/qname/name/
- explicit void return type for `SimpleXMLElement::addAttribute()`
2018-05-08 13:50:32 -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
c6ed1b0458 Fix bad offset 2018-05-07 15:47:04 -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
Matthew Brown
61aeea6375 Fix whole bunches of things 2018-05-07 01:26:06 -04:00
Matthew Brown
3b9b4a8a6f Improve binary op function layout 2018-05-06 12:11:40 -04:00
Matthew Brown
c31f787f7c Convert DNF conditions to CNF 2018-05-06 12:11:40 -04:00
Matthew Brown
00838d19b5 Fix #534 - fix bug in type simplification 2018-05-06 12:05:55 -04:00
Matthew Brown
04bd492360 Fix erroneous scope resolution 2018-05-05 20:52:10 -04:00
Matthew Brown
8d8fdad924 Always set array offset type 2018-05-05 17:50:19 -04:00
Matthew Brown
21261172a8 Fix #713 - support offsets of known array types 2018-05-05 17:30:18 -04:00
Matthew Brown
0181fce46f Fix #711 - concat ops contribute to loop map 2018-05-05 16:17:54 -04:00
Matthew Brown
85c69f1335 Make sure div operations return GMP too 2018-05-05 13:14:59 -04:00
Matthew Brown
c39af03a01 Allow GMP to be converted to string 2018-05-05 13:04:27 -04:00
Matthew Brown
3718bd5c61 Fix GMP arithmetic operations 2018-05-05 12:59:30 -04:00
Matthew Brown
1a4ddc7cdd
Support value types (#707)
* 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
Matt Brown
521237dc56 Fix #705 - don’t be so strict about undefined constants 2018-05-03 13:20:42 -04:00
Matt Brown
f2ff727649 Fix #706 - don’t namespace & 2018-05-03 13:15:16 -04:00
Matt Brown
ae49558de6 Ignore MissingConstructor a little less 2018-05-03 11:38:27 -04:00
Matthew Brown
7ccc17cd98 Fix #324 - improve undefined array handling 2018-05-02 20:10:08 -04:00
Matthew Brown
fa95dede08 Fix #455 - allow unset to alter object-like arrays 2018-05-02 19:39:11 -04:00
Matt Brown
4513d24b7d If there’s any overlap in types use PossiblyInvalidArgument 2018-05-01 14:27:05 -04:00
Matthew Brown
b36b50784d Fix #703 - prevent undefined param offset 2018-04-30 22:18:41 -04:00
Matthew Brown
15e1003c37 Warn about impossible empty 2018-04-30 22:13:13 -04:00
Matt Brown
6e67030925 Fix #702 - prevent bad array to iterable cast 2018-04-30 13:17:09 -04:00
Matthew Brown
acacde173e Fix highlight_string return type default 2018-04-30 01:49:55 -04:00
Matthew Brown
59bbf6f896 Allow Exception::getPrevious to return null 2018-04-30 00:44:43 -04:00
Matthew Brown
6ad2184b7e Improve highlight_string/highlight_file signatures 2018-04-30 00:31:27 -04:00
Matthew Brown
1946bc0085 Allow resource to be cast to string 2018-04-30 00:19:35 -04:00
Matthew Brown
99da371ac4 Move memoisation after callmap branch 2018-04-28 13:49:27 -04:00
Matthew Brown
496256c2a5 Make memoisation more universal 2018-04-28 13:49:21 -04:00
Matthew Brown
da6209276f Allow ability to memoize empty method calls based on config 2018-04-28 13:05:43 -04:00
Matt Brown
a0984cdaf1 Fix #697 - make missing objectlike fields an InvalidArgument 2018-04-27 17:10:57 -04:00
Matt Brown
6b3759a266 Fix #699 - prevent stubs from overriding known functions 2018-04-27 15:00:22 -04:00
Matt Brown
383f706d6b Add docs for usePhpDocMethodsWithoutMagicCall 2018-04-26 19:19:35 -04:00
Matt Brown
4507962883 Fix possibly undefined issue 2018-04-25 14:45:51 -04:00
Matt Brown
8ec34ed4ed Only cache effects hashes when there’s no change 2018-04-25 14:33:39 -04:00