1
0
mirror of https://github.com/danog/psalm.git synced 2025-01-10 06:58:41 +01:00
Commit Graph

9440 Commits

Author SHA1 Message Date
cgocast
6eb40e7897 Fix code style 2023-10-02 15:22:57 +02:00
cgocast
2eca720e9d Merge branch '5.x' of https://github.com/cgocast/psalm into 5.x 2023-10-02 15:13:07 +02:00
cgocast
94a98ccddd Allow tainted numerics except for 'html' and 'has_quotes' 2023-10-02 15:08:26 +02:00
orklah
c67dce7d14
Merge pull request #10240 from ging-dev/cache
fix: #10239
2023-09-30 18:26:59 +02:00
ging-dev
f8c225c576 fix: #10239 2023-09-30 10:36:21 +07:00
orklah
2d3a625379
Merge pull request #10230 from ging-dev/lsp
feat(LSP): Improve the autocomplete for nested array shape
2023-09-28 23:42:02 +02:00
orklah
f57088646b
Merge pull request #10191 from boesing/bugfix/inherited-conditional-return-types
Resolve inherited conditional return types
2023-09-28 23:08:20 +02:00
orklah
bbcf50396d
Merge pull request #10189 from boesing/feature/inherited-assertions-v2
Inherited assertions v2
2023-09-28 23:07:15 +02:00
cgocast
d9400ba191 Handle possibly null $arg_type 2023-09-28 15:34:05 +02:00
cgocast
55843b5ac8 Handle positional argument 2023-09-28 15:23:35 +02:00
cgocast
2217f5e118 Loop over PDOStatement::fetch() arguments 2023-09-28 14:37:44 +02:00
orklah
83485f3fcf
Merge pull request #10234 from tuqqu/block-mode-declare-check
Check for declare strict_types in block mode
2023-09-28 09:13:13 +02:00
orklah
a8ef5a213d
Merge pull request #10202 from gmessier/issue-handlers-priority
Issue handlers priority
2023-09-28 09:09:33 +02:00
orklah
a843c30950
Merge pull request #10207 from boesing/bugfix/issue-10203
Allow object assertions for `mixed` values
2023-09-28 09:08:43 +02:00
orklah
d7236efd76
Merge pull request #10194 from MidnightDesign/issue-8582
Allow class-string<T> where T is a union
2023-09-28 09:04:57 +02:00
tuqqu
09fbe99f5b Check for declare strict types block mode 2023-09-26 20:59:06 +02:00
ging-dev
45807e27b8 feat(LSP): Improve the autocomplete for nested array shape 2023-09-26 01:52:23 +07:00
kkmuffme
c6648aff87 add FILTER_SANITIZE_URL filter to filter_var 2023-09-18 14:51:20 +02:00
Rudolph Gottesheim
3b775f4617 Allow class-string<T> where T is a union 2023-09-18 12:13:34 +02:00
robchett
03e8d19eec Only the binary op 'plus' works with two arrays
Treat the result of any other operation as int|float
Fixes #2123
2023-09-16 15:55:59 +01:00
Maximilian Bösing
3e100b15d9
bugfix: allow object assertions for mixed
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-09-15 20:19:54 +02:00
Guillaume Messier
bb364a23ad Fix Code Style 2023-09-13 16:44:53 -04:00
Guillaume Messier
ae427fd60e Add 'safe' methods to prevent overriding issueHandlers already defined in the configuration 2023-09-13 16:30:33 -04:00
Maximilian Bösing
7c8a5e8b09
bugfix: resolve recursive conditional return types containing templates
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-09-11 00:04:01 +02:00
Maximilian Bösing
e3920e6f4d
qa: remove unnecessary type juggling regarding inherited assertions
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-09-10 22:17:30 +02:00
Maximilian Bösing
ad463f38e9
bugfix: always gather class templates
No clue why there are conditions on when templates are allowed to get picked up. I've removed this check which actually solves a problem in inherited assertions.

Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-09-10 22:17:30 +02:00
Tinjo Schöni
8fbe14a34b
Restore support for namespaced functions in referencedFunction config 2023-09-09 01:47:09 +02:00
Bruce Weirdan
cd8fc46554
Flag invalid declares 2023-09-02 23:41:50 +02:00
robchett
d0c4d170b0
Apply psalm-inheritors to interfaces too 2023-08-31 23:12:10 +02:00
robchett
e23971ca29
InheritorViolation was only being triggered on grand-childen classes
Fixes #10167
2023-08-31 23:12:07 +02:00
Bruce Weirdan
cc7ed9586e
Merge pull request #10156 from boesing/bugfix/prevent-infinite-loop-in-type-parser 2023-08-28 12:06:45 +02:00
Bruce Weirdan
3814fbb231
Merge pull request #10157 from boesing/bugfix/assertions-from-inherited-docblock 2023-08-28 12:04:47 +02:00
Maximilian Bösing
66c01813c1
refactor: move assertion detection based on inherited classes/interfaces into internal resolver
This also enables `ExistingAtomicStaticCallAnalyzer` to detect those inherited assertions.

Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-08-28 11:09:23 +02:00
Bruce Weirdan
b3150d451a
Fix crash on property access to undefined property on a class with a missing dependncy 2023-08-28 01:58:02 +02:00
Maximilian Bösing
2a0ce2fecc
qa: add newlines to prevent exceeding 120 character line-length limit
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-08-28 01:15:49 +02:00
Maximilian Bösing
5e520e6bff
bugfix: properly inherit assertions from parents or implemented interfaces
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-08-28 01:12:28 +02:00
Maximilian Bösing
3fa5710400
qa: preserve already detected modifications
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-08-27 22:38:43 +02:00
Maximilian Bösing
d9ebab6b75
bugfix: prevent infinite-loop when resolving type-aliases
The type-expander returns the same `intersection_type` in case something is not properly expandable. To avoid infinite-loop, we do explicitly verify that the expanded  alias is actually resolved

Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-08-27 17:08:55 +02:00
Bruce Weirdan
ad0a132d7f
Update src/Psalm/Type.php 2023-08-25 19:30:16 -04:00
Maximilian Bösing
e985e8aadb
qa: add proper parameter type-hint to suit psalm analysis
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-08-26 00:49:02 +02:00
Maximilian Bösing
a6b646f0e3
qa: re-arrange code to avoid line-length limit of 120 chars
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-08-26 00:42:33 +02:00
Maximilian Bösing
a8bb8d38ea
qa: ensure that we do have at least one enum case extracted from the value-of<Enum> usage
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-08-26 00:41:06 +02:00
Maximilian Bösing
f93ac70a0a
qa: resolving psalm issues
- remove unused variable
- add assertion to reduce possible types from `TEnumCase`
- use `TypeCombiner` to provide proper `Union` containing all literals

Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-08-26 00:36:20 +02:00
Maximilian Bösing
cd3e294bfd
bugfix: remove atomic type comparator regarding TEnumCase
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-08-26 00:15:53 +02:00
Maximilian Bösing
6c1899df13
qa: apply coding standard
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-08-26 00:08:14 +02:00
Maximilian Bösing
5948559a31
feature: introducing proper handling of value-of in combination with backed enums
This introduces both:
- a bugfix for a regression introduced by `31eaf83c4` which prevents backed enums are incorrectly identified as literals
- an additional feature so that `value-of` can be used with backed enums to assert any of the enum cases values

Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-08-25 23:58:53 +02:00
Maximilian Bösing
31eaf83c49
bugfix: prevent enums from being detected as literals
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-08-25 23:54:31 +02:00
Bruce Weirdan
b1c25fa30a
Show success message and type stats with GHA formatter 2023-08-24 03:32:18 +02:00
Bruce Weirdan
c34d5132b5
Merge pull request #10115 from edsrzf/file-find-unused-baseline 2023-08-21 09:44:07 +02:00
Bruce Weirdan
0a9e647603
Do not change baseline when checking specific files 2023-08-21 09:25:37 +02:00