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

556 Commits

Author SHA1 Message Date
Matthew Brown
a5f79353ed Fix #2157 - don’t merge closures and callable params 2019-09-22 00:58:30 -04:00
Matthew Brown
9ad6c36d9b
Conditionally verify that array offsets exist (#2147)
* Check array offsets idea

* Clean up some issues

* Add a few light fixes

* Add docs
2019-09-18 14:21:06 -04:00
Matthew Brown
0b4981f01b Fix #1551 - do better at inferring class constant types 2019-09-14 14:26:31 -04:00
Brown
a6baa2d04c Allow callables to be understood as pure
Fixes #2112
2019-09-09 12:11:04 -04:00
Matthew Brown
662f094886 Don’t complain about deprecated class inside itself 2019-09-08 14:55:45 -04:00
Matthew Brown
e7a69f715d Fix #2106 - add defining class to converted template 2019-09-07 13:44:47 -04:00
Matthew Brown
900cfc0f05 Improve handling of external-mutation-free objects created in pure functions 2019-08-31 09:49:32 -04:00
Brown
aba3659311 Add more specific key coercion rules when assigning to arrays 2019-08-27 15:12:25 -04:00
Brown
5a5629b835 Mixed value object-likes should still have string keys 2019-08-27 14:40:40 -04:00
Brown
4fcbc0fdad Fix #2028 - warn when using deprecated class in function signature 2019-08-22 11:25:13 -04:00
Brown
855ab359fe Break up Atomic::check 2019-08-22 11:25:13 -04:00
Matthew Brown
920c2d83c3 Use types for method_exists checks in some places 2019-08-18 22:27:19 -04:00
Matthew Brown
9d62971006 Fix possible issue negating falsy assertion 2019-08-18 17:51:43 -04:00
Matthew Brown
c5f62d261d Remove redundant @psalm-suppress in Psalm’s codebsae 2019-08-18 16:10:12 -04:00
Brown
43041836dd Fix #2026 - add support for calling __toString implicitly after method_exists 2019-08-16 11:33:58 -04:00
Matthew Brown
600999a3a8 Add better typing 2019-08-14 00:47:57 -04:00
Matthew Brown
d5b026839c Add support for different taint types ref #1990 2019-08-12 23:16:05 -04:00
Matthew Brown
e32b92be6b Fix #1986 - do better inference after isset on array offsets 2019-08-10 23:22:48 -04:00
Matthew Brown
585fffaa1f Refine previous fix 2019-08-10 17:25:07 -04:00
Matthew Brown
1586cb249d Add protection for leaky assertions 2019-08-10 16:58:57 -04:00
Matthew Brown
af0331c251 Fix #1997 - fix reconciliation of arrays and traversables 2019-08-10 14:39:14 -04:00
Matthew Brown
60c0133fff Break apart reconciler 2019-08-10 13:22:21 -04:00
Matthew Brown
3cf160cbe9 Separate out assertion negation reconciliation 2019-08-10 12:04:16 -04:00
Matthew Brown
c77bcd1388 Remove extraneous line 2019-08-08 23:01:06 -04:00
Matthew Brown
53817ed40b Fix #1991 - allow overlapping code to subsume manipulations inside 2019-08-08 22:58:54 -04:00
Matthew Brown
b5eb63bb2d Revert "Coerce value with array-offset to array|ArrayAccess"
This reverts commit a8a67bc7e7.
2019-08-07 00:36:45 -04:00
Matthew Brown
a8a67bc7e7 Coerce value with array-offset to array|ArrayAccess
Fixes #1986
2019-08-07 00:31:53 -04:00
Matthew Brown
b2c0993cdc Add framework for taint analysis to Psalm
Ref #611
2019-08-04 10:37:36 -04:00
Matthew Brown
0163f92bfa Fix typo 2019-07-15 01:31:43 -04:00
Matthew Brown
18da84c713 Fix #1937 - allow proper reconciliation on templated values 2019-07-15 01:26:08 -04:00
Brown
9aa0fd022c Fix potential coercion gotcha 2019-07-10 14:48:15 -04:00
Brown
8e149461f0 Remove unnecessary references to had_template 2019-07-10 14:03:13 -04:00
Matthew Brown
1ae9ea5fed Use object instead of by-ref params 2019-07-10 01:35:57 -04:00
Matthew Brown
b4f03abca6 Fix #1886 - allow empty array to be coerced to a mixed one 2019-07-05 17:44:22 -04:00
Matthew Brown
da42be175f Apply PHPCS fixes
Fixes #1880
2019-07-05 16:27:53 -04:00
Matthew Brown
62fb86aef0 Fix #1875 - improve printing of iterable type 2019-06-29 21:46:01 -04:00
Brown
ba121a94e7 Allow union of class-strings in signature
Ref #1851
2019-06-27 11:44:35 -04:00
Brown
3088432529 Update message about hyphens
Fixes #1852
2019-06-27 10:54:50 -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
5ed49c0c03 Fixed #1848 - allow static class strings to be compared 2019-06-26 15:11:16 -04:00
Matthew Brown
70a1696a04 Limit template expansion of possibly-mixed vars 2019-06-25 23:43:25 -04:00
Brown
904267638f Add extra isset test 2019-06-25 16:47:14 -04:00
Matthew Brown
c0b86bd40d Use uppercase template_type_extends keys 2019-06-24 23:43:04 -04:00
Brown
23a3b0dbc0 Fix #1842 - prevent bad templated object returns 2019-06-24 19:07:29 -04:00
Brown
69b05f5052 Improve handling of parent method calls 2019-06-24 17:45:10 -04:00
Matthew Brown
766b1b0384 Add reference, not type
Ref #1835
2019-06-23 09:10:43 -04:00
Matthew Brown
37ffd6dad6 Fix #1832 - add references to docblock types 2019-06-23 08:47:49 -04:00
Matthew Brown
ec104be6e2 Add offset to atomic type
Ref #1832
2019-06-23 00:19:41 -04:00
Brown
ac06ea659e Fix #1825 - improve behaviour of callable reconciliation 2019-06-20 19:46:42 -04:00
Brown
0246f600f4 Fix #1813 - convert object&Foo into Foo after template resolution 2019-06-19 12:00:19 -04:00