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
1a1b5a9e6a
Merge branch '4.x' into upstream-master
2022-01-08 23:38:29 +02: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
Matthew Brown
4abbd9cb1b
Simplify object comparison
2022-01-07 18:50:13 -05: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
Bruce Weirdan
762ef8dab4
Merge branch '4.x' into upstream-master
2022-01-07 08:44:32 +02: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
Bruce Weirdan
3fb3db3516
Merge branch '4.x' into upstream-master
2022-01-06 10:05:53 +02:00
orklah
f3bc55e409
Merge pull request #7312 from orklah/empty-array
...
Support PHPStan notation for empty-arrays
2022-01-06 08:45:40 +01:00
Bruce Weirdan
b6559dcefb
Merge pull request #7315 from weirdan/rector-ClosureToArrowFunctionRector
2022-01-06 02:04:10 +02:00
Bruce Weirdan
638a10dd39
Restore return docblock
2022-01-06 01:58:52 +02:00
orklah
bf4bf92cb2
Merge pull request #7313 from orklah/empty-arrays
...
replace `array<never, never>` as a way to detect empty arrays by a dedicated method
2022-01-05 23:58:45 +01:00
Bruce Weirdan
8726065d21
Applied ClosureToArrowFunctionRector
2022-01-06 00:48:04 +02:00
orklah
7f40489202
fix inverted condition
2022-01-05 23:41:56 +01:00
orklah
ee99deaa50
fix a case not always on TArray
2022-01-05 23:28:08 +01:00
orklah
3c468b3eeb
replace array<never, never>
as a way to detect empty arrays by a dedicated method
2022-01-05 23:14:54 +01:00
orklah
9d3a51db6a
remove obsolete test and fix a missing exception
2022-01-05 23:08:34 +01:00
orklah
030195a395
parse array{} into an empty array
2022-01-05 23:08:33 +01:00
orklah
e7bc6f273a
don't crash when pushing a template to in_array
2022-01-05 22:33:20 +01:00
Bruce Weirdan
83f1d52528
Applied ListToArrayDestructRector
2022-01-05 23:29:18 +02: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
Bruce Weirdan
94395f18a4
Applied JsonThrowOnErrorRector
2022-01-05 19:32:43 +02: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
Bruce Weirdan
dd09450092
Applied NullCoalescingOperatorRector
2022-01-05 13:09:37 +02:00
Bruce Weirdan
758e0afd96
Merge branch 'master' into rector-literal-number-separator
2022-01-05 12:32:52 +02: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
Matthew Brown
f5d6d2380f
Remove now-unnecessary code
...
Originally added in 8bc17e47be
2022-01-05 01:54:00 +00:00
Matthew Brown
7595a3c579
Make treatment of interfaces and classes more symmetrical
2022-01-05 01:10:57 +00:00
Matthew Brown
31dd30f3d1
Reduce by-ref args
2022-01-05 00:50:09 +00:00
Matthew Brown
26de4faa51
Unify names with intersection creation
2022-01-05 00:38:40 +00:00
Bruce Weirdan
5e22026863
Fix version id for the callable object typehint
2022-01-05 01:16:15 +02:00
Matthew Brown
0a78b320da
Remove commas for now
2022-01-04 23:15:16 +00:00
Matthew Brown
9e64375e25
Break up two intersection methods
...
At some later date it may be worth seeing whether these can be consolidated into a single intersection method
2022-01-04 23:09:02 +00:00
Bruce Weirdan
5758d31161
Apply literal number separator rector
...
I opted for customary 3-digit groups, except version id, where 2-digit
groups are used to match the version id encoding.
2022-01-05 01:00:05 +02:00
Bruce Weirdan
0c13d8e719
Indent heredoc
...
PHP 7.3 allows indenting of heredoc / nowdoc strings.
2022-01-04 19:57:41 +02:00
Bruce Weirdan
f5dc2ee964
Merge branch '4.x' into upstream-master
2022-01-04 19:42:08 +02:00
Matthew Brown
63f3460df7
Make clear that class string check for trait $this key only applies to certain assertions
2022-01-04 17:08:34 +00:00
Matthew Brown
4e81d0c5ab
Remove an untested chunk of issue-triggering code that has only ever caused anguish
2022-01-04 16:36:33 +00:00
Matthew Brown
0fffb55a83
Simplify some logic around negations to prevent unecessary looping
2022-01-04 16:08:06 +00:00
Matthew Brown
2c6d4f8687
Fix erroneous intersection
...
Found during a line-for-line port. We’re using this value in two different places, and it only makes sense to use it in one
2022-01-04 16:04:36 +00: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
Bruce Weirdan
02b91cc54e
Replaced deprecated webmozart/path-util
2022-01-04 15:15:34 +02:00
Bruce Weirdan
20567ff720
Remove the polyfill we no longer need
2022-01-04 11:29:00 +02:00
Bruce Weirdan
30013cb81a
Drop orphaned token
...
Refs vimeo/psalm#7285
2022-01-04 10:13:44 +02:00
Bruce Weirdan
ff9b214f65
Merge branch '4.x' into upstream-master
2022-01-04 10:07:18 +02: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
afa6497051
Dropped THtmlEscapedString
2022-01-03 22:48:59 +02:00
Bruce Weirdan
c1acab4606
Merge branch '4.x' into upstream-master
2022-01-03 22:06:12 +02:00
Bruce Weirdan
bb2fa7905d
Deprecate THtmlEscapedString
...
Refs vimeo/psalm#7281
2022-01-03 21:58:23 +02:00
Bruce Weirdan
dbee118812
Moved getPsalmHelpText()
to Cli\Psalm
2022-01-03 20:46:24 +02:00
Bruce Weirdan
988ae9496a
Trim baseline selection
...
Refs vimeo/psalm#6000
2022-01-03 20:33:01 +02:00
Bruce Weirdan
e04d545328
Dropped deprecated DocComment
methods
2022-01-03 20:00:56 +02:00
Bruce Weirdan
401c2e9a83
Dropped deprecated TypeAnalyzer methods
2022-01-03 19:48:43 +02:00
Bruce Weirdan
ba69f4fb31
Dropped deprecated CodeIssue
methods
2022-01-03 19:14:58 +02:00
Bruce Weirdan
2e24a16cbb
Dropped legacy plugin API
2022-01-03 18:18:44 +02:00
Bruce Weirdan
55eb4b018b
Dropped removed config entries
2022-01-03 12:41:17 +02:00
Bruce Weirdan
706f2a7761
Drop legacy procedural files
2022-01-03 12:04:35 +02:00
Bruce Weirdan
b924032850
Mark internal classes @internal
2022-01-03 09:33:22 +02:00
Bruce Weirdan
ab60d311c2
Merge pull request #7188 from vimeo/muglug-use-invalidscalarargument-less
2022-01-03 06:04:42 +02:00
Bruce Weirdan
966b6ae2b2
Merge pull request #6808 from orklah/exitFunctions3
2022-01-03 06:04:01 +02:00
Bruce Weirdan
f19e4cedc1
Merge pull request #6705 from orklah/phpstorm-generics-removal
2022-01-03 06:03:36 +02:00
Bruce Weirdan
1bb2661e36
Update TAssertionEmpty signatures
2022-01-03 04:14:48 +02:00
Bruce Weirdan
44fbb9fc77
s/array<empty, empty>/array<never, never>/g
2022-01-03 04:11:02 +02:00
Bruce Weirdan
13bb638b60
Drop remaining Type::getEmpty()
references
2022-01-03 04:11:02 +02:00
orklah
d912663da4
remove isEmpty
2022-01-03 04:10:41 +02:00
Matthew Brown
83911c7408
Remove unnecessary references to empty in TypeCombiner
2022-01-03 04:10:41 +02:00
Matthew Brown
2358b96f54
Fix merge errors
2022-01-03 04:10:39 +02:00
orklah
0747b48d06
remove TEmpty
2022-01-03 04:09:59 +02:00
Bruce Weirdan
2f50070410
Merge pull request #6898 from orklah/php-version-consistency
2022-01-03 03:26:47 +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
orklah
b658b2738f
remove exitFunctions
2022-01-02 15:20:01 +02:00
orklah
48de574777
remove support for allowPhpstormGenerics
2022-01-02 15:07:46 +02:00
orklah
4f7c1d05c1
remove support for allowPhpstormGenerics
2022-01-02 15:06:04 +02:00
Matthew Brown
1e115da372
Add better docs to TypeComparisonResult
2022-01-02 14:56:18 +02:00
Matthew Brown
b419c299e3
Use InvalidScalarArgument only when we can be sure PHP attempts coercion
2022-01-02 14:56:18 +02:00
Bruce Weirdan
ba4a25b483
Drop superfluous import
2022-01-02 14:53:59 +02: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
orklah
8d6b781b3e
use consistent way to compare php version
2022-01-02 13:35:43 +02: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