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