Matt Brown
1f358e36ef
Fix #544 - remove possibly assigned try vars from catch initialisations
2018-02-27 11:25:27 -05:00
Matthew Brown
47cb74ddd1
Fix issue where namespaced function could be treated as root
2018-02-25 11:13:00 -05:00
Matt Brown
ad3fe0974f
Fix indentation
2018-02-23 15:41:07 -05:00
Matt Brown
441506ad6f
Fix #216 - scan assert* functions for assertions, then apply to current context
2018-02-23 15:39:33 -05:00
Matt Brown
09d708981a
Add mixed checks to property __set calls
2018-02-21 19:34:21 -05:00
Matt Brown
e04c4f866c
Fix #524 - prevent fatal error when checking stubbed function from namespace
2018-02-21 11:32:52 -05:00
Tyson Andre
7aeacebba4
Fix possible typos in comments and issue messages
2018-02-19 15:35:13 -05:00
Tyson Andre
aea3779c96
Fix unused imports in psalm, wrong param order doc comments ( #523 )
...
(Some of the imports appear as strings elsewhere in the same file)
2018-02-18 17:55:11 -05:00
Matthew Brown
59dc239c89
Fix #522 - prevent interface instantiation
2018-02-17 18:53:02 -05:00
Matthew Brown
a0e88cb16f
Fix #518 - improve dead code detection to cover variable method calls
2018-02-17 17:23:57 -05:00
Matthew Brown
b041797cd0
Fix #519 - warn about variable calls on non-objects
2018-02-17 17:16:22 -05:00
Matthew Brown
af1155239e
Fix bug when assigning nested arrays with variable offsets
2018-02-17 12:32:19 -05:00
Matthew Brown
09f86ceee7
Introduce MissingDependency issue, separate from UndefinedClass
...
Ref #511
2018-02-17 11:36:20 -05:00
Matthew Brown
88ca7d2fa7
Fix #515 - make Psalm aware of variable array keys
2018-02-17 11:24:08 -05:00
Matthew Brown
f56edd3c04
Fix issue found by better analysis
2018-02-17 11:21:45 -05:00
Matthew Brown
a6b54a3607
Fix #513 - make sure numeric is treated like a number
2018-02-15 19:50:50 -05:00
Matt Brown
279b0bc16e
Fix #511 - check all class references for missing dependencies
2018-02-14 13:34:16 -05:00
Matt Brown
be75c143d4
Fix #510 - check that constructor parent classes and interfaces exist
2018-02-14 11:21:43 -05:00
Matthew Brown
affcaebc3d
Use classes, not full method ids, for plugin execution
2018-02-11 22:49:19 -05:00
Matthew Brown
f159cd5146
Add declaring/appearing method ids to method check plugin
2018-02-11 21:07:19 -05:00
Matthew Brown
e862e4ddb1
Make all plugin methods static
...
cc @TysonAndre
2018-02-11 20:56:34 -05:00
Matthew Brown
f17ba65731
Fix #438 - assign both sides of by-ref vars to mixed
2018-02-11 10:39:21 -05:00
Matthew Brown
217233472c
Fix #457 - fix objectlike property isset check
2018-02-10 23:30:40 -05:00
Matthew Brown
24416feb62
Improve handling of unset calls with possibly undefined variables
2018-02-10 10:30:08 -05:00
Nicky Robinson
8e77ff1ce9
Throw error if magic getter or setter called for undefined property or invalid type specified with annotations ( #500 )
...
* Fix path to psalm
* If a magic getter or setter is used to access a property on a class
that is not defined but a `@property` annotation for the property
exists, throw an error. If no `@property` annotation exists, it's not
an error because you're allowed to make magic getters and setters do
crazy things.
Fixes #480
* Move logic to a better place to avoid duplicate checks
* Move logic into function
* Remove some nesting
* Check psalm-seal-properties and property type correctly
2018-02-09 19:37:09 -05:00
Matthew Brown
40efa9e8aa
Fix #503 - make sure mixed array type is set for MixedMethodCall
2018-02-08 23:22:29 -05:00
Matt Brown
283e0a6af2
Migrate class constant handling into codebase classes
2018-02-08 18:18:34 -05:00
Matt Brown
6f7903716d
Move property lookup api into codebase class
2018-02-08 18:14:28 -05:00
Matt Brown
78cc1786c8
Don’t check newly-scoped vars in conditional
2018-02-08 14:46:06 -05:00
Matt Brown
72675cb5a0
Be more rigorous about atomic docblock type reconciliation
2018-02-08 13:01:39 -05:00
Matthew Brown
6955f77e2e
Fix #493 - add support for multiple @var lines per docblock
2018-02-07 23:33:31 -05:00
Matthew Brown
24e03edefa
Fix #485 when return type is a generator
2018-02-07 22:29:32 -05:00
Matthew Brown
1ae58f0386
Fix #501 - allow analysis to continue after bad constant check
2018-02-07 20:26:26 -05:00
Matt Brown
7f4be858c2
Fix #498 - add better issue type for docblock contradiction
2018-02-07 15:20:47 -05:00
Matt Brown
685ea29ebe
Move asserted var creation after conditional reconciliation
2018-02-07 14:13:57 -05:00
Matt Brown
b4281748bc
Remove redundant code found by Psalm
2018-02-07 13:57:45 -05:00
Matthew Brown
970ceab396
Check loop context var exists
...
This can happen if the parent has been reassigned
2018-02-06 21:03:36 -05:00
Matt Brown
1df4c3d196
Add DocblockTypeContradiction to find possible issues with docblock types
...
Fixes #491
2018-02-06 18:44:53 -05:00
Matt Brown
1d46124bab
Fix issues found by detecting docblock type inconsistencies
2018-02-06 13:40:28 -05:00
Matt Brown
4b87612bb4
Add better issue message for bad array offset
...
Fixes #492
2018-02-06 11:27:01 -05:00
Matt Brown
d88eadbb0e
Fix #486 - skip first reconciliation in loop checker for do stmts
2018-02-06 11:07:52 -05:00
Matt Brown
8747d78c39
Suppress RedundantCondition when analysing first loop of do
...
Ref #486
2018-02-05 17:29:13 -05:00
Matthew Brown
8e0998e081
Break apart the Codebase class
2018-02-03 18:56:54 -05:00
Matthew Brown
e5bc0e6129
Fix #431 - report invalid return types before invalid nullable/falsable ones
2018-02-02 19:08:10 -05:00
Matthew Brown
861d907845
Add more information to TooMany/TooFewArguments issues
...
Fixes #481
2018-02-02 11:26:55 -05:00
Matthew Brown
d8fb14e6f7
Fix incorrect template types being passed through
2018-02-01 01:52:20 -05:00
Matthew Brown
fb300baa6d
Move a bunch of code into Codebase
2018-02-01 00:50:01 -05:00
Matthew Brown
cf8734a480
Add support for generic classes
2018-01-31 23:27:25 -05:00
Matt Brown
fc805a926e
Add code coverage message at the end of a scan
2018-01-31 16:08:52 -05:00
Matt Brown
b2b2572e4d
Fix #478 - allow is_a checks with string arg
2018-01-30 16:45:29 -05:00