1
0
mirror of https://github.com/danog/psalm.git synced 2024-11-29 20:28:59 +01:00
Commit Graph

13854 Commits

Author SHA1 Message Date
29ac774b01 Fix 2023-11-22 15:35:48 +01:00
645e9afba2 Fix circleCI builds 2023-11-22 15:27:19 +01:00
orklah
07acefd0b6
Merge pull request #10388 from kkmuffme/temp-empty-reconciliations-failing-tests
Fix redundant condition mixed type escape hatch & loose comparison int type shouldnt be mixed
2023-11-21 18:02:53 +01:00
kkmuffme
0d7c5a2d8e Fix docblock mixed escape hatch
revert https://github.com/vimeo/psalm/pull/7663 including previous from_docblock Mixed assignments, as the tests required 2 suppressions and created an escape hatch via mixed on higher psalm error levels, where mixed isn't reported, thus hiding potentially fatal bugs.
It's still possible to run the validation of docblock docs though: a @var declaration that contains both possible types, to ensure later code won't escape any checks (and no @psalm-suppress needed at all)

This is also a required preparation to fix some isset issues of https://github.com/vimeo/psalm/issues/9759
2023-11-21 13:01:55 +01:00
kkmuffme
d94f7bd553 loose comparisons of int with string shouldn't change change the int to empty-mixed 2023-11-21 13:01:15 +01:00
orklah
5f0332b678
Merge pull request #10391 from tscni/fix/phar-build-failure
Fix Phar build failure
2023-11-21 07:21:25 +01:00
Tinjo Schöni
466bda088b
Fix Phar build failure
The issue was likely caused by Composer 2.6.4 making the autoloader generation (more) reproducible (composer/composer#11663)

We can either try to change the generated autoloader with an autoloader suffix, or just change the Psalm root directory for the smoke test. The latter approach seems easier. :P
2023-11-21 01:22:02 +01:00
orklah
577808b12d
Merge pull request #10389 from kkmuffme/fix-ci-tests-chunks
fix CI "split" unevenly splits the number of tests
2023-11-18 14:34:44 +01:00
kkmuffme
2c6aa77baf fix CI "split" unevenly splits the number of tests 2023-11-18 13:31:37 +01:00
orklah
98851b590c
Merge pull request #10379 from kkmuffme/update-decimal-stubs
update decimal stubs from documented URL
2023-11-18 10:04:03 +01:00
kkmuffme
fdbd9b133c fix prefixed param and document it 2023-11-18 08:10:44 +01:00
kkmuffme
e9b0103c7f fix prefix 2023-11-18 08:03:30 +01:00
orklah
44a0d4ce9f
Merge pull request #10385 from issidorov/finding-methods-and-properties-for-auto-completion-feature
Finding methods and properties for auto completion feature
2023-11-17 20:41:11 +01:00
Ivan Sidorov
88c98ef333 Fixing a crash if a method or property does not exist 2023-11-17 15:50:34 +00:00
Ivan Sidorov
e677523843 Fixing a collisions on annotations with mixins 2023-11-17 15:50:34 +00:00
Ivan Sidorov
8bb68e9b3f Find properties and methods annotated by mixin 2023-11-17 15:50:34 +00:00
Ivan Sidorov
0c4b8a3c49 Find annotated magic static methods on traits 2023-11-17 15:50:34 +00:00
Ivan Sidorov
ceba3d889d Find annotated magic static methods on parent class 2023-11-17 15:50:34 +00:00
Ivan Sidorov
75394c5037 Find declared methods on parent classes and traits
Partial revert commit 2f039f9072
2023-11-17 15:50:26 +00:00
Ivan Sidorov
d533bb8c2e Ignore annotated magic static methods with usage object gap
Magic methods annotated by methods `__call` and `__callStatic`.
Magic static methods implemented in `__callStatic`
are not required implementation in `__call'.
2023-11-17 15:14:56 +00:00
Ivan Sidorov
715f6f51e1 Ignore annotated magic properties with usage static gap
In PHP is not exists methods for implementation magic static properties.
So, these magic static properties must not be presented.
2023-11-17 15:14:56 +00:00
Ivan Sidorov
1cfc343c43 Ignore declared static properties with usage object gap
Usage static properties in PHP is allow only by static gap.
2023-11-17 15:14:56 +00:00
Ivan Sidorov
6f19440b02 Fix text-labels with type of property
The labels for magic and declared properties must be equal.
2023-11-17 15:14:56 +00:00
Ivan Sidorov
650b8fcd1b Tests of current behaviors in the auto-completion feature 2023-11-17 15:14:56 +00:00
kkmuffme
a040ad1228 update decimal stubs from documented URL 2023-11-16 09:31:30 +01:00
orklah
d9d08f76f4
Merge pull request #10303 from kkmuffme/suppressing-novalue-should-not-treat-code-as-unevaluated
Suppressing NoValue should not treat subsequent code as unevaluated
2023-11-13 21:27:45 +01:00
kkmuffme
b0adeb463d fix test 2023-11-13 20:37:48 +01:00
kkmuffme
88e3cda3b9 remove unused function, fix unusedVariable error after suppress 2023-11-13 20:24:58 +01:00
kkmuffme
6a0a9d1c15 fix failing test caused by psalm-suppress as this should be invalidCodeParse test 2023-11-13 19:08:04 +01:00
kkmuffme
dcd53cadab Suppressing NoValue should not treat subsequent code as unevaluated
Fix https://github.com/vimeo/psalm/issues/10302
2023-11-13 18:57:41 +01:00
orklah
b3ef6a0bd7
Merge pull request #10351 from robchett/rdkafka_stubs
Add stubs for rdKafka
2023-11-09 20:21:56 +01:00
orklah
0aa5050109
Merge pull request #10355 from greg0ire/allow-int
Allow int keys when calling Redis methods
2023-11-08 23:10:38 +01:00
Grégoire Paris
ba17015dfb
Allow int keys when calling Redis methods
In 5bfc0f960b, risky casting was invoked
as a way to show there is an issue here. However, it is not always
possible to use a string. For instance, there is no such thing as this
in PHP: ["1" => "whatever"]. If you try to create such an array, you
will obtain [1 => "whatever"] instead.

Ironically, this was copied in jetbrains/phpstorm, which is used in
PHPStan, which exhibited that false positive.

See https://github.com/JetBrains/phpstorm-stubs/pull/1454
2023-11-08 22:15:44 +01:00
robchett
3578b42e5c Add stubs for rdKafka
Fixes #3406
2023-11-08 09:51:12 +00:00
orklah
5f0798844e
Merge pull request #10349 from ohader/docs/psalm-flow-5.x
Add documentation for @psalm-flow
2023-11-06 22:42:54 +01:00
Oliver Hader
e015b7f7de
Add documentation for @psalm-flow 2023-11-06 21:41:56 +01:00
orklah
7acc50eef0
Merge pull request #10318 from danog/finalize
Finalize all internal classes
2023-11-03 20:57:06 +01:00
orklah
41acef50a1
Merge pull request #10319 from danog/rm_73
Get rid of legacy 7.3 logic
2023-11-03 20:56:39 +01:00
orklah
722fe6c38c
Merge pull request #10320 from issidorov/completion-by-partial-property-or-method
Fix auto completion by partial property or method
2023-11-03 20:54:37 +01:00
orklah
2e65d5fefa
Merge pull request #10335 from kbond/sf7
Allow Symfony 7
2023-10-31 17:30:13 +01:00
Kevin Bond
31928c11f3
allow symfony 7 2023-10-31 10:29:33 -04:00
Ivan Sidorov
2f039f9072 Fix auto-completion with declared static method by DocBlock 2023-10-27 09:35:30 +00:00
Ivan Sidorov
d6faff2844 Fix auto comletion by partial property or method 2023-10-26 21:31:47 +00:00
07b45b8116 Get rid of legacy 7.3 logic 2023-10-26 17:18:33 +02:00
ec23f998ea Finalize all internal classes 2023-10-26 17:00:29 +02:00
orklah
2726ad4d6f
Merge pull request #10314 from simonberger/narrow-get_browser-return-types
Narrow down `get_browser` returning array or object
2023-10-25 19:47:17 +02:00
Simon Berger
6f32c723f5 Narrow down get_browser returning array or object based on $return_array param 2023-10-25 10:34:46 +02:00
orklah
6e56990f28
Merge pull request #10313 from vimeo/dependabot/github_actions/fkirc/skip-duplicate-actions-5.3.1
Bump fkirc/skip-duplicate-actions from 5.3.0 to 5.3.1
2023-10-24 20:24:59 +02:00
orklah
ff5526dc57
Merge pull request #10312 from trusting-thompson/named-param-out
fix @param-out with named arguments
2023-10-24 20:15:55 +02:00
Daniel Linjama
a375f441f2 fix @param-out with named arguments 2023-10-23 10:39:09 +03:00