ralila
cf5a8edf1a
Ensure array offset exists
2021-11-15 04:22:14 +01:00
ralila
659abf52d0
Fix multiple traces don’t get added to the list
2021-11-14 23:55:32 +01:00
orklah
46801c4b98
clearer string operations
2021-09-26 23:34:31 +02:00
orklah
18b0c63de2
shorter operations
2021-09-26 22:44:33 +02:00
orklah
3e236fc2fe
don't report UnusedSuppressions in non project dirs
2021-08-19 18:43:29 +02:00
Barney Laurance
140cf01a91
Trim issue snippet at time of comparison with baseline, not in IssueData constructor
2021-06-27 10:36:33 +01: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
Matt Brown
7f8d522912
Make all mixed issues implement MixedIssue
2021-03-20 21:44:04 -04:00
Matt Brown
3046468d1e
Add hints for MixedAssignment issues
2021-03-17 01:10:42 -04:00
Bruce Weirdan
97fe86c4e1
Fix BC break introduced in 4.6.3 ( #5410 )
...
Fixes vimeo/psalm#5405
Requires new patch release.
This PR reverts changes to the signature of `IssueBuffer::finish()` and
introduces separate method to be used to capture `$_SERVER`
2021-03-16 19:28:18 -04:00
Bruce Weirdan
205fdd197e
Wrap entrypoints into IIFE to protect their variables ( #5366 )
...
* Wrap entrypoints into IIFE to protect their variables
Fixes vimeo/psalm#5359
* Add tests for Psalm variable isolation
* Capture environment before registering autoloader
2021-03-11 00:14:22 -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
Matt Brown
9fd7a7d885
Only create after analysis event if they exist
...
Fixes #5008 - this does some git execing, so we don’t want it to always run
2021-01-14 16:44:29 -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
Olivier Doucet
70a130f11e
add CodeClimate output format ( #4387 )
...
* add CodeClimate output format
* cosmetic fixes
* add CodeClimate output format
* cosmetic fixes
* phpcs fixes
2020-11-23 15:34:51 -05:00
orklah
ae0486529e
Unused psalm-suppress ( #4646 )
2020-11-21 17:39:40 -05:00
Matt Brown
6e39c24a17
Don’t exit with 1 when running security analysis in GitHub Actions and generating a file
2020-11-17 22:49:25 -05:00
Lukas Reschke
494ec40777
Add SARIF as report output ( #4582 )
...
https://docs.oasis-open.org/sarif/sarif/v2.0/sarif-v2.0.html
2020-11-17 13:23:20 -05:00
Matt Brown
43af3b1a57
Break out TaintedInput issues into a lot of separate ones
2020-11-17 12:44:31 -05:00
Matt Brown
667220408c
Fix #4464 - bust cache when Psalm’s version changes, not just composer’s
2020-11-01 09:01:53 -05:00
Pascal Heidmann
37ab91aa25
try creating report folder if not exists ( #4353 )
...
Co-authored-by: Pascal Heidmann <heidmann@kigaroo.de>
2020-10-17 09:01:11 -04:00
Matt Brown
bf569d1b07
Treat more issues as fixable cc @orklah
2020-10-15 11:41:09 -04:00
Matt Brown
b08d70f977
Fix #4252 - fix xml generation
2020-10-12 18:39:26 -04:00
orklah
10f2966dcb
return types ( #4311 )
...
* return types
* remove willReturn for void methods
2020-10-12 15:02:52 -04:00
Brown
da65a4327f
Move taint graph functionality into its own object
2020-09-25 00:37:40 -04:00
Brown
56cddd16bf
Rename TaintGraph to ControlFlowGraph because it’s about to do more
2020-09-20 23:59:52 -04:00
Brown
abb9502921
Rename Taint object to TaintGraph
2020-09-20 18:27:02 -04:00
orklah
a9a364e363
Misc improvements ( #4216 )
...
* misc changes
* fix CI
2020-09-20 08:55:28 -04:00
orklah
ead107fa9e
More return types ( #4173 )
...
* add native return types
* redundant phpdoc
2020-09-12 11:24:05 -04:00
Brown
eda426a594
Improve unique issue solution
2020-09-10 22:54:30 -04:00
Brown
2100dbd8aa
Fix #4167 - allow many issues for the same position
2020-09-10 17:41:45 -04:00
orklah
8c7423505a
add native param types ( #4137 )
...
* add native param types
* redundant phpdoc
* add more param types and adds "?" to nullable types
* remove redundant phpdoc
* add more param types and remove redundant phpdoc
* add more param types and remove redundant phpdoc
2020-09-06 19:36:47 -04:00
orklah
f66d57f19d
add native return types ( #4116 )
...
* add native return types
* remove redundant phpdoc
2020-09-04 16:26:33 -04:00
the-toster
e296abbabf
Add option to show link to source in console output ( #4085 )
...
* add option to change console output for PhpStorm suitable format, so filenames become links, closes #3271
* fix code style
* rename option to php-storm-format
* replace flag with new report format
* fix code style
2020-09-04 16:24:14 -04:00
Brown
6919e88423
Add performance logging under a --debug-performance flag
2020-07-30 15:30:19 -04:00
Brown
ae7c5b095b
Fix #3712 - allow taints to be suppressed with @psalm-suppress
2020-07-01 23:23:45 -04:00
Brown
cceacde01d
Hide fixable issues when running with taint analysis
...
Fixes #3722
2020-07-01 08:55:58 -04:00
Brown
17558a5c0e
Fix #3676 - add multiline output for TaintedInput issues
2020-06-30 13:17:51 -04:00
Tyson Andre
bee10a2eb4
Add a --debug-emitted-issues flag ( #3637 )
...
And support --debug-by-line in psalter and psalm-refactor.
Those were previously not supported in getopt()
Fixes #3634
2020-06-22 18:16:47 -04:00
still-dreaming-1
700b5dda02
Fix #3461 by removing file from issues after removing last issue ( #3462 )
2020-05-26 22:52:36 -04:00
Brown
4bfdda597e
Always render ouptut even if no issues found
...
Fixes #3292
2020-05-03 08:44:14 -04:00
Brown
370ffa28e4
Fix #3117 - invalidate all caches when composer lockfile changes
2020-04-12 11:41:37 -04:00
Brown
001f064bd4
Don’t modify contents of IssueBuffer in baseline before caching
2020-03-31 23:38:58 -04:00
Matthew Brown
68c95c622a
Save information about last runs whether or not there were errors
2020-03-26 00:46:39 -04:00
Matthew Brown
ced092874a
Make config generation smarter
2020-02-17 22:05:58 -05:00
Matthew Brown
196a0a5c4e
Replace issue data array with object
2020-02-16 18:24:40 -05:00
Matthew Brown
4de6f5c4ec
Fix #2442 - using asserting after a MixedAssignment
removes that error
2020-02-08 23:01:45 -05:00
Matthew Brown
c2f1b3b700
Use slightly cleaner way of sorting file issues
2020-01-29 09:00:13 -05:00
Philip Hofstetter
8f8672dd6b
do not corrupt internal state when a baseline is present ( #2710 )
...
this fixes #2709
2020-01-29 08:53:58 -05:00
Matthew Brown
fa65ab8168
Add support for Github Actions output
...
Fixes #2678
2020-01-23 07:14:48 -05:00
Matthew Brown
947765c1c6
Improve count checks slightly
2020-01-22 07:51:24 -05:00
Ben Davies
5139d61171
remove unnecessary loops ( #2671 )
2020-01-22 07:42:00 -05:00
Matthew Brown
8202af957d
Index issues by file to reduce some lookups
2020-01-21 21:07:44 -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
Matthew Brown
2f2cd85a6a
Identify invalid static property array assignment
2019-12-27 10:34:51 -05:00
Matthew Brown
d7b99148be
Add support for JUnit report type
...
Fixes #2485
2019-12-19 20:18:09 +00:00
Tyson Andre
4548fb87f7
Add space for 'can automatically fix Nissues' ( #2416 )
2019-12-04 16:16:37 -05:00
Brown
821f3528d2
Fix #701 - indicate issues fixable with Psalter
2019-12-02 15:24:01 -05:00
Brown
a05f4744cb
Only show taint issues when tracking tainted input
2019-10-09 14:26:32 -04:00
Matthew Brown
9ad6c36d9b
Conditionally verify that array offsets exist ( #2147 )
...
* Check array offsets idea
* Clean up some issues
* Add a few light fixes
* Add docs
2019-09-18 14:21:06 -04:00
Brown
a0f7e73aea
Fix #2127 - improve behaviour of suppression discovery in threaded mode
2019-09-16 11:58:42 -04:00
Matthew Brown
5d94e340ee
Remove unused suppressions in tests
2019-08-18 15:34:32 -04:00
Matthew Brown
2a5e0d8f39
Fix #1444 - track unused suppressions
2019-08-18 14:27:50 -04:00
Matthew Brown
2146f73782
Prepare for tracking unused suppressions
...
Ref #1444
2019-08-18 12:25:48 -04:00
Matthew Brown
da42be175f
Apply PHPCS fixes
...
Fixes #1880
2019-07-05 16:27:53 -04:00
LeSuisse
f29826b958
Fully qualify constants and function calls ( #1849 )
...
This should give a small performance boost.
Part of #1837 .
The change is enforced via phpcs and can be autofixed
with phpcbf.
2019-06-26 16:52:29 -04:00
Matthew Lewinski
ac0a9d1514
Add a 'sonarqube' report type ( #1808 )
...
This JSON report is suitable for import into either SonarCloud or
SonarQube as Generic Issue Data (also known as an External Issue
Report).
https://docs.sonarqube.org/latest/analysis/generic-issue/
2019-06-17 21:17:09 -04:00
Matthew Brown
7fc11af49e
Fix docblocks with @andrew-demb’s suggestions
2019-06-16 09:12:32 -04:00
Matthew Brown
b5cbc84351
Fix #1617 - add option to only show errors in reports
2019-06-09 12:37:28 -04:00
Matthew Brown
fd3235d785
Reduce duplicate trait messages
2019-05-27 10:10:21 -04:00
Brown
0bd4dbcbc4
Bump to PHP 7.1
...
Fixes #1650
2019-05-16 18:36:36 -04:00
Brown
feff357a75
Be smarter about discovering files
2019-05-10 18:07:13 -04:00
Brown
111abf82da
Fix #1616 - allow Psalm to output checkstyle format
2019-05-08 14:26:52 -04:00
Brown
dd40987187
Consolidate location of issue handling
2019-05-03 17:12:20 -04:00
Brown
b9bece4cbc
Allow MixedArrayTypeCoercion to be properly suppressed by default
2019-04-29 12:19:51 -04:00
Brown
0e4c8ce482
Split apart TypeCoercion issues, allowing more granular issue filtering
2019-04-25 18:02:19 -04:00
Brown
80e28d6a4a
Add support for unused method & property automated removal
2019-04-17 11:12:18 -04:00
Brown
af4d10cb63
Fix #1499 - use TraitMethodSignatureMismatch when dealing with trait methods
2019-03-29 14:09:06 -04:00
Matthew Brown
9d4ebe6b6b
Add plugin hook for post-analysis stuff
2019-03-23 12:47:46 -04:00
Matthew Brown
ee56419fd6
Improve accuracy and durability of mixed counts
2019-03-23 09:50:47 -04:00
Brown
bd372e93af
Add config flags for findUnusedVariables and findUnusedCode
2019-03-05 15:45:09 -05:00
Brown
07825c9ff8
Fix long line
2019-02-27 16:16:19 -05:00
Brown
601f303de2
Fix position of invalid param
2019-02-27 16:00:44 -05:00
Matthew Brown
cdae79b9fe
Fix unnecessary params in Psalm codebase
2019-02-23 11:31:33 -05:00
Bruce Weirdan
8408effe57
Dropped unused uses
2019-02-17 13:17:45 -05:00
Brown
9f1dc425d0
Reduce repetition in the baseline files
2019-02-13 15:10:50 -05:00
Brown
3deea3980d
Add checks for unitialized properties
...
Fixes #1328
2019-02-13 13:32:19 -05:00
Matthew Brown
62fb8035bf
Fix #1309 - no PropertyNotSetInConstructor warnings for grandchild of class
2019-02-10 15:01:10 -05:00
Matthew Brown
b8b1106d79
Fix #1265 - allow referencedClass/Property/Method to be warnings
2019-02-01 07:58:40 -05:00
Matthew Brown
bd9f2ec546
Add separate issue type for undefined interface method
2019-01-13 13:07:53 -05:00
Matthew Brown
27687244f0
Normalise baseline file slashes
...
Fixes #1192
2019-01-10 00:10:16 -05:00
Brown
2d22db4cb7
Clear up use of reloadFiles
2019-01-02 12:10:52 -05:00
Brown
1d300ec342
Fix #1150
2019-01-02 11:18:22 -05:00
Dave Liddament
0655e1c19c
UPDATE add issue type to text output
...
Adds issue type to text output. Leaves .emacs output as before.
2018-12-18 17:25:28 -05:00
Jon Ursenbach
c6a8b53a4d
Refactoring output formats and creating a new "compact" format.
...
The new compact format generates your report within a table
structure that is similar to PHPCS.
Resolves #967
2018-12-09 17:34:47 -05:00
Matthew Brown
9709263b8d
Make many PropertyAnalyzer properties private
2018-11-12 11:20:59 -05:00
Matthew Brown
4d79b61e93
Change _checker to _analyzer
2018-11-12 11:20:59 -05:00
Matthew Brown
4688b25fd9
Move internal classes to own namespace
2018-11-12 11:20:59 -05:00
Brown
ecf9d8afd7
Fix calculation when sample has a newline
2018-11-09 11:38:40 -05:00
Matthew Brown
f2f8edef20
Fix #1062 - improve handling of baseline messaging
2018-11-09 00:47:43 -05:00