1
0
mirror of https://github.com/danog/psalm.git synced 2025-01-23 06:11:25 +01:00

799 Commits

Author SHA1 Message Date
Matthew Brown
ee6a9b98fb Allow arrays to be called (ugh) 2018-03-02 00:49:53 -05:00
Matthew Brown
54cbee1265 Add TooManyArguments for closure test 2018-03-02 00:12:41 -05:00
Matthew Brown
cc19f50c04 Prevent missing classes from confounding callable arg checks 2018-03-01 23:43:52 -05:00
Matthew Brown
6660aa8a00 Fix #548 - check array_map/array_filter args for param matches 2018-03-01 23:33:21 -05:00
Matt Brown
2846e549dd Fix #546 - allow iterable phpstorm generics 2018-03-01 11:19:23 -05:00
Matt Brown
80864b1ce8 Don’t be concerned about unused params named $_
Fixes #540
2018-02-27 11:39:26 -05:00
Matt Brown
1f358e36ef Fix #544 - remove possibly assigned try vars from catch initialisations 2018-02-27 11:25:27 -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
Matt Brown
93b714d7c8 Fix #541 - make array_map on object-like more accurate 2018-02-26 11:01:30 -05:00
Matt Brown
9d165bee7b Fix generic return type for array_map
Ref #541
2018-02-26 10:39:48 -05:00
Matthew Brown
2be2769008 Don’t adhere to assert rules with ored truths 2018-02-25 11:30:45 -05:00
Matthew Brown
47cb74ddd1 Fix issue where namespaced function could be treated as root 2018-02-25 11:13:00 -05:00
Matthew Brown
956972b4a4 Fix #539 - evaluate global variable usage 2018-02-25 10:43:54 -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
95642aafb4 Fix #339 - when a class is also in the callmap, use the user-defined behaviour 2018-02-22 13:42:34 -05:00
Matt Brown
1f7d95dde0 Add better typing rules for generic objects 2018-02-22 11:20:03 -05:00
Matt Brown
09d708981a Add mixed checks to property __set calls 2018-02-21 19:34:21 -05:00
Matt Brown
5471b89391 Make array coercion an error 2018-02-21 18:59:31 -05:00
Matt Brown
316dd78e6a Fix #509 - don’t complain about a missing param type when system parent has one 2018-02-21 11:57:52 -05:00
Matt Brown
e04c4f866c Fix #524 - prevent fatal error when checking stubbed function from namespace 2018-02-21 11:32:52 -05:00
Matthew Brown
a99e89495b Add end line/column data for LSP support 2018-02-19 18:16:09 -05:00
Matthew Brown
81fd016120 Fix #193 - allow caching of storages 2018-02-19 00:27:39 -05:00
Matthew Brown
59dc239c89 Fix #522 - prevent interface instantiation 2018-02-17 18:53:02 -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
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
e32eb5c93f Speed up manipulation test by only turning on plugin once 2018-02-17 17:15:50 -05:00
Matthew Brown
af1155239e Fix bug when assigning nested arrays with variable offsets 2018-02-17 12:32:19 -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
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
7940268a13 Fix #512 - check for undefined constant in param default 2018-02-15 20:27:42 -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
be75c143d4 Fix #510 - check that constructor parent classes and interfaces exist 2018-02-14 11:21:43 -05:00
Matt Brown
d0a2258806 Fix #508 - make sure trait missing property checks happen on correct file 2018-02-12 10:46:45 -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
78cc1786c8 Don’t check newly-scoped vars in conditional 2018-02-08 14:46:06 -05:00
Matt Brown
30ca2ad65f Fix issues with mixed assignments inside loop 2018-02-08 14:02:32 -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
Tyson Andre
0bc7ac11f1 Improve callmap with information from docs.php.net (#494)
* Update CallMap.php with information from docs.php.net

* Undo possibly inaccurate information from docs.php.net

* Fix bug in ReflectionMethod::invoke*() signature

http://php.net/manual/en/reflectionmethod.invoke.php had a misleading
method signature description section
2018-02-06 20:50:32 -05:00
Matt Brown
1df4c3d196 Add DocblockTypeContradiction to find possible issues with docblock types
Fixes #491
2018-02-06 18:44:53 -05:00