1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-16 11:26:55 +01:00
Commit Graph

448 Commits

Author SHA1 Message Date
Matthew Brown
738ba81185 Fix #2046 - trigger PossiblyNullArgument when in union with mixed 2019-08-22 23:26:04 -04:00
Matthew Brown
5a1604d088 Fix #2047 - left side of callable is a thing that is also kinda called 2019-08-22 22:06:22 -04:00
Brown
9835943294 Fix #2041 - make sure property is always set 2019-08-21 11:25:08 -04:00
Brown
86e5e50c1b Prevent baaad behaviour 2019-08-20 14:26:32 -04:00
Matthew Brown
17e7fe70c1 Fix #2035 more comprehensively 2019-08-19 22:45:24 -04:00
Matthew Brown
f5b63218f1 Revert "Fix #2035 - warn about erroneous casting"
This reverts commit d0f277a168.
2019-08-19 22:12:03 -04:00
Matthew Brown
d0f277a168 Fix #2035 - warn about erroneous casting 2019-08-19 21:49:45 -04:00
Matthew Brown
920c2d83c3 Use types for method_exists checks in some places 2019-08-18 22:27:19 -04:00
Matthew Brown
1b983babd0 Allow unset of potentially invalid array key type 2019-08-18 18:06:41 -04:00
Matthew Brown
c5f62d261d Remove redundant @psalm-suppress in Psalm’s codebsae 2019-08-18 16:10:12 -04:00
Matthew Brown
62dff200d5 Fix redundant condition 2019-08-17 18:02:38 -04:00
Matthew Brown
b6dc8f547e Fix #2031 - still get class const return type after defined check 2019-08-17 18:01:24 -04:00
lhchavez
c98c160907 Allow explicitly-annotated mixed assignments (#2030)
This change makes it possible to assign mixed expressions to variables
if an annotation is explicitly added to the variable. This allows the
use of `call_user_func` without needing to suppress issues.

Fixes: #1374
2019-08-17 11:22:43 -04:00
Matthew Brown
ac7354605a Fix bad Psalm issue 2019-08-16 23:33:28 -04:00
Matthew Brown
9c616aa5c6 Remove pure function calls when removing unused variables 2019-08-16 23:19:52 -04:00
Brown
43041836dd Fix #2026 - add support for calling __toString implicitly after method_exists 2019-08-16 11:33:58 -04:00
Brown
538abbc54c Fix #2020 - allow static::CONST_NAME to have non-mixed type in final class 2019-08-15 10:41:30 -04:00
Brown
86264a736b Fix dumb change 2019-08-15 10:07:31 -04:00
Brown
57386ab26e Fix #2023 - no UnusedVariable complaint when method is undefined 2019-08-15 09:51:40 -04:00
Brown
e25ce152d6 Fix #2014 - prevent unusedvariable false positive when redefined in assignment || 2019-08-15 09:43:43 -04:00
Brown
3d01708c6c Improve backtrace of property-involved issues 2019-08-14 11:47:58 -04:00
Brown
e92896f145 Fix taint records 2019-08-14 09:52:59 -04:00
Matthew Brown
600999a3a8 Add better typing 2019-08-14 00:47:57 -04:00
Brown
c3949e3194 Improve taint protection for exec-related commands 2019-08-13 19:18:50 -04:00
Brown
d6e084ec9c Remove false-positive for callmap function arg 2019-08-13 14:53:31 -04:00
Brown
0468d11158 Detect function in array access op 2019-08-13 14:07:45 -04:00
Brown
b5614d03f8 Add detection for unused function calls 2019-08-13 13:15:23 -04:00
Matthew Brown
d5b026839c Add support for different taint types ref #1990 2019-08-12 23:16:05 -04:00
Brown
669b50e8b4 Fix erroneous callable parsing 2019-08-12 15:04:43 -04:00
Brown
4046b44903 fix #2010 - properties with defaults should work with static type 2019-08-12 14:29:14 -04:00
Matthew Brown
7ed30cd5b0 Add support for @readonly annotation 2019-08-11 16:01:37 -04:00
Matthew Brown
60c0133fff Break apart reconciler 2019-08-10 13:22:21 -04:00
Matthew Brown
3f78082720 Fix is_string call 2019-08-10 09:16:32 -04:00
Matthew Brown
460120ec45 Fix #1994 - make assert-if-true work for $this properties 2019-08-10 09:12:02 -04:00
Brown
5254b7501e Fix #1996 - detect unused variable in static property name 2019-08-09 12:55:47 -04:00
Brown
d5e2c323d3 Add support for pure-ish instance methods 2019-08-08 14:17:34 -04:00
Matthew Brown
747782d258 Fix #1987 - avoid inferredType not being null 2019-08-07 22:41:26 -04:00
Brown
955899ade0 Builtin functions are assumed to be pure 2019-08-07 15:21:15 -04:00
Brown
16a1dc8538 Fix errors 2019-08-06 18:56:36 -04:00
Brown
14b37b95af Fix potential recursion 2019-08-06 17:29:44 -04:00
Brown
fc8d2bd563 Do more taint creation for magic properties 2019-08-06 14:27:21 -04:00
Brown
37d93141c4 Only register taints on known magic properties 2019-08-06 13:05:34 -04:00
Brown
0dc6b74fb4 Add taintedness to magic property fetches 2019-08-06 12:54:12 -04:00
Brown
17753865f3 Add detection to mixed params 2019-08-06 10:33:21 -04:00
Matthew Brown
8f6d432dd0 Add support for magic property comprehension 2019-08-05 23:19:22 -04:00
Brown
6eb62591ab Specialise calls when functions are pure 2019-08-05 18:33:33 -04:00
Matthew Brown
b2c0993cdc Add framework for taint analysis to Psalm
Ref #611
2019-08-04 10:37:36 -04:00
Matthew Brown
ea1f9874fb Remove more memory leaks 2019-08-02 01:55:24 -04:00
Brown
8cb5d012d9 Check expressions in variable name static calls 2019-07-25 09:45:11 -04:00
Matthew Brown
5a4a133f50 Fix #1970 - allow comparison to templated param class 2019-07-24 22:13:51 -04:00