1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-14 18:36:58 +01:00
Commit Graph

11308 Commits

Author SHA1 Message Date
orklah
d2493e2656
Merge pull request #7715 from trowski/fix-ffc-in-loop
Fix first-class callable in loop
2022-02-22 07:06:03 +01:00
Aaron Piotrowski
97b5685f55
Fix first-class callable in loop 2022-02-21 18:37:20 -06:00
Patrick Remy
9c6deacc69
feat: expand properties-of to keyed array 2022-02-21 23:02:27 +01:00
Patrick Remy
30fac906c6
feat(types): add properties-of<T> type 2022-02-21 21:15:02 +01:00
orklah
1a5b120081
Merge pull request #7713 from AndrolGenhald/bugfix/self-in-attribute
Use current context when analyzing attributes
2022-02-21 18:50:22 +01:00
Bruce Weirdan
35fa8b2ddd
Merge pull request #7708 from M1ke/4.x-config-threads-xsd 2022-02-21 19:22:03 +02:00
AndrolGenhald
103ec628b0 Improve tests. 2022-02-21 10:44:59 -06:00
AndrolGenhald
04c0db5aff Use current context when analyzing attributes (fixes #7710). 2022-02-21 10:38:50 -06:00
m1ke
628bf584c2 Alter config file to actually load threads param 2022-02-21 11:07:21 +00:00
m1ke
9d78c3e22a Add threads config to xsd 2022-02-21 10:26:34 +00:00
Bruce Weirdan
997bded2e3
Merge branch '4.x' into upstream-master 2022-02-21 01:08:21 +02:00
Bruce Weirdan
6cc3da861e
Merge pull request #7596 from azjezz/chore/enable-psl 2022-02-21 00:24:03 +02:00
orklah
b8cda9eb00
Merge pull request #7684 from AndrolGenhald/bugfix/minor-reference-fixes
Fix some minor issues with references.
2022-02-20 23:21:56 +01:00
azjezz
d47c0140ed chore: enable psl tests again
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-02-21 00:08:15 +02:00
orklah
ad91df5ee1
Merge pull request #7692 from AndrolGenhald/bugfix/7685-attribute-analysis
Analyze attribute statements instead of constructing virtual statements.
2022-02-20 18:57:11 +01:00
Bruce Weirdan
d7d846edc8
Merge branch '4.x' into upstream-master 2022-02-20 02:31:15 +02:00
Bruce Weirdan
97bd81cf5e
Merge pull request #7699 from AndrolGenhald/bugfix/int-range-unpacking 2022-02-19 00:04:32 +02:00
AndrolGenhald
9310a4ff5a Fix issues with int range unpacking and with min/max. 2022-02-18 15:55:26 -06:00
Bruce Weirdan
6a68287700
Merge pull request #7696 from AndrolGenhald/improve-bool-to-int-cast 2022-02-18 22:17:29 +02:00
AndrolGenhald
525a86e19d Improve bool to int casting. 2022-02-18 13:22:17 -06:00
Bruce Weirdan
2d83a4bdd3
Merge pull request #7693 from AndrolGenhald/improve-invalid-global-documentation 2022-02-18 20:15:02 +02:00
AndrolGenhald
c1077f32d3 Improve documentation for InvalidGlobal to explain that it's sometimes valid. 2022-02-18 11:36:25 -06:00
AndrolGenhald
0476ca7844 Fix trailing commas for PHP < 7.3. 2022-02-18 08:44:51 -06:00
AndrolGenhald
ea2f452c25 Analyze attribute statements instead of constructing virtual statements. 2022-02-18 08:18:34 -06:00
Bruce Weirdan
d8bec4c7aa
Merge pull request #7690 from dmitryuk/fix-enable-error 2022-02-18 06:34:15 +02:00
a.dmitryuk
8e1e0d1e5e style-ci 2022-02-18 10:33:35 +07:00
a.dmitryuk
dc8764153e Throw exception if file_put_contents failed 2022-02-18 10:05:23 +07:00
orklah
2e2099ebe7
Merge pull request #7687 from AndrolGenhald/bugfix/documentation-issue-links
Fix issue documentation links.
2022-02-17 20:12:21 +01:00
AndrolGenhald
bd963e4baa Fix issue documentation links. 2022-02-17 13:04:25 -06:00
orklah
ec95244504
Merge pull request #7686 from AndrolGenhald/feature/type-check-annotations
Add `@psalm-check-type` and `@psalm-check-type-exact`.
2022-02-17 18:51:02 +01:00
AndrolGenhald
d09e420939 Add @psalm-check-type and @psalm-check-type-exact.
I initially added these as part of my TryAnalyzer rewrite to allow testing complicated `finally` types like this:
```
$foo = 1;
try {
        $foo = 2;
} catch (Exception $_) {
        $foo = 3;
} finally {
        $bar = $foo;
        /** @psalm-check-type-exact $bar = 1|2|3 */;
}
/** @psalm-check-type-exact $bar = 2|3 */;
```
Using the `'assertions'` in tests doesn't work since the type is different inside the `finally`.

I decided to extract the new annotation from the rest of my changes and do a separate pull request since I think others may find it useful, and it should be much easier to review than the entire TryAnalyzer rewrite.
2022-02-17 10:37:13 -06:00
AndrolGenhald
8f710cc37f Fix crash when data_flow_graph is null. 2022-02-17 10:34:34 -06:00
AndrolGenhald
580278d323 Fix some minor issues with references.
References assigned to properties on `$this` should never be unused.
Using a `@var` docblock before a reference should be allowed if it targets a variable instead of the assignment statement.
2022-02-17 09:31:33 -06:00
Bruce Weirdan
1ee764894a
Merge pull request #7683 from weirdan/fix-psr4-warnings 2022-02-17 04:00:03 +02:00
Bruce Weirdan
e517295f7e
Fixed PSR-4 warnings
Fixes the following warnings that were emitted by `composer install`:

```
Generating optimized autoload files
Class Psalm\Tests\KeyOfTemplateTest located in ./tests/Template/KeyOfTemplateTest.php does not comply with psr-4 autoloading standard. Skipping.
Class Psalm\Tests\ValueOfTemplateTest located in ./tests/Template/ValueOfTemplateTest.php does not comply with psr-4 autoloading standard. Skipping.
```
2022-02-17 03:52:07 +02:00
Matthew Brown
6af3b502df Remove unnecessary array assignment 2022-02-16 13:04:23 -05:00
Bruce Weirdan
e47752afb4
Merge pull request #7666 from AndrolGenhald/more-class-const-improvements
More class const improvements.
2022-02-16 03:43:37 +02:00
Bruce Weirdan
28c5f9c9d3
Merge pull request #7677 from mmcev106/master 2022-02-15 22:26:56 +02:00
Mark McEver
828b093964 Prevent unnecessary filter_var() warnings on primitive types 2022-02-15 14:13:44 -06:00
87d9a01f78 Add configuration for maximum size of shaped array 2022-02-15 14:09:08 +01:00
orklah
f72f2f6fbe
Merge pull request #7434 from zoonru/disable_var_parsing
Add configuration option to disable @var parsing everywhere except for properties.
2022-02-15 13:29:26 +01:00
eb3df40fbb
Add option to disable @var parsing everywhere except for properties. 2022-02-15 10:04:56 +01:00
Vincent Langlet
694157b2e0 PDOException extends RuntimeException and can use int code errors 2022-02-14 21:04:10 +01:00
AndrolGenhald
cc2334f40d More class const improvements.
Add InvalidClassConstType issue as alternative to LessSpecificClassConstType when type isn't contravariant.
Handle final class consts (#6395).
Use double quotes for types in class const issues.
2022-02-13 17:19:25 -06:00
orklah
5aa06ae64e fix merge issues 2022-02-14 00:12:31 +01:00
orklah
1142c818c2 Merge remote-tracking branch 'upstream/4.x' into upstream-master9 2022-02-14 00:10:28 +01:00
orklah
b796f4558a
Merge pull request #7665 from orklah/matchcount
fix count with match on arrays
2022-02-13 22:49:31 +01:00
orklah
06ce3adba5
Merge pull request #7664 from AndrolGenhald/bugfix/7613-unused-variable-in-try
Fix false positive for unused variable in try (fixes #7613).
2022-02-13 22:39:47 +01:00
orklah
97a6abd823 don't anonymize call to count to allow assertions on count to be retrieved 2022-02-13 22:38:38 +01:00
AndrolGenhald
fd0ecf2528 Rename variable to be consistent with existing convention. 2022-02-13 15:34:21 -06:00