1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-14 10:17:33 +01:00
Commit Graph

212 Commits

Author SHA1 Message Date
Matt Brown
5c1d8489da Improve test cases 2021-06-10 12:57:13 -04:00
Bruce Weirdan
86050df4d0
Formally deprecate allowCoercionFromStringToClassConst ()
* Mark allowCoercionFromStringToClassConst as deprecated in xml schema

* Emit deprecation warning for `allowCoercionFromStringToClassConst`
2021-06-07 10:46:26 -04:00
Oliver Hader
e457a7d5af
[FEATURE] Allow plugins to declare their custom scanner or analyzer ()
* [FEATURE] Allow plugins to declare their custom scanner or analyzer

Related: 

* [TEST] Check plugin declaring own scanner/analyzer

* [TASK] Document plugins declaring scanner or analyzer

* [TEST] Clean up code

* [!!!][TASK] Extend Psalm\Plugin\RegistrationInterface

* add method `addFileTypeScanner(string $fileExtension, string $className): void`
* add method `addFileTypeAnalyzer(string $fileExtension, string $className): void`

* [TASK] Ignore IntelliJ/PhpStorm workspace folder in VCS

* [TASK] Remove superfluous class import
2021-06-04 15:32:53 -04:00
Bruce Weirdan
c98b20247b
Flag unexpected tags on function docblocks ()
* Flag unexpected tags on function docblocks

Fixes 

* Document new issue

* Fix spacing

Co-authored-by: Matthew Brown <github@muglug.com>
2021-05-28 09:47:39 -04:00
yoshifp
110c9ef4e1
Fix typo in configuration.md () 2021-05-20 10:58:17 -04:00
Vincent Langlet
587b144f0e
Check for ParamName even for method with only one param ()
* Check for ParamName even for method with only one param

* Fix tests
2021-05-08 19:33:48 -04:00
orklah
0d524ecd5b
adding documentation about @no-named-arguments and allowNamedArgumentCalls () 2021-04-21 01:02:25 -04:00
Matt Brown
012dafad79 Fix - prevent unsound use of new static for generics 2021-04-10 13:16:19 -04:00
AndrolGenhald
3ce41d71a4
Clean up issues list, add documentation to help with named variadic confusion. ()
* Clean up issues list, add documentation to help with named variadic confusion.

* Add ComplexFunction and ComplexMethod back to issues list.

I removed them because the documentation files don't exist, but they're used and the documentation just needs to be added.
2021-03-29 15:10:49 -04:00
AndrolGenhald
de5a031088
Improve @no-named-arguments support and variadics. ()
* Improve @no-named-arguments support and variadics.

Handling of argument unpacking and variadics still needs a pretty big makeover, but this is a good start.

Fixes 
Improves  (iterable works, array still causes issues)

* Remove unneeded imports.
2021-03-22 19:58:22 -04:00
Markus Staab
5747f1df14
docs: mention default level ()
* docs: mention default level

* Update error_levels.md
2021-03-11 00:06:02 -05:00
Tobias Nyholm
ed6fdaaca9
[Doc] Show how to install the phar by direct download () 2021-02-24 16:22:40 -05:00
Matt Brown
4d76f7545c Allow property type invariance on templated properties
This is a bit of a hack – the comparison should be similar to the ones done in MethodComparator, but this avoids false-positives for now
2021-02-07 01:45:48 -05:00
Matt Brown
f2d202e2bb Add less severe issue for docblock property type invariance cc @bdsl
This is less likely to break everything
2021-02-07 00:52:29 -05:00
Bruce Weirdan
04bb2b1182
Prevent invalid Traversable implementation ()
* Prevent invalid Traversable implementation

Fixes 

* Document new issue

* CS fix
2021-02-06 22:10:05 -05:00
Oliver Hader
56b7cb2423
[TASK] Update documentation ()
* [TASK] Fix code highlighting in documentation

* [TASK] Document stubs.file.preloadClasses configuration
2021-02-06 22:04:44 -05:00
Barney Laurance
0cd5442c47
Enforce property type invariance ()
* Implement NonInvariantChildProperty detection

See https://github.com/vimeo/psalm/issues/4184

* Delete test cases with 'parentSetsWiderTypeInConstructor'

As I understand it these are not valid test cases. They
emit NonInvariantPropertyType issues which seems correct - the property
type variation is I think a latent bug in the sample code.

* Reduce shortcode for NonInvariantPropertyType to 1+max used shortcode on master
2021-01-31 11:32:24 -05:00
Franz Zieris
e2e7efb949
Update installation.md ()
Make sure URL is rendered as a link
2021-01-30 20:28:41 -05:00
yaegassy
7ce5b7ec13
docs: Update config of vim-lsp in language_server.md () 2021-01-27 20:46:56 -05:00
Oliver Hader
546283b71a
Update documentation for taints and global configuration ()
* [DOCS] Extend documentation on global variables configuration

* [DOCS] Synchronize meaning of @psalm-taint-source input with source code

* [DOCS] Add documentation for conditional @psalm-taint-escape

* [DOCS] Add documentation for @psalm-taint-unescape
2021-01-25 11:04:00 -05:00
Bruce Weirdan
0489dd1fd8
Use separate exit code to indicate Psalm finding issues ()
* Use separate exit code to indicate Psalm finding issues

This will allow to distinguish successful run that found some issues
from crashes.

* Fix e2e test expectations

* Documented exit statuses
2021-01-24 13:30:35 -05:00
Matthew Brown
e1c8050850
Update language_server.md 2021-01-07 08:48:33 -05:00
orklah
f9fccb2b2d
implement DTO for plugins ()
* implement DTO for plugins

* introduce EventHandler + reintroduce legacy API for plugins
2021-01-06 09:05:53 -05:00
Matthew Brown
7764a4ce6c Fix - detect mismatching property type 2020-12-29 16:37:03 +00:00
orklah
ab5ddb1514
[Doc] Add an example to explain how to handle plugin issues () 2020-12-29 11:43:07 +00:00
Matt Brown
e7f9ce6da0 Break out RedundantCast issues 2020-12-01 17:25:45 -05:00
Matt Brown
62493d5ac3 Update master issue list 2020-11-29 23:23:10 -05:00
Matt Brown
73c6f0156a Add to error_levels.md 2020-11-29 23:21:09 -05:00
orklah
b60c42adca
improve Atomic Types documentation ()
* improve Atomic Types documentation

* add doc

* add doc
2020-11-29 21:41:36 -05:00
Matthew Brown
60ac109c01
Add RedundantPropertyInitializationCheck ()
* Add RedundantPropertyInitializationCheck

* add documentation for RedundantPropertyInitializationCheck ()

Co-authored-by: orklah <orklah@users.noreply.github.com>
2020-11-29 11:57:20 -05:00
orklah
e2030b4a1e
fix () 2020-11-28 09:03:03 -05:00
Matthew Brown
9823824608
Add example from @ludofleury's solution 2020-11-23 17:25:30 -05:00
Lukas Reschke
a36c1af846
Add more verbose description for TaintedHtml ()
Ref https://github.com/vimeo/psalm/issues/4590
2020-11-22 19:14:48 -05:00
Matt Brown
2c77424e16 Fix - separate UnusedConstructor from UnusedMethod 2020-11-22 11:48:17 -05:00
Matt Brown
78d644d1a1 Change TaintedText to TaintedCallable 2020-11-19 19:01:19 -05:00
Lukas Reschke
78f4a0691c
Add dedicated types for 'file', 'header' and 'cookie' ()
* [WIP] Add dedicated sinks for 'file', 'header' and 'cookie'

* Add documentation

* Add mapping for taint flows

* Add tests

* Fix test
2020-11-19 17:47:29 -05:00
Mikhail Snetkov
20c78ae29b
Fix missing bracket in docs () 2020-11-19 08:43:39 -05:00
Lukas Reschke
ddbfbb28e6
Split LDAP into custom category ()
- Adds ldap_escape as sanitizer
- Defines the right parameters to ldap_search as sink
- Wrote documentation
- Added tests
2020-11-18 11:39:36 -05:00
Lukas Reschke
5ba4681c17
Add SSRF sinks () 2020-11-18 00:52:48 -05:00
Matt Brown
74749d20cc Improve documentation for taints a little
Ref 
2020-11-17 16:03:50 -05:00
Matt Brown
43af3b1a57 Break out TaintedInput issues into a lot of separate ones 2020-11-17 12:44:31 -05:00
Lukas Reschke
5df2b771aa
Fix typo () 2020-11-15 20:28:51 -05:00
Matthew Brown
43f6921efa
Update MixedOperand.md 2020-11-08 14:41:08 -05:00
Matt Brown
579327a470 Detect when targets are incorrectly targeted 2020-10-30 13:28:45 -04:00
Matt Brown
a3755a1d1f Fix tests 2020-10-27 22:29:49 -04:00
Matthew Brown
42c9f017f9
Experiment with PHP 7.1 compatibility ()
* Experiment with PHP 7.1 compatibility

* Let’s hop
2020-10-26 15:14:48 -04:00
Matt Brown
40dddc5e3f Add docs 2020-10-24 00:14:27 -04:00
Niclas van Eyk
0261024aa6
Initial proposal for psalm-require-{extends, implements} ()
* initial implementation of psalm-require-extends

* Added @psalm-require-implements

* Added shortcode for ExtensionRequirementViolation

* Docs & cofig entries for @pasalm-require-{implements,extends}

* Added requirement violations to issues.md
2020-10-19 15:08:18 -04:00
Matthew Brown
9135f8e865
4.x ()
* Enable --diff mode by default

* Bump required version
2020-10-18 23:28:05 -04:00
Marco Perone
ece18cd9b5
provide documentation for ensureArrayIntOffsetsExist configuration option () 2020-10-14 19:59:28 -04:00