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

279 Commits

Author SHA1 Message Date
Matt Brown
850998ed1a Add class-string type for enforcing use of ::class constants 2018-03-05 16:06:06 -05:00
Matthew Brown
9fe4a97851 Fix issue with do 2018-03-03 13:21:52 -05:00
Matthew Brown
e419a8fe01 Exit early when there’s an issue in block-level elements
Fixes #550
2018-03-03 13:20:41 -05:00
Matthew Brown
115e647c3c Fix #543 - register static vars properly so their references can be caught 2018-02-26 19:32:26 -05:00
Matthew Brown
956972b4a4 Fix #539 - evaluate global variable usage 2018-02-25 10:43:54 -05:00
Matt Brown
5471b89391 Make array coercion an error 2018-02-21 18:59:31 -05:00
Matthew Brown
108ca54867 Fix #516 - make sure --find-references-to doesn’t output missing references 2018-02-17 17:45:30 -05:00
Matthew Brown
c87204acbf Don’t check for unused vars when checking for initialiasations
Fixes #517
2018-02-17 12:02:31 -05:00
Matthew Brown
affcaebc3d Use classes, not full method ids, for plugin execution 2018-02-11 22:49:19 -05:00
Matthew Brown
e862e4ddb1 Make all plugin methods static
cc @TysonAndre
2018-02-11 20:56:34 -05:00
Matthew Brown
24416feb62 Improve handling of unset calls with possibly undefined variables 2018-02-10 10:30:08 -05:00
Matt Brown
6f7903716d Move property lookup api into codebase class 2018-02-08 18:14:28 -05:00
Matthew Brown
6955f77e2e Fix #493 - add support for multiple @var lines per docblock 2018-02-07 23:33:31 -05:00
Matt Brown
1d46124bab Fix issues found by detecting docblock type inconsistencies 2018-02-06 13:40:28 -05:00
Matthew Brown
473a174f23 Memoise type tokenisation and move functions to more logical locations 2018-02-04 12:23:32 -05:00
Matthew Brown
8e0998e081 Break apart the Codebase class 2018-02-03 18:56:54 -05:00
Matthew Brown
44b8b22995 Improve checks for unused variables and params 2018-01-28 17:28:34 -05:00
Matt Brown
a2d11cce51 Fix static/self return type handling 2018-01-26 13:51:00 -05:00
Matthew Brown
ea28ee709d Improve unused variable detection slightly 2018-01-25 01:04:26 -05:00
Matt Brown
24cbe6a52a Fix #466 - initialize variable 2018-01-24 13:52:34 -05:00
Matthew Brown
b06cfd025a Allow continue inside case statement as alias for break
Fixes #464
2018-01-24 00:01:08 -05:00
Matthew Brown
68b00ea49a Add automatic fix for PossiblyUndefinedVariable 2018-01-21 16:24:20 -05:00
Matthew Brown
bc9761f6c9 Create Codebase out from ProjectChecker 2018-01-21 13:45:33 -05:00
Matthew Brown
e05a7c00cc Break FileScanner out from FileChecker 2018-01-21 12:44:46 -05:00
Matthew Brown
bd6e4a09bd Refactor to break up too-large-files 2018-01-14 12:09:40 -05:00
Matthew Brown
e402ae978a Fix Array_ items nullability 2018-01-13 18:33:32 -05:00
Matthew Brown
5bae869dc6 Break file manipulation out into Psalter 2018-01-07 17:25:23 -05:00
Matt Brown
928b01a7c7 Find and fix code issues where functionality is available 2018-01-07 17:25:23 -05:00
Matthew Brown
c9173c7da3 Add more specific issues for falsable/nullable invalid return types 2018-01-04 21:36:16 -05:00
Matthew Brown
8a8253ac4c Fix indentation 2018-01-02 21:23:48 -05:00
Matthew Brown
81cfe09fae Improve reporting of classlike locations in docblocks 2018-01-01 20:04:03 -05:00
Matthew Brown
81efe28f79 Fix #403 by complaining about return values in void functions 2017-12-28 21:49:03 +01:00
Matthew Brown
b96ab18d4b Improve throw issue message 2017-12-28 21:35:25 +01:00
Matthew Brown
b8c349166e Add InvalidCatch and InvalidThrow to prevent erroneous exceptions
Fix #411 and fix #412
2017-12-28 20:40:28 +01:00
Matthew Brown
ec92b40ed3 If class checking fails for storage reasons, don’t quit analysis 2017-12-23 01:26:08 +01:00
Matthew Brown
abc9c051a9 Improve analysis of constant arrays 2017-12-19 09:48:01 -05:00
Matthew Brown
3b7c84f484 Detect instances where loop invariants are invalidated
Fixes #389
2017-12-17 10:58:03 -05:00
Matt Brown
52c414f1d2 Fix return {expr} checks for void functions 2017-12-14 12:50:02 -05:00
Matthew Brown
e55fe2f158 Don’t complain about possibly undefined vars when calling unset
Fixes #139
2017-12-13 19:46:58 -05:00
Matthew Brown
146cb12277 Refine function arguments if they match non-docblock equivalents 2017-12-10 21:14:30 -05:00
Matt Brown
bfccdb417f Pass through ignore_nullable_issues flag when verifying return statements 2017-12-07 16:08:09 -05:00
Matt Brown
eca7351472 Add return-level issues as well as function-level ones
Fixes #379
2017-12-07 15:50:25 -05:00
Matt Brown
98085b2267 Fix #371 - improve handling of do statements broken in loop refactor 2017-12-05 11:05:10 -05:00
Matthew Brown
cff7f35d00 Change __toString type conversions to more precise getId checks 2017-12-03 12:44:08 -05:00
Matthew Brown
d20b8d3034
Improve loop analysis (#365) 2017-12-02 18:28:18 -05:00
Matthew Brown
888b5dae00 Move LoopChecker into its own file 2017-11-30 01:07:20 -05:00
Matthew Brown
f27bd50abe
Add RedundantCondition issue, replacing FailedTypeResolution (#344)
* Group changes

* Don’t worry about vars defined before exiting

* Fix issues with vars defined in conditionals

* Add failing test

* Only add failed reconciliation flag if nothing could be salvaged

* Avoid notice when removing clauses

* Improve handling of loops

* Fix evaluation of binary op expressions

* Remove unset vars from outer context after loop

* Ignore RedundantCondition in some more configs
2017-11-28 00:46:41 -05:00
Matthew Brown
afcbc113c9 Fix #228, fix #336 by improving checking of inherited signatures 2017-11-26 16:03:17 -05:00
Matthew Brown
c86e73ddb6 Always keep track of referenced var ids
which we can use for analysis elsewhere
2017-11-24 12:17:28 -05:00
Matthew Brown
942bc0a663 Add new MixedTypeCoercion issue, fixes #320 2017-11-19 13:42:48 -05:00