Matthew Brown
|
b313971935
|
Remove unused code
|
2019-01-18 11:57:52 -05:00 |
|
Matthew Brown
|
eddaaea01b
|
Add support for static @method annotations
|
2019-01-18 11:37:52 -05:00 |
|
Matthew Brown
|
22ec7e537c
|
Fix #1208 - respect inheritance when combining in boolean operation
Also fixes issue reconciling inside trait
|
2019-01-18 10:08:16 -05:00 |
|
Matthew Brown
|
4ec7903e8b
|
Fix #390 - add support for object{foo:int, bar:string} annotation
|
2019-01-18 00:56:24 -05:00 |
|
Bruce Weirdan
|
0358719037
|
Added DateTime::createFromImmutable()
It's available in PHP 7.3, see [FR 74668](https://bugs.php.net/bug.php?id=74668) and php/php-src#2484
|
2019-01-17 18:53:57 -05:00 |
|
Brown
|
d78c70d521
|
Add better messaging for MixedMethodCall
|
2019-01-17 14:04:40 -05:00 |
|
Brown
|
d068f1535d
|
Fix issue with implemented class interface in subclass
|
2019-01-16 15:08:11 -05:00 |
|
Brown
|
1ac51fcea6
|
Allow binding params of extended templates
Fixes #1207
|
2019-01-16 12:07:30 -05:00 |
|
Brown
|
ee366015f7
|
Fix #1205 - allow traits to override inheritance checks
|
2019-01-16 10:59:06 -05:00 |
|
Matthew Brown
|
ee97c9dbaf
|
Add support for T of Foo
|
2019-01-16 09:23:25 -05:00 |
|
Roland Franssen
|
9a827c48ae
|
Tweak error message
|
2019-01-16 09:02:45 -05:00 |
|
Matthew Brown
|
90dc39c296
|
Don’t preserve old storages when receiving worker data
This bug was found when running Psalm in threaded execution mode
|
2019-01-15 23:24:29 -05:00 |
|
Matthew Brown
|
37aef674a1
|
Remove unused library
|
2019-01-15 22:17:45 -05:00 |
|
Matthew Brown
|
c43734f3ab
|
Don’t localise PropertyNotSetInConstructor issues
|
2019-01-15 21:34:18 -05:00 |
|
Brown
|
8d61cb4816
|
Fix #1200 - no fatal error in array_map when not checking functions
|
2019-01-15 17:53:23 -05:00 |
|
Brown
|
f5a81249e0
|
Fix #1202 - don’t allow undefined constants in enums
|
2019-01-15 11:31:13 -05:00 |
|
Brown
|
773be5ceb2
|
Remove blank line
|
2019-01-14 17:13:55 -05:00 |
|
Brown
|
496bd97714
|
Make sure we’re not flipping the wrong constraint
|
2019-01-14 16:07:57 -05:00 |
|
Brown
|
ee004a91ac
|
Fix #1068 by restricting template types to passed called closure returns
|
2019-01-14 15:50:25 -05:00 |
|
Matthew Brown
|
3ca5ec9281
|
Fix templated class conversion allowing child class
|
2019-01-13 14:40:21 -05:00 |
|
Matthew Brown
|
2c55e7aabb
|
Support template-typeof in class again
|
2019-01-13 14:29:04 -05:00 |
|
Matthew Brown
|
1de0e35545
|
Add checks for Psalm reserved words in assertions
|
2019-01-13 14:06:30 -05:00 |
|
Matthew Brown
|
94aa51ba6d
|
abstract trait method return type override should not be MethodSignatureMistmatch
|
2019-01-13 13:27:07 -05:00 |
|
Matthew Brown
|
bd9f2ec546
|
Add separate issue type for undefined interface method
|
2019-01-13 13:07:53 -05:00 |
|
Matthew Brown
|
0cca0d76cb
|
Fix #813 - allow constant array to be refined with isset
|
2019-01-13 11:54:39 -05:00 |
|
Matthew Brown
|
6d462fcb64
|
Fix #909 - support private trait aliasing
|
2019-01-13 10:19:27 -05:00 |
|
Matthew Brown
|
7e0928d775
|
Fix #833 - warn on some invalid operands
|
2019-01-13 10:15:15 -05:00 |
|
Matthew Brown
|
e9b7c9e08b
|
Fix #1129 - mock class method arguments should be evaluated
|
2019-01-13 09:49:34 -05:00 |
|
Matthew Brown
|
9ef1ce1535
|
Make @template-extends more robust
|
2019-01-12 18:18:23 -05:00 |
|
Matthew Brown
|
a7005014c2
|
Fix #987 - namespace asserted classes
|
2019-01-12 11:40:19 -05:00 |
|
Matthew Brown
|
b43a6a31f1
|
Enable casing plugin and fix issues it found
|
2019-01-12 10:52:23 -05:00 |
|
Matthew Brown
|
a49b5af3e9
|
Refactor the method call analyzer a little
|
2019-01-12 09:13:54 -05:00 |
|
Matthew Brown
|
cfcb65aaac
|
Fix #1113 - treat class_alias as always global
|
2019-01-12 07:28:01 -05:00 |
|
Brown
|
2195caaeae
|
Check type var
|
2019-01-11 17:28:57 -05:00 |
|
Brown
|
1fddc19172
|
Add initial support for property types
|
2019-01-11 17:21:50 -05:00 |
|
Brown
|
cdbc63c99a
|
Fix #1195 - check assignments in byref
|
2019-01-11 14:57:21 -05:00 |
|
Brown
|
bf327f4933
|
Prevent echo removing all types
|
2019-01-11 14:46:03 -05:00 |
|
Brown
|
eb7fc96ac1
|
Make param type checks use template_extends too
|
2019-01-11 11:18:51 -05:00 |
|
Brown
|
4ec8d1a8dd
|
Fix #1198 - add support for template param extends checks
|
2019-01-11 10:55:44 -05:00 |
|
Matthew Brown
|
d891c068b4
|
Fix #1197 - add support for method templating without override
|
2019-01-11 09:35:32 -05:00 |
|
Matthew Brown
|
ff958ef643
|
Fix inheritance of method params
|
2019-01-11 08:54:10 -05:00 |
|
Brown
|
9947bc56f6
|
Fix Psalm errors and improve error output
|
2019-01-10 19:18:02 -05:00 |
|
Brown
|
0d28d5d82b
|
Add check for @template-extends return types
|
2019-01-10 19:01:30 -05:00 |
|
Brown
|
ddc2637fc5
|
Add support for @template-extends Foo<SomeClass>
|
2019-01-10 17:58:32 -05:00 |
|
Brown
|
f108badd03
|
Fix #1067 - add support for @template-extends
|
2019-01-10 16:59:44 -05:00 |
|
Brown
|
3533339884
|
Remove nullable arg
|
2019-01-10 13:07:22 -05:00 |
|
Brown
|
b8d822cd26
|
Prohibit leaking of template params across class boundaries
|
2019-01-10 12:13:49 -05:00 |
|
Brown
|
1e20cbfa79
|
Prevent template params leaking when extended
|
2019-01-10 10:27:40 -05:00 |
|
Matthew Brown
|
e23d5a9e79
|
Only use one thread for language server if there’s no pcntl extension
|
2019-01-10 00:15:59 -05:00 |
|
Matthew Brown
|
5936415b09
|
Exit if trying to use --threads without pcntl extension
|
2019-01-10 00:14:40 -05:00 |
|
Matthew Brown
|
27687244f0
|
Normalise baseline file slashes
Fixes #1192
|
2019-01-10 00:10:16 -05:00 |
|
Bruce Weirdan
|
32377d6751
|
fixed password_hash signature
fixes vimeo/psalm#1188
|
2019-01-09 12:32:06 -05:00 |
|
Brown
|
d1654b9bf4
|
Ignore @return with a newline after @return
|
2019-01-09 11:51:29 -05:00 |
|
Matthew Brown
|
d3324b42fa
|
Remove slashes from is_a and is_subclass_of string classes, and scan them
|
2019-01-09 08:49:02 -05:00 |
|
Matthew Brown
|
01e41951e7
|
Support backslash in is_a/is_subclass_of string name
|
2019-01-09 08:42:27 -05:00 |
|
Matthew Brown
|
11bfaaa5f7
|
Prevent crash in constructor checks
|
2019-01-09 08:35:53 -05:00 |
|
Matthew Brown
|
6e585008f2
|
Fix #1183 - add hook for class analysis
|
2019-01-09 08:28:12 -05:00 |
|
Matthew Brown
|
5b2d796c30
|
Fix up callmap
|
2019-01-08 21:57:22 -05:00 |
|
Matthew Brown
|
dc2f4929d4
|
Add changes from PHPStan, thanks @voku
|
2019-01-08 21:44:50 -05:00 |
|
Matthew Brown
|
2f30132d94
|
Add Phan updates to callmap
|
2019-01-08 21:19:11 -05:00 |
|
Andrii Dembitskyi
|
596b92a805
|
🐛 Fix --plugin option handling for psalter
|
2019-01-08 18:44:56 -05:00 |
|
Andrii Dembitskyi
|
dfedf70d5d
|
🐛 Fix --plugin option handling for psalm
|
2019-01-08 18:44:43 -05:00 |
|
Brown
|
2201380c52
|
Fix type transformation issues in templated class strings
|
2019-01-08 17:34:58 -05:00 |
|
Brown
|
43bbd739a2
|
Fix generic param fetches
|
2019-01-08 16:55:53 -05:00 |
|
Brown
|
546919a515
|
Allow reconciliation with nullable type string
|
2019-01-08 15:26:54 -05:00 |
|
Brown
|
73770c085e
|
Prevent crash when @template as type is missing
|
2019-01-08 15:11:57 -05:00 |
|
Brown
|
f3133aac84
|
Prevent more crashes
|
2019-01-08 14:50:45 -05:00 |
|
Brown
|
8e26d639de
|
Fix #1181 - improve handling of complicated conditionals
|
2019-01-08 12:33:44 -05:00 |
|
Matthew Brown
|
b6865b130b
|
Catch exception in more places
|
2019-01-08 09:57:14 -05:00 |
|
Matthew Brown
|
a89a201c71
|
Fix #1180 - array key maths was wrong
|
2019-01-08 09:56:54 -05:00 |
|
Matthew Brown
|
dfba6e0dec
|
Fix #1181 - prevent allowed memory errors with large conditionals
|
2019-01-08 09:19:33 -05:00 |
|
Matthew Brown
|
fb83da94bd
|
Exit early when encountering complicated conditionals
|
2019-01-08 09:02:41 -05:00 |
|
Matthew Brown
|
370874d9b6
|
Make diff map more verbose so it can serve as a list of safe zones
Outside them all issues must be removed
|
2019-01-08 00:54:48 -05:00 |
|
Matthew Brown
|
a2ee2f12a4
|
Allow scalar to contain numeric
|
2019-01-07 21:52:58 -05:00 |
|
Brown
|
9ec8690825
|
Fix #1177 - prevent redundant condition leaking
|
2019-01-07 18:22:42 -05:00 |
|
Brown
|
be337a03cf
|
Simplify output of method call complaints
|
2019-01-07 16:38:37 -05:00 |
|
Brown
|
5d5fbb1e9c
|
Only add linked directories
|
2019-01-07 15:49:05 -05:00 |
|
Brown
|
14f456e160
|
Fix #1176 - always evaluate assignments in unknown function calls
|
2019-01-07 12:24:44 -05:00 |
|
Brown
|
4d959626d5
|
Fix #1175 - support trait method visibility changes
|
2019-01-07 11:53:22 -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
|
bcbede07ba
|
Fix issue with do analysis while loops
|
2019-01-07 01:15:30 -05:00 |
|
Matthew Brown
|
36a1fe07da
|
Allow plugins to have more than one class
Ref #536
|
2019-01-06 17:32:19 -05:00 |
|
Matthew Brown
|
5691c37ece
|
Use reflection to figure out where dupe function was defined
|
2019-01-06 17:24:46 -05:00 |
|
Matthew Brown
|
a6357b413c
|
Don’t complain when rescanning file with function in
|
2019-01-06 17:03:13 -05:00 |
|
Matthew Brown
|
214fd7d461
|
Add DuplicateFunction issue
Fixes #49
|
2019-01-06 16:40:44 -05:00 |
|
Matthew Brown
|
43b4c1c0a3
|
Fix #1168 - better return type for range
|
2019-01-06 13:02:46 -05:00 |
|
Matthew Brown
|
9c9e57cf6b
|
Fix #1153 - ignore redundant conditions in finally block
|
2019-01-06 12:39:18 -05:00 |
|
Matthew Brown
|
b19dd25881
|
Fix #742 - infer template type from closure
|
2019-01-06 12:16:09 -05:00 |
|
Matthew Brown
|
cc26ce682e
|
Don’t crash when encountering empty @throws
|
2019-01-06 10:01:35 -05:00 |
|
Matthew Brown
|
90e1648d5b
|
Fix #979 - be more conservative about method_exists handling
|
2019-01-06 09:36:25 -05:00 |
|
Matthew Brown
|
8783a33a3f
|
Fix #1136 - support __halt_compiler
|
2019-01-06 09:18:41 -05:00 |
|
Matthew Brown
|
07b29e4a2f
|
Fix #1141 - add symlinked symlinked repos to directory list
|
2019-01-06 09:14:35 -05:00 |
|
Matthew Brown
|
e3f2cee2d6
|
Fix thing that doesn’t work quite right
|
2019-01-05 17:10:29 -05:00 |
|
Matthew Brown
|
4d6031b39b
|
Fix #1172 - treat is_subclass_of similarly to is_a
|
2019-01-05 16:58:34 -05:00 |
|
Matthew Brown
|
3a405f4951
|
Remove public from const
|
2019-01-05 16:34:09 -05:00 |
|
Matthew Brown
|
c7723df8ff
|
Allow gettype vars to be compared to strings
|
2019-01-05 16:23:18 -05:00 |
|
Matthew Brown
|
9e2dacc9e4
|
Remove blank lines
|
2019-01-05 15:54:21 -05:00 |
|
Matthew Brown
|
355ed831e1
|
Add support for get_parent_class() with arg
|
2019-01-05 15:49:56 -05:00 |
|
Matthew Brown
|
58acaefe70
|
Add support for get_parent_class() with no args
|
2019-01-05 15:49:56 -05:00 |
|
Tyson Andre
|
d85c9d8aa2
|
Remove an unused closure use variable
This looks like debugging code added in
37dedee7b6
|
2019-01-05 15:48:48 -05:00 |
|
Matthew Brown
|
8024b4e275
|
Add support for $a::class
|
2019-01-05 15:12:42 -05:00 |
|
Matthew Brown
|
f5378bdca8
|
Improve function call resolution
|
2019-01-05 14:50:11 -05:00 |
|
Matthew Brown
|
632f613ba0
|
Numeric is not expressible in PHP
|
2019-01-05 13:17:44 -05:00 |
|
Matthew Brown
|
bf8f76671b
|
Don’t crash when suppressing UndefinedClass with bad params
|
2019-01-05 12:59:12 -05:00 |
|
Matthew Brown
|
8dbee1c1d9
|
Allow iterable to be output in PHP 7.1 too
|
2019-01-05 11:05:26 -05:00 |
|
Matthew Brown
|
6f1d56a80f
|
Upcast iterables to traversables when used in a templated class string
|
2019-01-05 10:32:39 -05:00 |
|
Matthew Brown
|
9f16ab9cb5
|
Fix issue where documented self param confuses
|
2019-01-05 08:45:12 -05:00 |
|
ADmad
|
407e4473f7
|
Improve callmap possibly false value.
Similar to #1147.
|
2019-01-05 08:28:13 -05:00 |
|
Matthew Brown
|
9d8c2792e2
|
Add array-key type and improve general type handling
Fixes #1144
|
2019-01-05 00:15:53 -05:00 |
|
Matthew Brown
|
2dc3d9651f
|
Separate iterable into its own type
Fixes #1151
|
2019-01-04 14:54:40 -05:00 |
|
Matthew Brown
|
87052537cf
|
Fix #1167 - don’t worry about AbstractInstantiation when it could be a descendant
|
2019-01-04 12:28:00 -05:00 |
|
Matthew Brown
|
602d8a5ade
|
Fix issue inheriting grandparent signature
|
2019-01-04 08:37:54 -05:00 |
|
Matthew Brown
|
75e0684854
|
Callable can be fully expressed if its uncomplicated
|
2019-01-04 08:36:44 -05:00 |
|
Matthew Brown
|
e5559e3012
|
Allow callables to be plain objects, and vice versa
Previously Psalm required they be *known* objects
|
2019-01-04 08:04:26 -05:00 |
|
Matthew Brown
|
bfb1eb9be2
|
Properly namespace TClassString output
|
2019-01-02 20:25:42 -05:00 |
|
Brown
|
53749bd5c5
|
Do better at finding things that exit
|
2019-01-02 18:14:47 -05:00 |
|
Brown
|
6a744c0f07
|
Add no-returns et al to list of psalm-reserved words
|
2019-01-02 17:26:05 -05:00 |
|
Brown
|
cca0070d38
|
Allow function calls that exit to act themselves like exit
|
2019-01-02 17:16:04 -05:00 |
|
Brown
|
2b4b55fd33
|
Add support for @return no-return
Fixes #1155
|
2019-01-02 17:05:39 -05:00 |
|
Brown
|
c39446330e
|
Make class-string rules more strict
|
2019-01-02 14:24:45 -05:00 |
|
Brown
|
9fdf29c468
|
Fix #1165 - default inherited unresolved constants to mixed
|
2019-01-02 13:46:46 -05:00 |
|
Matthew Brown
|
6fc79e3534
|
Fix Psalm issues
|
2019-01-02 13:27:53 -05:00 |
|
Matthew Brown
|
93e3d66ce5
|
Move filter_var handler function into its own method
|
2019-01-02 13:27:53 -05:00 |
|
Andrii
|
36f6930e0c
|
🐛 #1163 Fix handling for default option in filter_var
|
2019-01-02 13:27:53 -05:00 |
|
Brown
|
2d22db4cb7
|
Clear up use of reloadFiles
|
2019-01-02 12:10:52 -05:00 |
|
Brown
|
69d9fd7e28
|
Fix regression when reasoning about class strings
|
2019-01-02 11:35:49 -05:00 |
|
Brown
|
1d300ec342
|
Fix #1150
|
2019-01-02 11:18:22 -05:00 |
|
Matthew Brown
|
c4d024a72d
|
Check variable static calls
Fixes #1142 and #1160
|
2019-01-02 09:00:45 -05:00 |
|
Matthew Brown
|
df9ea9e3b6
|
Potential fix for #1156
|
2019-01-02 08:03:24 -05:00 |
|
Matthew Brown
|
901596281c
|
Fix #1143 - check some variable new calls
|
2019-01-02 06:58:49 -05:00 |
|
Matthew Brown
|
34cbe70e6f
|
Fix templated @return T::class output
|
2019-01-02 06:46:10 -05:00 |
|
Matthew Brown
|
6fbf395f70
|
Fix #1152 - don’t complain about trait class-string comparisons
|
2019-01-01 21:00:34 -05:00 |
|
Matthew Brown
|
0f6ce983f4
|
Fix #1154 - parent::foo() calls should not cause exception when parent does not exist
|
2018-12-30 18:28:15 +01:00 |
|
Matthew Brown
|
b0534cc498
|
Fix #1149 - allow empty check on iterable
|
2018-12-26 11:52:37 +01:00 |
|
Matthew Brown
|
571c1d7413
|
Improve callmap possibly false value
Fixes #1147
|
2018-12-26 11:25:10 +01:00 |
|
Matthew Brown
|
e844fb6491
|
Add wider return type to Exception::getCode and Throwable::getCode
Fixes #1148
|
2018-12-26 11:21:56 +01:00 |
|
Matthew Brown
|
8cc7f6a4cf
|
Improve reporting of iterable type
|
2018-12-23 01:26:26 -05:00 |
|
Matthew Brown
|
d70f853055
|
Fix display of class constants in types
|
2018-12-22 21:05:07 -05:00 |
|
Matthew Brown
|
3024ea1ef1
|
Improve handling of class constants in types
|
2018-12-22 12:12:35 -05:00 |
|
Matthew Brown
|
f01b462d75
|
Add better output for class strings
|
2018-12-22 12:08:35 -05:00 |
|
Matthew Brown
|
10a36def96
|
Fix issue with by-ref args
|
2018-12-21 13:53:22 -05:00 |
|
Matthew Brown
|
fab4d135b2
|
Fix static calls on class_aliased classes
|
2018-12-21 11:39:28 -05:00 |
|
Matthew Brown
|
947e3bf0f1
|
Fix crashes when analysing aliased class instances
|
2018-12-21 11:32:44 -05:00 |
|
Matthew Brown
|
e89425ad68
|
Inherit parameters via @inheritdoc
|
2018-12-21 11:01:24 -05:00 |
|
Matthew Brown
|
e744e71946
|
Fix class_alias treatment for interfaces and others
|
2018-12-21 09:29:23 -05:00 |
|
Matthew Brown
|
02003d9996
|
Understand class_alias calls better
Ref #1135
|
2018-12-21 01:21:00 -05:00 |
|
Brown
|
974476dc87
|
Fix var used to assert length
|
2018-12-20 17:34:56 -05:00 |
|
Brown
|
abdf646050
|
Only diff files if lengths are not very different
|
2018-12-20 17:33:35 -05:00 |
|
Brown
|
2e30d7b4a0
|
Improve handling of unset
|
2018-12-20 16:03:21 -05:00 |
|
Brown
|
5842ac1517
|
Fix internal error with property fetches on undefined classes
|
2018-12-20 14:26:55 -05:00 |
|