Brown
|
92239add4d
|
Add some backwards-incompatible changes for 4.x
|
2020-08-30 11:44:14 -04:00 |
|
Brown
|
02a2e99d42
|
Only add pure to functions with params
|
2020-08-23 18:41:31 -04:00 |
|
Brown
|
c8ea4b4e8b
|
Prohibit property fetches from pure contexts except when they’re on immutable objects
|
2020-08-23 10:57:24 -04:00 |
|
Olle
|
3630b4a2f9
|
Merge remote-tracking branch 'remotes/upstream/master'
|
2020-08-18 15:59:46 +00: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 |
|
Bruce Weirdan
|
22d8f5a0bc
|
Fixed duplicate shortcodes (#3996)
Also added an utility to help assign new shortcodes and a test to
prevent duplicate shortcodes.
|
2020-08-16 16:26:54 -04:00 |
|
Brown
|
6def99d653
|
Add ConstructorSignatureMismatch issue distinct from MethodSignatureMismatch
|
2020-08-10 12:26:25 -04:00 |
|
Matthew Brown
|
6085e42fc1
|
Detect mismatching param names effectively
|
2020-08-10 09:58:43 -04:00 |
|
Brown
|
c0b0036109
|
Fix #3934 - prevent unsafe use of new static
|
2020-08-05 19:39:27 -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 |
|
kesselb
|
aaba3a08ec
|
Add option to supress a referenced but undefined global variable. (#3827)
|
2020-07-16 09:49:59 -04:00 |
|
Olle
|
45457acdf7
|
Merge remote-tracking branch 'upstream/master'
|
2020-07-08 19:55:03 +00:00 |
|
Olle
|
285348efe9
|
New annotation: @psalm-if-this-is
|
2020-07-08 19:51:02 +00:00 |
|
Brown
|
17558a5c0e
|
Fix #3676 - add multiline output for TaintedInput issues
|
2020-06-30 13:17:51 -04:00 |
|
Andrei Petre
|
3497ca07b6
|
Extending final class is prohibited #3037 (#3576)
|
2020-06-13 00:29:59 -04:00 |
|
Brown
|
8c86d47eb7
|
Downgrade some PossiblyInvalidClone issues
|
2020-05-18 17:18:13 -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 |
|
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 |
|
Matthew Brown
|
44713a48ac
|
Add default shortcode
|
2020-03-20 14:41:25 -04:00 |
|
Matthew Brown
|
a237ba307c
|
Use simpler method for generating links
|
2020-03-19 17:12:16 -04:00 |
|
Matthew Brown
|
309a229db1
|
Add codes to all issues
|
2020-03-17 09:19:47 -04:00 |
|
Matthew Brown
|
0aca01faea
|
Improve fix to #2805
|
2020-03-14 01:09:12 -04:00 |
|
Matthew Brown
|
0d62fbdf98
|
Detect erroneous abstract static method calls
|
2020-03-11 10:18:40 -04: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 |
|
Matthew Brown
|
a55686b6e4
|
Move to more appropriate location
|
2020-02-17 22:21:04 -05:00 |
|
Matthew Brown
|
99a97f4085
|
Update issue levels
|
2020-02-17 16:32:16 -05:00 |
|
Matthew Brown
|
01d3d9270f
|
Change constant name and meaning
|
2020-02-17 00:04:46 -05:00 |
|
Matthew Brown
|
39afe9b4ff
|
Add levels to every issue
|
2020-02-16 20:55:09 -05:00 |
|
Matthew Brown
|
d281a6796b
|
Fix lagging comma
|
2020-02-16 18:26:24 -05:00 |
|
Matthew Brown
|
196a0a5c4e
|
Replace issue data array with object
|
2020-02-16 18:24:40 -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 |
|
Brown
|
da43b8188f
|
Fix #2632 - detect invalid by-ref assignments in pure functions
|
2020-01-23 14:21:34 -05:00 |
|
Brown
|
083fbc55e1
|
Add more specific UndefinedMagicMethod issue
|
2020-01-06 14:23:33 -05:00 |
|
Matthew Brown
|
867511d7fd
|
Use more specific error magic properties
|
2020-01-05 21:07:26 -05:00 |
|
Brown
|
af5f83602e
|
Break out more specific possibly defined offset errors
|
2019-11-11 09:59:56 -05:00 |
|
Bruce Weirdan
|
79acbadfad
|
Added InvalidParent issue (#2320)
Refs vimeo/psalm#2304
|
2019-11-11 00:21:43 -05:00 |
|
Matthew Brown
|
9c629414a7
|
Fix #2138 - complain when inheriting from immutable interfaces without annotation
|
2019-09-21 22:52:30 -04:00 |
|
Brown
|
c5ef2516b5
|
Fix #2150 - add detection for unnecessary @var annotations
And also remove them from codebase
|
2019-09-19 11:59:43 -04:00 |
|
Matthew Brown
|
51e552665e
|
Fix #2061 - add config to allow suppression of string increment issues
|
2019-09-01 17:49:37 -04:00 |
|
Matthew Brown
|
dee2cf3281
|
Detect use of static inside pure function
|
2019-08-31 21:31:53 -04:00 |
|
Matthew Brown
|
6d07663d70
|
Annotate method getters more accurately
|
2019-08-30 16:40:32 -04:00 |
|
Brown
|
95c61db513
|
Add a PossibleRawObjectIteration issue
|
2019-08-20 12:06:02 -04:00 |
|
Matthew Brown
|
2a5e0d8f39
|
Fix #1444 - track unused suppressions
|
2019-08-18 14:27:50 -04:00 |
|
Brown
|
b5614d03f8
|
Add detection for unused function calls
|
2019-08-13 13:15:23 -04:00 |
|
Matthew Brown
|
b2c0993cdc
|
Add framework for taint analysis to Psalm
Ref #611
|
2019-08-04 10:37:36 -04:00 |
|
Matthew Brown
|
3df248eea2
|
Add concept of purity to functions and methods
|
2019-07-18 01:31:48 -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 Brown
|
5a64e97f0f
|
Fix #1793 - warn on deprecated function
|
2019-06-15 12:09:15 -04:00 |
|
Brown
|
b00d51b7db
|
Allow misplaced required params so Psalm still inspects the code
|
2019-06-07 09:25:12 -04:00 |
|
Brown
|
9aeaf1a4ed
|
Fix #1746 - allow DeprecatedInterface to be suppressed with referencedClass
|
2019-06-06 14:48:33 -04:00 |
|
Matthew Brown
|
fd3235d785
|
Reduce duplicate trait messages
|
2019-05-27 10:10:21 -04:00 |
|
Brown
|
4a434d9a2f
|
Add separate issue for undefined classes in docblocks
|
2019-05-15 18:41:26 -04:00 |
|
Brown
|
30cbcb6c36
|
Add ImplementedParamTypeMismatch issue
Fixes #1633
|
2019-05-14 15:44:46 -04:00 |
|
Brown
|
0e4c8ce482
|
Split apart TypeCoercion issues, allowing more granular issue filtering
|
2019-04-25 18:02:19 -04:00 |
|
Brown
|
af4d10cb63
|
Fix #1499 - use TraitMethodSignatureMismatch when dealing with trait methods
|
2019-03-29 14:09:06 -04:00 |
|
bugreportuser
|
976c2c5ef3
|
Add an error for throws in global scope
|
2019-03-24 23:03:37 -04:00 |
|
Matthew Brown
|
472ab29d74
|
Add PossiblyInvalidCast for more refined checks
|
2019-03-17 17:10:51 -04:00 |
|
Brown
|
b3a59d2638
|
Fix #1435 - prevent classes extending interfaces
|
2019-03-07 11:16:40 -05:00 |
|
Brown
|
bd372e93af
|
Add config flags for findUnusedVariables and findUnusedCode
|
2019-03-05 15:45:09 -05:00 |
|
Matthew Brown
|
cdae79b9fe
|
Fix unnecessary params in Psalm codebase
|
2019-02-23 11:31:33 -05:00 |
|
Bruce Weirdan
|
cb453a8da9
|
Allow suppressing UnusedClass on specific classes
This allows suppressing UnusedClass with either `referencedMethod` or
`@psalm-suppress`
Fixes vimeo/psalm#1353
|
2019-02-18 09:32:09 -05:00 |
|
Brown
|
3deea3980d
|
Add checks for unitialized properties
Fixes #1328
|
2019-02-13 13:32:19 -05:00 |
|
Matthew Brown
|
c58100e3af
|
Fix #1313 - don’t allow mixed function calls
|
2019-02-10 16:15:52 -05:00 |
|
Brown
|
fcc9d1a979
|
Fix #1244 and fix #1243 - add template-extends checks
|
2019-01-25 15:31:17 -05:00 |
|
Brown
|
cd0a7441d9
|
Add warnings for extended template param counts off
|
2019-01-24 17:55:03 -05:00 |
|
Brown
|
8a97e32e16
|
Add code to make handling interfaces with magic get/set
Ref #1228
|
2019-01-23 16:58:50 -05:00 |
|
Matthew Brown
|
c43734f3ab
|
Don’t localise PropertyNotSetInConstructor issues
|
2019-01-15 21:34:18 -05:00 |
|
Matthew Brown
|
bd9f2ec546
|
Add separate issue type for undefined interface method
|
2019-01-13 13:07:53 -05:00 |
|
Matthew Brown
|
195cb289ed
|
Add float-checking plugin, and support for custom plugin issues
|
2019-01-07 08:38:56 -05:00 |
|
Matthew Brown
|
214fd7d461
|
Add DuplicateFunction issue
Fixes #49
|
2019-01-06 16:40:44 -05:00 |
|
Brown
|
2b4b55fd33
|
Add support for @return no-return
Fixes #1155
|
2019-01-02 17:05:39 -05:00 |
|
Brown
|
1d300ec342
|
Fix #1150
|
2019-01-02 11:18:22 -05:00 |
|
Brown
|
4e183abdc6
|
Add better message when reconciling fails with bad result
Ref #1114
|
2018-12-05 10:36:42 -05:00 |
|
Matthew Brown
|
b32000fa05
|
Fix #689 - add checks for @internal annotations
|
2018-12-01 18:37:49 -05:00 |
|
Matthew Brown
|
21f29e7385
|
Fix #1108 - add support for referencedFunction to UndefinedFunction
|
2018-11-29 23:19:33 -05:00 |
|
Matthew Brown
|
890412b557
|
Add support back for parser errors
|
2018-09-30 11:34:51 -04:00 |
|
Matt Brown
|
db3ddaa42c
|
Allow InvalidCatch and InvalidThrow to be suppressed per-class
Ref #411
|
2018-09-21 11:35:51 -04:00 |
|
Matt Brown
|
4d4e84e6e9
|
Add specific ForbiddenEcho issue if a config flag is set
|
2018-09-18 17:08:32 -04:00 |
|
Matt Brown
|
070e7903df
|
Allow suppression of TooManyArguments by function/method id
|
2018-08-16 16:49:33 -04:00 |
|
Matt Brown
|
cb63f4f70f
|
Add support for checking DeprecatedTrait and DeprecatedConstant
|
2018-08-10 13:25:25 -04:00 |
|
Matthew Brown
|
e3ae1bf26f
|
Fix #15 - check for uncaught throws if config flag is set
|
2018-06-22 01:13:49 -04:00 |
|
Matthew Brown
|
a33d52d935
|
Add support for referencedProperty error restrictions
|
2018-05-11 00:07:41 -04:00 |
|
rightfold
|
5c908da55a
|
Check that __clone, __construct, __destruct signatures omit return types
PHP complains when you have a return type declared for these three methods.
|
2018-04-21 16:04:03 -04:00 |
|
Matt Brown
|
5a2f6ff0e0
|
Fix #624 - change some innaccurate issue names
|
2018-04-17 14:07:02 -04:00 |
|
Matthew Brown
|
452fd2e7c9
|
Make UndefinedClass an explicit class-related issue
|
2018-03-21 10:17:57 -04:00 |
|
Matthew Brown
|
b634e1a1b7
|
Add more refined treatment of InvalidIterator
|
2018-03-20 22:59:22 -04:00 |
|
Matthew Brown
|
5384f193d1
|
Allow class and method issues to be suppressed by their identifiers
Ref #603
|
2018-03-20 22:36:03 -04:00 |
|
Matthew Brown
|
d7a585160f
|
Add more granular error messages for invalid operands
|
2018-03-18 16:39:34 -04:00 |
|
Matt Brown
|
b664c85642
|
Add new issue conditional on config flag
|
2018-03-06 12:19:50 -05:00 |
|
Matthew Brown
|
a0ce8791d3
|
Detect fatal issues where property access is overridden
Fixes #547
|
2018-03-04 12:24:50 -05:00 |
|
Matthew Brown
|
a99e89495b
|
Add end line/column data for LSP support
|
2018-02-19 18:16:09 -05:00 |
|
Matthew Brown
|
ec5c9c862c
|
Add missing file
|
2018-02-17 20:45:09 -05:00 |
|
Matthew Brown
|
09f86ceee7
|
Introduce MissingDependency issue, separate from UndefinedClass
Ref #511
|
2018-02-17 11:36:20 -05:00 |
|
Matt Brown
|
7f4be858c2
|
Fix #498 - add better issue type for docblock contradiction
|
2018-02-07 15:20:47 -05:00 |
|
Matt Brown
|
1df4c3d196
|
Add DocblockTypeContradiction to find possible issues with docblock types
Fixes #491
|
2018-02-06 18:44:53 -05:00 |
|
Matthew Brown
|
3482ee3b39
|
Split UntypedParam into MissingParamType and MissingClosureParamType
|
2018-01-28 20:03:47 -05:00 |
|
Matthew Brown
|
507007a2bf
|
Add DeprecatedInterface and emit DeprecatedClass in more places
Fixes #463
|
2018-01-23 09:09:43 -05:00 |
|
Matt Brown
|
4b4e09277c
|
Fix #450 - add checks for duplicate array keys
And fix the embarassing errors in tests
|
2018-01-18 17:16:50 -05:00 |
|
Matthew Brown
|
fb9f20f4b8
|
Find unused properties with dead code checks
Fixes #424
|
2018-01-10 23:29:18 -05:00 |
|