Ivan Sidorov
4fce0700bf
Failed and regression tests with usage config
...
Failed test:
```
1) MagicMethodAnnotationTest::testAnnotationWithoutCallConfigWithExtendsWithStatic
Failed asserting that exception of type "Psalm\Exception\CodeException" is thrown.
```
2024-02-13 17:25:16 +00:00
Ivan Sidorov
6e361aa9e6
Failed and regression tests for magic static methods
...
List failed tests:
```
1) Psalm\Tests\MagicMethodAnnotationTest::testNoSealAllMethodsWithStatic
Failed asserting that exception of type "Psalm\Exception\CodeException" is thrown.
2) Psalm\Tests\MagicMethodAnnotationTest::testSealAllMethodsWithoutFooWithStatic
Failed asserting that exception of type "Psalm\Exception\CodeException" is thrown.
3) Psalm\Tests\MagicMethodAnnotationTest::testInvalidCode with data set "inheritSealedMethodsWithStatic"
Failed asserting that exception of type "Psalm\Exception\CodeException" is thrown.
```
2024-02-13 17:25:16 +00:00
Markus Staab
f5fb9498de
Use IssueBuffer::maybeAdd() instead of throwing
2024-02-13 09:11:11 +01:00
Markus Staab
c3526b4463
fix test
2024-02-12 14:04:50 +01:00
Bruce Weirdan
395f3f7862
Merge pull request #10690 from weirdan/9649-this-out-on-constructors
2024-02-11 16:34:25 -04:00
Bruce Weirdan
d10e384338
Report first class callables generated for unknown static methods
...
Fixes vimeo/psalm#10170
2024-02-11 02:24:27 +01:00
Bruce Weirdan
def0489b98
Process @psalm-this-out
on __construct()
as well
...
Fixes vimeo/psalm#9649
2024-02-11 01:53:30 +01:00
Bruce Weirdan
ceaea625f3
Merge pull request #10675 from robchett/prevent_nullable_mixed
2024-02-10 14:20:36 -04:00
Bruce Weirdan
6b405937ab
Forbid constructors from returning any values
...
Fixes vimeo/psalm#9713
2024-02-10 01:34:51 +01:00
Bruce Weirdan
ba4e312594
Merge pull request #10678 from weirdan/10669-class-consts-in-shapes
2024-02-09 13:00:19 -04:00
robchett
5579fd469b
Prevent mixed|null when function param is mixed with a null default value
2024-02-08 20:22:57 +00:00
Bruce Weirdan
2f0b85ff65
Support parsing constants in shapes
...
Fixes vimeo/psalm#10669
2024-02-08 04:30:42 +01:00
Bruce Weirdan
f9a23149fe
Merge pull request #10679 from weirdan/8323-dont-show-backtrace-in-InvalidDocblock-issue-message
2024-02-07 22:00:01 -04:00
Bruce Weirdan
6b6bed5850
Don't show backtrace in InvalidDocblock
issue message
...
Fixes vimeo/psalm#8323
2024-02-08 01:20:57 +01:00
robchett
7289f642d9
Fix other assertion errors with union templates
2024-02-07 21:35:24 +00:00
Bruce Weirdan
b54e0b2fd6
Merge pull request #10666 from weirdan/10662-strip-callmap-prefixes-from-parameter-names
2024-02-06 16:07:48 -04:00
Bruce Weirdan
1c36da6dda
Strip callmap prefixes from parameter names
...
Fixes vimeo/psalm#10662
2024-02-06 20:52:42 +01:00
Ivan Sidorov
6b3380b05f
Regression and fail tests
...
List fail tests:
```
1) testMethodAnnotation with data set "static (string|int)[] getArray()"
Undefined array key 0
/workspaces/psalm/tests/ClassLikeDocblockParserTest.php:201
2) testMethodAnnotation with data set "static (callable() : string) getCallable()"
Undefined array key 0
/workspaces/psalm/tests/ClassLikeDocblockParserTest.php:201
```
2024-02-06 17:01:28 +00:00
Bruce Weirdan
508da9abd4
Merge pull request #10661 from vimeo/10018-flag-stdclass-constructor-with-arguments
2024-02-05 20:31:26 -04:00
Bruce Weirdan
62b525993d
Flag stdClass::__construct()
calls that have arguments
...
Fixes vimeo/psalm#10018
2024-02-06 01:24:18 +01:00
Bruce Weirdan
b822c3339d
Suppress UndefinedClass
in whatever_exists()
...
Fixes vimeo/psalm#7395
2024-02-05 20:44:09 +01:00
Bruce Weirdan
f40e23faef
Merge pull request #10655 from weirdan/late-binding-of-enum-properties
2024-02-05 15:17:42 -04:00
Bruce Weirdan
5d671a4775
Merge pull request #10630 from kkmuffme/additional-fix-for-inconsistent-basedir
2024-02-05 15:01:51 -04:00
Bruce Weirdan
578046da4a
Merge pull request #10651 from edsrzf/missing-override
2024-02-05 07:16:40 -04:00
Bruce Weirdan
c40f232d31
Merge pull request #10629 from edsrzf/analyze-dynamic-fetches
2024-02-05 07:16:03 -04:00
Evan Shaw
4cec31eba9
Test for dynamic enum fetch
2024-02-05 21:56:30 +13:00
Evan Shaw
a827806709
ParseError for dynamic constants before PHP 8.3
2024-02-05 21:49:40 +13:00
Bruce Weirdan
ddb02b9e94
Merge pull request #10603 from weirdan/fix-existing_whatever-references
2024-02-05 01:05:38 -04:00
Bruce Weirdan
52eadab971
Late binding of enum cases
...
Resolves a number of long-standing bugs ('Failed to infer case value ...')
Fixes vimeo/psalm#10374
Fixes vimeo/psalm#10560
Fixes vimeo/psalm#10643
Fixes vimeo/psalm#8978
2024-02-05 04:12:19 +01:00
Bruce Weirdan
6d572a681c
Apply suggestions from code review
2024-02-04 20:43:08 +01:00
Bruce Weirdan
b2a2cd7884
Allow adding Closure
as a native property type
2024-02-04 19:20:54 +01:00
Bruce Weirdan
e8b47f7d42
Do not add callable
as a native property type
...
It's invalid in all PHP versions: https://3v4l.org/bXWo2
Also see php.net/manual/en/language.types.declarations.php#language.types.declarations.base.function
Fixes vimeo/psalm#10650
2024-02-04 18:52:20 +01:00
Evan Shaw
8396360d30
Emit MissingOverrideAttribute
2024-02-04 21:07:27 +13:00
Evan Shaw
c71ad2221c
Move Override tests to separate file
2024-02-04 21:07:27 +13:00
Evan Shaw
7d07e258a3
Add MissingOverrideAttribute issue
2024-02-04 21:07:22 +13:00
Evan Shaw
ea9cb44699
Emit InvalidOverride
2024-02-04 09:01:30 +13:00
Evan Shaw
07f4045ccd
Add InvalidOverride issue
2024-02-04 09:01:30 +13:00
robchett
9d4fd4011d
Support user defined types for psalm-check-type
2024-02-03 18:26:20 +00:00
robchett
526013e77e
Fix check-type when using reserved types from within a namespace
2024-02-03 18:09:23 +00:00
kkmuffme
47c52ad602
fix /src/psalm.xml not removed between tests and remove psalm.xml at the end of tests
2024-02-01 20:11:06 +01:00
kkmuffme
d4a5909e1f
Fix additional places where base_dir was broken due to missing separator
...
Improves upon https://github.com/vimeo/psalm/pull/10542 and https://github.com/vimeo/psalm/pull/10628
2024-02-01 20:11:06 +01:00
robchett
421cb0f7a1
Allow enum cases to be global constants
2024-02-01 18:38:46 +01:00
Evan Shaw
88c2e00d02
Analyze dynamic class const names
2024-02-01 17:40:25 +13:00
Evan Shaw
a66aace523
Analyze dynamic static property names
2024-02-01 17:31:15 +13:00
Bruce Weirdan
6140f6881c
Allow typedef imports from any classlike type
...
All we really need is for the source to be autoloadable, and it includes
all classlikes (interfaces, classes, enums and traits at the time of
writing).
2024-01-31 23:07:23 +01:00
Bruce Weirdan
9ec556bb14
Allow inline comments in typedef shapes
...
Fixes vimeo/psalm#10492
2024-01-31 22:03:36 +01:00
kkmuffme
551625aa4b
Fix https://github.com/vimeo/psalm/issues/10561 numeric input incorrect return type
2024-01-31 14:11:10 +01:00
fluffycondor
6aa2ddfe1c
Fix ownerDocument type
2024-01-31 16:10:51 +06:00
Bruce Weirdan
6d32d2f692
Allow importing typedefs from enums
...
Fixes vimeo/psalm#10416
2024-01-30 20:29:51 +01:00
Bruce Weirdan
ca9a12ddda
Report MissingConstructor
for natively typed mixed properties
...
Fixes vimeo/psalm#10589
2024-01-30 17:24:27 +01:00