1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-14 18:36:58 +01:00
Commit Graph

2891 Commits

Author SHA1 Message Date
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
Matthew Brown
c3a1e77a53 Fix errors in doctrine/dbal 2018-12-20 01:06:43 -05:00
Brown
09ea7ba7a8 Allow combination of mixed-from-isset and empty 2018-12-19 19:43:07 -05:00
Brown
f02fdeddf3 Fix spelling 2018-12-19 18:03:02 -05:00
Brown
87993bad3b Fix attribute names 2018-12-19 17:56:29 -05:00
Brown
fb848d62e9 Add checks for if (count($a)) and if (count($a) [operator] [number]) 2018-12-19 16:15:19 -05:00
Brown
8e5e3564bc Fix erroneous redundant condition warning 2018-12-19 16:10:09 -05:00
Matthew Brown
ea89a6ba29 Revert "First pass"
This reverts commit 9ed047234f.
2018-12-19 08:45:14 -05:00
Matthew Brown
20f7147af1 Revert "Maybe bad idea"
This reverts commit 03c817be08.
2018-12-19 08:44:56 -05:00
Matthew Brown
03c817be08 Maybe bad idea 2018-12-19 01:59:26 -05:00
Matthew Brown
9ed047234f First pass 2018-12-19 01:59:14 -05:00
Matthew Brown
13e14b3162 Remove code that was breaking things 2018-12-19 00:28:11 -05:00
Matthew Brown
4cd7d923df Initialise output to string 2018-12-18 17:47:28 -05:00
Dave Liddament
0655e1c19c UPDATE add issue type to text output
Adds issue type to text output. Leaves .emacs output as before.
2018-12-18 17:25:28 -05:00
Dave Liddament
5103dfd680 FIX update psalm help text to show you can also generate a report with a .emacs file ending 2018-12-18 17:24:28 -05:00
Matthew Brown
e75d8d00bb Improve result of "static" type-to-string 2018-12-18 01:14:19 -05:00
Matthew Brown
885a6a605e Add better namespaced string representation for generic param class 2018-12-18 00:21:55 -05:00
Matthew Brown
ca6149ed17 Improve treatment of templated params within function analysis 2018-12-17 23:29:27 -05:00
Brown
7b03e0159c Prevent invalid static invocation
Fixes #1134
2018-12-17 17:48:13 -05:00
Brown
ca1a615026 Don’t call reconciliation on empty vars 2018-12-17 15:23:56 -05:00