1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-12 09:19:40 +01:00
Commit Graph

1996 Commits

Author SHA1 Message Date
Matthew Brown
cf21c3e366 Fix #678 - allow docblock to override mixed assignment of static vars 2019-03-28 00:10:08 -04:00
Matthew Brown
e9afd3a6f3 Examine arrays in unknown function calls 2019-03-27 22:13:06 -04:00
Matthew Brown
63a0e768b3 Improve type coverage in both good and bad ways 2019-03-25 22:30:40 -04:00
bugreportuser
5a59963e9b Inherit uncaught throws from namespace scope 2019-03-25 21:43:51 -04:00
Brown
691d71cdb4 Fix #1504 and ignore SoapClient errors 2019-03-25 11:49:05 -04:00
Brown
783f028f70 Fix #1498 - use template types from parent function 2019-03-25 11:25:43 -04:00
Matthew Brown
496a175a9f Fix #1497 - respect constants stubbed in define() calls 2019-03-25 00:07:32 -04:00
bugreportuser
47d8da6135 Add tests 2019-03-24 23:03:37 -04:00
bugreportuser
976c2c5ef3 Add an error for throws in global scope 2019-03-24 23:03:37 -04:00
Matthew Brown
c772914910 Add some formatting 2019-03-23 14:27:54 -04:00
Matthew Brown
9d4ebe6b6b Add plugin hook for post-analysis stuff 2019-03-23 12:47:46 -04:00
Matthew Brown
ee56419fd6 Improve accuracy and durability of mixed counts 2019-03-23 09:50:47 -04:00
Brown
22fc0b5aa3 Fix #1482 - don’t substitute template params when no default present 2019-03-22 18:05:45 -04:00
Brown
cacd5a1946 Cast null array key to empty string
Fixes #1487
2019-03-22 16:45:17 -04:00
Brown
cc568422d8 Fix #1488 - allow inheritance when dummy template exists 2019-03-22 16:29:30 -04:00
Brown
b9ba24929d Refactor storage of template names to prevent clashes 2019-03-22 15:59:10 -04:00
bugreportuser
42137f6054 Ignore unused superglobals 2019-03-22 10:19:39 -04:00
bugreportuser
aafb3ee6d6 Ignore unused static vars 2019-03-22 09:50:47 -04:00
Brown
29666bf22e Fix #1489 - make sure you’re checking against known params 2019-03-21 18:28:25 -04:00
Brown
ab6ca4dc35 Fix #1491 - allow comparison to typed value 2019-03-21 17:26:10 -04:00
Brown
da1f79b7de Don’t change type after !== check
Fixes #1490
2019-03-21 16:57:42 -04:00
Brown
8d06c6a700 Fix #1480 by remembering where a property was set 2019-03-19 19:43:18 -04:00
Brown
6081c742c5 Fix incorrect InvalidArgument for array value scalar mismatch 2019-03-19 16:45:26 -04:00
Brown
880b07783f Error should be InvalidScalarArgument 2019-03-19 16:12:38 -04:00
Brown
8ed5e661a4 Catch object passed to array-key 2019-03-19 11:43:37 -04:00
Matthew Brown
136429dfd4 Fix location of @method docblocks for issues 2019-03-18 21:05:37 -04:00
Matthew Brown
4865f66aeb Allow better comparisons for templated types 2019-03-17 18:52:42 -04:00
Matthew Brown
f0ddc6f3bc Fix array_reverse implementation 2019-03-17 18:14:30 -04:00
Matthew Brown
472ab29d74 Add PossiblyInvalidCast for more refined checks 2019-03-17 17:10:51 -04:00
Matthew Brown
e3d8ebf612 Add test for #1451 2019-03-17 16:41:34 -04:00
Matthew Brown
bf586bf93b Fix #1471 - report issue with string casting inside string 2019-03-17 16:31:56 -04:00
Matthew Brown
3b4a2f2de8 Fix #1462 - combine closure types 2019-03-17 16:19:43 -04:00
Matthew Brown
9ee4a7414b Fix #1461 - check interfaces when analysing abstract method call 2019-03-17 14:16:52 -04:00
Bruce Weirdan
51460e6078 Codebase::classExtends() now rejects unpopulated classes
This is done to prevent false negatives, when class storage hasn't been
populated yet.

Fixes vimeo/psalm#1387
2019-03-17 13:51:00 -04:00
Matthew Brown
2f8bfffe95 Fix #1475 but, like, properly this time 2019-03-17 13:50:02 -04:00
Matthew Brown
6eb634da7e Fix #1477 - use less common exception for stubbing 2019-03-17 12:46:48 -04:00
Matthew Brown
ca765cba58 Fix errors caused by bad generic param counts
Fixes #1474
2019-03-17 12:20:57 -04:00
Matthew Brown
f66af3e267 Fix #1475 - allow self params in traits 2019-03-17 11:31:04 -04:00
Matthew Brown
f5c6abb6a0 Allow capturing of class-string<T>
Fixes #1457
2019-03-17 10:19:15 -04:00
bugreportuser
e31cfa503d Allow reconciling superglobal types 2019-03-16 12:49:38 -04:00
Matthew Brown
9ded84fd5b Fix comparison of strings with multiple newlines 2019-03-16 12:40:19 -04:00
Matthew Brown
01d6caf6a2 Catch negated instanceof bugs 2019-03-16 12:34:48 -04:00
Matthew Brown
a0659a02f1 Fix #1418 - support templated union types 2019-03-16 11:15:25 -04:00
Matthew Brown
b73dd8ebe4 Fix #1447 - always inherit docs from parents 2019-03-16 00:31:17 -04:00
Matthew Brown
ab832207a4 Fix #1453 - traits are not valid classes 2019-03-15 22:12:35 -04:00
Matthew Brown
b82709897a Fix #1460 2019-03-15 21:50:16 -04:00
Matthew Brown
c22cdb0795 Fix #1459 - allow nullable templated comparison 2019-03-15 21:37:50 -04:00
Brown
441d3c4693 Fix #1470 - array_reverse should preserve count 2019-03-15 16:39:31 -04:00
Matthew Brown
312be71be1 Localise overridden templated param types 2019-03-14 10:11:45 -04:00
Brown
85f34f2aca Add defining class and increas string length 2019-03-12 12:58:04 -04:00
Matthew Brown
2932e3eb83 Allow numeric to be coerced to literal int 2019-03-12 01:26:19 -04:00
bugreportuser
0e9fb04f06 Define globals in more places 2019-03-11 15:53:21 -04:00
Brown
e22f216a5b Allow callable|array to be coerced to an array 2019-03-11 11:39:33 -04:00
Matthew Brown
17235cedf9 Allow sequential unsets with missing keys 2019-03-11 01:54:32 -04:00
Matthew Brown
907244cd23 Don’t assert on non-empty checks 2019-03-11 01:35:09 -04:00
Matthew Brown
95b986d2d4 Fix #1367 - allow assertions on mixed arrays to define objectlike type 2019-03-10 23:38:30 -04:00
Matthew Brown
b0853bcde6 Fix #1376 - allow nonzero numeric array key asssertions 2019-03-10 17:54:03 -04:00
Matthew Brown
848b070946 Fix #1413 - don’t complain about byref use param 2019-03-10 16:36:35 -04:00
bugreportuser
49b6f01e93 Add another test 2019-03-09 20:26:17 -05:00
bugreportuser
c8fffe362a Allow capitalized @inheritDoc 2019-03-09 20:26:17 -05:00
Brown
e5f7a5a4bc Coerce class string types together 2019-03-08 17:35:09 -05:00
bugreportuser
57a4522ee7 Flesh out callable arg types 2019-03-07 23:24:50 -05:00
bugreportuser
d120e582ac Use config globals for invalid global scope 2019-03-07 23:21:56 -05:00
Matthew Brown
c800fb9282 Fix #1437 - use correct return type line for error 2019-03-07 23:19:17 -05:00
Matthew Brown
85f0fa6e7d Add support for literal templated defaults 2019-03-07 22:32:38 -05:00
Brown
94b1161a80 Add skipped test; 2019-03-07 18:25:48 -05:00
Brown
5beb26659e Add special type for SQL select strings for plugins to consume 2019-03-07 14:56:18 -05:00
Brown
b3a59d2638 Fix #1435 - prevent classes extending interfaces 2019-03-07 11:16:40 -05:00
Matthew Brown
3b616eb850 Remove bad test
Fixes #1426
2019-03-07 09:27:34 -05:00
Matthew Brown
e84eec7275 Fix #1434 - allow local suppression of return type checks 2019-03-07 09:21:03 -05:00
Brown
ea149339f4 Skip broken test for now 2019-03-06 18:32:29 -05:00
Brown
a8ea907d6c Fix #1432 - allow callable to be coerced to callable-array 2019-03-06 18:24:59 -05:00
bugreportuser
b34dbe26e2 Allow setting superglobal types 2019-03-06 15:59:41 -05:00
bugreportuser
056e5a5b1e Allow setting globals in config 2019-03-06 15:59:41 -05:00
Brown
9442805763 Mutation checks should not care about return type 2019-03-06 11:12:36 -05:00
Brown
ae69695f89 Prevent tests in PHP 7.1 2019-03-05 18:27:25 -05:00
Brown
cece1def30 Fix #1427 - allow extended methods to be used as callables 2019-03-05 18:02:42 -05:00
Brown
bd372e93af Add config flags for findUnusedVariables and findUnusedCode 2019-03-05 15:45:09 -05:00
Matthew Brown
48b39a15b9 Don’t change value of $this by reference 2019-03-03 20:16:11 -05:00
Matthew Brown
a31420be5b Fix checks for existing vars used in by-ref assignments 2019-03-03 18:21:12 -05:00
Matthew Brown
d7089a87e2 Use proper type 2019-03-03 17:53:58 -05:00
Matthew Brown
5b38082454 Complain about non-static comparison
Fixes #1383
2019-03-03 17:41:15 -05:00
Matthew Brown
fb9e9bea32 Fix const reference in current context 2019-03-03 16:43:24 -05:00
Matthew Brown
472cdf6bea Fix #1379 - allow @param-out to change type 2019-03-03 15:11:09 -05:00
Matthew Brown
82e6876011 Fix #1397 - fix get_class behaviour for new instances 2019-03-02 18:02:11 -05:00
Matthew Brown
ef0abf1c30 Fix #1411 - allow covariance on extended templates 2019-03-02 16:31:34 -05:00
Matthew Brown
becef300b1 Add test for #1422 2019-03-02 15:29:43 -05:00
Matthew Brown
f9b1a63146 Fix #1421 - variadic params are extra 2019-03-02 15:26:18 -05:00
Matthew Brown
5e61f198e1 Fix #1419 - allow checks against empty arrays 2019-03-02 15:18:29 -05:00
Matthew Brown
efbcf7dc5b Fix #1417 - store root file path when scanning for manipulations 2019-03-02 15:07:26 -05:00
Matthew Brown
4ba15ec18d Flip abstract trait analysis implementation checks
Fix #1414
2019-03-02 14:17:26 -05:00
Bruce Weirdan
9bdc9f774f More provider typing 2019-03-02 08:43:19 -05:00
Bruce Weirdan
3a2c457d87 More tests fixed 2019-03-02 08:43:19 -05:00
Bruce Weirdan
ec85096c96 Fixed identified issues 2019-03-02 08:43:19 -05:00
bugreportuser
65102b8088 Fix non-empty-array @param in namespace (#1416) 2019-03-02 08:35:50 -05:00
Matthew Brown
5c76ab35c8 Allow properties to be set regardless of visibility 2019-03-01 17:30:55 -05:00
Matthew Brown
619590aa71 Fix parsing of template of type with spaces
Fixes #1406
2019-03-01 09:20:59 -05:00
Matthew Brown
317f790bde
New plugin hooks (#1405)
* Add a bunch of new hooks

* Add more integrations

* Add some broken tests

* Add more things

* Fix remaining interfaces

* Suppress proper issue

* UndefinedMethod should not stop analysis

* Add handlers for two custom method return types
2019-03-01 08:57:10 -05:00
Matthew Brown
d1cf9d61ba Fix #1398 - improve casting rules for resource 2019-03-01 00:50:22 -05:00
Matthew Brown
b3c5120d72 Fix #1403 - warn about duplicate templates 2019-02-28 23:43:55 -05:00
SignpostMarv
87021c315f fixing some tests under windows again (following on from #1292) 2019-02-28 17:53:36 -05:00
Brown
f8c2b2d81a Fix #1399 - allow literal comparison to scalar 2019-02-27 16:21:23 -05:00
Brown
601f303de2 Fix position of invalid param 2019-02-27 16:00:44 -05:00
Brown
d46c6ac0e4 Fix #1395 - set all callable types as coming from a docblock 2019-02-27 14:52:58 -05:00
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