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

3169 Commits

Author SHA1 Message Date
Bruce Weirdan
991fd90a12 Added tests for exposed methods 2019-02-21 08:43:57 -05:00
Matthew Brown
0e5ee1a811 Fix typo 2019-02-21 08:43:57 -05:00
Bruce Weirdan
adc5d24399 Added documentation for several exposed methods
Documented:
- isTypeContainedByType
- canTypeBeContainedByType
- getKeyValueParamsForTraversableObject
2019-02-21 08:43:57 -05:00
Bruce Weirdan
a0e040a462 Expose more internal methods through Codebase
- `bool Codebase::canTypeBeContainedByType(Union $input, Union $container)`
- `array{Union,Union} Codebase::getKeyValueParamsForTraversableObject(Atomic $type)`

For usage, see psalm/phpunit-psalm-plugin#15
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
024488c1d6 Use helper methods 2019-02-20 10:55:36 -05:00
bugreportuser
c097c59f33 Remove wrong condition 2019-02-20 10:55:36 -05:00
bugreportuser
14ee221075 Fix errors 2019-02-20 10:55:36 -05:00
bugreportuser
cd23a19931 Allow concat for define first arg 2019-02-20 10:55:36 -05:00
bugreportuser
f603449745 Infer literal string for __namespace__ 2019-02-20 10:55:36 -05:00
Matthew Brown
6b045236e0 Use appearing method for array lookup 2019-02-20 02:41:59 -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
81a5a24e15 Suppress PossiblyUnusedMethod 2019-02-18 15:56:31 -05:00
Bruce Weirdan
e87f500458 Added Psalm\Codebase::isTypeContainedByType() 2019-02-18 15:56:31 -05:00
Matthew Brown
3fdef1a032 Fix #1350 - allow parameterised iterable and unparameterised traversable 2019-02-18 13:01:20 -05:00
Matthew Brown
709a5c31da Allow bitwise or ops to change type
Ref #1340
2019-02-18 12:53:55 -05:00
Matthew Brown
5aaa68c214 Add better error message and also update callmap 2019-02-18 12:28:30 -05:00
Matthew Brown
12f1ffca11 Fix issue reconciling mixed vars inside loop 2019-02-18 11:39:05 -05:00
Bruce Weirdan
faae9fda3b Added option to force dead code detection
Previously Psalm would only check class references when there were no
paths passed on the command line. Now it's possible to force this check
even when paths are specified, with `--find-dead-code=always`.

`--find-dead-code` without a value (or with any value apart from `always`)
will continue to work the same way it did before.
2019-02-18 09:34:28 -05:00
ADmad
8d54825582 Fix signature for datefmt_create(). 2019-02-18 09:33:08 -05:00
Bruce Weirdan
cb453a8da9 Allow suppressing UnusedClass on specific classes
This allows suppressing UnusedClass with either `referencedMethod` or
`@psalm-suppress`

Fixes vimeo/psalm#1353
2019-02-18 09:32:09 -05:00
bugreportuser
24cdb6e1d3 Fix array_unique stub 2019-02-17 21:35:54 -05:00
Matthew Brown
5777e008c0 Remove var_dump 2019-02-17 13:18:23 -05:00
Bruce Weirdan
8408effe57 Dropped unused uses 2019-02-17 13:17:45 -05:00
bugreportuser
93bc7c477e Fix mb return types 2019-02-17 13:16:55 -05:00
ADmad
7298638dff Fix invalid return type in callmap.
apu_delete() only returns boolean.
http://php.net/manual/en/function.apcu-delete.php
2019-02-17 13:15:59 -05:00
Matthew Brown
40a91eab6e Fix #1339 - no crash when using self/static/parent in closure 2019-02-17 13:14:59 -05:00
bugreportuser
8edb117451 Fix password_hash change between versions 2019-02-16 23:57:49 -05:00
bugreportuser
13f182bf9f Revert "fixed password_hash signature"
This reverts commit 32377d6751.
2019-02-16 22:13:05 -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
2ef82d785f Improve signature of FunctionReturnTypeProvider to omit internal things 2019-02-16 15:29:54 -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
d5420a7708 Suppress PossiblyUnusedParam for PHP 7.0 2019-02-15 18:50:23 -05:00
Matthew Brown
0c9c8c204c Suppress UndefinedMethod for Php 7.0 Psalm check 2019-02-15 18:41:30 -05:00
Matthew Brown
149d7cab1c Add PHP 7.0-compatible closure creation 2019-02-15 18:33:29 -05:00
Matthew Brown
d76459e138 Move to a PHPStan-like return type provider class model 2019-02-15 18:00:40 -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
27c99aed2f Improve recovery from InvalidScalarArgument issue 2019-02-14 16:55:54 -05:00
Brown
9f1dc425d0 Reduce repetition in the baseline files 2019-02-13 15:10:50 -05:00
Brown
50421b297a Don’t report undefined properties when collecting initialisations 2019-02-13 14:04:10 -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
7fdc226ac5 Always remove callable type 2019-02-11 01:44:07 -05:00
Matthew Brown
e5360a6faa Check callable types too 2019-02-11 01:41:28 -05:00
Matthew Brown
867ea1fa34 Fix #1320 - allow iterable comparison 2019-02-10 23:51:26 -05:00
Matthew Brown
8fc0b43973 Fix typecercion issues 2019-02-10 21:13:06 -05:00
Matthew Brown
0ec83a24d4 Fix docblocks cc @SignpostMarv 2019-02-10 20:57:22 -05:00
SignpostMarv
230821591a amending methods 2019-02-10 20:40:32 -05:00
SignpostMarv
60f9d3558c templating for ReflectionClass 2019-02-10 20:40:32 -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
Matthew Brown
574a5530ee Use $baselineFile for current baseline 2019-02-09 11:20:48 -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
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
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
ed4ed957c8 Use more specific templated argument 2019-02-07 15:21:34 -05:00
Matthew Brown
fbe5801345 Prevent issues being forgotten when another error crops up 2019-02-07 14:06:37 -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
3de4457a45 adding type-hinting stub for array_chunk() 2019-02-06 16:43:22 -05:00
Matthew Brown
c758678022 Fix remaining issues 2019-02-06 16:08:41 -05:00
Matthew Brown
e7d73c3ff2 Fix generator ref 2019-02-06 16:08:41 -05:00
Aaron Piotrowski
e6fcb79392 Update ProtocolStreamReader 2019-02-06 16:08:41 -05:00
Matthew Brown
7249539fc6 Add a few return types and improve formatting 2019-02-06 16:08:41 -05:00
Matthew Brown
d18ef9c6e1 Add ideal stub return types 2019-02-06 16:08:41 -05:00
Aaron Piotrowski
b0d97843ce Update Amp usage
Fixed a few errors and used byte-stream for reading and writing.
2019-02-06 16:08:41 -05:00
Matthew Brown
263a4c8cf1 Use Amp for handling language server event loop 2019-02-06 16:08:41 -05:00
Matthew Brown
dfe45e7d26 Fix #1290 - improve handling of more specific template 2019-02-06 15:56:40 -05:00
Matthew Brown
d45326759f Fix #1287 - improve handling of templated intersection 2019-02-06 12:37:05 -05:00
Matthew Brown
822e840d0c Prevent union in function template as 2019-02-05 17:39:11 -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