1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-15 02:47:02 +01:00
Commit Graph

3078 Commits

Author SHA1 Message Date
Bruce Weirdan
03aea28c73
Merge pull request #6995 from vimeo/enum-constants 2021-11-27 21:49:13 +02:00
Bruce Weirdan
97445b52f3
Correctly process constant references on enum-valued variables 2021-11-27 04:32:32 +02:00
Bruce Weirdan
d19aad7db1
Display target PHP version
Historically it was often not quite clear to users what PHP version
Psalm assumes, and why. This PR addresses this issue by printing the
version and where we got it from right before scanning the files.
2021-11-27 02:18:09 +02:00
orklah
72de3b66cc
Merge pull request #7003 from rarila/no-phpdoc-return-void
Use return type hints instead of php doc "@return void"
2021-11-26 23:03:28 +01:00
2145a2cbbd
Make sure that the keyed array is actually a list after unsetting 2021-11-26 21:52:34 +01:00
00ab986c06
Update IfElseAnalyzer.php 2021-11-26 21:47:17 +01:00
ee8c5c9c35
Remove some array_values 2021-11-26 21:47:17 +01:00
1129ab1475
Raise RedundantCast when using array_values on a list 2021-11-26 21:47:14 +01:00
orklah
a27e729263
Merge pull request #7002 from orklah/listkeyedarray
Disable list flag for TKeyedArray after unset
2021-11-26 21:32:55 +01:00
ralila
fdaed941ad use return type hints instead of php doc "@return void" 2021-11-26 20:59:41 +01:00
orklah
4f223db455 Disable list flag for TKeyedArray after unset 2021-11-26 20:52:34 +01:00
Bruce Weirdan
f215ed28d0
Drop special handling of constant references on enums
Internally enum cases are constants, and they should be resolved as
such.

Fixes vimeo/psalm#6994
2021-11-26 06:00:01 +02:00
orklah
2fbad1bbeb
Merge pull request #6993 from orklah/taint-numerics
Taint can't be transmitted through numerics nor bool
2021-11-25 23:20:38 +01:00
orklah
ab61eae5c9 Taint can't transmit through numerics nor bool 2021-11-25 22:51:35 +01:00
orklah
3bc06a8eab Taint can't transmit through numerics nor bool 2021-11-25 22:40:01 +01:00
Paweł Tomulik
dac8c98613
attempt to fix #6973 2021-11-23 20:26:07 +01:00
orklah
b42c2814a9
Merge pull request #6971 from orklah/empty-keys
fix counting array properties when some are Never
2021-11-23 20:11:47 +01:00
Paweł Tomulik
a7b9a241f3
attempt to fix #6937 2021-11-22 23:24:20 +01:00
orklah
eca56c0c1a
Merge pull request #6972 from orklah/unused-throws
prevent Psalm from considering throwing methods as unused just because they're immutable
2021-11-22 22:00:55 +01:00
orklah
1c1e352e5f prevent Psalm from considering throwing methods as unused just because they're immutable 2021-11-22 21:29:57 +01:00
orklah
0d47722195 fix counting array properties when some are Never 2021-11-22 21:13:25 +01:00
orklah
79fa7f5993
Merge pull request #6953 from orklah/callstatic-pure
check __callStatic purity instead of the pseudoMethod purity
2021-11-21 23:02:07 +01:00
orklah
3e56e859a9 fix inheritance 2021-11-21 21:53:24 +01:00
orklah
41fd460db5 check __callStatic purity instead of the pseudoMethod purity 2021-11-21 13:51:19 +01:00
ralila
fe8f919495 Fix some CS issues 2021-11-15 04:00:38 +01:00
ralila
0d0a06e78f Avoid empty variable names instead of filtering them later 2021-11-15 03:00:08 +01:00
ralila
4fd87f2d77 Allow a comma as separator 2021-11-15 02:59:16 +01:00
ralila
7326f3b125 Remove useless brackets 2021-11-14 23:55:32 +01:00
Bruce Weirdan
45e1a1c69a
Merge pull request #6850 from gharlan/hyperlink 2021-11-14 23:20:09 +02:00
Bruce Weirdan
f5b71a3a5f
Infer mb_strtolower() result as string when encoding is specified
`mb_strtolower()` may return characters we generally consider uppercase
when it's given the encoding argument. This PR makes Psalm to err on the
side of caution and treat the return type as `string` rather than
`lowercase-string` in this case

Refs vimeo/psalm#6908
2021-11-14 03:57:10 +02:00
Ricardo Boss
4a58739e00
Fix typos in message about Attribute usage 2021-11-12 23:11:59 +01:00
Philip Hofstetter
ece2bccf76
don't stop processing for class usage after raising an issue
this fixes #6887
2021-11-12 09:24:39 +01:00
Philip Hofstetter
038df9cebe
detect unevaluated inline-html code after an rearly return
this is a followup after #6876

this fixes #6877
2021-11-10 13:11:50 +01:00
Philip Hofstetter
f407ac846a
do not treat __halt_compiler() as an expression being executed
this fixes #6875
2021-11-10 12:45:12 +01:00
orklah
8d22676627 fix errors 2021-11-09 22:31:40 +01:00
orklah
21591b0f2a fix errors 2021-11-09 21:14:55 +01:00
orklah
db05dfeb4c fix never combination 2021-11-09 20:59:49 +01:00
Thomas Bley
ca2fe166ee Added option to forbid eval() in codebase #6855 2021-11-07 21:06:22 +01:00
Bruce Weirdan
756be3b80c
Merge pull request #6843 from weirdan/enums-as-attributes 2021-11-07 17:53:19 +02:00
Gregor Harlan
ab0049d0ff
ConsoleReport: Add links to open file in editor 2021-11-07 15:04:14 +01:00
sasezaki
5a01c8d601 Added phpcs SelfMemberReference rule, and applied 2021-11-07 15:47:39 +09:00
Bruce Weirdan
68495be147
Forbid declaring enums as attributes
This is in line with current Psalm behavior. We forbid non-instantiable
classlikes as attributes, including abstract classes and classes with
non-public constructors.

Refs vimeo/psalm#6841
2021-11-07 01:47:11 +02:00
Bruce Weirdan
9210bbcdd4
Forbid enum instantiation
Fixes vimeo/psalm#6837
2021-11-07 00:14:37 +02:00
orklah
b08d39e567
Merge pull request #6834 from orklah/unused-in-assert
don't consider calls to methods with assertions as Unused
2021-11-06 22:05:34 +01:00
orklah
e28659eb6c
Merge pull request #6838 from orklah/value_and_name_enum
better understands value and name properties for enum
2021-11-06 22:05:04 +01:00
orklah
18677bb108 better understands value and name properties for enum 2021-11-06 21:49:42 +01:00
Bruce Weirdan
0f8ef45110
Forbid properties on enums
Fixes vimeo/psalm#6472
2021-11-06 21:57:49 +02:00
orklah
9c9669ea44 don't consider calls to methods with assertions as Unused 2021-11-06 19:54:17 +01:00
orklah
ad57516765 create a temporary var for coalescing ternaries 2021-11-05 20:07:35 +01:00
orklah
b7834689e5
Merge pull request #6824 from orklah/session
Makes $_SESSION possibly undefined at the source
2021-11-05 20:07:24 +01:00
orklah
33aab6cc40 allow declaring functions and classLikes after a never-returning call 2021-11-05 18:09:40 +01:00
orklah
6e5f3db06c makes $_SESSION possibly undefined 2021-11-04 22:45:46 +01:00
orklah
fffef80ec1 makes $_SESSION possibly undefined 2021-11-04 22:38:31 +01:00
orklah
915278e253
Merge pull request #6823 from orklah/variable_class
allow assertion to work on $var::class
2021-11-04 20:54:59 +01:00
orklah
834d831915 allow assertion to work on $var::class 2021-11-04 20:44:42 +01:00
orklah
5282e4728b allow assertion to work on $var::class 2021-11-04 20:33:30 +01:00
orklah
cd74f665dc
Merge pull request #6813 from orklah/intTaint
don't register taints for numeric variables
2021-11-04 15:30:52 +01:00
orklah
e6dccaa07c
Merge pull request #6809 from orklah/binaryOpTaint
don't taint the result of most binary operations
2021-11-04 13:18:07 +01:00
orklah
bf993452a8
Merge pull request #6810 from orklah/castArrayTaints
Array cast pass taints
2021-11-04 13:17:20 +01:00
orklah
6e49c61fd0 fix comment 2021-11-04 00:31:22 +01:00
orklah
9fb74a4f28 exclude Plus on arrays too 2021-11-04 00:30:09 +01:00
orklah
3b01713257 don't taint the result of most binary operations 2021-11-04 00:30:09 +01:00
orklah
24137bdbad Array cast pass taints 2021-11-04 00:29:36 +01:00
orklah
eca530d792 don't register taints for numeric variables 2021-11-04 00:29:07 +01:00
orklah
ff83c498a7 fix CS 2021-11-04 00:28:40 +01:00
orklah
fbe305e5bb detect taint in backticks 2021-11-04 00:28:40 +01:00
sasezaki
e3c6464a91 accept ::class constant strings for literal argument 2021-11-03 13:44:14 +09:00
Bruce Weirdan
0cdb0dc04a
Merge pull request #6768 from zoonru/psalm-self-out-templates 2021-11-02 21:41:16 +02:00
orklah
96ae8e7600
Merge pull request #6793 from orklah/unevaluatedCode
emit UnevaluatedCode after exit or never returning functionlike
2021-11-01 23:41:36 +01:00
orklah
68a4f9e930 emit UnevaluatedCode after exit or never returning functionlike 2021-11-01 22:13:29 +01:00
Bruce Weirdan
81ca05f3ab
Merge pull request #6790 from orklah/fix_yield 2021-11-01 20:25:54 +02:00
orklah
af129f8851 detect yield in new 2021-11-01 19:04:37 +01:00
Bruce Weirdan
ac098a52da
Allow to forbid exit() and die() 2021-10-31 03:02:16 +03:00
Alexey Borzov
91ec5712ad Add a means to switch return types based on PHP_VERSION_ID
As suggested in vimeo/psalm#6755
2021-10-29 22:19:38 +03:00
orklah
b9effdb28a
Merge pull request #6742 from zoonru/fix_fewer_template_parameters
Fix template parameter collection for child classes with fewer parameters (fixes #6734)
2021-10-28 20:06:11 +02:00
597487c4c9
Assert that $lhs_var_id is defined 2021-10-28 10:50:43 +02:00
5fae548e62
Add template support to @psalm-self-out 2021-10-28 10:44:37 +02:00
9c59550e15
Fully fix recursive template parameter resolution 2021-10-27 10:58:33 +02:00
orklah
70175d8fd2
Merge pull request #6744 from orklah/dont_assert_mixed
Don't assert mixed type
2021-10-26 19:23:13 +02:00
orklah
e8e2624c5f Don't assert mixed type 2021-10-26 19:12:13 +02:00
c0e6f93deb
Fix template parameter collection for child classes with fewer parameters 2021-10-26 13:06:45 +02:00
orklah
9fb959150a
Merge pull request #6730 from orklah/int-template-arithmetics
don't emit issues when doing arithmetics on int templates
2021-10-24 20:39:54 +02:00
orklah
0161dedcdb fix 2021-10-24 19:53:22 +02:00
orklah
2c5cec4a05 fix 2021-10-24 19:48:28 +02:00
orklah
af918a95a2 don't emit issues when doing arithmetics on int templates 2021-10-24 19:30:39 +02:00
orklah
d99f300043 fix concat 2021-10-24 19:15:18 +02:00
orklah
68528985d6
Merge pull request #6724 from orklah/impure_callstatic
flag impure calls made through __callstatic
2021-10-24 10:30:56 +02:00
orklah
a0681a4498 flag impure calls made through __callstatic 2021-10-24 09:55:40 +02:00
orklah
0339815070 fix type leaking when using ternaries 2021-10-23 18:58:05 +02:00
orklah
78a4c78187
Merge pull request #6718 from orklah/5651
fix literal string access on a non empty array
2021-10-23 12:11:39 +02:00
orklah
2cc5c555c2 fix literal string access on a non empty array 2021-10-22 18:17:08 +02:00
orklah
1c0b802abb fix regression 2021-10-21 21:10:12 +02:00
orklah
1f02795e42 fix missing implicit __toString 2021-10-20 19:54:32 +02:00
Aleksandr Zhuravlev
b664850cdc Added support of asserting properties of objects out of scope 2021-10-17 21:29:25 +13:00
orklah
7a47ebfcd6 fix 2021-10-16 00:26:00 +02:00
orklah
56c73142d6 don't emit InvalidReturnType when return type was inferred to never 2021-10-16 00:15:17 +02:00
Bruce Weirdan
c556920352
Revert "Merge remote-tracking branch 'upstream/master' into test5"
This reverts commit 043a0262f7, reversing
changes made to cc4c29837d.
2021-10-16 00:20:38 +03:00
orklah
043a0262f7 Merge remote-tracking branch 'upstream/master' into test5 2021-10-15 22:37:07 +02:00
orklah
99d8f92e4f what would that do? 2021-10-15 22:33:04 +02:00
orklah
64df00baba
Merge pull request #6660 from orklah/cleanup4
Code trimming
2021-10-14 00:12:21 +02:00
orklah
ae193ca4da replace elvis operator by coalesce operator when applicable 2021-10-13 20:16:06 +02:00
orklah
dbc6f503b1 use of strtolower only once 2021-10-13 20:16:06 +02:00
orklah
e17290a9bc
Merge pull request #6613 from orklah/string-unpacking
String unpacking
2021-10-13 15:18:11 +02:00
orklah
91c3d788f6
Merge pull request #6656 from orklah/setAttribute
use Attribute feature of PHP-Parser to avoid dealing with dynamic properties
2021-10-13 14:46:22 +02:00
orklah
bee5b69f7f use Attribute feature of PHP-Parser to avoid dealing with dynamic properties 2021-10-13 13:27:56 +02:00
orklah
9bb731182a reintroduce errors for older versions 2021-10-13 11:22:40 +02:00
orklah
6e7aafe9b8 better behaviour in SimpleTypeInferer 2021-10-13 11:22:40 +02:00
orklah
66bbcc212c remove unneeded argument 2021-10-13 11:22:40 +02:00
orklah
690c24f824 array unpacking with strings 2021-10-13 11:22:40 +02:00
orklah
e7cd2eac0a
Merge pull request #6641 from orklah/weird-assertion-count
Union::getAssertionString with multiple types
2021-10-13 08:15:28 +02:00
orklah
c6fb81007c
Merge pull request #6629 from orklah/loops-tweaking
tweaking with loops
2021-10-11 20:45:54 +02:00
orklah
af414ffe59
Merge pull request #6642 from orklah/inside-conditional
Inside conditional
2021-10-11 20:45:14 +02:00
orklah
911076939c
Merge pull request #6628 from orklah/phpparser2
Php-Parser 4.13
2021-10-11 20:42:32 +02:00
orklah
21456b85b1 add Never for throws. Add Never only if at top level 2021-10-11 19:35:18 +02:00
orklah
f9377c53fc infer never on closures(and more?) 2021-10-11 18:52:26 +02:00
orklah
c4ebc34695 suppress or use the return type 2021-10-11 17:27:52 +02:00
orklah
9e7d3a4cd6 sets the inside_conditional flag after creating another context from it 2021-10-11 16:38:39 +02:00
orklah
2e64854a6c don't allow getAssertionString to return a part of the Union 2021-10-11 16:07:57 +02:00
orklah
3aee938910
Merge pull request #6636 from orklah/possibly-undefined-satisfy-nullable
Allow sending possibly_undefined inputs to optional params
2021-10-10 23:12:38 +02:00
orklah
cc82e6cf41 suppress warning 2021-10-10 13:58:09 +02:00
orklah
1b24b0309c reduce complexity 2021-10-10 13:52:14 +02:00
orklah
69d412bfcb fix error message when input is possibly undefined 2021-10-10 13:42:28 +02:00
orklah
fb8b07613d Allow sending possibly_undefined inputs to optional params 2021-10-10 12:44:04 +02:00
orklah
f159ca76de
Merge pull request #6624 from orklah/float-always-float
invert the meaning of the errors
2021-10-10 10:42:37 +02:00
orklah
d5eb471688 every condition must be true 2021-10-10 10:27:22 +02:00
orklah
85668ed255 Add support for infinite for loops 2021-10-10 10:22:41 +02:00
orklah
39b85f574b revert back wrong change 2021-10-10 10:06:37 +02:00
orklah
70bfce769c revert back wrong change 2021-10-10 10:00:44 +02:00
orklah
df34daee52 more consistency 2021-10-10 00:51:47 +02:00
orklah
7c99878f58 tweaking with loops 2021-10-10 00:21:15 +02:00
orklah
870ee4ff93 ->args to ->getArgs 2021-10-09 23:37:04 +02:00
orklah
bac0217890 add "!" to invert the meaning of the errors 2021-10-09 21:15:27 +02:00
orklah
f62c76a334
Merge pull request #6622 from orklah/return_0
fix @return 0
2021-10-09 18:25:46 +02:00
orklah
a1df08f718 fix an old test 2021-10-09 18:18:15 +02:00
orklah
950b21d10a
Merge pull request #6621 from orklah/incompatible-types-found-for-T
add a little details to the Incompatible types found for T error
2021-10-09 15:10:27 +02:00
orklah
b1f20dffa0 fix brackets 2021-10-09 15:02:49 +02:00
orklah
e9f3e8795f add a little details to the Incompatible types found for T error 2021-10-09 15:01:13 +02:00
orklah
f35df421e2
Merge pull request #6604 from orklah/array-unshift-on-empty-array
Array unshift on empty array
2021-10-07 23:04:10 +02:00
orklah
87a5df6043 only put offset to 0 when there's only one argument 2021-10-07 20:38:10 +02:00
orklah
3fc716ec3b fix CS 2021-10-07 19:39:45 +02:00
orklah
a7c4f0052b foreach on list gives a positive|0 offset 2021-10-07 19:32:25 +02:00
orklah
3a2eddf2d7 pass the method_id to be able to set the new offset type to 0 for array_unshift 2021-10-07 09:46:49 +02:00
orklah
6627055f3b make TypeCombiner override empty-array 2021-10-07 09:46:17 +02:00
orklah
2c728546e4
Merge pull request #6485 from orklah/list-assert
assert that some type is a list
2021-10-04 13:31:34 +02:00
orklah
ac6a75ea7f
Merge pull request #6473 from orklah/double-assert2
assert both sides of an equality
2021-10-04 13:30:38 +02:00
orklah
0e83afdb86
Merge pull request #6518 from orklah/fix-truthy
improvements of alwaysTruthy/alwaysFalsy
2021-10-04 13:29:49 +02:00
orklah
8b07e69645
Merge pull request #6514 from zoonru/if-this-is
Add if-this-is
2021-10-04 09:49:26 +02:00
orklah
53c0a4e63a cleanup 2021-10-04 00:03:06 +02:00
orklah
d3bc179abd cover the case where the call to the function is namespaced but the function doesn't exists in the namespace 2021-10-02 10:02:24 +02:00
orklah
e0b2cb5028 consistency 2021-10-02 10:02:24 +02:00
orklah
0b8681c8bf check namespace before adding assertions 2021-10-02 10:02:24 +02:00
orklah
fa9990ae55 fix wrong method name 2021-10-02 10:02:24 +02:00
orklah
e02eec932e refactor Assertions for is_ functions 2021-10-02 10:02:24 +02:00
orklah
f641d9e95a assert that some type is a list 2021-10-02 10:02:22 +02:00
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
5d6d3df4cf unnecessary identical child method 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
a85cba3973 dead code 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
41ea541084 unset instead of reassign 2021-09-25 18:11:54 +02:00
orklah
7891e6136a unparsable types 2021-09-25 17:19:50 +02:00
orklah
cc77abaa40 unparsable types 2021-09-25 17:19:45 +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
e6ba6092a6 turn inside_loop to true for do...while 2021-09-23 21:24:17 +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
orklah
9b60c86206
Merge pull request #6508 from thomasbley/master
fixed Uncaught Error: Call to undefined function shell_exec()
2021-09-21 20:39:15 +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
Thomas Bley
6f958fe919 Merge branch 'master' of github.com:thomasbley/psalm 2021-09-20 16:55:58 +02:00
Thomas Bley
e60d9e5ec5 return 1 if shell_exec is not available for getCpuCount() 2021-09-20 16:55:16 +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
Thomas
ecb368ff2b
Merge branch 'vimeo:master' into master 2021-09-20 12:19:43 +02:00
Thomas Bley
449ef0d994 fixed Uncaught Error: Call to undefined function shell_exec() 2021-09-20 12:18:49 +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