Brown
|
89a0b101e4
|
Fix #2784 - no crash when get_class arg is mixed
|
2020-02-10 14:44:33 -05:00 |
|
Matthew Brown
|
3559fdd6b3
|
Fix #2742 - prevent paradoxes in assert calls
|
2020-02-09 11:42:41 -05:00 |
|
Matthew Brown
|
4de6f5c4ec
|
Fix #2442 - using asserting after a MixedAssignment removes that error
|
2020-02-08 23:01:45 -05:00 |
|
Matthew Brown
|
5f4d797fe1
|
Fix #2772 - add support for multiple array_map function param inference
|
2020-02-08 12:17:57 -05:00 |
|
Matthew Brown
|
b439a573ce
|
Empty is also the bottom type
|
2020-02-08 11:40:22 -05:00 |
|
Matthew Brown
|
b26deb434d
|
Fix #2771 - replace empty params with generic equivalents
Ref #2755
|
2020-02-08 11:17:24 -05:00 |
|
Brown
|
dcc855de95
|
Fix #2739 - specify wildcards in constants
|
2020-02-07 10:54:57 -05:00 |
|
Matthew Brown
|
966336a475
|
Improve byref array handling
|
2020-02-06 23:52:27 -05:00 |
|
Matthew Brown
|
da541dbb51
|
Remove some unnecessary errors
|
2020-02-06 23:10:18 -05:00 |
|
Brown
|
d5f71bf529
|
Localise template checks to class being tested
|
2020-02-06 16:38:45 -05:00 |
|
Brown
|
54efbbe831
|
Fix bad assertion
|
2020-02-06 16:32:26 -05:00 |
|
Brown
|
9af12932b5
|
Add slash
|
2020-02-06 15:09:34 -05:00 |
|
Brown
|
6116b457ed
|
Port over more fixes from template match refactor
|
2020-02-06 15:07:57 -05:00 |
|
Brown
|
8fb810350a
|
Don’t cache no-effects hashes when checking for initialisations
|
2020-02-04 17:53:26 -05:00 |
|
Brown
|
4c83ca75b3
|
Fix #2738 - clear out property issues when modifying constructors
|
2020-02-03 16:43:25 -05:00 |
|
Matthew Brown
|
b3f6b56f9c
|
Add support for @psalm-readonly-allow-private-mutation
|
2020-02-02 15:56:08 -05:00 |
|
Matthew Brown
|
93fc1b1cc7
|
Fix #2729 - allow mutation of otherwise-readonly properties
|
2020-02-02 15:35:12 -05:00 |
|
Matthew Brown
|
8d7fb2b415
|
Add config flag to support properties without a magic getter
|
2020-02-02 14:23:38 -05:00 |
|
Matthew Brown
|
43c7b00cd0
|
Fix #2734 - allow is_a to operate on templated class-strings
|
2020-02-02 12:26:28 -05:00 |
|
Matthew Brown
|
8db4bc7691
|
Improve formatting of intersection error messages
Also reduce false positives on intersections of templates
|
2020-02-02 12:25:24 -05:00 |
|
Matthew Brown
|
f0fc9cce5f
|
Fix missing param doc
|
2020-02-01 18:24:09 -05:00 |
|
Matthew Brown
|
d0b87b6cb0
|
Fix #2723 - use magic method return type where necessary
|
2020-02-01 18:21:32 -05:00 |
|
Brown
|
3b6f53a356
|
Revert "Fix #2724 - make sure behaviour is not dependent on array type"
This reverts commit 1df03b0ff2 .
|
2020-01-31 17:25:15 -05:00 |
|
Brown
|
1df03b0ff2
|
Fix #2724 - make sure behaviour is not dependent on array type
|
2020-01-31 16:46:05 -05:00 |
|
Brown
|
66227f9b7f
|
Fix #2727 - callable arg checks should obey ignore_falsable_return
|
2020-01-31 13:58:56 -05:00 |
|
Brown
|
8f95c5679e
|
Fix #2720 - allow throwing self
|
2020-01-30 18:00:31 -05:00 |
|
Brown
|
b46f219c51
|
Do better inference for array_map return type
|
2020-01-30 17:43:13 -05:00 |
|
Brown
|
9405314222
|
Always Be Cloning
|
2020-01-30 17:22:40 -05:00 |
|
Brown
|
216d9256a1
|
Allow templated array_map callable inference
Fixes #2719
|
2020-01-30 17:13:46 -05:00 |
|
Matthew Brown
|
5eb2ebc508
|
Add more type-system protections for bad array args
|
2020-01-29 23:41:17 -05:00 |
|
Matthew Brown
|
2829530ea6
|
Fix #2713 - allow interface with __invoke to be called
|
2020-01-29 22:33:28 -05:00 |
|
Matthew Brown
|
989123f82e
|
Fix line length
|
2020-01-29 22:31:23 -05:00 |
|
Matthew Brown
|
933dff9e20
|
Fix #2712 - allow __toString to have more specific type
|
2020-01-29 22:28:40 -05:00 |
|
Matthew Brown
|
2aebc522f1
|
Fix #2705 - mark by-ref args as used if not variables already
|
2020-01-29 21:46:30 -05:00 |
|
Matthew Brown
|
5c3ec7a531
|
Fix #2696 - make sure static property references are prevented in pure functions
|
2020-01-27 22:55:20 -05:00 |
|
Matthew Brown
|
5f7730c12e
|
Add slash
|
2020-01-27 12:26:06 -05:00 |
|
Brown
|
15808458cc
|
Better understand nesting loops and switches
Fixes #2700
|
2020-01-27 12:17:12 -05:00 |
|
Matthew Brown
|
8c89760ff3
|
Use more accurate type for large arraya
Fixes #2690
|
2020-01-25 10:38:23 -05:00 |
|
Brown
|
c3a989f6a8
|
Fix bad var
|
2020-01-24 15:44:18 -05:00 |
|
Brown
|
c09f97ed6e
|
Fix #2691 - allow list to be a callable maybe
|
2020-01-24 15:09:06 -05:00 |
|
Brown
|
38e9e8ba87
|
Register methods as used
|
2020-01-24 14:53:32 -05:00 |
|
Brown
|
548c9f7e65
|
Remove unused var
|
2020-01-24 14:09:25 -05:00 |
|
Brown
|
9f077f5aec
|
Fix formatting
|
2020-01-24 14:08:01 -05:00 |
|
Brown
|
53b0650c6c
|
Fix #2688 - foreach loop evaluation should allow changing loop var
|
2020-01-24 13:55:30 -05:00 |
|
Brown
|
faf6afdce8
|
Support call_user_func evaluation
Fixes #726
|
2020-01-24 13:34:50 -05:00 |
|
Brown
|
dbdf7473f4
|
Fix abstract trait method implementation errors when using self
|
2020-01-24 11:15:35 -05:00 |
|
Brown
|
34d73e7243
|
Fix #2685 - always evaluate $a++ in unknown call
|
2020-01-24 10:32:28 -05:00 |
|
Brown
|
0ffb833bf3
|
Fix #2677 - use better assertion for null coalesce
|
2020-01-23 14:52:35 -05:00 |
|
Brown
|
da43b8188f
|
Fix #2632 - detect invalid by-ref assignments in pure functions
|
2020-01-23 14:21:34 -05:00 |
|
Brown
|
0ac20e76c4
|
Fix #2631 - evaluate purity of uasort closure
|
2020-01-23 13:49:15 -05:00 |
|
Brown
|
e68ca6a20b
|
Fix #2661 - catch invalid array_push on property
|
2020-01-22 09:57:59 -05:00 |
|
Matthew Brown
|
8202af957d
|
Index issues by file to reduce some lookups
|
2020-01-21 21:07:44 -05:00 |
|
Brown
|
0132b3789b
|
Fix #2665 - warn about abstract class interface inheritance issues
|
2020-01-21 11:46:51 -05:00 |
|
Brown
|
a2e1dfd64e
|
Fix #2667 - don’t check inherited signature return types for accuracy
|
2020-01-21 11:07:44 -05:00 |
|
Brown
|
36f5c51f01
|
Allow unpacking of list args with known elements
|
2020-01-21 10:13:37 -05:00 |
|
Matthew Brown
|
1c8af2fdc7
|
Fix #2658 - catch exceptions thrown inside catch
|
2020-01-17 12:05:37 -05:00 |
|
Matthew Brown
|
7f093ca8ed
|
Fix #2626 - allow assertions on resource types
Also fixes #2266
|
2020-01-17 11:55:16 -05:00 |
|
Matthew Brown
|
b582c49f51
|
Fix #2645 - add workarounds for some edgecases
|
2020-01-17 10:25:05 -05:00 |
|
Matthew Brown
|
471d7610f0
|
Fix #2644 - improve type inference of autoloaded constants
|
2020-01-17 09:52:43 -05:00 |
|
Matthew Brown
|
c50fa27025
|
Identify trait method access level violations as less serious
|
2020-01-17 00:28:08 -05:00 |
|
Matthew Brown
|
257ebfd205
|
Improve trait method mismatch failure rules
|
2020-01-16 22:36:30 -05:00 |
|
Brown
|
c07fd13f2b
|
Fix #2623 - prevent crash when combining class strings in constants
|
2020-01-15 11:26:58 -05:00 |
|
Matthew Brown
|
4a03c4aedd
|
Fix impossible isset checks
|
2020-01-14 21:54:02 -05:00 |
|
Matthew Brown
|
c3edbdbc19
|
Allow checking $_SESSION for null without altering type
|
2020-01-14 21:51:04 -05:00 |
|
Brown
|
0f6b61d62d
|
Clone isset type before contradicting
|
2020-01-14 18:28:32 -05:00 |
|
Brown
|
3fd70a9c88
|
Only set if non-null
|
2020-01-14 17:03:58 -05:00 |
|
Brown
|
adc658901a
|
Improve inference of constant() calls
|
2020-01-14 16:56:09 -05:00 |
|
Brown
|
1ccababcb7
|
Track list-ness of constant arrays
Fixes #2621
|
2020-01-14 12:13:41 -05:00 |
|
Brown
|
c79a8ecbc2
|
Fix dumb
|
2020-01-14 10:55:07 -05:00 |
|
Brown
|
fcc7d896a0
|
Commit actual fix
|
2020-01-14 10:53:54 -05:00 |
|
Matthew Brown
|
42073a800a
|
Remove unevaluated code
|
2020-01-14 00:55:56 -05:00 |
|
Matthew Brown
|
e1daf26202
|
Improve support for null coalesce checks
|
2020-01-14 00:53:38 -05:00 |
|
Matthew Brown
|
b0073d4558
|
Fix #2614 - prevent isset($string)
|
2020-01-13 21:27:09 -05:00 |
|
Matthew Brown
|
ef3c2d30c9
|
Fix #2613 - allow docblock-defined object-like as non-empty-array
|
2020-01-13 21:05:30 -05:00 |
|
Brown
|
5d15ef062e
|
Fix phpcs
|
2020-01-13 17:28:00 -05:00 |
|
Brown
|
6c771e5dd3
|
Prevent crashes under PHP 7.3 on macs in Language server mode
|
2020-01-13 16:50:09 -05:00 |
|
Brown
|
eb7c3dcc11
|
Fix #2611 - fix combination of inferred closure return types
|
2020-01-13 10:23:58 -05:00 |
|
Tyson Andre
|
7a65eb1da9
|
Fix required parameter after optional in Psalm (#2609)
Psalm supports php 7.1 at minimum, so this is no longer necessary.
|
2020-01-12 12:46:08 -05:00 |
|
Тальгат Хайруллов
|
39a822759d
|
#2579 TooManyArguments was triggered if the variadic function declared at the autoloader file. Fixed. (#2580)
|
2020-01-12 11:33:38 -05:00 |
|
Matthew Brown
|
85966d8a21
|
Fix #2577 - fix list cast to array
|
2020-01-11 11:42:09 -05:00 |
|
Brown
|
2c7197ab4b
|
Fix #2578 - improve inference of functions beginning with assert
|
2020-01-09 15:45:17 -05:00 |
|
Brown
|
bd9142f131
|
Fix #2574 - remove assertions after increment
|
2020-01-09 11:51:56 -05:00 |
|
Matthew Brown
|
146dd461ef
|
Fix #2569 - improve template return type checks
|
2020-01-07 21:08:13 -05:00 |
|
Brown
|
55aceb2b6d
|
Add if
|
2020-01-07 13:18:24 -05:00 |
|
Brown
|
024ec38aa1
|
Fix #2567 - still remap params in some circumstances
|
2020-01-07 13:01:16 -05:00 |
|
Pavel Batečko
|
702ca34c41
|
Improve array function types (#2566)
* Improve sorting function out types
* Improve return types of array_diff_assoc(), array_intersect_assoc()
* Fix versionCompareAsCallable test
|
2020-01-07 11:40:23 -05:00 |
|
Matthew Brown
|
90d6b73fd8
|
Fix taint analysis of binary operations
|
2020-01-07 08:50:31 -05:00 |
|
Matthew Brown
|
1f777bec0e
|
Capture non-empty-string from concat more effectively
|
2020-01-07 01:44:12 -05:00 |
|
Matthew Brown
|
ce5917c6fb
|
Add better string detection
|
2020-01-07 01:21:29 -05:00 |
|
Matthew Brown
|
b351df0483
|
Fix typo
|
2020-01-07 01:06:51 -05:00 |
|
Matthew Brown
|
2cd7f74efb
|
Fix #2554 - treat templated class string as proper subtype of class string
|
2020-01-07 00:39:16 -05:00 |
|
Matthew Brown
|
eaae84c7f8
|
Fix concat emptiness
|
2020-01-06 21:30:19 -05:00 |
|
Matthew Brown
|
cc9e0fab67
|
Prevent string being used in non-empty-string location
|
2020-01-06 20:57:57 -05:00 |
|
Brown
|
5c45221bdc
|
Improve reconciliation of ||
Ref #2426
|
2020-01-06 16:37:44 -05:00 |
|
Brown
|
578b90c2da
|
Improve naming of variables
|
2020-01-06 16:03:17 -05:00 |
|
Brown
|
49d9dd12b6
|
Change $op_ to $right in a few more places
|
2020-01-06 15:44:48 -05:00 |
|
Brown
|
9149f468e6
|
Change var name
|
2020-01-06 15:42:06 -05:00 |
|
Brown
|
083fbc55e1
|
Add more specific UndefinedMagicMethod issue
|
2020-01-06 14:23:33 -05:00 |
|
Brown
|
8e786a17dd
|
Deal with a reconciled var more accurately
Ref #2426
|
2020-01-06 11:09:07 -05:00 |
|
Brown
|
cd0d118463
|
Fix count
|
2020-01-06 10:40:46 -05:00 |
|