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

8204 Commits

Author SHA1 Message Date
orklah
dc1132a915 Better Handling of TPositiveInt combined with TIntRange 2022-01-15 21:29:24 +01:00
orklah
5b82082bbd Merge remote-tracking branch 'upstream/4.x' into upstream-master2 2022-01-15 20:21:00 +01:00
Matthew Brown
dd8df37572 Remove never-used assertion check 2022-01-15 13:38:00 -05:00
orklah
4e27889736
Merge pull request #7384 from tm1000/bugfix/catch-additional-InvalidArgumentException
Catch additional InvalidArgumentException
2022-01-15 11:32:15 +01:00
orklah
9a9243e5fe
Merge pull request #7385 from b2pweb/handle-template-on-pseudo-method
Add support of template for docblock methods
2022-01-15 11:26:03 +01:00
orklah
75947c97c6
Merge pull request #7391 from b2pweb/docblock-method-inheritance
Handle inherited docblock method
2022-01-15 11:24:06 +01:00
orklah
fb30d831c6
Merge pull request #7398 from orklah/reconciliation
use Reconciler::RECONCILIATION_*
2022-01-14 21:44:16 +01:00
orklah
b3e7f12933 Prevent NoValue when there is no phpdoc 2022-01-14 21:39:23 +01:00
orklah
d2faa5b94f fix errors after merge 2022-01-14 21:13:34 +01:00
orklah
b633619a2c Merge remote-tracking branch 'upstream/4.x' into upstream-master 2022-01-14 21:01:25 +01:00
orklah
4a85fed181 use Reconciler::RECONCILIATION_* 2022-01-14 19:39:18 +01:00
orklah
9ac77e9512
Merge pull request #6521 from orklah/callable-non-falsy
TCallableString is non-falsy (0 can't be a functionlike name)
2022-01-14 19:38:41 +01:00
orklah
d786e9deef deprecate attribute forbidEcho 2022-01-14 19:31:03 +01:00
orklah
93fe3e81d4
Merge pull request #7304 from orklah/classconst5
Refactor Reconciler::handleLiteralEquality
2022-01-14 19:16:23 +01:00
Vincent
a52362465b Handle inherited docblock method (fix #7198) 2022-01-14 10:30:09 +01:00
Matthew Brown
99b7b46e42 Simplify some array access 2022-01-13 10:07:17 -05:00
Vincent
fe7665aaaf Add support of template for docblock methods (fix #7320) 2022-01-13 11:04:37 +01:00
Andrew Nagy
6910461b76 Catch additional InvalidArgumentException 2022-01-12 21:04:35 +00:00
Matthew Brown
9f9573ade5 Remove an unnecessary null arg 2022-01-11 17:10:08 -05:00
Andrew Nagy
0eb00e8ae2 Fix closure to have storage bug in codeAction 2022-01-10 23:36:21 +00:00
orklah
d52c3f0117
Merge pull request #7163 from dvz/explicit-symlink-resolution
Add explicit `resolveSymlinks` option for project directories
2022-01-10 21:50:08 +01:00
orklah
af37af7d8c
Merge pull request #7242 from zoonru/seal_all_properties
PHP 8.2: seal all properties configuration
2022-01-10 21:36:31 +01:00
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
Matthew Brown
72fd3de886 Simplify return type for TypeExpander::expandAtomic 2022-01-09 16:19:04 -05:00
Matthew Brown
7dc1c454fb Don’t perform containedness check twice 2022-01-09 15:35:47 -05:00
Matthew Brown
a435bc57b9 Rename was_static property to is_static to be more accurate 2022-01-09 14:45:07 -05:00
Matthew Brown
6f513df4ac Fix empty class 2022-01-09 14:43:07 -05: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
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