Yannick Gottschalk
85a1c83591
Added to documentation and tests that api
can be used instead of psalm-api
2023-03-20 13:34:44 +01:00
Yannick Gottschalk
a4895c3588
Added to documentation that psalm-api
can be used on methods
2023-03-20 13:34:44 +01:00
Jack Worman
703a1e1698
@psalm-api
2022-12-23 16:13:46 -06:00
Matthew Brown
a79255cc99
Remove strict-
2022-11-11 20:43:19 -05: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
748a74bb2c
Merge remote-tracking branch 'origin/4.x' into HEAD
2022-10-16 13:41:27 +02:00
Daniel Schmelz
9c67b85f39
Fix typos
2022-08-20 23:29:03 +02: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
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
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
15fccc6a07
Add docs
2021-09-21 17:35:44 +02:00
orklah
0d524ecd5b
adding documentation about @no-named-arguments and allowNamedArgumentCalls ( #5654 )
2021-04-21 01:02:25 -04:00
Jacob Dreesen
5777c00073
Add missing opening PHP tag in the docs ( #5617 )
...
* Add missing opening PHP tag in the docs
* Fix typo
2021-04-12 23:50:52 -04:00
Matt Brown
012dafad79
Fix #5383 - prevent unsound use of new static for generics
2021-04-10 13:16:19 -04:00
sji
19554de6f6
Add @ignore-var
and @psalm-ignore-var
( #5488 )
...
* add `@ignore-var` and `@psalm-ignore-var`
* Change two words
Co-authored-by: Matthew Brown <github@muglug.com>
2021-03-26 21:20:23 -04:00
Matthew Brown
1c6a966e40
Remove heading for non-existent annotation
2021-03-01 00:03:59 -05:00
Jeremiasz Major
e7bfcf8f82
Fix broken links in documentation ( #4730 )
...
* Fix links in documentation
* Fix more links
2020-11-28 21:03:09 -05:00
Bruce Weirdan
fc29d26879
Added test to enforce that all supported annotations are documented ( #4723 )
...
* Added test to enforce that all supported annotations are documented
Well, at least mentioned.
Refs vimeo/psalm#3816
* Type things
* Make things pretty
* Only check @psalm- annotations, group
* Add documentation for `@psalm-require-extends` and `@psalm-require-implements`
* Dropped logicalOr that has become redundant
* Add explicit tag
* Document @psalm-template
* Add @psalm-template-covariant
* Document `@psalm-method`
* Add list of undocumented docblock annotations
Co-authored-by: Matthew Brown <github@muglug.com>
2020-11-27 21:48:16 -05:00
orklah
f19cac6ecf
add annotation @psalm-param-out ( #4717 )
...
* add annotation @psalm-param-out
* add tag in documentation
2020-11-27 17:05:26 -05:00
Marco Perone
641e7d7008
add documentation for pure-callable ( #4329 )
2020-10-14 19:59:44 -04:00
Leighton Thomas
2b5b255ad1
Fix #3543 - add documentation for @psalm-type and @psalm-import-type ( #4291 )
2020-10-06 18:58:25 -04:00
Barney Laurance
7ed5e32840
Update docs on @psalm-internal as @internal no-longer has to be used at same time ( #3911 )
...
See #42ad366dc8ccaf34
2020-07-30 14:09:14 -04:00
Olle Härstedt
948be8243e
Add @method to docs ( #3595 )
...
* Add @method
* Fix links
2020-06-16 22:20:34 -04:00
Matthew Brown
aff2805794
Add annotations ref
2020-06-16 20:55:39 -04:00
Anton Ukhanev
5b35e022f6
Fix link ( #3304 )
...
This fixes link to PHPDoc's type syntax documentation. It appears that they have added an extra URL segment to represent the doc version.
2020-05-06 09:55:57 -04:00
m0003r
28f740fddb
@psalm-trace is now a specific low-level issue, because plain debug print breaks structured output (after #3080 ) ( #3106 )
2020-04-08 21:03:05 -04:00
m0003r
11edb22c72
Implement @psalm-trace annotation, fixes #3079 ( #3080 )
2020-04-06 12:42:22 -04:00
iggyvolz
94b246b987
Initial commit ( #3013 )
2020-03-24 18:32:57 -04:00
Matthew Brown
476480ef41
Add opening <?php tags to all PHP snippets
2020-03-21 09:24:41 -04:00
Matthew Brown
106102d0a5
Add line break
2020-02-23 00:41:19 -05:00
Matthew Brown
b3f6b56f9c
Add support for @psalm-readonly-allow-private-mutation
2020-02-02 15:56:08 -05:00
Matthew Brown
93c613b5a3
Adjusted for actual implementation
2020-02-02 15:39:24 -05:00
Christian Kolb
fd6cdf61c7
Update naming to mutate
2020-02-02 15:39:24 -05:00
Christian Kolb
143756800f
Add documentation for new @psalm-private-set annotation
2020-02-02 15:39:24 -05:00
Pavel Batečko
87debfe954
Support suppressing all issues with @psalm-suppress all ( #2584 )
...
* Support suppressing all issues using @psalm-suppress all
* Document @psalm-suppress all
2020-01-12 10:38:32 -05:00
LeSuisse
88c496121e
Add an example on how to use @psalm-immutable
annotation with an anonymous class ( #2544 )
...
Related to #2543
2020-01-02 14:09:11 -05:00
Jacob Dreesen
34d98f9f42
Fix description of @psalm-external-mutation-free ( #2110 )
2019-09-09 14:52:30 -04:00
Brown
56c884845f
Static methods inside @psalm-immutable class should be permitted
...
Fixes #2109
2019-09-09 10:38:55 -04:00
Matthew Brown
f8b8f35c03
Add docs for @psalm-pure
2019-09-08 15:25:12 -04:00
Matthew Brown
5d08c47e4b
Add docs for immutable ideas
2019-09-08 15:21:30 -04:00
Tyson Andre
220513c5f2
Fix typos with codespell ( #1870 )
2019-06-28 13:59:09 -04:00
Matthew Brown
51e31ba9c9
Add separate file for adding_assertions
2019-06-19 14:19:40 -04:00
Matthew Brown
74a96a95d0
Add assertion syntax docs ( #1810 )
...
* Create assertion_syntax.md
* Add more
* Add more details
* Add link to assertions
2019-06-19 01:09:46 -04:00
Matthew Brown
7a1a728cee
Move docs into subfolders
2019-06-09 00:54:13 -04:00