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

2133 Commits

Author SHA1 Message Date
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
Thomas Bley
ca2fe166ee Added option to forbid eval() in codebase #6855 2021-11-07 21:06:22 +01:00
sasezaki
5a01c8d601 Added phpcs SelfMemberReference rule, and applied 2021-11-07 15:47:39 +09: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
18677bb108 better understands value and name properties for enum 2021-11-06 21:49:42 +01: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
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
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
Aleksandr Zhuravlev
b664850cdc Added support of asserting properties of objects out of scope 2021-10-17 21:29:25 +13: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