1
0
mirror of https://github.com/danog/psalm.git synced 2024-11-26 20:34:47 +01:00
Commit Graph

13084 Commits

Author SHA1 Message Date
Maximilian Bösing
6c58d98d67
feature: treat class-string<callable> as callable-object
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-04-04 17:28:58 +02:00
Maximilian Bösing
b18fb9691b
qa: allow error_levels notation which is compatible with named arguments
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-04-03 23:23:28 +02:00
Maximilian Bösing
ee68f16bb6
feature: introduce callable-object intersection type object&callable
This allows devs to annotate that they expect a callable object.
In addition to this, it can also verify return and argument types.

Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-04-03 23:23:28 +02:00
Maximilian Bösing
11e90e7d42
qa: enhance code for better extensibility
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-04-03 02:23:59 +02:00
Maximilian Bösing
6ca34fdd10
qa: adjust code for readability
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-04-03 02:23:59 +02:00
orklah
87d0854a97
Merge pull request #9586 from boesing/feature/value-of-enum-assertions
Introduce `value-of` with backed enum cases in assertions
2023-04-02 18:51:25 +02:00
orklah
19bf2711bc
Merge pull request #9595 from othercorey/fix-callmaps
Fix remaining intl, reflection. xml and zip callmaps
2023-04-02 18:45:52 +02:00
Corey Taylor
5fa01d8947 Fix remaining intl, reflection. xml and zip callmaps 2023-04-02 06:34:17 -05:00
Maximilian Bösing
3f6f91f0ef
qa: re-order error message to match recent changes
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-04-01 14:57:21 +02:00
Maximilian Bösing
6455084198
qa: applied coding standard to existing code
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-04-01 14:57:20 +02:00
Maximilian Bösing
1d4f496d0d
feature: introduce value-of in assertions
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-04-01 14:57:20 +02:00
orklah
fd4f7b701c
Merge pull request #9590 from dantleech/add-error-level-option-help
Add CLI help for the error-level option
2023-03-31 19:44:09 +02:00
Daniel Leech
4fef4a2365 Move to basic configuration 2023-03-31 18:38:44 +01:00
Daniel Leech
8092554582 Add CLI help for the error-level option 2023-03-31 18:36:34 +01:00
orklah
8b9ad1eb9e
Merge pull request #9566 from DnwK98/handle-different-line-endings
Handle different line endings from baseline.
2023-03-29 23:38:21 +02:00
orklah
e2abc3e554
Merge pull request #9509 from ptomulik/issue-9506
Fixed #9506
2023-03-28 21:18:51 +02:00
Paweł Tomulik
ed1d095c7b
supress ComplexMethod 2023-03-28 20:59:51 +02:00
orklah
c6f66bf5d4
Merge pull request #9577 from kamil-tekiela/improve-range
Improve types for range()
2023-03-28 20:41:13 +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
Kamil Tekiela
4d3ecd79cb Improve types for range() 2023-03-28 19:29:03 +01:00
orklah
94f32e9718
Merge pull request #9323 from othercorey/fix-array-unique
Fix array_unique callmap
2023-03-28 20:27:18 +02:00
orklah
88f7ca0269
Merge pull request #9576 from othercorey/skip-gnupg
Skip gnupg extension in callmap tests
2023-03-28 20:25:25 +02:00
Damian Wójcik
793b8d34d8 Add baseline ignoring carriage return test. 2023-03-28 14:40:11 +02:00
Corey Taylor
528bbe3757 Skip gnupg extension in callmap tests 2023-03-28 04:20:39 -05:00
Corey Taylor
730bc221e9 Re-add array_unique() stub which preserved array type 2023-03-28 04:09:50 -05:00
Corey Taylor
718af70e54 Fix array_unique callmap 2023-03-28 04:09:47 -05:00
orklah
b908f4491f
Merge pull request #9547 from phansys/mysqli
[mysql] Add stubs for `mysqli`, `mysqli_result` and `mysqli_stmt` classes
2023-03-27 21:01:19 +02: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
orklah
49cf5d07cc
Merge pull request #9568 from iFixit/sealed-properties--add-config-for-assumption
@property annotations: allow *not* implying @psalm-seal-properties
2023-03-27 20:33:21 +02:00
Daniel Beardsley
bf00ecae91
Config: document default on new option
Also add it to the config schema.
2023-03-27 10:44:38 -07:00
orklah
dc503ccbda
Merge pull request #9555 from MoonE/mysqli-fetch-field
Add better return type to mysqli fetch_field*
2023-03-27 19:09:34 +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
ef9a06c467
Merge pull request #9526 from othercorey/cleanup-unreflectable
Clean up unreflectable callmap methods
2023-03-24 07:13:19 +01:00
orklah
7bdb2d6902
Merge pull request #9562 from orklah/dez
always combine the result of expansions
2023-03-23 22:08:16 +01:00
orklah
dfd7ffc459 always combine the result of expansions 2023-03-23 20:51:34 +01:00
Javier Spagnoletti
b65a038553 [mysql] Add stubs for mysqli, mysqli_stmt and mysqli_result classes 2023-03-21 06:10:02 -03:00
Bruce Weirdan
0af503a9fb
Merge pull request #9544 from ygottschalk/doc/psalm-api-on-methods 2023-03-20 09:54:01 -04:00
Yannick Gottschalk
85a1c83591 Added to documentation and tests that api can be used instead of psalm-api 2023-03-20 13:34:44 +01:00
Yannick Gottschalk
a4895c3588 Added to documentation that psalm-api can be used on methods 2023-03-20 13:34:44 +01:00
Bruce Weirdan
b381f47a0a
Merge pull request #9541 from weirdan/mixed-types-coercion 2023-03-19 01:22:24 -04: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
c2c2e26d6d
Merge pull request #9538 from weirdan/fix-assertions-on-conditions-leaking-from-else 2023-03-18 19:33:12 -04:00
Bruce Weirdan
963dd5d43d
Additional test
This was actually fixed previously
2023-03-18 03:45:09 -04:00