Matthew Brown
|
aca23d236b
|
Check for ? after replacement
|
2017-11-20 00:37:45 -05:00 |
|
Matthew Brown
|
9d025fad8f
|
Only replace ? where appropriate
|
2017-11-20 00:32:40 -05:00 |
|
Matthew Brown
|
957600623c
|
Fix issue with byref template params leaking
|
2017-11-20 00:12:17 -05:00 |
|
Matthew Brown
|
ccc0583bf8
|
Fix issue with bad assign after array_pop/array_shift
|
2017-11-19 23:46:32 -05:00 |
|
Tyson Andre
|
cea5dca5dc
|
Allow using nullable shorthand (? ) within an array (#326)
|
2017-11-19 23:36:37 -05:00 |
|
Matthew Brown
|
ae799da8d0
|
Add root array var when updating array key type in if
|
2017-11-19 23:25:14 -05:00 |
|
Matthew Brown
|
5698b2d363
|
Update root var with more accurate object-like type
|
2017-11-19 22:28:52 -05:00 |
|
Matthew Brown
|
90bcd99eab
|
Fix issue where array_shift/array_pop didn’t mark array as modified
|
2017-11-19 21:36:09 -05:00 |
|
Matthew Brown
|
8b2df09f0f
|
Fix issue with object-like reassignment
|
2017-11-19 21:24:29 -05:00 |
|
Matthew Brown
|
3418eb494a
|
Always set a fallback mixed type on a mixed property fetch
|
2017-11-19 14:58:48 -05:00 |
|
Matthew Brown
|
8d62fc8ad1
|
Only update array type if it doesn’t have an object
|
2017-11-19 14:38:00 -05:00 |
|
Matthew Brown
|
f18616b2f9
|
Provide fallback if array keys not found
|
2017-11-19 14:23:39 -05:00 |
|
Matthew Brown
|
95429b7037
|
Fix invalid assignment to Union
|
2017-11-19 14:09:20 -05:00 |
|
Matthew Brown
|
942bc0a663
|
Add new MixedTypeCoercion issue, fixes #320
|
2017-11-19 13:42:48 -05:00 |
|
Matthew Brown
|
75b6e21801
|
Fix #315 - improve checking of object-like arrays in function params
|
2017-11-19 13:05:35 -05:00 |
|
Matthew Brown
|
5ff4badf33
|
Refactor array analysis to improve reliability and accuracy (#325)
|
2017-11-19 12:33:43 -05:00 |
|
Matthew Brown
|
1a39224abc
|
Fix issues that improved array checks found
|
2017-11-19 12:14:02 -05:00 |
|
Matt Brown
|
39baa00fd3
|
Fix issue with nested object-like array updating
|
2017-11-17 16:33:36 -05:00 |
|
Tyson Andre
|
1c25ca1a0c
|
Fix false positives, add tests of @psalm-seal-properties (#318)
|
2017-11-17 16:19:48 -05:00 |
|
Matt Brown
|
2a96e323e7
|
Fix assignment to arrays after object-like
|
2017-11-17 12:27:16 -05:00 |
|
Matt Brown
|
3f324141ef
|
Fix error message when changing keys
|
2017-11-17 11:43:06 -05:00 |
|
Matt Brown
|
6710fd4231
|
Fix double mixed issue with array offsets
|
2017-11-17 11:32:12 -05:00 |
|
Matthew Brown
|
965352c711
|
Fix #312 - support parsing object-like arrays without keys
|
2017-11-17 01:18:13 -05:00 |
|
Matthew Brown
|
a08306973a
|
Fix #302 - add a way to seal objects with magic properties
|
2017-11-16 20:47:58 -05:00 |
|
Matthew Brown
|
440db3be89
|
Fix #313 - correctly analyse closure self return types
|
2017-11-16 20:06:00 -05:00 |
|
Matthew Brown
|
7d33db0d19
|
Fix issue with array unification after scanning
|
2017-11-16 01:11:46 -05:00 |
|
Matthew Brown
|
36a760657d
|
Fix #311 and introduce PossiblyInvalidArrayOffset
|
2017-11-16 00:27:11 -05:00 |
|
Matthew Brown
|
6c9cdd896b
|
Separate InvalidArrayAccess and InvalidArrayOffset
|
2017-11-15 21:10:07 -05:00 |
|
Matthew Brown
|
abe7c003ab
|
Fix #309 - borrowing fix from @TysonAndre
|
2017-11-15 20:45:53 -05:00 |
|
Matt Brown
|
bce8bdb46e
|
Ignore traversable, iterable etc for RawObjectIteration
|
2017-11-15 12:09:13 -05:00 |
|
Matt Brown
|
4ff9ec2853
|
Don’t warn about traversable objects
|
2017-11-15 11:58:46 -05:00 |
|
Matt Brown
|
a99135c4d0
|
Fix #300 - add PossiblyInvalidPropertyFetch
|
2017-11-15 11:44:13 -05:00 |
|
Matt Brown
|
c5faa2d06a
|
Fix #299 - add PossiblyInvalidMethodCall
|
2017-11-15 11:34:40 -05:00 |
|
Matt Brown
|
9111b1c725
|
Fix #301 - add PossiblyInvalidPropertyAssignment
|
2017-11-15 11:15:03 -05:00 |
|
Matthew Brown
|
f96f3a467d
|
Fix #296 - add issue for raw object iteration
|
2017-11-14 22:55:48 -05:00 |
|
Matthew Brown
|
2e6b93e4d0
|
Fix #289, make inferred type of yield from expressions mixed
|
2017-11-14 22:29:15 -05:00 |
|
Matthew Brown
|
23e4c8f68b
|
Fix #290 - check for yields in assignments
|
2017-11-14 22:08:15 -05:00 |
|
Matthew Brown
|
3ade4b9559
|
Fix #293, be case invariant to self & static
|
2017-11-14 21:56:29 -05:00 |
|
Matthew Brown
|
b2ae9a2892
|
Fix #291, #292 and #297 by improving docblock parsing
|
2017-11-14 21:43:31 -05:00 |
|
Matthew Brown
|
160a95a8bf
|
Fix too-long line
|
2017-11-13 21:21:54 -05:00 |
|
Matt Brown
|
7e8ae33d56
|
Fix #288 - get rid of MethodSignatureMismatch issues where PHP doesn’t worry
|
2017-11-13 16:31:33 -05:00 |
|
Tyson Andre
|
d9a142ac7d
|
Fix incorrect strpos argument order (#287)
Detected via static analysis
|
2017-11-11 21:48:43 -05:00 |
|
Matthew Brown
|
a0a9128375
|
Fix #285 - add PossiblyInvalidArrayAccess
|
2017-11-11 21:22:11 -05:00 |
|
Matthew Brown
|
4f2a200b45
|
Fix #283 - add more refined PossiblyUndefinedMethod check
|
2017-11-11 14:53:35 -05:00 |
|
Matthew Brown
|
2f1e3652b7
|
Fix #274 - improve array addition inference for objectlike arrays
|
2017-11-11 14:19:57 -05:00 |
|
Matthew Brown
|
126fd9a3a1
|
Fix #286 - ignore terrible param types
|
2017-11-11 11:28:49 -05:00 |
|
Matthew Brown
|
0ea48752d1
|
Fix #284 - allow __get calls inside class if property undefined
|
2017-11-11 01:17:10 -05:00 |
|
Matthew Brown
|
4c79ec41fa
|
Fix reset/end return types
|
2017-11-11 01:09:07 -05:00 |
|
Matthew Brown
|
b79ad3c64b
|
Fix #282 - detect legacy functions with variadic behaviour
|
2017-11-11 01:06:39 -05:00 |
|
Matt Brown
|
59265ef2bf
|
Fix #276 - fix false positive in magic call
|
2017-11-10 18:08:26 -05:00 |
|
Matt Brown
|
e49573e7f6
|
Fix #279 - make sure referenced vars updated always in or
|
2017-11-09 16:42:39 -05:00 |
|
Matt Brown
|
ff5ea32ea3
|
Fix #277 - infer stdClass from object cast
|
2017-11-09 15:58:09 -05:00 |
|
Matt Brown
|
6db3758b81
|
Fix #275 with bad sig
|
2017-11-09 15:36:21 -05:00 |
|
Tyson Andre
|
e2dd3db70f
|
Fix phpdoc in psalm's codebase referring to missing params. (#273)
Also, don't use `@return self` in __construct, it returns void.
|
2017-11-08 23:32:22 -05:00 |
|
Matthew Brown
|
765d82548d
|
Remove more dead code
|
2017-11-08 23:27:51 -05:00 |
|
Tyson Andre
|
b3505cfbef
|
Get rid of unused variables in psalm's codebase (#272)
* Remove unused variables
* Fix more unused variables
* Fix remaining detected undefined variables
Other 20 detected undefined variable warnings were false positives.
|
2017-11-08 23:14:27 -05:00 |
|
Matthew Brown
|
a7b32beb4e
|
Add better checks for array_rand’s signature
|
2017-11-08 21:56:54 -05:00 |
|
Matthew Brown
|
dd86513fc5
|
Fix #271 - remove invalid complaint about private overridden method
|
2017-11-08 21:27:23 -05:00 |
|
Matt Brown
|
6d14bf65d7
|
Loosen restrictions on compact(), fix #267
|
2017-11-08 09:37:58 -05:00 |
|
Matthew Brown
|
44c40dff4f
|
Fix #270 by looking at root ids when analysing array assignment in loops
|
2017-11-08 08:23:34 -05:00 |
|
Matt Brown
|
750d18d20a
|
Fix #266 - do better analysis of array_rand
And also have better fallback when accessing string key on object-like array
|
2017-11-07 17:38:54 -05:00 |
|
Matt Brown
|
ba426c9dbf
|
Fix erroneous return types
|
2017-11-07 17:20:50 -05:00 |
|
Matt Brown
|
e0371aed62
|
Introduce file manipulation concept to plugins
|
2017-11-07 14:46:53 -05:00 |
|
Matt Brown
|
490e78e136
|
Add isset check for safety
|
2017-11-06 15:42:39 -05:00 |
|
Matt Brown
|
97de8f7684
|
Allow Psalm to check static call LHS vars
|
2017-11-06 15:37:49 -05:00 |
|
Matt Brown
|
4b573bde1f
|
Fix get_class($e) !== checks
|
2017-11-06 12:04:38 -05:00 |
|
Matt Brown
|
81493a639e
|
Add more robust property assignment when property not defined
|
2017-11-03 12:27:01 -04:00 |
|
Matthew Brown
|
a651fad6f0
|
Fix #263 - add support for @psalm-param and @psalm-var annotations
|
2017-11-02 21:45:17 -04:00 |
|
Matt Brown
|
b163c296ff
|
Fix templated return types in traits
|
2017-11-02 15:07:39 -04:00 |
|
Matthew Brown
|
aeb9882281
|
Add back support for TObject property fetch
|
2017-10-29 17:44:13 -04:00 |
|
Matthew Brown
|
35e6cf8108
|
Change MissingInclude to MissingFile
|
2017-10-29 17:36:02 -04:00 |
|
Matthew Brown
|
afc8cb4068
|
Check for property fetch mocks
|
2017-10-29 17:33:26 -04:00 |
|
Matthew Brown
|
b618bd798d
|
Add new issues for missing required files
|
2017-10-29 14:39:23 -04:00 |
|
Matthew Brown
|
51280c1670
|
Allow byref args of socket_select to pass through unchanged
|
2017-10-28 16:26:45 -04:00 |
|
Matthew Brown
|
24980cd7d7
|
Constrain user-defined functions and methods
|
2017-10-28 16:05:35 -04:00 |
|
Matthew Brown
|
45df0292b1
|
Never constrain by-ref array variables
|
2017-10-28 15:33:29 -04:00 |
|
Matthew Brown
|
bee14d184f
|
Add better check for property
|
2017-10-28 15:17:32 -04:00 |
|
Matthew Brown
|
02dde911ce
|
Allow DateTimeImmutable::__construct arg to be nullable
|
2017-10-28 14:53:25 -04:00 |
|
Matthew Brown
|
323da5ce13
|
Add callmap updates from Phan
|
2017-10-28 14:02:33 -04:00 |
|
Matthew Brown
|
30acb9e3b7
|
Improve array function byref understanding by hard-coding rules
|
2017-10-28 13:56:29 -04:00 |
|
Matthew Brown
|
3f9bd530fd
|
Fix #262 - allow return type of simplexml functions to be false
|
2017-10-27 20:15:00 -04:00 |
|
Matt Brown
|
8b7d82ddf6
|
Fix #2 - suppress errors for single lines
|
2017-10-26 18:19:19 -04:00 |
|
Matt Brown
|
d06e844748
|
Fix issue simplifying callable types
|
2017-10-26 16:05:57 -04:00 |
|
Matt Brown
|
897c70f8f5
|
Add back support for switch-getclass ::class constants
|
2017-10-26 15:07:36 -04:00 |
|
Steffen Weber
|
30465518f7
|
Fix signature of "gmp_import"
According to the PHP manual, the second and third argument of "gmp_import" have default values and are therefore optional.
https://php.net/gmp_import
|
2017-10-25 09:12:20 -04:00 |
|
Matthew Brown
|
122b354c4c
|
Ignore get_class and instanceof checks for arbitrary classes in traits
|
2017-10-24 00:01:43 -04:00 |
|
Matthew Brown
|
467bbba593
|
Prevent falsy values from leaking into the type system
|
2017-10-23 22:04:07 -04:00 |
|
Matt Brown
|
0c33db0a3e
|
Fix #258 - tempnam can return false
|
2017-10-23 13:13:07 -04:00 |
|
Matt Brown
|
c850ef644d
|
Add PossiblyFalseReference and PossiblyFalseArgument issues
Useful for catching error cases
|
2017-10-23 11:47:00 -04:00 |
|
Matthew Brown
|
a34de5b79c
|
Fix #257 - prevent collapsing callable into string
|
2017-10-23 08:00:28 -04:00 |
|
Matthew Brown
|
e41e1fa57d
|
Fix #256 - don’t crash when encountering types that match one another
|
2017-10-23 07:35:28 -04:00 |
|
Matthew Brown
|
2c18686c8c
|
Fix #247 - allow is_callable checks on array
|
2017-10-22 21:07:06 -04:00 |
|
Matthew Brown
|
a85cd1db8a
|
Add support for get_class and get_type negation checks
|
2017-10-22 20:17:04 -04:00 |
|
Matthew Brown
|
4d32c72ef8
|
Fix #250 and fix #255 - handle switch statements like PHP does
|
2017-10-22 19:53:53 -04:00 |
|
Matthew Brown
|
c7d55bf6de
|
Improve aseertion finding by digging deeper into trivial comparisons
|
2017-10-22 19:11:28 -04:00 |
|
Matthew Brown
|
f9032924e6
|
Allow == true comparisons to be evaluated to !falsy
|
2017-10-22 12:09:22 -04:00 |
|
Matthew Brown
|
f6e01b5925
|
Change empty type assertions to "falsy"
As empty has a special meaning
|
2017-10-22 11:57:41 -04:00 |
|
Matthew Brown
|
032cd3b897
|
Fix #254 - catch parse exception when improving function types
|
2017-10-22 01:04:35 -04:00 |
|
Matt Brown
|
3c6a8a0b24
|
Fix #251 - allow Psalm to analyse Wordpress
|
2017-10-19 19:19:29 -04:00 |
|
Matt Brown
|
c395930a06
|
Fix missing function issue ref #251
|
2017-10-19 18:23:18 -04:00 |
|