orklah
f8628ef68c
fix errors
2021-10-02 10:01:05 +02:00
orklah
b9e65f066a
refactor paradoxical conditions
2021-10-02 10:01:04 +02:00
orklah
85f16e9710
handle the case where analysis failed
2021-10-02 10:01:04 +02:00
orklah
597e9a99d7
Makes BooleanNot smarter
2021-10-02 10:01:04 +02:00
orklah
7f0d25374f
add comment
2021-10-02 09:52:19 +02:00
orklah
83ad836e88
assert both sides of an equality
2021-10-02 09:52:19 +02:00
Bruce Weirdan
2e7e343ef8
Merge pull request #6423 from orklah/count-equal-0-negated-assertion
2021-10-02 00:53:03 +03:00
Bruce Weirdan
d232cc0d02
Merge pull request #6553 from orklah/exec-leak
2021-09-30 21:32:55 +03:00
orklah
02ef33c4ac
Merge pull request #6554 from simPod/use-a
...
Use correct English articles
2021-09-30 09:37:56 +02:00
Simon Podlipsky
4f5e30fd30
Use correct English articles
2021-09-30 09:19:08 +02:00
orklah
3133cd159a
fix NPE
2021-09-29 22:30:38 +02:00
orklah
2a2e7c5e32
prevent object leaking that lead to changes in callmap
2021-09-29 22:27:34 +02:00
orklah
ab6efe49b2
fix CS
2021-09-26 23:41:26 +02:00
orklah
38dac34846
unnecessary null initialization
2021-09-26 23:34:32 +02:00
orklah
9170b0af8f
replace list()
2021-09-26 23:34:32 +02:00
orklah
2315316b17
return types
2021-09-26 23:34:32 +02:00
orklah
72eab30a3a
coalesce operator
2021-09-26 23:34:31 +02:00
orklah
46801c4b98
clearer string operations
2021-09-26 23:34:31 +02:00
orklah
18b0c63de2
shorter operations
2021-09-26 22:44:33 +02:00
orklah
53e4719c19
boolean cast
2021-09-26 22:39:01 +02:00
orklah
c11b32d414
redundant variable check
2021-09-26 22:37:17 +02:00
orklah
ae1afd90c6
coalesce operator
2021-09-26 22:37:17 +02:00
orklah
a5aa824258
unnecessary local variable
2021-09-26 22:37:17 +02:00
orklah
be8406294c
unnecessary return
2021-09-26 22:37:16 +02:00
orklah
5b684309fd
unnecessary ternary
2021-09-26 22:37:16 +02:00
orklah
153de33704
weird param always false
2021-09-26 22:37:16 +02:00
orklah
4481428f97
unused param
2021-09-26 22:36:17 +02:00
orklah
c0f6474bc6
merging exceptions
2021-09-26 22:36:17 +02:00
orklah
966211e052
unused variable
2021-09-26 22:36:16 +02:00
orklah
afbda6d0f6
Merge pull request #6535 from orklah/SA
...
Improvements
2021-09-25 20:16:38 +02:00
orklah
7891e6136a
unparsable types
2021-09-25 17:19:50 +02:00
orklah
748d58a1d6
unparsable types
2021-09-25 17:14:57 +02:00
orklah
89f5c12be2
unparsable types
2021-09-25 17:14:10 +02:00
orklah
a9b1248e9f
unnecessary phpdoc is necessary
2021-09-25 17:13:58 +02:00
orklah
671a175deb
unnecessary phpdoc
2021-09-25 17:08:51 +02:00
orklah
f0b0540563
unparsable types
2021-09-25 17:08:38 +02:00
orklah
3e6bf6f35f
remove unused nullable on param types
2021-09-25 16:05:47 +02:00
orklah
a92fee8ae3
better combining
2021-09-25 11:21:06 +02:00
orklah
97e91e6bf0
code trimming
2021-09-25 02:34:21 +02:00
orklah
d3d11471b7
allow arithmetics on variables as long as we're out of loops
2021-09-23 21:24:16 +02:00
orklah
012b65de78
try to improve behaviour
2021-09-23 21:24:16 +02:00
orklah
2b56d52760
rename vars for better diff
2021-09-23 21:24:16 +02:00
orklah
efde3f9180
change order for better diff
2021-09-23 21:24:16 +02:00
orklah
5ec9e6543d
try with everything except Variables
2021-09-23 21:24:16 +02:00
orklah
c6949760f8
activate arithmetic operations on properties too
2021-09-23 21:24:16 +02:00
orklah
a70e7032e9
activate arithmetic operations on method calls too
2021-09-23 21:24:16 +02:00
orklah
c4b47d3786
activate arithmetic operations on func calls
2021-09-23 21:24:16 +02:00
orklah
cc6ab8340b
improve type when min = max and add test
2021-09-23 21:24:16 +02:00
orklah
ea80373006
AssertionFinder refactor
2021-09-23 21:24:16 +02:00
orklah
a7fa63547e
add tests, improve count behaviour on keyed arrays using integer range
2021-09-23 21:24:16 +02:00
orklah
7bf9df4360
restore paradox checking
2021-09-23 21:24:16 +02:00
orklah
667eec2ac8
consider count === 0
2021-09-23 21:24:16 +02:00
741c9ee471
Fixes
2021-09-22 10:26:21 +02:00
f8a959c079
Fix silly bug
2021-09-21 14:11:33 +02:00
7e0b489efe
Merge remote-tracking branch 'origin/master' into if-this-is
2021-09-21 12:12:15 +02:00
orklah
994c927b6a
Merge pull request #6445 from TysonAndre/negate-in_array-v2
...
Fix false positive ParadoxicalCondition in negation of in_array
2021-09-20 16:49:15 +02:00
orklah
90e1662964
Merge pull request #6241 from orklah/range5
...
Range arithmetics and assertions
2021-09-20 07:15:43 +02:00
orklah
0f17a2590c
fix Mod
2021-09-19 19:30:03 +02:00
orklah
25f78b5d54
refine Mod with positives everywhere
2021-09-19 19:30:03 +02:00
orklah
f87bd56105
fix Pow
2021-09-19 19:30:03 +02:00
orklah
5a2df475ca
changes after review
2021-09-19 19:30:03 +02:00
orklah
3d7dc740c2
fix UnaryMinus
2021-09-19 19:30:03 +02:00
orklah
e75e390449
refactor big methods away
2021-09-19 19:30:03 +02:00
orklah
6b5e6eeecc
fix wrong type
2021-09-19 19:30:02 +02:00
orklah
a6630c49a2
fix mod calculation with ranges
2021-09-19 19:30:02 +02:00
orklah
c226285a4b
fix Mul and Pow operations
2021-09-19 19:30:02 +02:00
orklah
f789ab0655
add test and allow checking in already inferred types instead of just relying on statements from PHPParser for assertions
2021-09-19 19:30:02 +02:00
orklah
ae0586b0e6
fix shift inference
2021-09-19 19:30:02 +02:00
orklah
c26f403e7e
fix an old bug with inverting positive int + allow inverting TIntRange
2021-09-19 19:30:02 +02:00
orklah
488c13b7c5
handle bit operations and add test
2021-09-19 19:30:02 +02:00
orklah
9994a91915
help Psalm understand the types
2021-09-19 19:30:02 +02:00
orklah
6f050359ce
refactor int vs int range arithmetic by converting everything to range and add tests
2021-09-19 19:30:02 +02:00
orklah
0227894176
fix code
2021-09-19 19:30:02 +02:00
orklah
d2f73d3adb
fix and test minus case
2021-09-19 19:30:01 +02:00
orklah
d919a53674
rename method too
2021-09-19 19:30:01 +02:00
orklah
9ab46ff3e0
rename class because it handles Div too now
2021-09-19 19:30:01 +02:00
orklah
2dd16f9e22
simplify code
2021-09-19 19:30:01 +02:00
orklah
def7d31566
fix positive-numeric assertion
2021-09-19 19:30:01 +02:00
orklah
c20c1b5002
better div and modulo inference
2021-09-19 19:30:01 +02:00
orklah
55b45853de
try not to remove null after a positive-numeric assertion
2021-09-19 19:30:00 +02:00
orklah
219e425894
handle nightmare isset assertions
2021-09-19 19:30:00 +02:00
orklah
ee75586fbf
expand test and fix assertions
2021-09-19 19:30:00 +02:00
orklah
d2e1388473
Allow inferior-to and superior-to even with negated numbers
2021-09-19 19:30:00 +02:00
orklah
61d1d1660d
handle the div case when even if min/max are integers, there may be float between them
2021-09-19 19:30:00 +02:00
orklah
4682c4be5e
remove unnecessary var
2021-09-19 19:29:59 +02:00
orklah
8325378e23
support inverted comparison and remove null after value comparison
2021-09-19 19:29:59 +02:00
orklah
ca4c18c30d
put assertions back
2021-09-19 19:29:59 +02:00
orklah
1dcdaea117
int range arithmetics
2021-09-19 19:29:59 +02:00
orklah
e9f3d5ba06
assert from TClassString
2021-09-17 20:05:25 +02:00
S.M. Ataur Rahman
c13ed7cc28
type of "$http_response_header" is "list<string>" now
2021-09-09 01:36:07 +06:00
Bruce Weirdan
b4f024b1fe
Basic enum checks
...
* Duplicate cases
* Duplicate case values
* Invalid case values: value on a pure enum case, missing value on a
backed enum case, backing type / case type mismatch
* Literal expression evaluation for case values
Fixes vimeo/psalm#6426
Fixes vimeo/psalm#6427
2021-09-07 12:35:38 +03:00
Tyson Andre
f4f989d1e5
Use different in-array-*
check for non-literals
...
Negating this would not contradict the original condition if the
variables were different. A string can be in one array of strings but
not be in a different array of strings.
2021-09-06 21:48:08 -04:00
Tyson Andre
7df819e585
Unrelated: Use strict_equality instead of loose_equality for ===
checks
...
(`=` is strict equality, `~` is loose equality)
2021-09-06 21:44:19 -04:00
Tyson Andre
f69a255611
Fix false positive ParadoxicalCondition in negation of in_array
...
For #6439
2021-09-06 21:15:04 -04:00
Bruce Weirdan
5dfd157d72
Merge pull request #6420 from orklah/ternary-override-type
...
Ternary override type when reassigning
2021-09-04 21:58:32 +03:00
orklah
0825f220fe
allow ternary to override previous type when reassigning
2021-09-04 20:22:06 +02:00
Tyson Andre
58e7ae1809
Also support non-literal types in strict in_array() check
...
Modified approach to #6396 by orklah
Fixes #6333
Co-Authored-By: orklah <ronan_morin@hotmail.com>
2021-09-04 12:34:49 -04:00
Roland Franssen :)
27faf9502e
😓
2021-09-02 20:39:03 +02:00
Roland Franssen :)
a4356089ef
fix
2021-09-02 20:37:21 +02:00
Roland Franssen :)
4bf4d8e451
Forbid empty()
2021-09-02 20:32:05 +02:00