Matthew Brown
d450b40da8
Remove some logic that didn't need to be there ( #9209 )
...
* Remove check to see what breaks
* Simplify following logic
* Add tests from @kkmuffme‘s branch
* Reduce scope of fix
* Clean up logic a little
* Add failing test
* Improvements
* Fix for non-Paradoxical Condition result
2023-02-03 21:08:16 -05:00
Bitwise Operators
a1ad738889
docs: Add information on pure-callables to documentation (see #9132 )
2023-01-19 08:39:07 +01:00
Jack Worman
56f6dfecc8
Report unused baseline entries
2023-01-17 22:02:21 -05:00
Jack Worman
f9aa2d5ad3
Support constants in traits
2023-01-17 16:37:44 -05:00
maniaba
d9c66c93ca
Update ForbiddenCode.md
2023-01-13 11:21:34 +01:00
0f7eed0dca
fixes
2022-12-30 21:51:27 +01:00
9b4857a606
Fix
2022-12-30 21:48:28 +01:00
2a7043a7fb
Fix remaining markdown header
2022-12-30 21:46:54 +01:00
orklah
406946d4c4
Merge pull request #9031 from danog/misc_fixes
...
Misc fixes
2022-12-30 21:28:11 +01:00
9684be9d73
More markdown fixes
2022-12-30 21:02:59 +01:00
0b67844420
Improve variable naming and improve docs
2022-12-30 21:00:38 +01:00
orklah
dbcfe62c52
Merge pull request #8987 from jack-worman/Always_check_unused_methods_and_properties
...
Add @psalm-api annotation
2022-12-28 15:20:48 +01:00
Jack Worman
f9e9aad990
restrictReturnTypes configuration
2022-12-24 11:25:56 -06:00
Jack Worman
703a1e1698
@psalm-api
2022-12-23 16:13:46 -06:00
David Schwarz / Ringsdorf
3e1dd8d190
doc: FilterIterator
added to list of built-in templates.
2022-12-17 07:02:07 +01: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
Bruce Weirdan
19a1005bc3
Forbid most magic methods on enums
...
Fixes vimeo/psalm#8889
Additionally this fixes case-sensitivity of
MethodSignatureMustOmitReturnType issue
Fixes vimeo/psalm#8888
2022-12-12 03:03:20 -04:00
John Cornell
153f8224d1
Fixed typo
2022-12-08 14:42:56 -05:00
Barney Laurance
d6c7c86362
Remove unecassary subheadings in error levels documentation
2022-12-02 00:07:37 +00:00
Barney Laurance
cd18cdc554
Re-order list of errors in docs
...
I think it makes more sense to have the errors that almost always appear
(level 7 errors) next to the errors that always appear, instead of
the level 1, least likely to appear errors being next to the ones that
always appear.
This also makes the order more similar to that output by the new
--by-issue-level format report.
Some time it might be nice to see if there's a way to auto generate most
of this docs page from the actual issue class definitions, or have
a test that checks the list of issues for each level is accurate and
complete.
2022-12-02 00:04:43 +00:00
Payton Bice
02329227d8
Adds documentation for the forbiddenFunctions
config option
2022-12-01 13:42:02 -05:00
sasezaki
de33d94802
Update installation.md - 5
requires PHP >= 7.4
2022-12-02 00:35:56 +09:00
Maciej Malarz
28188d113a
Remove unfinished sentence
2022-11-29 23:52:27 +01:00
orklah
763556745b
improve docs and phrasing about NoValue
2022-11-24 20:56:49 +01:00
orklah
b3fadbc5c1
improve docs and phrasing about NoValue
2022-11-24 20:52:49 +01:00
orklah
4d358c4be9
improve docs and phrasing about NoValue
2022-11-24 20:49:34 +01:00
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
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
Bruce Weirdan
0f528d05f7
Update docs/running_psalm/issues/InvalidEnumCaseValue.md
2022-11-10 20:26:37 -04:00
Bruce Weirdan
6effd1bd2d
Flag invalid enum case value types
...
Fixes vimeo/psalm#8267
2022-11-10 19:55:18 -04:00
Thomas Landauer
c51d3665eb
Removing list
...
see https://github.com/vimeo/psalm/pull/8696#issuecomment-1310677110
2022-11-10 20:19:02 +01:00
Bruce Weirdan
4d53d26f00
Merge pull request #8689 from Nicelocal/fix_formatting
2022-11-10 13:21:37 -04:00
Thomas Landauer
0c102a244e
Fixing code formatting
2022-11-10 16:59:04 +01: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
webmaster777
c6c6d083e1
Update PossiblyFalseReference.md
...
Typo than -> that
2022-10-26 19:52:31 +02:00
Zena Hirsch
459fdcd588
Fix typo: "unitialized"
2022-10-19 14:36:43 -04:00
Pavel Chaplygin
48da8342ad
Docs: Fix minor php syntax issues in code examples
2022-10-18 14:57:50 +03: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
kkmuffme
b68ac865e1
add docs
2022-09-24 10:44:12 +02:00
kkmuffme
7cdad99645
add RiskyCast
2022-09-19 21:54:16 +02:00
orklah
3b7e508c78
Merge pull request #8473 from kkmuffme/detailed-superglobal-types
...
make superglobals more specific
2022-09-19 10:48:44 +02:00
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
kkmuffme
5c39e66b15
fix tests
2022-09-15 19:38:51 +02:00
Daniel Schmelz
9c67b85f39
Fix typos
2022-08-20 23:29:03 +02:00
Thomas Landauer
f87becfb3b
Adding note about referencedMethod
...
Info is taken from https://github.com/vimeo/psalm/issues/2297#issuecomment-549480186
2022-08-13 16:14:51 +02:00
AndrolGenhald
66ebf4a55c
Rename TKeyOfArray to TKeyOf.
2022-07-18 14:44:29 -05:00
AndrolGenhald
b51b5ac903
Allow value-of
to work with backed enums ( fixes #7874 ).
2022-07-18 14:10:06 -05:00
AndrolGenhald
285740a753
Merge branch '4.x'
2022-07-07 15:01:38 -05:00
Thomas Landauer
3bca297fba
Bringing back <?php
2022-06-21 22:45:45 +02:00
Thomas Landauer
80bcc8b5e3
Improving second link too :-)
2022-06-21 21:55:32 +02:00
Thomas Landauer
7201f0941b
Improving link syntax
2022-06-21 20:56:20 +02:00
Thomas Landauer
fd2683fcc6
Adding common problem cases and possible solutions
...
See https://github.com/vimeo/psalm/issues/8133#issuecomment-1162010190
Don't know if this is the best way to explain this, but it's a start :-)
Is there a better way to add the link to https://psalm.dev/docs/annotating_code/supported_annotations/#psalm-mutation-free ?
I also removed the `<?php` tag from the code block.
2022-06-21 20:23:23 +02: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
orklah
ec9a9994f5
Merge pull request #8022 from AndrolGenhald/bugfix/8018-improve-failure-case-for-references
...
Improve handling of unsupported references (fixes #8018 ).
2022-05-27 19:09:05 +02:00
Rudolph Gottesheim
6f00a72446
Fix a typo in MissingConstructor.md
2022-05-27 11:04:00 +02:00
AndrolGenhald
31b4dceaf4
Improve handling of unsupported references ( fixes #8018 ).
2022-05-26 18:28:23 -05:00
Mathieu Rochette
9b2cf438a5
fix small error in plugins_type_system.md
...
int-mask → int-mask-of
2022-05-02 11:08:51 +02:00
Matt Brown
2ef993928c
Document @psalm-ignore-variable-*
2022-04-27 01:46:13 -04:00
Matt Brown
20351c6667
Avoid json_encode when serializing non-UTF8 literals
...
`\Psalm\Internal\Clause::$hash` basically holds a hash on
arbitrary input literals, used for later comparison. Using
`json_encode` fails when dealing with non-UTF8 literals,
which has been replaced by plain PHP `serialize`.
Resolves : #7771
2022-04-27 01:42:37 -04:00
Mark McEver
6e3c305dc0
Documented the allowMissingFiles attribute for ignoreFiles
2022-04-14 10:03:21 -05:00
Mark McEver
ea424d79a6
Merge branch 'master' into master
2022-04-13 12:30:37 -05:00
Mark McEver
d28ead12e0
Documented the allowMissingFiles attribute for ignoreFiles
2022-04-13 12:29:06 -05: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
Jordi Boggiano
1eb8b5a853
without with
2022-03-23 14:49:51 +01:00
Jordi Boggiano
88a93294b4
Fix int-mask-of doc example
2022-03-23 12:19:07 +01:00
e7ec124ebb
Add documentation for maxStringLength and maxShapedArraySize configs
2022-03-15 11:05:57 +01:00
d4170feb0f
Add documentation for maxStringLength and maxShapedArraySize configs
2022-03-15 10:14:36 +01: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
51f3b9869b
docs: add properties-of type to plugins type system
2022-02-24 18:50:35 +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
Bruce Weirdan
d7d846edc8
Merge branch '4.x' into upstream-master
2022-02-20 02:31:15 +02:00
AndrolGenhald
c1077f32d3
Improve documentation for InvalidGlobal to explain that it's sometimes valid.
2022-02-18 11:36:25 -06:00
AndrolGenhald
bd963e4baa
Fix issue documentation links.
2022-02-17 13:04:25 -06: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
eb3df40fbb
Add option to disable @var parsing everywhere except for properties.
2022-02-15 10:04:56 +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
85fca56850
remove totallyTyped
2022-02-12 10:19:14 +01:00