Paweł Tomulik
ed1d095c7b
supress ComplexMethod
2023-03-28 20:59:51 +02:00
orklah
f78bf32417
Merge pull request #9570 from klimick/first-class-callable-contextual-inference
...
Contextual inference for first-class-callable
2023-03-28 20:40:04 +02:00
orklah
94f32e9718
Merge pull request #9323 from othercorey/fix-array-unique
...
Fix array_unique callmap
2023-03-28 20:27:18 +02:00
Corey Taylor
730bc221e9
Re-add array_unique() stub which preserved array type
2023-03-28 04:09:50 -05:00
orklah
6ca2f090d6
Merge pull request #9534 from fluffycondor/php8-str-function-signatures
...
Improve PHP8 str_* function signatures
2023-03-27 21:00:33 +02:00
Daniel Beardsley
7b541ed74f
src/Psalm/Config.php: don't use annotations
...
Psalm was parsing this as a property annotation, derp.
2023-03-27 09:48:36 -07:00
andrew
2b5faaa02f
Fix psalm errors
2023-03-27 18:37:11 +03:00
andrew
72e5709ef2
Handle partially templated first-class-callables
2023-03-27 18:29:22 +03:00
Daniel Beardsley
ad05b138a5
ClassLikeNodeScanner.php: Fix missing $this
...
Derp!
Co-authored-by: Bruce Weirdan <weirdan@gmail.com>
2023-03-27 08:14:46 -07:00
adrew
62a79eeff3
Test with invalid first-class-callable
2023-03-26 22:47:17 +03:00
adrew
f26c16d2ab
Contextually resolve templates of first-class-callable arg during call
2023-03-26 19:07:20 +03:00
Daniel Beardsley
5ff933f2a5
@property annotations: allow *not* implying @psalm-seal-properties
...
Add a setting that allows usage of `@property` to *augment* classes that
use __get() and __set(). Previously, using `@property` once would force
you to exhaustively list all possible properties. This didn't use to be
the case, but was changed in df33405635
This was really unexpected for our team and for a while we thought it
was a psalm bug until I found the above commit.
We are using `__get()` for ORM objects and we want to use `@property` to
explicitly document some of columns without being forced to document
every column.
2023-03-24 23:35:41 -07:00
Damian Wójcik
350687dcb7
Handle different line endings from baseline.
2023-03-24 10:48:03 +01:00
orklah
dfd7ffc459
always combine the result of expansions
2023-03-23 20:51:34 +01:00
Bruce Weirdan
b25f2e6921
Fixed coercion of mixed into non-empty-mixed
...
Fixes vimeo/psalm#9540
2023-03-19 00:49:15 -04:00
Bruce Weirdan
2a84a63483
Prevent assertion leaks from else
...
Fixes vimeo/psalm#9395
2023-03-18 02:09:56 -04:00
fluffycondor
9730f2c073
Don't report InvalidLiteralArgument for paths
2023-03-18 00:05:44 +06:00
Paweł Tomulik
0e9f97ed61
make some shepherd tests to pass
2023-03-17 15:56:33 +01:00
Paweł Tomulik
7979ccc1d3
fixed #9605 for class-like compounds
2023-03-17 15:56:33 +01:00
Paweł Tomulik
4393493407
fixed #9605 for function-like compounds
2023-03-17 15:56:33 +01:00
orklah
531eec6df8
Merge pull request #9497 from ptomulik/issue-9496
...
Fixed #9496
2023-03-16 19:25:17 +01:00
Paolo Conizzoli
3ccb1eaffe
Fix MissingThrowsDocblock when documented interface is extended by thrown exception interface
2023-03-16 12:01:16 +01:00
Bruce Weirdan
70a024f5e3
Merge pull request #9519 from edsrzf/eval-inside-call
2023-03-15 15:47:58 -04:00
Evan Shaw
37ff3a0657
Remove always-empty ClassAnalyzer leftover_stmts array
2023-03-16 07:03:10 +13:00
Evan Shaw
ce3f7fccd6
Set inside_call for eval expressions
2023-03-15 22:06:36 +13:00
Bruce Weirdan
c272be1e04
Merge pull request #9499 from weirdan/fix-integer-overflow-in-array-keys
2023-03-14 22:43:11 -04:00
Bruce Weirdan
9b00049d05
Merge pull request #9491 from weirdan/support-numeric-literal-separators-in-docblocks
2023-03-14 22:20:24 -04:00
Bruce Weirdan
8d71479f2f
Merge pull request #9504 from othercorey/fix-strsplit
2023-03-14 22:19:52 -04:00
Bruce Weirdan
c7c0b79903
Merge branch 'master' into fix-integer-overflow-in-array-keys
2023-03-14 22:17:04 -04:00
orklah
293b7281f9
Merge pull request #8960 from tm1000/feature/upgrade-lsp-v5
...
WIP: Performance/Feature Improvements to the Language Server
2023-03-14 07:31:35 +01:00
Bruce Weirdan
1a5a9d2242
Fix asserted property mangling
...
Fixes vimeo/psalm#9505
2023-03-13 02:15:21 -04:00
Paweł Tomulik
f61ffe4e27
Merge branch 'pvandommelen-issue-9496' into issue-9494-merged
2023-03-13 05:56:37 +01:00
Corey Taylor
39bb7b45a7
Fix return type of str_split()
2023-03-12 21:15:53 -05:00
Bruce Weirdan
971b93049f
Update src/Psalm/Type/Atomic/TKeyedArray.php
...
Co-authored-by: MoonE <maxi_kroeg@web.de>
2023-03-12 20:35:21 -04:00
Bruce Weirdan
4042036e8e
Drop misleading type
2023-03-12 20:12:19 -04:00
Bruce Weirdan
30369e826a
Correctly handle near-overflowing keys and flag autoincrement overflows
...
Co-authored-by: Maximilian Krög <maxi_kroeg@web.de>
2023-03-12 19:57:14 -04:00
Peter van Dommelen
6bbcfb2429
Reuse the normal docblock-type parser when parsing type aliases instead of doing regex magic.
...
Fixes #9496 .
Also resolves an additional issue with comments after a type which does not contain brackets.
Includes a test for multiline types which did not yet exist.
2023-03-12 22:58:20 +01:00
Bruce Weirdan
0e9085f3e0
Handle overflow in SimpleTypeInferer as well
2023-03-12 17:47:42 -04:00
Bruce Weirdan
902a019f0a
Merge pull request #9406 from edsrzf/atomic-constructor
2023-03-12 17:27:22 -04:00
Bruce Weirdan
103aa019da
Fix integer overflow in array keys
...
Fixes vimeo/psalm#9498
2023-03-12 16:20:13 -04:00
Paweł Tomulik
84b389e738
workaround for false positives caused by #9484
2023-03-12 18:23:10 +01:00
Paweł Tomulik
232791753d
fix #9433
2023-03-12 18:23:10 +01:00
Bruce Weirdan
47f792ea12
Deprecate CallableTrait::__construct
...
All internal consumers have their own constructors now, and we don't
expect external classes to use it.
2023-03-12 03:33:26 -04:00
Evan Shaw
3b3d07e555
Add back CallableTrait constructor
2023-03-12 03:33:26 -04:00
Evan Shaw
f5c3f08f8e
Make Atomic subclasses consistently call their parent constructors
2023-03-12 03:33:25 -04:00
Bruce Weirdan
b37c56613b
Support int separators in docblocks
...
PHP understands `1_000` to be `1000`, so there's no reason why it
shouldn't be recognized in docblocks as well.
2023-03-11 23:14:40 -04:00
Bruce Weirdan
f48b79063c
Merge pull request #9486 from ZebulanStanphill/fix-truthy-string-analysis
2023-03-11 22:06:14 -04:00
Bruce Weirdan
8adaee61ad
Fix newly found issues
2023-03-11 05:23:49 -04:00
Bruce Weirdan
46493ab358
Compare list generic params
...
So that `list<int>` does not accept `list{1, new stdClass}`
Fixes vimeo/psalm#9485
2023-03-11 05:23:49 -04:00
Zebulan Stanphill
d7d5f72045
Add truthy-string to reserved word list.
2023-03-10 22:07:43 -06:00
Pere Orga
f70b375da3
Remove unused 'use function version_compare'
2023-03-08 20:35:43 +01:00
Pere Orga
187c214f58
Use analysis_php_version_id instead of config->getPhpVersion()
2023-03-08 20:33:55 +01:00
Pere Orga
17939eda04
consider new HTML entity en/decode functions defaults since PHP 8.1
2023-03-08 18:57:22 +01:00
Bruce Weirdan
193a0dbe0e
Don't crash on unary minus overflow
...
Fixes vimeo/psalm#9464
2023-03-07 12:29:40 -04:00
Bruce Weirdan
91cd660286
Fix CS
2023-03-06 05:33:26 -04:00
Alessandro Lai
7f26a5b473
Replace requirement for package-versions with Composer 2 APIs
2023-03-06 09:21:44 +01:00
Peter van Dommelen
c72edefc9e
Do not strip the last )
bracket when parsing phpdoc type aliases.
...
Fixes https://github.com/vimeo/psalm/issues/6782
Reworked the regex logic to not check each grouping character separately. Removed the `^` character from the character list, which was likely unintended.
2023-03-05 22:28:22 +01:00
Bruce Weirdan
f801561ea7
Improce enum case reconciliation
...
Fixes vimeo/psalm#9456
2023-03-05 16:34:51 -04:00
Andrew Nagy
3271b1b8f3
add experimental in memory option
2023-03-03 08:11:10 +00:00
Bruce Weirdan
36913b13d5
Support for readonly
classes
2023-03-03 04:04:12 -04:00
Andrew Nagy
f908b9ad85
fix failing test
2023-03-03 07:20:41 +00:00
Bruce Weirdan
98d96fbe9c
Forbid private final methods
...
Fixes vimeo/psalm#8374
2023-03-03 02:00:09 -04:00
Andrew Boyton
e8bd52eba6
Merge param descriptions when adding or updating types
2023-03-03 08:32:24 +11:00
Andrew Nagy
97eae625e9
fixes
2023-03-02 19:12:29 +00:00
Andrew Nagy
7760c399cc
syntax
2023-03-02 19:05:14 +00:00
Andrew Nagy
fc4c98050e
cleanup
2023-03-02 19:02:56 +00:00
Andrew Nagy
221eecf2e3
remove options to clear and boot cache
2023-03-02 18:57:27 +00:00
Andrew Nagy
24b6a97891
use in-memory cache thanks @ging-dev, remove pnctl fork
2023-03-02 18:45:23 +00:00
Andrew Nagy
0e4b878cbe
fix outstanding issues
2023-03-02 18:14:20 +00:00
Andrew Nagy
7e9638b729
Merge branch 'master' of https://github.com/vimeo/psalm into feature/upgrade-lsp-v5
2023-03-02 18:10:13 +00:00
Andrew Nagy
3467816900
fix
2023-03-02 18:07:50 +00:00
Andrew Nagy
5eed370fa5
fix outstanding CI issues
2023-03-02 18:02:23 +00:00
Andrew Nagy
2efd9c81e0
bump to 5.7.7
2023-03-02 17:05:12 +00:00
Andrew Nagy
6e109aadce
Merge tag '5.7.7' of https://github.com/vimeo/psalm into feature/upgrade-lsp-v5
2023-03-02 17:04:33 +00:00
Bruce Weirdan
839dc10da2
Merge pull request #9435 from vimeo/revert-9434-array_pop-is-impure
2023-03-01 01:48:26 -04:00
orklah
83051cfe87
Merge pull request #9291 from lptn/disableExtensions-hides-warnings
...
Do not display ext deprecation note when `disableExtensions` used
2023-03-01 00:06:59 +01:00
Bruce Weirdan
5130563d9f
Revert "array_pop
is impure"
2023-02-28 19:06:07 -04:00
Bruce Weirdan
007ffaecd8
array_pop
is impure
...
Fixes vimeo/psalm#9429
2023-02-28 18:53:36 -04:00
Alies Lapatsin
fcb96f10c2
Fix default for ibm_db2
ext, add description
2023-02-28 23:05:47 +01:00
Alies Lapatsin
feb0cb8598
Merge branch 'master' into disableExtensions-hides-warnings
...
# Conflicts:
# src/Psalm/Config.php
2023-02-28 22:51:43 +01:00
Paweł Tomulik
78e6545d7f
fix #4460
2023-02-28 11:38:47 +01:00
orklah
99b598716d
Merge pull request #9422 from EgorBakulin/#9411/concat-should-never-remove-non-empty-non-falsy-from-string
...
concat should never remove non empty non falsy from string #9411
2023-02-27 18:49:24 +01:00
ebakulin
67d26d3c51
added case with literal string
2023-02-28 00:22:34 +07:00
ebakulin
cf35b3ce0c
reworked one known operand case
2023-02-28 00:12:18 +07:00
ebakulin
31fcbd5f69
added case with one null type
2023-02-27 22:03:01 +07:00
Paweł Tomulik
69c5fd69f3
fixed #9401
2023-02-27 00:07:58 +01:00
Bruce Weirdan
e743cd9e8d
Taint map is non-empty as well
2023-02-26 03:17:13 -04:00
Bruce Weirdan
6811547707
Callmap is always non-empty
...
Fixes several baselined issues
2023-02-26 02:45:46 -04:00
Alies Lapatsin
c23cb4bdf0
Merge branch 'master' into php83-dic
2023-02-25 11:14:00 +01:00
Alies Lapatsin
02de61eabe
Update PHP_MINOR_VERSION
2023-02-25 11:13:04 +01:00
Bruce Weirdan
6ac2b8d5a8
Merge pull request #9400 from edsrzf/psalter-possibly-undefined
2023-02-25 04:26:56 -04:00
Evan Shaw
f7eaa5daec
Preserve PossiblyUndefinedVariable when fixing UnusedVariable
2023-02-25 20:08:01 +13:00
Bruce Weirdan
99a69b463c
Merge pull request #9398 from gndk/grpc-extension
2023-02-24 22:21:28 -04:00
gndk
fd2b439e6f
Only disable grpc extension if it is not properly configured
2023-02-25 02:46:56 +01:00
Bruce Weirdan
59e549d2e8
Merge branch '5.7.x' into master
2023-02-24 21:19:43 -04:00
Bruce Weirdan
38d1abc13a
Don't crash on empty jit_buffer_size
...
Fixes vimeo/psalm#9396
2023-02-24 20:38:15 -04:00
Javier Spagnoletti
ab13ddf286
[ibm_db2] Improve return type inference for db2_autocommit()
2023-02-24 19:53:42 -03:00
Bruce Weirdan
682943423e
Merge branch '5.7.x' into master
2023-02-24 15:54:48 -04:00
Yannick Gottschalk
0a0f900d4c
Fixed codestyle and psalm errors
2023-02-24 15:27:17 +01:00
Yannick Gottschalk
ad5bf62094
Fixes #9373
2023-02-24 13:32:04 +01:00