1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-03 10:07:52 +01:00
Commit Graph

781 Commits

Author SHA1 Message Date
Matthew Brown
6d09418a23
Detect unused return values (#5917)
* Detect unused return values

* Allow static-returning instance methods (presumed to be fluent)

* Make $is_used the default for Codebase::methodExists
2021-06-10 14:18:15 -04:00
Matt Brown
5c1d8489da Improve test cases 2021-06-10 12:57:13 -04:00
Bruce Weirdan
86050df4d0
Formally deprecate allowCoercionFromStringToClassConst (#5897)
* 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 (#5883)
* [FEATURE] Allow plugins to declare their custom scanner or analyzer

Related: #5882

* [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 (#5845)
* Flag unexpected tags on function docblocks

Fixes vimeo/psalm#5782

* Document new issue

* Fix spacing

Co-authored-by: Matthew Brown <github@muglug.com>
2021-05-28 09:47:39 -04:00
Ian Dunn
2a5afe3d03
Docs: Correct beeing typo (#5840) 2021-05-28 09:43:36 -04:00
yoshifp
110c9ef4e1
Fix typo in configuration.md (#5805) 2021-05-20 10:58:17 -04:00
Vincent Langlet
587b144f0e
Check for ParamName even for method with only one param (#5732)
* Check for ParamName even for method with only one param

* Fix tests
2021-05-08 19:33:48 -04:00
Matt Brown
ecd5e3b7ae Fix #5652 - use accurate type combination rules when replacing templated union 2021-04-22 00:33:49 -04:00
Benjamin Morel
3d908eda7e
Fix psalm-assert-is-false example (#5659) 2021-04-21 21:32:57 -04:00
orklah
0d524ecd5b
adding documentation about @no-named-arguments and allowNamedArgumentCalls (#5654) 2021-04-21 01:02:25 -04:00
Mark McEver
d773007f29
Added a missing word to the docs (#5644) 2021-04-19 11:46:22 -04:00
Mark McEver
37496cde05
Added a missing word to the docs 2021-04-19 10:18:25 -05: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
AndrolGenhald
3ce41d71a4
Clean up issues list, add documentation to help with named variadic confusion. (#5511)
* 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
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
AndrolGenhald
de5a031088
Improve @no-named-arguments support and variadics. (#5455)
* 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 #5420
Improves #5453 (iterable works, array still causes issues)

* Remove unneeded imports.
2021-03-22 19:58:22 -04:00
Andrii Dembitskyi
38171934cf
Fix anchor to class-string type in documentation (#5362) 2021-03-11 00:14:57 -05:00
Markus Staab
5747f1df14
docs: mention default level (#5340)
* docs: mention default level

* Update error_levels.md
2021-03-11 00:06:02 -05:00
Matthew Brown
ad8c04ce17
Add section about verifiable docblocks 2021-03-01 00:14:24 -05:00
Matthew Brown
1c6a966e40
Remove heading for non-existent annotation 2021-03-01 00:03:59 -05:00
Matthew Brown
3e3a44b479
Update philosophy.md 2021-02-28 15:09:19 -05:00
Matthew Brown
a1be12886e
More thoughts 2021-02-28 14:57:49 -05:00
Matthew Brown
21742497d6
Add header 2021-02-28 14:49:53 -05:00
Matthew Brown
073c73e700
Update philosophy.md 2021-02-28 14:46:02 -05:00
Matthew Brown
f074be9df2
Update philosophy.md 2021-02-28 14:43:55 -05:00
Matthew Brown
21306848dc
Update philosophy.md 2021-02-28 14:41:54 -05:00
Matthew Brown
0920e46f5e
Fix links 2021-02-28 14:38:55 -05:00
Matthew Brown
e6d9791544
Update philosophy.md 2021-02-28 14:35:14 -05:00
Matthew Brown
9eea78bf60
More link fixes 2021-02-28 14:34:59 -05:00
Matthew Brown
a73fd8ca6d
fix link 2021-02-28 14:34:14 -05:00
Matthew Brown
be1e6949b8
Numbers are lame 2021-02-28 14:32:48 -05:00
Matthew Brown
4147d96881
Update philosophy.md 2021-02-28 14:32:10 -05:00
Matthew Brown
544a6f3b6c
Fix nesting 2021-02-28 14:09:19 -05:00
Matthew Brown
fafa584ad3
Add link to philosophy doc 2021-02-28 14:04:33 -05:00
Matthew Brown
26338350d9
Update philosophy.md 2021-02-28 14:02:18 -05:00
Matthew Brown
ca57e80e30
Add philosophy doc 2021-02-28 13:58:32 -05:00
elnoro
71064cf258
fixed typo in contributing/index.md (#5281) 2021-02-25 17:43:21 -05:00
Tobias Nyholm
ed6fdaaca9
[Doc] Show how to install the phar by direct download (#5274) 2021-02-24 16:22:40 -05:00
Jacob Dreesen
38d9234781
Fix some typos in the docs (#5245) 2021-02-17 16:37:19 -05:00
Matt Brown
a45b5e2ae0 Add detail about non-empty-string 2021-02-10 12:20:36 -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 (#5171)
* Prevent invalid Traversable implementation

Fixes vimeo/psalm#5167

* Document new issue

* CS fix
2021-02-06 22:10:05 -05:00
Oliver Hader
56b7cb2423
[TASK] Update documentation (#5163)
* [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 (#5131)
* 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 (#5130)
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 (#5117) 2021-01-27 20:46:56 -05:00
Oliver Hader
546283b71a
Update documentation for taints and global configuration (#5098)
* [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 (#5087)
* 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
Adrien LUCAS
6f1f680b2d
Add option to dump taint graph (#5080)
* Add option to dump taint graph

* Fix types

* Simplify types

Co-authored-by: Matthew Brown <github@muglug.com>
2021-01-22 16:04:15 -05:00
Matthew Brown
e1c8050850
Update language_server.md 2021-01-07 08:48:33 -05:00
orklah
f9fccb2b2d
implement DTO for plugins (#4881)
* implement DTO for plugins

* introduce EventHandler + reintroduce legacy API for plugins
2021-01-06 09:05:53 -05:00
Matthew Brown
7764a4ce6c Fix #4912 - 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 (#4908) 2020-12-29 11:43:07 +00:00
orklah
1d9987e0ed
fix phpdoc (#4905) 2020-12-29 11:42:41 +00:00
Matthew Brown
cc2933de35
Improve feature list 2020-12-19 18:09:05 +00:00
Matt Brown
e7f9ce6da0 Break out RedundantCast issues 2020-12-01 17:25:45 -05:00
Matt Brown
c000d53859 More to contributing docs 2020-11-30 01:36:12 -05:00
Matthew Brown
9a095e4428
Fix out-of-date explanation. 2020-11-30 00:05:53 -05:00
Matt Brown
c3f0a5146d Add contributing section of docs 2020-11-29 23:51:09 -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 (#4735)
* improve Atomic Types documentation

* add doc

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

* add documentation for RedundantPropertyInitializationCheck (#4734)

Co-authored-by: orklah <orklah@users.noreply.github.com>
2020-11-29 11:57:20 -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
orklah
e2030b4a1e
fix #3282 (#4724) 2020-11-28 09:03:03 -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
Markus Staab
a174b4c415
Document more taint types (#4704)
* Document more taint types

Taken from the TaintKind enum

* Add more of a description

Co-authored-by: Matthew Brown <github@muglug.com>
2020-11-25 19:28:02 -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 (#4668)
Ref https://github.com/vimeo/psalm/issues/4590
2020-11-22 19:14:48 -05:00
Matt Brown
2c77424e16 Fix #4656 - separate UnusedConstructor from UnusedMethod 2020-11-22 11:48:17 -05:00
Matthew Brown
bf873b2e2a
Fix taint description 2020-11-20 19:51:59 -05:00
Matt Brown
78d644d1a1 Change TaintedText to TaintedCallable 2020-11-19 19:01:19 -05:00
Lukas Reschke
24fe7e577d
Advertise SARIF export in the documentation (#4633) 2020-11-19 17:48:57 -05:00
Lukas Reschke
78f4a0691c
Add dedicated types for 'file', 'header' and 'cookie' (#4630)
* [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 (#4614) 2020-11-19 08:43:39 -05:00
Lukas Reschke
ddbfbb28e6
Split LDAP into custom category (#4604)
- 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 (#4592) 2020-11-18 00:52:48 -05:00
Matt Brown
74749d20cc Improve documentation for taints a little
Ref #4590
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 (#4555) 2020-11-15 20:28:51 -05:00
Lukas Reschke
fd06167843
$expr->name is not prefixed with $ (#4554)
The example as-is would currently not flag the following code:

```
	public function foo() {
		$foo = $bad_data;
		\shell_exec($foo);
        } 
```

Switching it to `bad_data` made it work.
2020-11-15 20:28:24 -05:00
Matthew Brown
43f6921efa
Update MixedOperand.md 2020-11-08 14:41:08 -05:00
Matthew Brown
cc5e940b28
Update to more specific example 2020-11-06 17:56:39 -05:00
Matthew Brown
1f84b23f2a
Add @weirdan's fix 2020-11-06 17:53:39 -05:00
Matthew Brown
8f05cc994a
Add aka 2020-10-31 00:18:23 -04:00
Matthew Brown
4966754358
Fix brackets 2020-10-30 23:42:47 -04: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 (#4421)
* 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} (#4361)
* 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 (#4363)
* Enable --diff mode by default

* Bump required version
2020-10-18 23:28:05 -04:00
Marco Perone
641e7d7008
add documentation for pure-callable (#4329) 2020-10-14 19:59:44 -04:00
Marco Perone
ece18cd9b5
provide documentation for ensureArrayIntOffsetsExist configuration option (#4328) 2020-10-14 19:59:28 -04:00
feek
8d2db4e673
feature: universal object crates (#3948)
* feature: universal object crates

* docs: document universal object crate config option

Co-authored-by: Matthew Brown <github@muglug.com>
2020-10-07 09:56:21 -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
Matt Brown
3d9676c45e Update docs to match 4.x config flags 2020-10-05 10:11:46 -04:00
Matthew Brown
36374a19ed
Add vendor/bin 2020-10-03 10:30:05 -04:00
Matthew Brown
8ed34442d0
Update the managing section
cc @weirdan
2020-10-03 10:28:58 -04:00
Matthew Brown
fcc3df12de
Update the discovering plugins docs 2020-10-03 10:23:55 -04:00
Matthew Brown
4eb37fcb0b
Improve language 2020-10-03 01:45:58 -04:00
Matthew Brown
79c30c4a1a
Fix casing 2020-10-03 01:05:02 -04:00
Matt Brown
1839b3e701 Fix test 2020-10-02 21:01:55 -04:00
Matt Brown
30795281c6 Add config and docs for InvalidNamedArgument 2020-10-02 20:35:23 -04:00
Simon Podlipsky
f55e5ea9bb
Mention $XDG_CACHE_HOME in cache docs (#4268) 2020-10-02 15:08:47 -04:00
Matthew Brown
13fd6c5a9d
Add slightly better language 2020-10-02 15:07:55 -04:00
Bruno Ribarić
c23406fe36
Fix typo (#4261)
* Fix typo

* Remove word

Co-authored-by: Matthew Brown <github@muglug.com>
2020-09-30 17:48:49 -04:00
Matthew Brown
0fc59c4293
Add more accurate description of functionality 2020-09-30 16:12:18 -04:00
Claas Augner
3f8c91a64e
fix(docs): add missing issues to error levels (#4171) 2020-09-12 11:25:41 -04:00
Lexidor Digital
43d91665c6
[easy fix] Update example for @no-named-arguments (#4170)
The text mentions `@no-named-arguments`, but the example shows `@no-named-params`.
`@no-named-params` can not be found in the psalm source.
Updated example to `@no-named-arguments`.
[https://github.com/vimeo/psalm/search?q=no-named-params&unscoped_q=no-named-params](search for no-named-params) 1 result (this example)
[https://github.com/vimeo/psalm/search?q=no-named-arguments&unscoped_q=no-named-arguments](search for no-named-arguments) 2 results (this example and in CommentAnalyzer.php)
2020-09-11 23:36:10 -04:00
Adrien LUCAS
107f596f24
Document Xdebug usage (#4164)
* Document Xdebug usage

* Change to non-persistent approache

Co-authored-by: Bruce Weirdan <weirdan@gmail.com>

Co-authored-by: Bruce Weirdan <weirdan@gmail.com>
2020-09-11 23:35:37 -04:00
Brown
6d8641ac09 Fix documentation 2020-09-10 22:58:26 -04:00
Brown
6ffe471525 Make new InvalidLiteralArgument issue for strpos refs
Ref #4070
2020-09-10 22:54:32 -04:00
Brown
00ad09816f Fix tests 2020-09-10 19:05:47 -04:00
Alfred Bez
d9d8d28c2e
Document cacheDirectory behaviour (#4149) 2020-09-07 10:53:51 -04:00
Hans-Helge Buerger
8203150a5f
Fix link to template annotations (#4125) 2020-09-04 16:26:52 -04:00
orklah
c6ea274180
Config reportInfo to speed up analysis for big projects (#4095) 2020-09-01 09:22:05 -04:00
Brown
940459787a Catch unmatched matches 2020-08-31 22:59:47 -04:00
Alfred Bez
921b8e206c
InvalidClass is also reported if the casing in the namespace is wrong (#4090) 2020-08-31 10:05:03 -04:00
Brown
92239add4d Add some backwards-incompatible changes for 4.x 2020-08-30 11:44:14 -04:00
Markus Staab
fc50dd3acb
Docs: added more string types (#4080) 2020-08-28 14:37:46 -04:00
Markus Staab
58141d44ed
Docs: added callable-array (#4079)
* Docs: added callable-array

* Update array_types.md

* Add non-empty-array
2020-08-28 14:37:28 -04:00
Markus Staab
bb1d257aff
docs: added positive integer (#4078)
* docs: added positive integer

* added to toc
2020-08-28 12:55:50 -04:00
Brown
10f7031080 Prevent use of $this in pure functions 2020-08-23 18:37:46 -04:00
Matthew Brown
7e13ab9cc9 Fix docs 2020-08-23 13:03:25 -04:00
Michel Hunziker
3538fe1955
Add configuration attribute to find unused @psalm-suppress (#4041) 2020-08-22 10:01:26 -04:00
Olle
3630b4a2f9 Merge remote-tracking branch 'remotes/upstream/master' 2020-08-18 15:59:46 +00:00
Matthew Brown
f48a362fcd
Add reference to automatic fix 2020-08-17 11:58:30 -04:00
Brown
03ab279cc4 Add ParamNameMismatch fixing documentation 2020-08-17 11:57:27 -04:00
Bruce Weirdan
7adc25c421
Improve import errors (#3997)
* Better errors for invalid type imports

Fixes vimeo/psalm#3885

* Finishing touches

Docs, schema, CS

* Drop unused import

* Drop more unused imports
2020-08-16 22:53:53 -04:00
kesselb
669a843cb0
Fix wrong documentation for referenced variable (#3990) 2020-08-14 14:02:41 -04:00
Matthew Brown
72ecb57def Improve names of things 2020-08-14 00:27:33 -04:00
Farhad Safarov
057d2cc678
ForbiddenCode configure docs (#3989) 2020-08-13 09:21:13 -04:00
Bruce Weirdan
d5055ea1d4
Removed obsolete documenation (#3982)
`allowCoercionFromStringToClassConst` was removed in 3.0 and never
worked since.

Refs vimeo/psalm#3976
2020-08-11 07:30:09 -04:00
Brown
6def99d653 Add ConstructorSignatureMismatch issue distinct from MethodSignatureMismatch 2020-08-10 12:26:25 -04:00
lhchavez
ab3016af6e
Fix File-related analysis plugin hooks (#3970)
This change does a few things:

* Renames `BeforeAnalyzeFileInterface` to `BeforeFileAnalysisInterface`.
* Adds a few more parameters to `BeforeFileAnalysisInterface`.
* Since the analysis was never called due to a bug, the above two
  changes are safe to do.
* Fix the above-mentioned bug, and now adds the hooks to the config.
* Update the documentation about the File-related analysis plugin hooks.
* Add a test to ensure that this does not break again in the future.

Fixes: #3969
2020-08-10 10:49:53 -04:00
Matthew Brown
6085e42fc1 Detect mismatching param names effectively 2020-08-10 09:58:43 -04:00
Matthew Brown
855c62d256
Add more examples of added types 2020-08-09 08:36:20 -04:00
Tom Klingenberg
ea52b9d23a
Fix minor typos in docs (#3956)
While I was searching for some code, ran across these.
2020-08-08 08:09:41 -04:00
Brown
278addd93d Fix strtolower calls and docs 2020-08-05 21:46:15 -04:00
Brown
c0b0036109 Fix #3934 - prevent unsafe use of new static 2020-08-05 19:39:27 -04:00
Chad Edwards
c5f71b669c
Update MissingReturnType.md (#3942)
* Update MissingReturnType.md

It would be useful if these pages included the fix.

* Update MissingReturnType.md

Co-authored-by: Matthew Brown <github@muglug.com>
2020-08-05 15:48:18 -04:00
Brown
ad1920c3a2 Fix #3910 - improve handling of fgetcsv 2020-07-30 14:21:55 -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
Brown
5635070ec6 Fix documentation 2020-07-30 12:11:28 -04:00
Brown
6949a34ded Put RedundantIdentityWithTrue behind a flag cc @greg0ire 2020-07-30 10:25:59 -04:00
Matthew Brown
38f74815d6
Add MissingParamType documentation 2020-07-28 23:56:32 -04:00
Grégoire Paris
8fe1fbc085
Fix typo in filename (#3902) 2020-07-27 14:16:55 -04:00
Grégoire Paris
2f673fbbd7
Detect redundant identity with true (#3893)
Using === true on a known boolean results in the same boolean.
2020-07-25 17:27:45 -04:00
Jack Leigh
367d5947ae
Update MissingThrowsDocblock.md (#3878) 2020-07-24 09:33:50 -04:00
Barney Laurance
3bc91b9944
Fix multiple issues with @internal and @psalm-internal (#3841)
* Add passing tests for property fetch on an @internal class

I'm trying to work out why the equivilent InvalidCodeParse test is
failing for PsalmInternal

* Treat all properties of a psalm-internal class as psalm-internal

* Remove all $internal properties from storage - use psalm_internal instead

@internal can be represented as internal to the namespace root, avoiding
the need to check for both properties in storage later.

* Raise InternalClass issue when an internal class is used with e.g. instanceOf

* fix docs and tests

* Add return type declartion to code example in doc

* Don't allow class psalm-internal to overide a tighter method psalm-internal

* Break up long line

* Code style - move && from EOL to SOL

* Restore misplaced &&

* Fix code style

* Fix namespace fetching so it works

Co-authored-by: Matthew Brown <github@muglug.com>
2020-07-22 19:27:35 -04:00
Dave Shoreman
f596b17da6
[docs] property/method text on Configuration page (#3863)
* Fix order of @methods and @property descriptions

Documentation was added in #3748 for usePhpDocPropertiesWithoutMagicCall
but the descriptions were the wrong way round and somewhat confusing.
This merely switches the descriptions so they match up correctly.

* Minor text fixes
2020-07-22 08:43:02 -04:00
kesselb
a5660d799b
[DOC] Add option to supress a referenced but undefined global variable. (#3861) 2020-07-21 14:02:23 -04:00
Artem Goutsoul
dbc14209b2
Clarifying taint analysis usage documentation (#3834)
* Clarifying taint analysis usage documentation

* Fix typo

Co-authored-by: Matthew Brown <github@muglug.com>
2020-07-17 10:10:35 -04:00
Brown
c56e29b114 Fix example 2020-07-16 16:19:29 -04:00
Olle
4b98bf485e Add doc for ifthisismismatch exception 2020-07-14 18:00:22 +00:00
Jon Ursenbach
6aca4c169e
feat: adding a runTaintAnalysis option into the config (#3800) 2020-07-10 13:22:03 -04:00
Bruce Weirdan
1abbcc4364
Added documentation for usePhpDocPropertiesWithoutMagicCall (#3748)
Fixes vimeo/psalm#3730
2020-07-04 17:20:45 -04:00
binarious
ff990e5f8f
docs(MoreSpecificImplementedParamType): less to more (#3725) 2020-07-01 09:01:58 -04:00
Brown
29eb83001f Remove taint annotation as it could confuse 2020-06-22 12:45:41 -04:00
Brown
e2545790dc Add reference to new command 2020-06-22 11:37:30 -04:00
Brown
07a38706f6 Fix #3610 - add security analysis documeentation 2020-06-22 00:18:15 -04:00
Brown
fbe3433edd Use escape terminology 2020-06-21 11:43:08 -04:00
Brown
5e9dc9520e Improve docs 2020-06-21 01:02:00 -04:00
Brown
dc83c2e2fc Add annotation for taint sources 2020-06-21 00:58:56 -04:00
Brown
5bc657504d Add more docs 2020-06-19 12:12:28 -04:00
Brown
67f7079c1a More better docs 2020-06-19 11:57:34 -04:00
Brown
51202c75ea Add taint docs 2020-06-19 11:56:12 -04:00
Andrei Petre
ce39bab966
Update InvalidExtendClass.md (#3616)
suggestion by @weirdan
2020-06-19 11:51:30 -04:00
Jeroen De Dauw
8d4df25b87
Document the new extraFiles config (#3619)
Follow up to 078b8b7b1a
2020-06-19 02:28:20 -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
Olle Härstedt
e1cc27f7a2
Add new config: sealAllMethods (#3578)
* Add new config: sealAllMethods

* Add some more tests

* Fix codesniffer issue with preg_quote

* Fix missing method in test

Co-authored-by: Olle <noemail>
2020-06-15 22:36:42 -04:00
Bruce Weirdan
e496aa406f
Documented using underscore to suppress unused(param/variable) issues (#3580)
Previously it was undocumented, as pointed out in vimeo/psalm#3574
2020-06-13 00:31:37 -04:00
Andrei Petre
3497ca07b6
Extending final class is prohibited #3037 (#3576) 2020-06-13 00:29:59 -04:00
Brown
8c2f1d7683 Fix capitalisation 2020-06-11 13:40:28 -04:00
wnbsmart
07c7c30ad6
Pass unused created variable (#3560) 2020-06-10 17:28:04 -04:00
Marco Perone
ca84712ece
add and correct links to how-psalm-works (#3523) 2020-06-04 15:32:18 -04:00
Ivan Kurnosov
08943ea409
Fix #3517 - Changed ignoreInternalFunctionFalseReturn default to true (#3518)
In config.xsd and the documentation
2020-06-03 22:29:09 -04:00
Joe Hoyle
1c3796d2a0
Add BeforeAnalyzeFileInterface to Plugin documentation (#3413)
This was missing for one reason or another.
2020-05-20 09:13:29 -04:00
Brown
3c5b4dec06 Add documentation for MixedClone 2020-05-18 17:20:57 -04:00
Evgeniy
04a576708c
Correct analyze clone expression (#3382)
* Correct analyze clone, add PossibleInvalidClone issue type

* Infer mixed type when possible incorrect clone

* Remove unused variable
2020-05-18 16:22:50 -04:00
Bruce Weirdan
4f7b51a462
Streamline plugins docs (#3356) 2020-05-14 07:47:55 -04:00
feek
a83a6cf3f7
doc --> dog (#3330) 2020-05-10 11:19:54 -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
Matthew Brown
fddab8919e
Remove dead link
Fixes #3301
2020-05-04 14:50:12 -04:00
flip111
d475a601f0
Update MissingPropertyType.md (#3299) 2020-05-04 14:49:19 -04:00
feek
c2a693a034
chore: < > (#3261) 2020-04-28 19:42:06 -04:00
orklah
8571746f8a
Add hook for plugins after FunctionLikeAnalysis (#3258) 2020-04-28 15:30:51 -04:00
Pierre Grimaud
e7990390a6
Fix typos (#3255) 2020-04-28 09:17:31 -04:00
Brown
c79d64f0c4 A little more unquoting 2020-04-27 23:17:10 -04:00
Brown
11e1adaa99 Fix some escaping 2020-04-27 23:13:43 -04:00
Brown
bb934a40d1 Fix quote pos 2020-04-27 23:12:04 -04:00
Brown
cf26ab0ea9 Use html entities 2020-04-27 23:11:05 -04:00
Brown
5c2fd5863b Fix escaping 2020-04-27 23:08:43 -04:00
Brown
e73fe89c01 Fix quoting maybe 2020-04-27 23:01:30 -04:00
Matthew Brown
d3b814578c
Revert "chore: remove backticks because of escaping issue in docs (#3242)" (#3251)
This reverts commit 686c2d780d.
2020-04-27 22:57:11 -04:00
feek
686c2d780d
chore: remove backticks because of escaping issue in docs (#3242) 2020-04-27 22:49:51 -04:00
Markus Staab
5c511ad95d
docs: mention cacheDirectory default value (#3184) 2020-04-19 08:04:41 -04:00
Valentin Udaltsov
29394552a2
Update MixedArgumentTypeCoercion.md (#3129) 2020-04-12 19:52:50 -04:00
Šimon Podlipský
2a7be233bb
Remove dead link (#3112)
* Remove dead link

* Fix typos
2020-04-09 08:14:43 -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
lhchavez
be87bb7300
Support intersection types for object-like arrays (#3064)
This change allows expressing the intersection of multiple object-like
arrays. The resulting type will contain the (merged via intersection)
properties of all the object-like arrays involved in the intersection.

This should allow to express the resulting type of an `array_merge()`
operation, which is tricky to do in the context of a templated type.
2020-04-08 09:35:53 -04:00
m0003r
11edb22c72
Implement @psalm-trace annotation, fixes #3079 (#3080) 2020-04-06 12:42:22 -04:00
Matthew Brown
6ac6c54a34
Fix defaults 2020-04-06 09:28:49 -04:00
Matthew Brown
a1be95dc19
remove dead link 2020-04-05 17:24:05 -04:00
Matthew Brown
ec7c8e5f59
Remove dead link 2020-04-05 17:23:23 -04:00
Matthew Brown
476b248a1e
Delete docblock_type_syntax.md 2020-04-02 09:41:12 -04:00
Matthew Brown
500b4eb13b
Add content from redundant page 2020-04-02 09:40:17 -04:00
Matthew Brown
194f02507d Allow conditional types to reference class constants 2020-03-29 13:37:37 -04:00
Matthew Brown
9055c4a79b Add documentation for conditional types
Fixes #3005
2020-03-29 11:14:03 -04:00
iggyvolz
94b246b987
Initial commit (#3013) 2020-03-24 18:32:57 -04:00
Matthew Brown
010b805397
Fix issue description 2020-03-23 23:55:51 -04:00
Matthew Brown
e8fbba5de2
Improve words 2020-03-23 23:54:48 -04:00
Matthew Brown
2043e857ba
Increase header weight 2020-03-22 18:42:19 -04:00
Matthew Brown
e5579332cd Add explanation for MixedMethodCall 2020-03-21 17:33:37 -04:00
Matthew Brown
e6a0fe0973
Add a better description to PossiblyInvalidArgument 2020-03-21 15:33:40 -04:00
Markus Staab
4079b53b93
Fix typo (#2999) 2020-03-21 10:19:30 -04:00
Matthew Brown
e49a5dd55d Add more docs 2020-03-21 10:13:11 -04:00
Matthew Brown
3f2615290d Update docs once more 2020-03-21 09:48:35 -04:00
Matthew Brown
d22fe29a60 Switch around docs 2020-03-21 09:36:21 -04:00
Matthew Brown
476480ef41 Add opening <?php tags to all PHP snippets 2020-03-21 09:24:41 -04:00
Matthew Brown
f6ea701bdc Add a couple more documented things 2020-03-21 00:39:00 -04:00
Matthew Brown
40bd743e49 Add a few more about type mismatches 2020-03-20 21:55:34 -04:00
Matthew Brown
33dc3a62be Improve example code 2020-03-20 19:19:24 -04:00
Matthew Brown
84bfba04c8 Add opening PHP tags to examples 2020-03-20 19:13:56 -04:00
Matthew Brown
dd0898c4df
Add how to fix for PossiblyUndefinedArrayOffset 2020-03-20 15:20:54 -04:00
Matthew Brown
7afb4b4cd5 Add some more docs 2020-03-20 00:21:11 -04:00
Matthew Brown
cc77910338 Fix indentation 2020-03-19 16:37:17 -04:00
Matthew Brown
7ba0d27d6c Fix formatting 2020-03-19 12:42:41 -04:00
Matthew Brown
f0f9b2d01b Add suffix 2020-03-19 12:34:48 -04:00
Matthew Brown
2f62e2d9f5 Move issues to separate pages 2020-03-19 12:32:49 -04:00
Matthew Brown
c3e94b3e54
Separate formatting
Fixes #2988
2020-03-18 19:15:44 -04:00
Matthew Brown
b2574ad1a3
Add weird break 2020-03-18 19:14:04 -04:00
Matthew Brown
da456b62db
Add more whitespace 2020-03-18 19:12:02 -04:00
Claas Augner
a5f581e294
Fix #2984 - Document Generator type syntax (#2986) 2020-03-18 09:28:32 -04:00
yaegassy
6d4e809491
Add coc.nvim for language server document (#2980)
* Add coc.nvim for language server document

* Add psalm.xml.dist to coc.nvim's rootPatterns
2020-03-17 09:04:43 -04:00
Matthew Brown
7017fe3ca4 Fix indentation 2020-03-16 09:51:45 -04:00
Matthew Brown
96a1a0c04f
Remove cast from docblock example 2020-03-16 09:46:43 -04:00
Matthew Brown
6d8e8ba5e2
Add more suggestions 2020-03-16 09:42:17 -04:00
Matthew Brown
f22f5e38f1
Add a how to fix section for MixedAssignment 2020-03-16 09:30:51 -04:00
Alexey Kopytko
9e64670e42
Add hyperlink in templated_annotations.md (#2976) 2020-03-15 23:28:37 -04:00
Matthew Brown
0aca01faea Improve fix to #2805 2020-03-14 01:09:12 -04:00
Maks Rafalko
b6873b0e72 ignoreInternalFunctionFalseReturn default to false in XSD, but documentations says true
See 27598f508e/config.xsd (L46)
2020-03-12 09:12:23 -04:00
Matthew Brown
ef64e6e8eb Improve abstract call handling 2020-03-11 10:36:39 -04:00
Matthew Brown
0d62fbdf98 Detect erroneous abstract static method calls 2020-03-11 10:18:40 -04:00