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 |
|
Brown
|
60e9d4f245
|
Don’t give up after method_exists if static method exists
|
2019-01-23 15:50:12 -05:00 |
|
Brown
|
59baa53b3d
|
Fix #1229 - only check for inheritance if class exists
|
2019-01-23 13:02:07 -05:00 |
|
Matthew Brown
|
8bc17e47be
|
Fix #1227 - allow genric params in @psalm-assert
|
2019-01-22 23:42:54 -05:00 |
|
Matthew Brown
|
537cd221d2
|
Fix missing var
|
2019-01-21 18:13:17 -05:00 |
|
Matthew Brown
|
1c5f6963a6
|
Skip callable tests for PHP 7
|
2019-01-21 18:01:15 -05:00 |
|
Matthew Brown
|
ea137fc20c
|
Don’t complain about mixed after unpacking arg
|
2019-01-21 17:42:25 -05:00 |
|
Matthew Brown
|
1b0c426c52
|
Improve error message when type cannot be inferred, fixes #1110
|
2019-01-21 17:29:12 -05:00 |
|
Matthew Brown
|
5cc3fe6b67
|
Fix #760 - coerce __invoke method to closure
|
2019-01-21 17:08:12 -05:00 |
|
Matthew Brown
|
99569e8ee3
|
Fix #1173 - transform const X = true to a true type
|
2019-01-21 16:55:50 -05:00 |
|
Matthew Brown
|
930a8b2689
|
Fix #1225 - ignore classes using patterns
|
2019-01-21 16:48:12 -05:00 |
|
Matthew Brown
|
075446e7df
|
Fix #1223 - MissingClosureParamType should use all known suppressed issues
|
2019-01-21 12:36:17 -05:00 |
|
Matthew Brown
|
5eb0bb8126
|
Make foreach var annotation use more cautious
|
2019-01-20 11:49:13 -05:00 |
|
Matthew Brown
|
03c5823051
|
Fix #1217 - allow protected property to be se by parent constructor
|
2019-01-20 11:20:39 -05:00 |
|
Matthew Brown
|
60088b1189
|
Fix #1215 - prevent bad code from crashing Psalm
|
2019-01-20 11:10:12 -05:00 |
|
Matthew Brown
|
6fe9e525df
|
Fix #1219 - allow generation of intersections inside class-string
|
2019-01-20 10:39:08 -05:00 |
|
Matthew Brown
|
681391f970
|
Fix #1220 - improve constant resolution
|
2019-01-20 09:52:26 -05:00 |
|
Matthew Brown
|
0ac7d106a3
|
Fix #1221 - no TypeDoesNotContainType in catch or finally
|
2019-01-20 09:27:46 -05:00 |
|
Matthew Brown
|
7dfcefd35d
|
Support intersections on LHS of static calls
|
2019-01-19 23:25:23 -05:00 |
|
Matthew Brown
|
394d6509c6
|
Restrict class-string types to named objects (and intersections)
|
2019-01-19 22:46:06 -05:00 |
|
Matthew Brown
|
1c17d2e2f2
|
Extract template params from string/array callables cc @weirdan
The culmination of what you were getting at
|
2019-01-19 20:18:45 -05:00 |
|
Matthew Brown
|
590bea305d
|
Fix #1218 - find issues with bad callables
|
2019-01-19 19:49:58 -05:00 |
|
Matthew Brown
|
e3df0ec5e2
|
Apply same rules that Hack uses for bottom types
|
2019-01-19 18:51:18 -05:00 |
|
Matthew Brown
|
1d2a0f8b39
|
Add more robust template constraint checks
|
2019-01-19 18:35:53 -05:00 |
|
Matthew Brown
|
ed68cb973d
|
Fix #1109 - add bad usort protection
|
2019-01-19 18:11:49 -05:00 |
|
Matthew Brown
|
e28bf1a29b
|
Fix null ref
|
2019-01-19 16:01:43 -05:00 |
|
Matthew Brown
|
9c5ef33997
|
Allow @property to override parent class property type
Fixes #1214
|
2019-01-19 14:26:27 -05:00 |
|