orklah
611583c481
Merge pull request #7354 from wouterj/issue-7353/issuehandlers-elements
...
Support multiple <issueHandlers> elements
2022-01-10 21:34:43 +01:00
Patrick Remy
a555543c0c
fix: pass static class name to ReturnTypeAnalyzer
2022-01-10 21:23:52 +01:00
b9e3979c3f
Cs-fix
2022-01-10 10:22:51 +01:00
a35ccfb0cb
Revert misguided changes
2022-01-10 10:19:12 +01:00
b530f23acc
PHP 8.2: seal all properties by default, add configuration key for lower versions
2022-01-10 10:11:28 +01:00
orklah
549c02d661
Merge pull request #7356 from orklah/keep-class-strings-through-array_merge
...
keep class-strings through array_merge
2022-01-09 16:16:55 +01:00
orklah
413da78568
Merge pull request #7326 from orklah/short_closures_returning_never
...
allow short closure to return never
2022-01-09 16:01:26 +01:00
orklah
65efab3a8d
keep class-strings through array_merge
2022-01-09 15:48:58 +01:00
Wouter de Jong
e4e9edda27
Support multiple <issueHandlers> elements
...
This is likely to occur when including multiple Psalm config files.
2022-01-09 14:11:03 +01:00
orklah
c94e25fa7f
refactor the TooFewArguments check to start checking with named arguments
2022-01-09 00:37:16 +01:00
orklah
ce2c6cf438
set the is_list flag for the array inferred for hrtime
2022-01-08 22:48:05 +01:00
orklah
a9bc132842
Merge pull request #7349 from orklah/hrtime2
...
Seal the array inferred for hrtime
2022-01-08 22:40:20 +01:00
Bruce Weirdan
3502f0460a
Merge branch '4.18.x' into 4.x
2022-01-08 23:32:50 +02:00
orklah
afc3a76bc0
Seal the array inferred for hrtime
2022-01-08 22:22:21 +01:00
Bruce Weirdan
a4878ac2b5
Revert "Merge pull request #7239 from DeyV/master"
...
This reverts commit 33628cad51
, reversing
changes made to 216cf6c534
.
2022-01-08 22:26:24 +02:00
orklah
abd499c9c9
Merge pull request #7337 from orklah/broken-phar
...
replace class name by full FQN for scoper
2022-01-07 21:58:14 +01:00
orklah
90ada3774c
replace class name by full FQN for scoper
2022-01-07 21:51:11 +01:00
orklah
9d225086e9
replace empty checks on Union with dedicated method
2022-01-07 21:27:45 +01:00
orklah
0d9480ad00
Merge pull request #7335 from orklah/errors_on_int_reconciliation
...
Errors on superior/inferior reconciliation
2022-01-07 20:19:35 +01:00
orklah
af28687708
fix reconciliation when the assertions is not part of the existing range and add tests
2022-01-07 19:39:19 +01:00
orklah
c0864b2652
emit errors on failure to reconcile ints
2022-01-07 18:32:24 +01:00
Stefan Vetsch
7f2f0d99ec
Issue #7243 : Do not throw exception on xinclude with fallbacks
2022-01-07 09:40:19 +01:00
orklah
cbb0c6398f
allow short closure with never
2022-01-06 21:36:34 +01:00
Fabien Villepinte
b9d8dd9d3f
Fix analysis when __invoke() exists
2022-01-06 21:22:18 +01:00
Bruce Weirdan
46bcb626f5
Merge pull request #7321 from weirdan/dont-crash-on-array_map-first-class-callable
2022-01-06 14:11:35 +02:00
Bruce Weirdan
fe036d4db0
Prevent crashes on array_map(...)
...
Fixes vimeo/psalm#7305
2022-01-06 10:38:58 +02:00
orklah
18ab5a099f
Merge pull request #7309 from orklah/emptyStringKeyedArray
...
fix empty string not quoted in keyed array offset
2022-01-06 09:37:28 +01:00
orklah
e7bc6f273a
don't crash when pushing a template to in_array
2022-01-05 22:33:20 +01:00
orklah
7e2b9d0fab
fix empty string in keyed array offset
2022-01-05 22:26:35 +01:00
orklah
27c4b07d5b
fix wrong not literal loose check
2022-01-05 22:11:22 +01:00
orklah
c22670d851
use the correct type for float function
2022-01-05 20:05:56 +01:00
orklah
57e054931e
remove unused param
2022-01-05 20:01:34 +01:00
orklah
fac7317af3
refactor float as well
2022-01-05 20:00:56 +01:00
orklah
26542afdf4
accept more loose literal equalities and loop over non-literal types on a separate loop
2022-01-05 19:45:22 +01:00
orklah
7dccfa4ff9
CS
2022-01-05 18:44:58 +01:00
orklah
e0fb87596d
typo
2022-01-05 18:21:38 +01:00
orklah
c1575d29fd
consistency with string handling
2022-01-05 18:06:08 +01:00
orklah
8099126958
make sure to keep the origin of the type (from_docblock)
2022-01-05 17:52:04 +01:00
orklah
16bb62b499
Fixup!!! don't allow checks on literals
2022-01-05 12:41:08 +01:00
orklah
411399b600
Fixup!!! don't allow checks on literals
2022-01-05 12:22:44 +01:00
orklah
83a02d9a61
Fixup!!! don't allow checks on literals
2022-01-05 12:21:50 +01:00
orklah
5c0fc46734
Fixup!!! be more flexible on loose_equality for strings
2022-01-05 12:10:32 +01:00
orklah
3fc8139205
Fixup!!! only allow general TInt to pass
2022-01-05 11:17:39 +01:00
orklah
950710a47a
Fixup!!! make sure to add atomics with the correct offset key
2022-01-05 09:58:56 +01:00
orklah
36349a1370
refactor literal string equality check
2022-01-05 09:52:47 +01:00
orklah
2ada8ee8b0
refactor literal int equality check
2022-01-05 09:52:47 +01:00
orklah
a8c2fcde76
resolve ClassConst before checking equalities and fix things
2022-01-05 09:52:47 +01:00
Fabien Villepinte
c42f3d51bd
Fix typo
2022-01-04 16:27:06 +01:00
Fabien Villepinte
2f3af4a5bc
Remove unused import
2022-01-04 16:13:48 +01:00
Fabien Villepinte
1fa6b612b1
Fix parse_url() return type
2022-01-04 16:09:18 +01:00
orklah
6f9cbc698b
resolve type alias and class const on UnionTypeComparator
2022-01-04 00:14:08 +01:00
orklah
a53b5215b8
add missing phpdoc
2022-01-03 23:52:48 +01:00
orklah
e3bb251757
handle cases where the classconst contains a compatible int type
2022-01-03 23:45:23 +01:00
orklah
6ea950c2eb
Identify ints from TClassConstant when checking for LiteralEquality
2022-01-03 23:40:39 +01:00
orklah
72270078be
Merge pull request #7286 from orklah/classconstinparamout
...
resolve ClassConstant for both sides in isContainedBy
2022-01-03 23:37:51 +01:00
orklah
6905daedd7
handle the case where the expansion was not successful
2022-01-03 23:30:36 +01:00
orklah
60732d00ba
resolve ClassConstant for both sides in isContainedBy
2022-01-03 23:21:59 +01:00
Bruce Weirdan
bb2fa7905d
Deprecate THtmlEscapedString
...
Refs vimeo/psalm#7281
2022-01-03 21:58:23 +02:00
orklah
33628cad51
Merge pull request #7239 from DeyV/master
...
Move from deprecated Composer 1 to Composer 2 runtime api
2022-01-02 18:35:54 +01:00
Dawid 'DeyV' Polak
7172f4bdbe
missing default value for $version
2022-01-02 18:13:02 +01:00
Simon Podlipsky
4f62268b04
Report missing file path properly
...
If the file at the path is missing, `realpath` gives `false`. It makes no sense to try to put it into error message then. It's better to use `prospective_file_path` instead.
2022-01-02 13:35:11 +01:00
Bruce Weirdan
5362f3be91
Deprecate Codebase::$php_major_version
and Codebase::$php_minor_version
properties
...
Removed in #6898 (Psalm 5)
2022-01-02 13:22:37 +02:00
Bruce Weirdan
36d5a2a83c
Merge pull request #7019 from zoonru/no_ksort_list
2022-01-02 07:37:21 +02:00
Bruce Weirdan
697db76dc1
Merge pull request #7252 from AndrolGenhald/feature/allow-assertions-on-mutable-object-properties
2022-01-02 07:29:02 +02:00
Bruce Weirdan
047859b4a4
Merge pull request #7256 from tm1000/feature/remove-is-not-in-project-warnings
2022-01-02 07:15:20 +02:00
Bruce Weirdan
ab30a36803
Merge pull request #7255 from tm1000/feature/lang-server-code-actions
2022-01-02 05:38:06 +02:00
Bruce Weirdan
376d2a389e
Merge pull request #7259 from klimick/infer-this-context-for-psalm-if-this-is
2022-01-02 05:31:24 +02:00
orklah
6f4707aa41
Merge pull request #7263 from orklah/revert
...
revert #7054
2022-01-01 19:39:47 +01:00
orklah
de95fbdbf2
revert #7054
2022-01-01 19:34:17 +01:00
Matthew Brown
387f2664f7
Simplify isset reconciliation slightly
2022-01-01 16:01:27 +00:00
Matthew Brown
11f322c2fb
Improve negated reconciliation logic
2022-01-01 13:10:28 +00:00
orklah
2a6f12296e
Merge pull request #7260 from orklah/6691
...
forbid calling impure callable in immutable context
2022-01-01 12:08:07 +01:00
adrew
0f69483cc1
Fix method storage fetching
2022-01-01 13:33:00 +03:00
orklah
8049438408
forbid calling impure callable in immutable context
2022-01-01 11:13:45 +01:00
adrew
79ea094433
Template resolving for psalm-if-this-is
2022-01-01 13:03:17 +03:00
adrew
878dfa2250
Variable types inference in method context when method marked with psalm-if-this-is
2022-01-01 13:03:17 +03:00
orklah
8dc1a31e11
Merge pull request #7247 from tm1000/bugfix/7246
...
Fixes #7246 , wrap getTypeContextAtPosition in try/catch
2022-01-01 01:19:13 +01:00
Andrew Nagy
409910ce4c
move conditional outside of try/catch
2021-12-31 23:30:29 +00:00
Andrew Nagy
e3116e0ab5
dont allow fallback functions
2021-12-31 23:17:27 +00:00
Andrew Nagy
f8f8f6bc41
fix SA and lint issues, prevent duplicate suppressions
2021-12-31 23:11:55 +00:00
Dawid 'DeyV' Polak
d43f2beed8
Fixed problems with test-with-real-projects
2021-12-31 15:15:04 +01:00
Andrew Nagy
6e32e9641f
Remove "is not in project" warnings
2021-12-30 23:49:04 +00:00
Andrew Nagy
b2823ca034
fix psalm issues
2021-12-30 23:45:11 +00:00
orklah
51ba96c09d
Merge pull request #7253 from orklah/5874
...
allow calling mutation_free function inside a mutation_free context
2021-12-31 00:24:29 +01:00
Your Name
6c024b1d96
fix spaces
2021-12-30 15:13:01 -08:00
Your Name
6d14326375
Feat: Initial Support for Code Actions
2021-12-30 15:11:33 -08:00
AndrolGenhald
dd631c0c85
Skip reference tests, allow assertions on magic properties ( fixes #6770 ).
2021-12-30 16:23:59 -06:00
orklah
392402cf6d
allow calling mutation_free function inside a mutation_free context
2021-12-30 22:29:36 +01:00
AndrolGenhald
3ac497c811
Allow assertions on mutable object properties.
...
All of the functionality is already there, we just have to not prevent it.
2021-12-30 14:07:55 -06:00
adrew
2355f1bcdb
Remove unused use
2021-12-30 22:46:18 +03:00
adrew
4a903c71a1
Checking psalm-if-this-is before applying psalm-this-out
2021-12-30 21:48:25 +03:00
Andrew Nagy
7379f516ae
fix cs issues
2021-12-30 18:35:08 +00:00
Andrew Nagy
cb3cf887c4
Fixes #7246 , wrap getTypeContextAtPosition in try/catch
2021-12-30 18:16:09 +00:00
edc797d1c2
Add docs
2021-12-30 11:56:16 +01:00
7c24d33bb2
cs-fix
2021-12-30 11:36:56 +01:00
915ddcc620
Add new RedundantFunctionCall issues
2021-12-30 11:36:32 +01:00
82e24d5c1d
Disallow ksorting lists
2021-12-30 11:30:33 +01:00
Bruce Weirdan
03b7e94748
Merge pull request #7232 from trowski/issue-7196
2021-12-30 10:03:17 +02:00
Dawid 'DeyV' Polak
19c26f7263
Move from deprecated Composer 1 to Composer 2 runtime api
2021-12-29 16:20:14 +01:00
orklah
81ac645990
remove commented old code
2021-12-29 00:44:48 +01:00
orklah
f047d5bc53
allow suppressing unevaluatedCode
2021-12-29 00:44:48 +01:00
orklah
0b3e1299de
overwritten properties
2021-12-27 23:46:23 +01:00
orklah
996def0d4d
useless statements
2021-12-27 23:34:56 +01:00
orklah
ff62e71e0d
immediately rewritten array index
2021-12-27 23:28:37 +01:00
orklah
bd1eb1611e
immediately rewritten array index
2021-12-27 23:22:45 +01:00
orklah
ce1f992bcc
remove useless statement
2021-12-27 23:11:40 +01:00
orklah
5f6bb39888
if with common parts
2021-12-27 23:08:19 +01:00
orklah
cb1e04b965
unnecessary statements
2021-12-27 23:02:01 +01:00
orklah
2baf3b560a
unnecessary statements
2021-12-27 23:00:40 +01:00
Aaron Piotrowski
87160c8711
Handle first-class callable in yield types
2021-12-27 15:55:31 -06:00
orklah
926a56a97c
Merge pull request #7230 from orklah/cleanup6
...
code grooming
2021-12-27 22:54:39 +01:00
orklah
2bf5a71d46
fix CS
2021-12-27 22:37:30 +01:00
orklah
094ffb36f9
phpdoc issues
2021-12-27 22:30:10 +01:00
orklah
2499e02465
unnecessary array_push
2021-12-27 22:30:10 +01:00
orklah
07bbd3f402
missing visibility
2021-12-27 22:30:10 +01:00
orklah
65fffd2116
replace fully qualified names by imports
2021-12-27 22:30:10 +01:00
orklah
3828db52b9
Merge pull request #7229 from orklah/cleanup5
...
remove always true/false conditions
2021-12-27 22:08:06 +01:00
Aaron Piotrowski
e23a915bb1
Fix first-class callables when used with magic method, built-in, or undefined methods
...
Closes #7196 .
2021-12-27 14:29:33 -06:00
orklah
3e29a3d961
unnecessary qualified names
2021-12-27 20:16:34 +01:00
orklah
3ae80983cc
fix unused and CS
2021-12-27 20:10:39 +01:00
orklah
a9b1a42854
fix
2021-12-27 20:08:08 +01:00
orklah
9029e1d613
remove always true/false conditions
2021-12-27 19:59:11 +01:00
adrew
c0ca383020
Contextual inference for closure param types
2021-12-27 19:35:37 +03:00
sji
1c07813627
align handling of @psalm-internal
2021-12-27 02:31:14 +02:00
sji
a90456ed8b
trim whitespaces in namespaces specified at @psalm-internal
2021-12-27 02:31:11 +02:00
adrew
63a1c71c83
Remove trailing comma
2021-12-27 00:45:25 +02:00
adrew
d6d0fc6704
Remove undefined variables
2021-12-27 00:45:25 +02:00
adrew
2e4d75d6bd
Fix closure param type inference in generic context
2021-12-27 00:45:22 +02:00
Bruce Weirdan
fb56d5ce58
Merge pull request #7210 from vstm/improve-cli-utils-argv-handling
2021-12-27 00:35:32 +02:00
Bruce Weirdan
45c49b570a
Merge pull request #7211 from johnstevenson/xdebug-handler-3
2021-12-26 23:21:51 +02:00
Bruce Weirdan
13de27bb2f
Restore suppression for older XdebugHandler versions
2021-12-26 23:05:02 +02:00
John Stevenson
1cb58ad689
Keep XdebugHandler version 1
2021-12-26 23:00:53 +02:00
John Stevenson
015cc22fa7
Add XdebugHandler version 3
2021-12-26 23:00:50 +02:00
orklah
d4fcb7f61c
handle literal equality with integer ranges
2021-12-26 21:09:27 +01:00
orklah
f7b6c4e1b6
escape more special chars in keyed array names that won't be read by the parser
2021-12-26 19:27:13 +01:00
Bruce Weirdan
9387942463
Use strpos
instead of str_contains
...
Fixes vimeo/psalm#7219 (str_contains was added in PHP 8)
2021-12-26 09:22:39 +02:00
Bruce Weirdan
08413d71bb
Restore attributes in ClassConstantStorage
...
This partially fixes BC break introduced in vimeo/psalm#7129
2021-12-26 02:24:01 +02:00
Matthew Brown
18c790eb99
Remove never-used equality flags
2021-12-24 14:05:44 +00:00
Matthew Brown
4dfc7ce6ee
Prevent unnecessary construction of union types during truthiness checks
2021-12-24 13:31:09 +00:00
Matthew Brown
75e4e0b9a7
Revert "Inline possibly_undefined checks"
...
This reverts commit e2a01673b7
.
This change was short-sighted
2021-12-24 13:15:30 +00:00
Matthew Brown
e2a01673b7
Inline possibly_undefined checks
...
These don’t really belong in truthiness methods, as possibly_undefined is a weird meta state
2021-12-24 13:10:19 +00:00
Stefan Vetsch
c3752b4a2b
Fix psalm issues
2021-12-24 10:59:39 +01:00
Stefan Vetsch
5331091f5e
Simplify argv handling, the first element is always the script name
2021-12-24 10:05:52 +01:00
orklah
2827c3e87b
Merge pull request #7203 from orklah/6389
...
flag the context as "inside_conditional" when analyzing leftover cases to prevent emitting unused error
2021-12-23 22:22:46 +01:00
orklah
79a97507d7
Merge pull request #7201 from dvz/early-file-filtering
...
Add early file filtering to `FileProvider::getFilesInDir()`
2021-12-23 22:19:39 +01:00
orklah
2c9541c1ed
flag the context as "inside_conditional" when analyzing leftover cases to prevent emitting unused error
2021-12-23 22:18:27 +01:00
Matthew Brown
2a92db8fad
Remove unused in-array assertions
...
These assertions cannot be parsed, since the `in-array` assertion handler always tries to convert assertions to a type
2021-12-22 19:47:20 +00:00
Tomasz Mlynski
c94364631b
Normalize variable name
2021-12-22 20:23:11 +01:00
Tomasz Mlynski
b3da242e78
Remove redundant projectDirs/extraDirs checks
2021-12-22 19:49:12 +01:00
Tomasz Mlynski
a514df2bb7
Use callable to filter files in FileProvider::getFilesInDir()
2021-12-22 19:47:57 +01:00