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

647 Commits

Author SHA1 Message Date
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
Philip Hofstetter
d315822bfa make skipping of checks after invalid includes configurable
as suggested in the PR it's best to make the setting configurable.

In order not to break existing installations, we default to keeping the
old behaviour, but in a later version of psalm, we might change the
default.
2020-02-27 18:49:23 -05:00
Matthew Brown
106102d0a5
Add line break 2020-02-23 00:41:19 -05:00
Matthew Brown
a706f4d722 Fix #2242 - warn when using mutable dependencies 2020-02-22 10:04:46 -05:00
Brown
7d99a15072 Fix #2805 - forbid passing in mutable class to mutation-free context 2020-02-21 18:25:35 -05:00
Tarmo Leppänen
f51384e74e Update dealing_with_code_issues.md 2020-02-20 13:47:13 -05:00
Matthew Brown
306ed07cfc
Update readme 2020-02-18 23:50:53 -05:00
Matthew Brown
2e4154d76e Add better defaults and documentation 2020-02-18 20:30:37 -05:00
Matthew Brown
320f3ec863 Update level config name 2020-02-17 22:43:13 -05:00
Matthew Brown
a55686b6e4 Move to more appropriate location 2020-02-17 22:21:04 -05:00
Matthew Brown
2cb3d0f9f3 Fix error level docs 2020-02-17 22:19:28 -05:00
Matthew Brown
a2c2a55ae6 Update documentation 2020-02-17 22:06:28 -05:00
Matthew Brown
ced092874a Make config generation smarter 2020-02-17 22:05:58 -05:00
Philip Hofstetter
395cf587d3 add plugin hook to be called after every function call
compared to AfterFunctionCallAnalysisInterface which gets only called
after a call to a function declared within the project, a plugin
implementing AfterEveryFunctionCallAnalysisInterface will get called for
every function call, including calls of PHP builtins.

On the other hand, this interface doesn't allow modification of the code
nor tweaking the return type, but it's still useful for accounting
purposes and for depreacting calls to PHP builtins

this fixes #2804
2020-02-13 09:10:24 -05:00
Bruce Weirdan
ae0b1a6acb Fix #2802
/cc: @zmitic
2020-02-12 17:43:33 -05:00
Roland Franssen
a7355fa734 Update typing_in_psalm.md 2020-02-07 10:55:44 -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
Philip Hofstetter
40497e4f4c document phpVersion setting 2020-01-30 08:48:53 -05:00
Matthew Brown
5c3ec7a531 Fix #2696 - make sure static property references are prevented in pure functions 2020-01-27 22:55:20 -05:00
Barney Laurance
4a4c0f1362 Clarify documentation of --diff and --diff-methods (#2680)
* Clarify documentation of --diff and --diff-methods

* Save Psalm cache in CircleCI
2020-01-25 10:50:11 -05:00
Brown
0f659d996d Add documentation for new issue 2020-01-23 14:33:07 -05:00
HenkPoley
72b5b22474 Mention how to annotate psalm specific annotations (#2648)
* Mention how to annotate psalm specific annotations

Might be nice to mention how to annotate psalm specific annotations, without trampling over PhpDoc annotations.

* Fix key type

Co-authored-by: Matthew Brown <github@muglug.com>
2020-01-17 08:47:21 -05:00
Bruce Weirdan
17857163fc Modular config files (#2635)
This change introduces an option to have the configuration split across
several files using standard XInclude tags. This may be useful for more
complex configs, or to include auto-generated parts into a manually
written config file.
2020-01-16 15:57:52 -05:00
Jacob Dreesen
26bf183430 Fix typos (#2639) 2020-01-16 08:36:18 -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
HenkPoley
d22b13262f [For PhpStorm] How to find the global install of the language server under Windows (#2582)
* Handholding to find the global install of the language server under Windows

* Hint about a 'proper' timeout for things like Laravel
2020-01-10 08:47:01 -05:00
Brown
083fbc55e1 Add more specific UndefinedMagicMethod issue 2020-01-06 14:23:33 -05:00
Matthew Brown
4e85967184 Fix tests 2020-01-05 21:58:18 -05:00
Matthew Brown
daf6b6391d
Punctuation 2020-01-02 16:21:15 -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
Markus Podar
270a99f57d Add sample for optional keys in array shapes (#2538) 2020-01-01 13:53:32 -05:00
Ruud Kamphuis
ca31931a53 Explain bool assertions (#2528) 2019-12-29 09:22:09 -05:00