Brown
|
119687f934
|
Fix redundant condition message when negating a docblock type
|
2019-02-27 14:02:02 -05:00 |
|
Matthew Brown
|
6af222f36a
|
Fix #1393 - support analysing non-empty-array calls
|
2019-02-27 09:08:27 -05:00 |
|
Matthew Brown
|
b310cc07b5
|
Array access on objects should always be treated as method call
|
2019-02-26 21:24:30 -05:00 |
|
Bruce Weirdan
|
624789f6c0
|
dropped unused var
|
2019-02-26 01:16:22 -05:00 |
|
Bruce Weirdan
|
9c5ee3e9d6
|
Added AfterCodebasePopulated hook registration
|
2019-02-26 01:16:22 -05:00 |
|
Bruce Weirdan
|
3f56f468dc
|
added test
|
2019-02-26 01:16:22 -05:00 |
|
Matthew Brown
|
8650f9eb1a
|
Fix #1356 - improve assertion system to work better on function calls
|
2019-02-26 01:03:33 -05:00 |
|
Bruce Weirdan
|
19a9ff4bcf
|
Added custom storage metadata
|
2019-02-25 10:19:31 -05:00 |
|
bugreportuser
|
7f7125f334
|
Fix crash for empty string array access
|
2019-02-25 08:26:12 -05:00 |
|
Matthew Brown
|
4f770d356e
|
Fix #1384 - evaluate array fetches even when we don’t know function
|
2019-02-24 09:58:11 -05:00 |
|
Matthew Brown
|
3ad1abece4
|
Add generation of json artifacts
|
2019-02-24 01:33:25 -05:00 |
|
Matthew Brown
|
fff56f7b26
|
Use better heuristic to determine missing types
|
2019-02-23 11:39:00 -05:00 |
|
Matthew Brown
|
cdae79b9fe
|
Fix unnecessary params in Psalm codebase
|
2019-02-23 11:31:33 -05:00 |
|
bugreportuser
|
51493b552a
|
Add @psalm-property and @psalm-method override tests
|
2019-02-23 11:04:08 -05:00 |
|
bugreportuser
|
68a135f434
|
Allow @psalm-property and @psalm-method
|
2019-02-23 11:04:08 -05:00 |
|
Matthew Brown
|
6671e0dc7c
|
Fix #1382 - flag unused docblocks
|
2019-02-23 11:02:04 -05:00 |
|
Matthew Brown
|
3d4710c9d3
|
Add better checks for invalid array_map/array_filter args
|
2019-02-22 00:50:41 -05:00 |
|
Matthew Brown
|
ce4f2e6334
|
Fix #1364 - use proper types for extended getIterator calls
|
2019-02-21 23:01:34 -05:00 |
|
Matthew Brown
|
f87827e812
|
Fix #1288 - prevent template names from clashing with real-world classes
|
2019-02-21 21:54:00 -05:00 |
|
Brown
|
154e1fa38b
|
Fix #1375 - improve treatment of dynamically-declared namespaces
|
2019-02-21 18:19:12 -05:00 |
|
Brown
|
41b133178a
|
Improve handling of count comparisons
|
2019-02-21 17:17:10 -05:00 |
|
Brown
|
0b7d4e4aad
|
Add slightly hacky support for param names in callables
|
2019-02-21 16:00:18 -05:00 |
|
Brown
|
b7a0950aea
|
Prevent passing casts to byref vars
|
2019-02-21 13:26:37 -05:00 |
|
Bruce Weirdan
|
991fd90a12
|
Added tests for exposed methods
|
2019-02-21 08:43:57 -05:00 |
|
Brown
|
1e2c29041f
|
@param-out should not override @param byref type def
when checking for unuitialised vars
|
2019-02-20 18:53:42 -05:00 |
|
Brown
|
079ac44263
|
Prevent pass by ref when type type is given
|
2019-02-20 17:43:12 -05:00 |
|
Brown
|
d2968081f8
|
Fix #1370 - allow phpstorm generic iterator
|
2019-02-20 11:13:40 -05:00 |
|
bugreportuser
|
cd23a19931
|
Allow concat for define first arg
|
2019-02-20 10:55:36 -05:00 |
|
Brown
|
348b8eef1f
|
Fix #1366 - don’t complain about invalid array offset when possibly mixed
|
2019-02-19 11:42:24 -05:00 |
|
Matthew Brown
|
cd2eb3edb9
|
Fix #1361 - flesh out array map return type before using
|
2019-02-19 01:25:36 -05:00 |
|
bugreportuser
|
61e086ac7b
|
Ignore more redundant issues
|
2019-02-18 22:44:26 -05:00 |
|
Matthew Brown
|
f49be31aeb
|
Fix #1332 - use the correct identifier for trait property resolution
|
2019-02-18 16:52:09 -05:00 |
|
Matthew Brown
|
41255b42c6
|
Fix #1325 - allow MissingThrowsDocblock to be suppressed
|
2019-02-18 16:41:06 -05:00 |
|
Matthew Brown
|
75104f4712
|
Fix #1359 - error on bad iterable args
|
2019-02-18 16:35:23 -05:00 |
|
Matthew Brown
|
6b419452af
|
Fix #1337 - don’t crash when examining __call methods in initialisation checks
|
2019-02-18 16:04:27 -05:00 |
|
Matthew Brown
|
709a5c31da
|
Allow bitwise or ops to change type
Ref #1340
|
2019-02-18 12:53:55 -05:00 |
|
Matthew Brown
|
12f1ffca11
|
Fix issue reconciling mixed vars inside loop
|
2019-02-18 11:39:05 -05:00 |
|
Bruce Weirdan
|
8408effe57
|
Dropped unused uses
|
2019-02-17 13:17:45 -05:00 |
|
Matthew Brown
|
40a91eab6e
|
Fix #1339 - no crash when using self/static/parent in closure
|
2019-02-17 13:14:59 -05:00 |
|
Matthew Brown
|
a428b34a1a
|
Fix #1338 - ignore redundant issues when collecting initialisations
|
2019-02-16 20:27:42 -05:00 |
|
Matthew Brown
|
356a45a155
|
Improve ergonomics of PHPStorm meta parsing
|
2019-02-16 18:50:25 -05:00 |
|
Matthew Brown
|
fa362b04cb
|
Fix treatment of '' => '@' mapped value
|
2019-02-16 12:16:34 -05:00 |
|
Matthew Brown
|
0739d017ac
|
Use information from .phpstorm.meta.php files in stubs
|
2019-02-16 11:16:52 -05:00 |
|
Matthew Brown
|
0ea22e8d82
|
If we’re checking $_SESSION for existence return an array
Fixes #1335
|
2019-02-15 15:58:36 -05:00 |
|
Brown
|
dca8bf9d36
|
Fix #1329 - improve handling arrays with string offsets
|
2019-02-15 14:42:17 -05:00 |
|
Brown
|
d70e29508f
|
Don’t fatal error when callable class does not exist
|
2019-02-15 12:02:44 -05:00 |
|
Brown
|
0f45d14fea
|
Only collapse Traversable|array when we’re super sure it’s safe
Fixes #1333
|
2019-02-15 11:07:08 -05:00 |
|
Brown
|
3deea3980d
|
Add checks for unitialized properties
Fixes #1328
|
2019-02-13 13:32:19 -05:00 |
|
Matthew Brown
|
3497ad4765
|
Allow namespaced use of optional callable params
|
2019-02-11 08:41:48 -05:00 |
|
Matthew Brown
|
8bcb3a76e7
|
Add callable class
|
2019-02-11 01:57:28 -05:00 |
|
Matthew Brown
|
7fdc226ac5
|
Always remove callable type
|
2019-02-11 01:44:07 -05:00 |
|
Matthew Brown
|
867ea1fa34
|
Fix #1320 - allow iterable comparison
|
2019-02-10 23:51:26 -05:00 |
|
Matthew Brown
|
dafc5feb5a
|
Limit callable::__invoke test to PHP71
|
2019-02-10 16:45:36 -05:00 |
|
Matthew Brown
|
c6b3fc512f
|
Don’t throw exception when ignoring trait absence
|
2019-02-10 16:32:30 -05:00 |
|
Matthew Brown
|
af61e167f4
|
Add callable literal string
Fixes #1315
|
2019-02-10 16:27:37 -05:00 |
|
Matthew Brown
|
9a8f969d5c
|
Fix #1314 - make sure we always know what a closure is if we’re using one
|
2019-02-10 16:23:31 -05:00 |
|
Matthew Brown
|
c58100e3af
|
Fix #1313 - don’t allow mixed function calls
|
2019-02-10 16:15:52 -05:00 |
|
Matthew Brown
|
7a1ff78bb3
|
Fix #1316 - is_iterable should remove arrays from union
|
2019-02-10 15:56:35 -05:00 |
|
Matthew Brown
|
62fb8035bf
|
Fix #1309 - no PropertyNotSetInConstructor warnings for grandchild of class
|
2019-02-10 15:01:10 -05:00 |
|
Matthew Brown
|
6976528c7e
|
Fix #1310 - check template defining class matches
|
2019-02-10 12:02:18 -05:00 |
|
Matthew Brown
|
c765d0e969
|
Fix #1307 - improve generator array type
|
2019-02-09 15:48:15 -05:00 |
|
Matthew Brown
|
83e22a10f8
|
Fix #1299 - vars defined in catches before throw are possibly-defined for finally
|
2019-02-09 15:39:30 -05:00 |
|
Maria Luiza Soares
|
5bd16c686f
|
Show total fixed errors when updating baseline
|
2019-02-09 11:20:48 -05:00 |
|
bugreportuser
|
6c7819b438
|
Allow @psalm-template for classes
|
2019-02-09 11:15:25 -05:00 |
|
Matthew Brown
|
79d468bf66
|
Make return type docblock-based
|
2019-02-08 18:08:53 -05:00 |
|
Brown
|
c68209b8f3
|
Fix #1300 - add functions mentioned in class file where class is used
|
2019-02-08 17:41:03 -05:00 |
|
Matthew Brown
|
f4518d59e0
|
Fix #1303 - improve handling of class-string<Foo> type arg passed to class-string<T> param
|
2019-02-08 13:34:30 -05:00 |
|
Matthew Brown
|
98644f7a65
|
Allow more-specific template types to override mixed
|
2019-02-08 13:09:36 -05:00 |
|
Matthew Brown
|
88b4f8230c
|
Remove parent call
|
2019-02-07 19:01:33 -05:00 |
|
Matthew Brown
|
6d0e78540a
|
Only move issue once
|
2019-02-07 18:47:50 -05:00 |
|
Matthew Brown
|
0bca8db561
|
Don’t throw exception when property is missing type
|
2019-02-07 18:10:32 -05:00 |
|
Matthew Brown
|
e6f3948f7b
|
Fix #1297 - prevent false positive TypeDoesNotContainType for class const array offset
|
2019-02-07 16:24:31 -05:00 |
|
Matthew Brown
|
a6755cc523
|
Fix default test versions to 7.3
|
2019-02-07 15:27:43 -05:00 |
|
Matthew Brown
|
ed4ed957c8
|
Use more specific templated argument
|
2019-02-07 15:21:34 -05:00 |
|
Matthew Brown
|
dedb3625b6
|
Default tests to use PHP 7.3 standards
|
2019-02-07 14:08:35 -05:00 |
|
Matthew Brown
|
d9e972d2f0
|
Prevent issues being forgotten when another error crops up
|
2019-02-07 13:56:00 -05:00 |
|
Matthew Brown
|
c383e61805
|
Fix #1296 - array_filter should allow scalar values
|
2019-02-07 13:05:17 -05:00 |
|
Matthew Brown
|
17541b415f
|
Fix #1191 - allow Psalm to check against different versions of PHP
|
2019-02-07 12:25:57 -05:00 |
|
Matthew Brown
|
f8f5ddfb04
|
Add support for string range
|
2019-02-07 10:50:42 -05:00 |
|
SignpostMarv
|
c2dedd6e6c
|
insufficient type-hinting to indicate size of chunk :(
|
2019-02-06 16:43:22 -05:00 |
|
SignpostMarv
|
1f3faff01f
|
not sure if this is the best place to add the test, but this is the code that fails from this example: https://getpsalm.org/r/11ec7409c0 under d453267
|
2019-02-06 16:43:22 -05:00 |
|
Matthew Brown
|
dfe45e7d26
|
Fix #1290 - improve handling of more specific template
|
2019-02-06 15:56:40 -05:00 |
|
SignpostMarv
|
96ef708965
|
PHP_EOL is sometimes the wrong EOL under windows
|
2019-02-06 14:29:10 -05:00 |
|
SignpostMarv
|
e587a80181
|
symlink perms are not available by default under windows
|
2019-02-06 14:29:10 -05:00 |
|
SignpostMarv
|
5c49dfd746
|
adding PHP_EOL to tests that fail under windows
|
2019-02-06 14:29:10 -05:00 |
|
SignpostMarv
|
4a56688800
|
adding DIRECTORY_SEPARATOR to tests that fail under windows
|
2019-02-06 14:29:10 -05:00 |
|
Matthew Brown
|
d45326759f
|
Fix #1287 - improve handling of templated intersection
|
2019-02-06 12:37:05 -05:00 |
|
Matthew Brown
|
020430c66f
|
Recover better from union type errors in template names
|
2019-02-05 17:43:46 -05:00 |
|
Matthew Brown
|
899dd16e8f
|
Be more strict about what can be a template as type
|
2019-02-05 17:26:34 -05:00 |
|
Matthew Brown
|
c83afc1af2
|
Fix element type inference for DOMNodeList
|
2019-02-05 13:34:59 -05:00 |
|
Matthew Brown
|
6d5c995458
|
Fix #1282 - allow generic self and static
|
2019-02-05 08:02:06 -05:00 |
|
Matthew Brown
|
6033345694
|
Fix #1281 - improve handling of mixed property array assignment
|
2019-02-05 00:36:57 -05:00 |
|
Matthew Brown
|
ab22634d23
|
Fix #1274 - fix parent:: call to templated method
|
2019-02-04 00:52:31 -05:00 |
|
Matthew Brown
|
f81f325c8e
|
Fix #1275 - improve combination of class-string types
|
2019-02-03 17:32:44 -05:00 |
|
Matthew Brown
|
f06ed8bf84
|
Fix #1273 - don’t change type with unpacked var
|
2019-02-03 16:36:10 -05:00 |
|
Matthew Brown
|
194bb31221
|
Fix #204 - allow missing param types to be added with Psalter
|
2019-02-02 14:16:49 -05:00 |
|
Matthew Brown
|
3a01afbe0a
|
Refine inferred type when possible
|
2019-02-02 12:10:52 -05:00 |
|
Matthew Brown
|
db89b3cc3f
|
Add initial support for fixing MissingParamType
|
2019-02-02 11:28:48 -05:00 |
|
Bruce Weirdan
|
36343b07ce
|
Dropped usage of now deprecated assertArraySubset
|
2019-02-01 17:09:37 -05:00 |
|
Brown
|
533b92e15a
|
Fix #1269 - fill in object type
|
2019-02-01 14:13:21 -05:00 |
|
Brown
|
8b65acf15b
|
Make return type mismatch more clear
|
2019-02-01 10:55:28 -05:00 |
|
Matthew Brown
|
509709d6bc
|
Fix #1267 - flesh out self static property types
|
2019-02-01 08:59:01 -05:00 |
|
Andrii
|
21d383d6c6
|
🐛 #1225 Allow use lead asterisk wildcard in referenceClass
|
2019-02-01 07:59:44 -05:00 |
|
Matthew Brown
|
79544eb289
|
Fix comment analysis for callable(): returntype
|
2019-02-01 07:50:48 -05:00 |
|
Matthew Brown
|
ac79e9a311
|
Fix #1263 - return proper class string
|
2019-01-31 21:06:21 -05:00 |
|
Matthew Brown
|
0be6aac30c
|
Fix #1262 - fix object check redundant condition
|
2019-01-31 20:31:40 -05:00 |
|
Brown
|
e384fb0328
|
Fix premature property type
|
2019-01-31 18:05:21 -05:00 |
|
Brown
|
c5a0a3df86
|
Fix yielding from iterable
|
2019-01-31 17:58:53 -05:00 |
|
Brown
|
fd88f00526
|
Fix a few small bugs
|
2019-01-31 17:48:48 -05:00 |
|
Brown
|
2054e3753f
|
Fix #1260 - improve handling of ArrayAccess assignment
|
2019-01-31 12:45:47 -05:00 |
|
Brown
|
c195e8fd21
|
Add more nuanced analysis of array access fetch
|
2019-01-30 15:40:37 -05:00 |
|
Brown
|
d52fd70fd6
|
Fix invalid inheritance for SplObjectStorage
|
2019-01-30 13:48:05 -05:00 |
|
Brown
|
8c27bd77f6
|
Fix #1259 - add support for SplObjectStorage type params
|
2019-01-30 13:03:22 -05:00 |
|
Brown
|
e060ec35de
|
Fix #1258 - allow static method returns
|
2019-01-30 11:44:12 -05:00 |
|
Brown
|
661c7ee707
|
Fix #1256 - detect illegal closure use
|
2019-01-30 11:36:21 -05:00 |
|
Matthew Brown
|
bfb2a5c19e
|
Fix #1257 - transform docblock types for magic methods to something more meaningful
|
2019-01-30 09:46:23 -05:00 |
|
Brown
|
0bb5143efd
|
Fix #1254 - merge literal and class-strings types into string
|
2019-01-29 10:34:31 -05:00 |
|
Brown
|
9edbae2bdc
|
Fix possible fatal when builtin function is called in array_filter
|
2019-01-28 17:54:50 -05:00 |
|
Brown
|
819489e68d
|
Add method that reflection doesn’t know exists
|
2019-01-28 17:09:23 -05:00 |
|
Brown
|
3e4c63eb9a
|
Fix template extension in grandchildren
|
2019-01-28 16:56:42 -05:00 |
|
Brown
|
f33415827e
|
Add checks for rounded values
|
2019-01-28 11:57:49 -05:00 |
|
Brown
|
b5059f45a0
|
Allow users to ignore missing ignorefiles
|
2019-01-28 11:50:18 -05:00 |
|
Matthew Brown
|
45058ea494
|
Fix possible crash when class-string class doesn’t exist
|
2019-01-28 01:12:41 -05:00 |
|
Matthew Brown
|
09ee6e3d13
|
Fix #1253 - prevent ints from coercing to literal floats
|
2019-01-27 23:21:54 -05:00 |
|
Matthew Brown
|
081ba4b204
|
Fix #1072 - add support for @use SomeTrait<T>
|
2019-01-27 23:12:40 -05:00 |
|
Matthew Brown
|
f67bab6d52
|
Restrict template-extends to actual extends
|
2019-01-27 21:00:27 -05:00 |
|
Matthew Brown
|
89999fd554
|
Add suppport for float enums
Fixes #1099
|
2019-01-27 18:34:13 -05:00 |
|
Matthew Brown
|
672b768cc5
|
Fix null order
|
2019-01-27 17:27:12 -05:00 |
|
Matthew Brown
|
45cf35350c
|
Add non-internal endpoint for parsing types
|
2019-01-27 17:26:32 -05:00 |
|
Matthew Brown
|
d8783c277f
|
Add support for getPsalmTypeFromReflectionType
|
2019-01-27 17:16:22 -05:00 |
|
Matthew Brown
|
00e95cbd6b
|
Understand that template class string transforms back to templated class
Fixes #1250
|
2019-01-27 15:08:17 -05:00 |
|
Matthew Brown
|
cd4d2027d0
|
Fix #1249 - allow iterator_to_array to respect getIterator method
|
2019-01-27 14:50:05 -05:00 |
|
Matthew Brown
|
60e7587c2d
|
Replace template types in object-like arrays
|
2019-01-27 14:20:41 -05:00 |
|
Matthew Brown
|
be06393b9c
|
Fix #1251 - allow instanceof comparisons to class strings
|
2019-01-27 14:10:33 -05:00 |
|
Matthew Brown
|
16c2a0f899
|
Fix #1246 - check @var annotations
|
2019-01-26 17:30:44 -05:00 |
|
Matthew Brown
|
22ee72808a
|
Remove a bunch of hacks around generic offsets
Also fixes #1245
|
2019-01-26 16:58:49 -05:00 |
|
Matthew Brown
|
fc8c96eccf
|
Split out @extends template test
|
2019-01-25 22:33:42 -05:00 |
|
Brown
|
fcc9d1a979
|
Fix #1244 and fix #1243 - add template-extends checks
|
2019-01-25 15:31:17 -05:00 |
|
Brown
|
55913699d3
|
Allow iterable to subsume array and traversable
Fixes #1242
|
2019-01-25 14:43:16 -05:00 |
|
Brown
|
c9e1df510e
|
Fix #1241 - allow negative string offsets on a string
|
2019-01-25 10:23:50 -05:00 |
|
Brown
|
bed1f15e09
|
Fix #1240 - reconcile array to iterable in template replacement
|
2019-01-25 10:17:41 -05:00 |
|
Brown
|
c0f3197790
|
Fix #1238 - only emit MissingTemplateParam on direct interface implementers
|
2019-01-25 10:10:22 -05:00 |
|
Brown
|
cd0a7441d9
|
Add warnings for extended template param counts off
|
2019-01-24 17:55:03 -05:00 |
|
Brown
|
650c2b70f8
|
Fix #1236 - forbid bad class names in @extends
|
2019-01-24 16:43:22 -05:00 |
|
Brown
|
5352084188
|
Fix #1234 - apply @template-extends to inherited method signatures
|
2019-01-24 16:09:04 -05:00 |
|
Brown
|
0d52dc4e00
|
Fix #1232 - allow checking of extended templated function returns
|
2019-01-24 15:03:13 -05:00 |
|
Brown
|
006801f661
|
Fix #1233 - inherit docblock return types from interfaces and classes when signature exists
|
2019-01-24 11:55:59 -05:00 |
|
Brown
|
67a14cefde
|
Still complain about less specific types when signature type is present
Ref #1233
|
2019-01-24 10:58:59 -05:00 |
|
Brown
|
184ee76176
|
Remove erroneous regular namespace check
Fixes #1235
|
2019-01-24 10:41:06 -05:00 |
|
Brown
|
8a97e32e16
|
Add code to make handling interfaces with magic get/set
Ref #1228
|
2019-01-23 16:58:50 -05:00 |
|