Bruce Weirdan
4a2cf93d7a
Don't crash on invalid templates
...
Fixes vimeo/psalm#9596
2024-03-11 01:41:52 +01: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
robchett
7289f642d9
Fix other assertion errors with union templates
2024-02-07 21:35:24 +00:00
klimick
c307bcbc76
Try to fix template replacement edge case
2024-01-22 13:36:08 +03:00
kkmuffme
93dc2219e0
fix bugs in tests
2024-01-15 10:11:22 +01:00
kkmuffme
adb8677f20
Fix optional args not enforced in callable (fix for non-closure/arrow functions of https://github.com/vimeo/psalm/issues/8438 ) Fix array callables not treated as callable https://psalm.dev/r/23f3787207 (this is needed to fix the optional args enforcement for array callables too)
2023-11-18 08:55:20 +01:00
klimick
a3df6505f0
Type check nested templates
2023-10-09 17:07:52 +03: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
Maximilian Bösing
eda55a2d27
qa: make assertions more strict as we do want exact matches
...
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-09-11 11:14:12 +02:00
Maximilian Bösing
3dc00518c6
qa: add test for inherited conditional templated return types
...
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-09-10 23:57:02 +02:00
Maximilian Bösing
7f8ec79243
qa: modify tests since array keys are not mixed for ArrayObject
...
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-09-10 16:06:56 +02:00
andrew
4f5dfa7350
Better intersection of template types during inheritance check
2023-06-07 17:58:25 +03:00
kkmuffme
40679e9a82
fix failing mock tests
2023-06-07 08:12:31 +02:00
andrew
02addbe79c
Fix generic type params mapping
2023-06-02 17:36:13 +03:00
RobChett
0a40286830
Don't throw UnnecesseryVarAnnotation when hinting a mixed template var
2023-04-19 21:23:40 +01:00
Maximilian Bösing
66afbb1c33
feature: (re-)implement object-shape assertions
...
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-04-15 02:36:10 +02:00
orklah
3e50f68794
Merge pull request #9623 from klimick/contextual-inference-for-const-callable
...
Contextual inference for const callable
2023-04-14 16:22:53 +02:00
andrew
1f282fe7ba
Fix ClassTemplateTest.templateStaticWithParam test
2023-04-14 15:00:03 +03:00
andrew
8c09d1678b
Try to fix test ClassTemplateTest.templateStaticWithParam
2023-04-07 14:56:58 +03:00
orklah
06e085cf3f
fix coercion detection between two keyed arrays
2023-04-04 12:05:48 +02:00
Paweł Tomulik
c60b3ae3de
add more tests for #9506
2023-03-17 15:56:33 +01:00
Paweł Tomulik
3b4eb518a9
add tests for #9506
2023-03-17 15:56:30 +01:00
Paweł Tomulik
68fc72e139
add unit test for #4460
2023-02-28 11:38:44 +01:00
Paweł Tomulik
ee032d4ca9
add unit tests for #9401
2023-02-27 00:07:00 +01:00
Emmanuel Guiton
a7c60072dd
Merge branch 'vimeo:master' into master
2023-01-11 13:17:45 +01:00
Emmanuel GUITON
7b212954a9
Additional test and fix when comparing nested templates (vimeo#9094).
2023-01-11 13:17:06 +01:00
Vincent QUATREVIEUX
e5f297ddbb
fix: Handle template type on promoted property #8951
2023-01-10 10:41:48 +01:00
kkmuffme
25cadb6776
add null to tests to fix invalid return type
2023-01-05 09:44:23 +01:00
Emmanuel GUITON
164e279d08
Fixed object comparison that aims to improve nested template analysis (vimeo#8112).
2022-12-22 15:16:17 +01:00
Emmanuel Guiton
b138107bf3
Merge branch 'vimeo:master' into master
2022-12-22 15:15:46 +01:00
e2a5ef1eb5
Revert
2022-12-21 14:05:05 +01:00
Emmanuel GUITON
3364bd97e1
Additional code style fixes (vimeo#8112).
2022-12-21 11:51:42 +01:00
Emmanuel Guiton
94adf78c16
Merge branch 'vimeo:master' into master
2022-12-21 10:56:47 +01:00
3549162acc
Update
2022-12-20 13:44:05 +01:00
02cd829b7d
Fix bug
2022-12-20 13:28:47 +01:00
Jack Worman
1c19260cdd
Require trailing commas
2022-12-18 13:20:31 -06:00
70d1a5a3c5
Add test
2022-12-18 18:14:43 +01:00
Jack Worman
643542346b
Add codesniffer rules and expand php-cs-fixer to bin and test
2022-12-14 13:29:09 -06:00
cca276768e
List refactoring v5 ( #8820 )
...
* Squash
* Remove BC break
* Suppress
* Possibly fix
* Fixes
* Fix test
* Trigger build
* Update psl
* Update psl
* Fixes
* Fixes
* Cleanup
* fix
* Fix build
* Do not consider never when getting the max count
* Add assertion
* Cleanup
* Fix
* Cleanup
2022-12-13 21:40:19 +01:00
Emmanuel GUITON
0d9d0ed60d
Fixes vimeo#8112
2022-11-30 17:17:38 +01:00
54db59682d
Allow parameter types to be contained by a class template type ( #8731 )
...
* Allow parameter types to be contained by a class template type in function calls
* Specify PHP version of tests
* Fix tests
2022-11-23 00:14:30 -05:00
Matthew Brown
8d36bdc3ed
Make array shapes strict by default ( #8701 )
...
* Make array shapes strict by default
* Fix PSL tests
2022-11-11 20:14:21 -05:00
Matthew Brown
d63da1f66e
Prevent array{a: Foo} going cleanly into array<Foo> ( #8691 )
...
* Prevent array{a: Foo} going cleanly into array<Foo>
* Add test for new behaviour
* Fix code style issues
* Allow unions to be cloned again
* Simplify params properties
2022-11-10 09:18:27 -05:00
68a5511057
Merge remote-tracking branch 'origin/4.x' into HEAD
2022-11-08 10:25:04 +01:00
1986c8b4a8
Add support for strict arrays, fix type alias intersection, fix array_is_list assertion on non-lists ( #8395 )
...
* Immutable CodeLocation
* Remove excess clones
* Remove external clones
* Remove leftover clones
* Fix final clone issue
* Immutable storages
* Refactoring
* Fixes
* Fixes
* Fix
* Fix
* Fixes
* Simplify
* Fixes
* Fix
* Fixes
* Update
* Fix
* Cache global types
* Fix
* Update
* Update
* Fixes
* Fixes
* Refactor
* Fixes
* Fix
* Fix
* More caching
* Fix
* Fix
* Update
* Update
* Fix
* Fixes
* Update
* Refactor
* Update
* Fixes
* Break one more test
* Fix
* FIx
* Fix
* Fix
* Fix
* Fix
* Improve performance and readability
* Equivalent logic
* Fixes
* Revert
* Revert "Revert"
This reverts commit f9175100c8452c80559234200663fd4c4f4dd889.
* Fix
* Fix reference bug
* Make default TypeVisitor immutable
* Bugfix
* Remove clones
* Partial refactoring
* Refactoring
* Fixes
* Fix
* Fixes
* Fixes
* cs-fix
* Fix final bugs
* Add test
* Misc fixes
* Update
* Fixes
* Experiment with removing different property
* revert "Experiment with removing different property"
This reverts commit ac1156e077fc4ea633530d51096d27b6e88bfdf9.
* Uniform naming
* Uniform naming
* Hack hotfix
* Clean up $_FILES ref #8621
* Undo hack, try fixing properly
* Helper method
* Remove redundant call
* Partially fix bugs
* Cleanup
* Change defaults
* Fix bug
* Fix (?, hope this doesn't break anything else)
* cs-fix
* Review fixes
* Bugfix
* Bugfix
* Improve logic
* Add support for list{} and callable-list{} types, properly implement array_is_list assertions (fixes #8389 )
* Default to sealed arrays
* Fix array_merge bug
* Fixes
* Fix
* Sealed type checks
* Properly infer properties-of and get_object_vars on final classes
* Fix array_map zipping
* Fix tests
* Fixes
* Fixes
* Fix more stuff
* Recursively resolve type aliases
* Fix typo
* Fixes
* Fix array_is_list assertion on keyed array
* Add BC docs
* Fixes
* fix
* Update
* Update
* Update
* Update
* Seal arrays with count assertions
* Fix #8528
* Fix
* Update
* Improve sealed array foreach logic
* get_object_vars on template properties
* Fix sealed array assertion reconciler logic
* Improved reconciler
* Add tests
* Single source of truth for test types
* Fix tests
* Fixup tests
* Fixup tests
* Fixup tests
* Update
* Fix tests
* Fix tests
* Final fixes
* Fixes
* Use list syntax only when needed
* Fix tests
* Cs-fix
* Update docs
* Update docs
* Update docs
* Update docs
* Update docs
* Document missing types
* Update docs
* Improve class-string-map docs
* Update
* Update
* I love working on psalm :)
* Keep arrays unsealed by default
* Fixup tests
* Fix syntax mistake
* cs-fix
* Fix typo
* Re-import missing types
* Keep strict types only in return types
* argc/argv fixes
* argc/argv fixes
* Fix test
* Comment-out valinor code, pinging @romm pls merge https://github.com/CuyZ/Valinor/pull/246 so we can add valinor to the psalm docs :)
2022-11-05 22:34:42 +01:00
kkmuffme
2c47d06968
fix tests
2022-10-17 16:25:43 +02:00
7b6e09afc9
Merge branch 'merge_4.x' into immutable_readonly_3
2022-10-17 12:58:41 +02:00
cbd1a27ea7
Merge branch 'master' into merge_4.x
2022-10-16 13:49:21 +02:00
748a74bb2c
Merge remote-tracking branch 'origin/4.x' into HEAD
2022-10-16 13:41:27 +02:00