1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-14 10:17:33 +01:00
Commit Graph

1114 Commits

Author SHA1 Message Date
Matthew Brown
6f5a214365 Allow param redefinition, but complain if it differs to parent class 2018-01-05 00:19:35 -05:00
Matthew Brown
c9173c7da3 Add more specific issues for falsable/nullable invalid return types 2018-01-04 21:36:16 -05:00
Matthew Brown
6cff92d813 Don’t worry about invalid closure docblocks 2018-01-04 20:35:43 -05:00
Matthew Brown
a8ac9d4fdc Flesh out return types before comparing 2018-01-04 20:13:09 -05:00
Matthew Brown
5995de0c9f Fix possible nullref 2018-01-04 19:31:12 -05:00
Matthew Brown
6e7bab58c4 Be better about inherited core method arg types 2018-01-04 18:58:03 -05:00
Matthew Brown
db7abc2b90 Add more debug output when using reflection/composer classmap 2018-01-04 14:13:54 -05:00
Matthew Brown
12aef22f05 Fix issue where byref differences would not be highlighted 2018-01-04 14:01:17 -05:00
Matthew Brown
8a8253ac4c Fix indentation 2018-01-02 21:23:48 -05:00
Matt Brown
13931766ce Add PHP 7.2-compatibility for Psalm development 2018-01-02 19:55:07 -05:00
Matt Brown
e6aae2f2e2 Fix issue assigning string-typed properties without a string cast 2018-01-02 18:01:59 -05:00
Matt Brown
310f91ea81 Warn when methods with typehints don’t return for all codepaths 2018-01-02 16:57:40 -05:00
Matt Brown
fdff250c4a Preserve keys when merging arrays 2018-01-02 12:59:22 -05:00
Matthew Brown
cc81d78dfd Add code replacement api to allow Psalm to update arbitrary parts of the codebase
Fixes #264
2018-01-02 09:46:50 -05:00
Matthew Brown
81cfe09fae Improve reporting of classlike locations in docblocks 2018-01-01 20:04:03 -05:00
Matthew Brown
a1247aeb60 Remove unused var 2018-01-01 12:13:32 -05:00
Matthew Brown
7418d6685f Add PossibyInvalidFunctionCall, emitted when function call may not be valid 2018-01-01 12:00:02 -05:00
Matthew Brown
5afe3b10fa Scan compoer autoload files before any sweep of code 2018-01-01 11:47:03 -05:00
Matthew Brown
290cf396d4 Remove unnecessary suppression 2017-12-31 13:12:19 -05:00
Matthew Brown
2d24f9e99d Don’t complain about unused variables when they’re passed by reference 2017-12-30 09:30:02 -05:00
Matthew Brown
752e99ad2e Reduce PossiblyUnusedParam false positives 2017-12-30 08:47:00 -05:00
Matthew Brown
f81642c1eb Fix location of function param vars 2017-12-29 21:28:21 -05:00
Matthew Brown
37a3c0a81e Avoid checking classes named Null, because PHP will complain
Ref #415
2017-12-29 19:45:32 -05:00
Matthew Brown
086b314df8 Cut down on interface PossiblyUnusedMethod reports 2017-12-29 19:38:01 -05:00
Matthew Brown
875bb8c072 Improve dead code detection, reducing false positives for params 2017-12-29 17:27:16 -05:00
Matthew Brown
8efc939a5f Move Psalm execution code into PHP file that Psalm can analyse 2017-12-29 17:02:56 -05:00
Matthew Brown
0b58ee425d Fix trait method evaluation order 2017-12-29 11:26:28 -05:00
Matthew Brown
c38cf9b672 Migrate type reconciliation code to its own class 2017-12-29 10:55:53 -05:00
Matthew Brown
81efe28f79 Fix #403 by complaining about return values in void functions 2017-12-28 21:49:03 +01:00
Matthew Brown
b96ab18d4b Improve throw issue message 2017-12-28 21:35:25 +01:00
Matthew Brown
b8c349166e Add InvalidCatch and InvalidThrow to prevent erroneous exceptions
Fix #411 and fix #412
2017-12-28 20:40:28 +01:00
Matthew Brown
dd0f046aee
Fix #410 - make sure anything inside a catch statement is treated as Throwable (#413) 2017-12-28 01:49:36 +01:00
Matthew Brown
becce4ae36 Use composer classmap where available to remove need for reflection of vendor classes 2017-12-28 00:56:10 +01:00
Matthew Brown
57592aca41 Fix #409 - PropertyNotSetInConstructor can be suppressed at the property level 2017-12-27 12:27:59 +01:00
Matthew Brown
e2e1094ec6 Fix #407 - improve treatment of array_merge unpacked args 2017-12-23 02:09:58 +01:00
Matthew Brown
ec92b40ed3 If class checking fails for storage reasons, don’t quit analysis 2017-12-23 01:26:08 +01:00
Matthew Brown
58c7aa74b4 Prevent recursion when analysing constructor property assignments 2017-12-23 01:01:59 +01:00
Matthew Brown
2f5b05887b Promote CircularReference from exception to issue 2017-12-22 18:56:59 +01:00
Matthew Brown
c5ea5178e1 Remove unnecessary issue type 2017-12-22 16:09:56 +01:00
Matthew Brown
84260c5edc Prohibit array pass by ref 2017-12-22 15:21:23 +01:00
Matthew Brown
714d0678b1 Fix file analysis after realpath fix 2017-12-19 13:08:47 -05:00
Matthew Brown
abc9c051a9 Improve analysis of constant arrays 2017-12-19 09:48:01 -05:00
Matthew Brown
53d887d356 Make sure nested lists get some sort of assignments 2017-12-18 23:13:18 -05:00
Matthew Brown
45fc9fd5d9 Check LHS of property when RHS is variable 2017-12-18 22:35:03 -05:00
Matthew Brown
ab3b8a0cf2 Make array{a:string} a subtype of array<string, string>
cc @weirdan
2017-12-18 20:08:45 -05:00
Matthew Brown
17edb2bbe6
Add better understanding of arrays with keyed integer offsets (#400)
* Add tests for keyed integer assignemnt

* First pass to get keyed integer assignment working

* Fix array assignment to object-like with different key type

* Improve treatment of objectlikes for callable and iterable comparisons

* Fix array assignment to strings and addition

* Convert expression to CNF

* Do better at merging property types

* Fix array_rand key type
2017-12-18 18:47:17 -05:00
Matt Brown
72da8f655a Don’t stop analysis after mixed method call 2017-12-18 11:05:53 -05:00
Matt Brown
597ed0ed12 Fix #401 - don’t panic when checking generator against other types 2017-12-18 10:58:46 -05:00
Matthew Brown
4b0cee6142 Only complain about redundant conditions if there’s one negated clause 2017-12-18 00:47:36 -05:00
Matthew Brown
4ff26cdd8f Fix RedundantCondition complaint when examining CNF queries 2017-12-18 00:39:00 -05:00