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
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
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