orklah
a193ec4573
Merge pull request #6874 from orklah/fix-never-combination
...
fix never combination
2021-11-09 23:18:58 +01:00
orklah
830c898fec
Merge pull request #6872 from orklah/InvalidDocblockPromotedProperties
...
allow signature type for promoted property as well as property docblock
2021-11-09 23:17:43 +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
orklah
d409c063f3
allow signature type for promoted property as well as property docblock (that will be used for param as well)
2021-11-09 19:38:18 +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
Bruce Weirdan
17ef25acd8
Merge pull request #6845 from sasezaki/cs_SelfMemberReference
2021-11-07 17:41:45 +02:00
orklah
4e6cb75094
Merge pull request #6848 from orklah/taint-comments
...
Taint comments
2021-11-07 15:55:37 +01:00
Gregor Harlan
ab0049d0ff
ConsoleReport: Add links to open file in editor
2021-11-07 15:04:14 +01:00
orklah
3322801903
ignore comments after taint-sink
2021-11-07 10:17:25 +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
aca8e12bf9
Merge pull request #6830 from orklah/isContainedBy
...
Mixed contain every types and Never is contained in every type
2021-11-05 22:05:32 +01:00
orklah
f4dcea3e57
Merge pull request #6829 from orklah/isType
...
only return true in Union::is*Type* if there is a single type
2021-11-05 22:05:17 +01:00
orklah
de9ad68ad0
Mixed contain every types and Never is contained in every type
2021-11-05 21:25:23 +01:00
orklah
728175f82d
only return true in Union::is*Type* if there is a single type
2021-11-05 21:14:04 +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
c2b14e2f39
Merge pull request #6812 from orklah/shell_exec_taint
...
backticks shell_exec taint
2021-11-04 13:16:53 +01:00
Bruce Weirdan
6610a2f918
Improve Github Actions output
...
* Use issue type in title
* Also provide issue type and location in the (use-visible) error message
Fixes vimeo/psalm#6817
2021-11-04 03:03:25 +02:00
orklah
3503f198a6
add deprecated tags to the array
2021-11-04 00:39:09 +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
Alexander Wühr
2d91b90690
Add pcntl_alarm to the list of impure functions
2021-11-03 10:16:10 +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
Bruce Weirdan
8c33b21261
Merge pull request #6776 from orklah/double-autoload-call
2021-10-29 11:25:14 +03:00
orklah
61a7cbe9c5
Merge pull request #6764 from orklah/promoted-property-docblock
...
allow documenting promoted properties with @var
2021-10-28 22:19:42 +02:00
orklah
67a3f3cd5c
fix spacing
2021-10-28 22:11:30 +02:00
orklah
d330b340d2
try without second call
2021-10-28 22:07:50 +02:00
orklah
067f8375cf
replace exception by InvalidDocblock
2021-10-28 22:05:43 +02:00
orklah
9823e87b80
Merge pull request #6774 from orklah/reconcileFalsyOrEmpty
...
fix local variable defined too early
2021-10-28 21:47:17 +02: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
orklah
a7c44a1a19
fix local variable defined too early
2021-10-28 19:33:27 +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
orklah
e17ca1ba10
fix CS/test
2021-10-27 22:45:16 +02:00
orklah
9b7eabe17f
allow documenting promoted properties with @var
2021-10-27 22:35:21 +02:00
orklah
4783149773
deprecate TEmpty
2021-10-27 21:26:31 +02:00
9c59550e15
Fully fix recursive template parameter resolution
2021-10-27 10:58:33 +02:00
orklah
dc2ac427ca
Don't remove a type because they have a common parent
2021-10-26 22:54:55 +02:00
orklah
6fba5eb554
Merge pull request #6738 from orklah/generator_and_iterator
...
don't use is_a with user classes
2021-10-26 19:28:17 +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
Bruce Weirdan
4b0c8806a7
Merge pull request #6739 from orklah/instanceof_notliteral
2021-10-25 23:45:17 +03:00
orklah
caf9602cb8
don't emit redundant error when checking a named type against itself
2021-10-25 19:02:07 +02:00
orklah
86a9e5c13a
fix CS
2021-10-25 18:29:44 +02:00
orklah
dcd3601645
don't use is_a with user classes
2021-10-25 18:29:09 +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
90d6239d74
strlen of strtolower of string is not always true
2021-10-24 18:40:13 +02:00
orklah
e33492398b
Merge pull request #6726 from orklah/crash_intrange
...
Don't crash on falsy with int ranges
2021-10-24 14:29:22 +02:00
orklah
c38139a87c
Don't crash on falsy with int ranges
2021-10-24 13:59:21 +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
307635fca5
Merge pull request #6721 from orklah/ftp_pasv
...
ftp_pasv is impure
2021-10-23 15:23:37 +02:00
orklah
fbd861c01e
ftp_pasv is impure
2021-10-23 15:17:49 +02:00
orklah
b63d877f48
Merge pull request #6720 from orklah/loop-template-regression
...
Don't refine empty/falsy assertions on templates inside loops
2021-10-23 14:31:10 +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
fb5a652e18
Don't refine empty/falsy assertions on templates inside loops
2021-10-23 11:17:47 +02:00
orklah
2cc5c555c2
fix literal string access on a non empty array
2021-10-22 18:17:08 +02:00
orklah
7bb37af1e5
Merge pull request #6714 from orklah/emptyorfalsy
...
More refactoring around Empty/falsy reconciliation
2021-10-21 23:40:01 +02:00
orklah
2d90631c87
Merge pull request #6689 from orklah/traversable&array
...
only fuse array & Traversable with phpstorm generics
2021-10-21 22:38:59 +02:00
orklah
1b9f84970d
Merge pull request #6716 from orklah/fatal
...
fix Uncaught ValueError: strrpos()
2021-10-21 21:36:53 +02:00
orklah
fdd20b8698
fix Uncaught ValueError: strrpos(): Argument #3 ($offset) must be contained in argument #1 ($haystack) in /var/www/html/vendor/vimeo/psalm/src/Psalm/CodeLocation.php:301
2021-10-21 21:27:38 +02:00
orklah
1c0b802abb
fix regression
2021-10-21 21:10:12 +02:00
orklah
b43fd0037f
fix CS
2021-10-21 19:14:38 +02:00
orklah
513ae016f9
consistency
2021-10-21 19:14:38 +02:00
orklah
5f17ea9b63
improve empty/falsy
2021-10-21 19:14:36 +02:00
orklah
4b0e3d0c06
improve empty/falsy
2021-10-21 19:14:02 +02:00
orklah
31bbd5a967
Merge pull request #6707 from orklah/!falsy_on_empty-string
...
improve falsy on non-empty-string
2021-10-20 23:18:12 +02:00
orklah
7ce0c3a6e3
improve falsy on non-empty-string
2021-10-20 22:31:03 +02:00
orklah
1f02795e42
fix missing implicit __toString
2021-10-20 19:54:32 +02:00
orklah
cf8e443d10
use better issue types
2021-10-20 07:32:08 +02:00
orklah
4755131585
more consistency
2021-10-20 07:32:04 +02:00
orklah
3866c6b529
new truthy type
2021-10-20 07:31:11 +02:00
orklah
8bcdd6e339
new truthy type
2021-10-20 07:31:11 +02:00
orklah
f5b4cb664c
new falsy type
2021-10-20 07:31:11 +02:00
orklah
1d59d2cd00
more consistency
2021-10-20 07:31:11 +02:00
orklah
9b8e483a4c
improve empty/falsy reconciliation
2021-10-20 07:31:11 +02:00
orklah
23a9896eda
Merge pull request #6693 from orklah/clauses
...
Remove hasPossiblyNumericType
2021-10-20 07:08:25 +02:00
orklah
c7ea446405
remove unused function
2021-10-19 22:20:10 +02:00
orklah
dc0b2074a4
test without weird function
2021-10-19 22:12:20 +02:00
orklah
37f1f87052
Merge pull request #6690 from orklah/simplexmliterator
...
add SimpleXMLIterator to universalObjectCrates
2021-10-19 18:36:02 +02:00
orklah
1288d49130
add SimpleXMLIterator to universalObjectCrates
2021-10-18 21:59:17 +02:00
orklah
ec59876935
only fuse array & Traversable with phpstorm generics
2021-10-18 21:27:11 +02:00
orklah
f7a63361ad
Merge pull request #6679 from SCIF/bugfix-5694-arrayfilter
...
Improve handling of positive ints by array_filter()
2021-10-17 23:20:26 +02:00
Aleksandr Zhuravlev
b664850cdc
Added support of asserting properties of objects out of scope
2021-10-17 21:29:25 +13:00
Aleksandr Zhuravlev
978d9ec774
Improve handling of positive ints by array_filter()
2021-10-16 20:47:22 +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
orklah
1aad830392
Merge pull request #6654 from zoonru/fixes
...
Fix manipulation of intersection types, arrow functions, foreign static types, parameter static types, T|false|null unions.
2021-10-15 23:41:24 +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
b8a2ba251f
Merge pull request #6672 from orklah/phpstorm-generics
...
prevent phpstorm generics from touching to signature types
2021-10-14 21:25:36 +02:00
orklah
8a770a1003
fix CS
2021-10-14 21:09:30 +02:00
orklah
a1b1080c4e
prevent phpstorm generics from touching to signature types
2021-10-14 21:04:53 +02:00
orklah
110f2b4822
Merge pull request #6658 from fluffycondor/method-annotation-parsing-fix
...
Fix @psalm-method annotation parsing
2021-10-14 17:36:42 +02:00
orklah
859966defe
Merge pull request #6669 from orklah/8.1-2
...
allow Psalm to choose PHP8.1 if it's the lower PHP version allowed
2021-10-14 17:35:46 +02:00
orklah
ef7e6cdf01
allow Psalm to choose PHP8.1 if it's the lower PHP version allowed
2021-10-14 16:54:27 +02:00
Semyon
0f6acacf31
Make psalm- prefix optional on @psalm-method annotation
2021-10-14 17:07:00 +03:00
244a90ca4f
Fix #6665
2021-10-14 10:56:54 +02:00
orklah
75c3f8716a
Merge pull request #6652 from orklah/is_a_stub
...
stub for is_a
2021-10-14 00:13:13 +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
Semyon
531aafc0c6
Add one more check is anything captured, it doesn't look like -1 actually expects
2021-10-13 18:06:10 +03:00
Semyon
a109d1ab27
Code style
2021-10-13 17:49:42 +03:00
Semyon
89f72dd9e9
Add check is anything captured
2021-10-13 17:32:40 +03:00
Semyon
a8d34c00cd
Fix psalm-method annotation parsing
2021-10-13 17:20:36 +03: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
24f1b60e53
Fix nullable unions
2021-10-13 14:05:48 +02:00
orklah
bee5b69f7f
use Attribute feature of PHP-Parser to avoid dealing with dynamic properties
2021-10-13 13:27:56 +02:00
a9ba848503
Fix
2021-10-13 11:38:42 +02:00
ce60fa2151
Cleanup
2021-10-13 11:26:01 +02:00