1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-04 18:48:03 +01:00
Commit Graph

158 Commits

Author SHA1 Message Date
Matthew Brown
56bc854d8e
Remove value types navigation 2022-11-12 14:58:36 -05:00
Matthew Brown
86c0ec0d01
Remove utility types navigation 2022-11-12 14:58:13 -05:00
Matthew Brown
543d8ab83b
Remove unnecessary navigation 2022-11-12 14:57:28 -05:00
Matthew Brown
1af691c83f
Remove more unnecessary navigation section 2022-11-12 14:53:48 -05:00
Matthew Brown
2771864d27
Remove unnecessary » 2022-11-12 14:52:47 -05:00
98a5dc313d
Cleanup documentation (#8702)
* Cleanup documentation

* Cleanup

* Cleanup
2022-11-12 14:50:46 -05:00
Matthew Brown
a79255cc99
Remove strict- 2022-11-11 20:43:19 -05:00
Matthew Brown
256d9ac1a5
Remove strict-array from docs 2022-11-11 20:42:06 -05:00
f8b9e97592 Fix heading indentation 2022-11-09 12:28:57 +01:00
9c23824b08 Try fix formatting 2022-11-09 10:17:38 +01:00
2e04aff60f Fix docs 2022-11-08 20:34:26 +01:00
0d0e965042 Fix typo 2022-11-08 17:54:43 +01:00
a341863db2 Fix typo 2022-11-08 17:54:03 +01:00
c720e41469 Better docs 2022-11-08 16:00:00 +01:00
383cec6863 Add missing docs 2022-11-08 10:29: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
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
ADmad
9bd4d7a740 Fix template param for SplDoublyLinkedList.
It's key is always an integer.
2022-10-14 11:54:53 +05:30
orklah
89b034acaf
Merge pull request #8492 from HypeMC/consistent-docs-examples
Make template constraints examples in docs consistent
2022-09-18 11:23:21 +02:00
HypeMC
014cddb9dd Document the object with properties syntax 2022-09-17 23:46:19 +02:00
HypeMC
ee16caf596 Make template constraints examples in docs consistent 2022-09-17 22:20:01 +02:00
Daniel Schmelz
9c67b85f39
Fix typos 2022-08-20 23:29:03 +02:00
AndrolGenhald
285740a753 Merge branch '4.x' 2022-07-07 15:01:38 -05:00
Barney Laurance
c064edcbb7
use backticks in docs 2022-06-06 18:26:35 +01:00
Barney Laurance
a7c92661fa
Use int<1,max> to define positivity 2022-06-06 17:05:59 +01:00
Barney Laurance
99372a2286
Clarify in docs that zero is not considered a positive-int
I wasn't sure from reading the docs whether or not Psalm consider zero to be positive.
2022-06-06 16:13:30 +01:00
Matt Brown
2ef993928c Document @psalm-ignore-variable-* 2022-04-27 01:46:13 -04:00
Jeremiasz Major
ce25b39b5d
Document @psalm-ignore-variable-* 2022-04-08 00:30:23 +02:00
Jeremiasz Major
23ad8d6684
Fix typos 2022-04-07 21:50:19 +02:00
Jeremiasz Major
f4f1a26cf9
Document @psalm-yield 2022-04-07 21:43:12 +02:00
Patrick Remy
95de0c8dd6
docs: add key-of and value-of to utility types chapter 2022-02-24 18:50:57 +01:00
Patrick Remy
8ebc9b599f
docs: describe template support of properties-of<T> 2022-02-23 21:53:02 +01:00
Patrick Remy
5e74445f70
docs: add utility types chapter 2022-02-22 20:51:17 +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
orklah
85fca56850 remove totallyTyped 2022-02-12 10:19:14 +01:00
orklah
841d4f4429 improve support for enum_exists 2022-01-22 18:27:24 +01:00
Bruce Weirdan
e6472deddb
Dropped html-escaped-string docs 2022-01-03 20:54:22 +02:00
Matthew Brown
83911c7408
Remove unnecessary references to empty in TypeCombiner 2022-01-03 04:10:41 +02:00
orklah
0747b48d06
remove TEmpty 2022-01-03 04:09:59 +02:00
AndrolGenhald
dd631c0c85 Skip reference tests, allow assertions on magic properties (fixes #6770). 2021-12-30 16:23:59 -06:00
5fae548e62
Add template support to @psalm-self-out 2021-10-28 10:44:37 +02:00
Mathieu Rochette
3f2733ed2c
Small documentation fix 2021-10-21 15:08:42 +02:00
Bruce Weirdan
f328610142
Update docs/annotating_code/type_syntax/scalar_types.md 2021-10-04 23:45:47 +03:00
sasezaki
f03f362431
Declare html-escaped-string is deprecated on doc 2021-10-04 21:00:54 +09:00
15fccc6a07
Add docs 2021-09-21 17:35:44 +02:00
orklah
4602e4ae22 change definition of list regarding is_list RFC 2021-09-05 23:03:55 +02:00
USAMI Kenta
4985109e56
Remove unnecessary [ 2021-08-12 12:08:00 +09:00
Simon
f80ea4a623 Docs: Add example for method call assertions 2021-07-04 21:34:22 +02:00
Matthew Brown
b1b1072f41
Fix formatting 2021-06-16 11:53:45 -04:00