Bruce Weirdan
fc29d26879
Added test to enforce that all supported annotations are documented ( #4723 )
...
* Added test to enforce that all supported annotations are documented
Well, at least mentioned.
Refs vimeo/psalm#3816
* Type things
* Make things pretty
* Only check @psalm- annotations, group
* Add documentation for `@psalm-require-extends` and `@psalm-require-implements`
* Dropped logicalOr that has become redundant
* Add explicit tag
* Document @psalm-template
* Add @psalm-template-covariant
* Document `@psalm-method`
* Add list of undocumented docblock annotations
Co-authored-by: Matthew Brown <github@muglug.com>
2020-11-27 21:48:16 -05:00
Matt Brown
0ea4a702ed
Fix range return type to always non-empty lists
2020-11-27 20:09:53 -05:00
Matt Brown
53c5e52ef2
Fix #3017 - use correct keys when converting list to array
2020-11-27 20:05:16 -05:00
Matt Brown
b717356f95
Simplify more things
2020-11-27 17:48:39 -05:00
Matt Brown
d511bc0557
Show complex methods in info
2020-11-27 17:20:34 -05:00
Matt Brown
2626f008be
Only show possibly unused params on methods that don’t extend others
2020-11-27 17:17:03 -05:00
orklah
32bf18dff0
fix array_column with possibly_undefined keys ( #4719 )
2020-11-27 17:05:54 -05:00
orklah
f19cac6ecf
add annotation @psalm-param-out ( #4717 )
...
* add annotation @psalm-param-out
* add tag in documentation
2020-11-27 17:05:26 -05:00
Matt Brown
ffabce19c5
Add complex issue error
2020-11-27 17:02:37 -05:00
Matt Brown
73cd07a01f
Simplify FunctionCallAnalyzer
...
Ref #4714
2020-11-27 16:34:27 -05:00
Matt Brown
6db8132b4c
Simplify call analysers a bit
...
Ref #4714
2020-11-27 16:31:10 -05:00
Matt Brown
5dd4912a99
Simplify ArrayAnalyzer
...
Ref #4714
2020-11-27 14:19:55 -05:00
Matt Brown
1ce45516db
Don’t alter behaviour
2020-11-27 11:47:12 -05:00
Matt Brown
5f065d3d74
Turn template bound tuples into object
...
Ref #4714
2020-11-27 11:43:30 -05:00
orklah
b60182c514
better fix for reconciling iterable and object ( #4712 )
2020-11-27 09:10:55 -05:00
Matt Brown
bf696bf82e
Add complexity function name echoing
2020-11-27 05:28:55 -05:00
orklah
74c07bbc08
Allow <false|T as object> to be falsy ( #4711 )
2020-11-26 16:47:44 -05:00
gdejong
a183aafadc
Migrate PHPUnit configuration ( #4710 )
...
Co-authored-by: Gijs de Jong <gijs.de.jong@munisense.com>
2020-11-26 15:23:10 -05:00
Matt Brown
6de97e3779
Skip missing function params in taint analysis
2020-11-26 11:58:14 -05:00
Matt Brown
b224970281
Fix generic ArrayAccess creation cc @orklah
2020-11-26 10:00:03 -05:00
orklah
f7cfdaabd7
Allow reconciling between object and iterable ( #4706 )
...
* Allow reconciling between object and iterable
* add tests
2020-11-26 09:25:49 -05:00
orklah
4bbb72329e
Fix PHPMAXINT offset ( #4707 )
2020-11-26 09:24:32 -05:00
Matt Brown
01ceaf7006
Fix style issues
2020-11-25 21:36:37 -05:00
Matt Brown
0c477da310
Fix test failures
2020-11-25 20:05:09 -05:00
Markus Staab
a174b4c415
Document more taint types ( #4704 )
...
* Document more taint types
Taken from the TaintKind enum
* Add more of a description
Co-authored-by: Matthew Brown <github@muglug.com>
2020-11-25 19:28:02 -05:00
LeSuisse
e32ed43253
Fix incorrect taint sink map for \rmdir ( #4703 )
...
Closes #4690
2020-11-25 16:45:53 -05:00
Markus Staab
8a0feaffa9
Declare PdoStatement->fetchObject($class_name) a taint sink ( #4701 )
...
* Declare PdoStatement
* Change to a callable sink
Co-authored-by: Matthew Brown <github@muglug.com>
2020-11-25 15:50:19 -05:00
orklah
58736924dd
fix wrong cast to int when string offset is a number > MAX INT ( #4702 )
2020-11-25 15:48:53 -05:00
Matt Brown
f3e0201a99
Treat $a ?? $b identically to isset($a) ? $a : $b
2020-11-25 14:34:05 -05:00
Matt Brown
d40d63f180
Fix #4699 - treat isset like !== null when variable is defined
2020-11-25 14:04:55 -05:00
Matt Brown
6aa052475a
Pass correct flags when referencing from finally
2020-11-25 14:04:55 -05:00
Markus Staab
d393b4a69d
Added PDOStatement->fetchObject() stub ( #4693 )
...
* Added PDOStatement->fetchObject() stub
* fix stub param
* fix Xdebug spelling
* Use extension_loaded check instead
Co-authored-by: Matthew Brown <github@muglug.com>
2020-11-25 12:08:04 -05:00
orklah
b6a3282589
Detect redundant cast ( #4695 )
...
* detect redundant cast
* fix redundant cast issues
* fix redundant cast in tests
2020-11-25 12:04:48 -05:00
Matthew Brown
1320081d27
Fix core return types
2020-11-25 11:49:51 -05:00
Matt Brown
39f26d9047
Remove suppressed issuue
2020-11-25 09:22:41 -05:00
Markus Staab
3dc311fd45
fixed exception message ( #4692 )
2020-11-24 16:04:34 -05:00
Matt Brown
f8ddc7e58a
Add slash
2020-11-24 15:07:15 -05:00
orklah
45c6189190
restore str_split as a list ( #4694 )
2020-11-24 15:01:46 -05:00
Matt Brown
e9c00b8395
Switch order to satisfy new refinement
2020-11-24 14:57:34 -05:00
Matt Brown
41af653bd4
Add support for some dependent types
2020-11-24 14:50:35 -05:00
Matt Brown
27b7de285e
Fix some stubs
2020-11-24 10:44:33 -05:00
Matt Brown
8ede667cad
Remove debugging error
2020-11-24 08:06:26 -05:00
orklah
2bf25d5f50
Emit an issue when returning a Stringable object when a string is expected ( #4657 )
...
* Emit an issue when returning a Stringable object when a string is expected
* Fix issue in Psalm codebase
2020-11-24 00:18:24 -05:00
Benjamin Morel
5748a4e25a
Fix PdoStatementReturnTypeProvider ( #4683 )
...
* Fix PdoStatementReturnTypeProvider
Methods returning scalars may return null as well.
* Fix tests
2020-11-23 18:41:12 -05:00
Matthew Brown
9823824608
Add example from @ludofleury's solution
2020-11-23 17:25:30 -05:00
Benjamin Morel
e938933ff3
Fix PDOStatement::fetchObject() return type ( #4682 )
2020-11-23 15:52:14 -05:00
Matt Brown
2c5f767098
Fix tests
2020-11-23 15:51:58 -05:00
Olivier Doucet
70a130f11e
add CodeClimate output format ( #4387 )
...
* add CodeClimate output format
* cosmetic fixes
* add CodeClimate output format
* cosmetic fixes
* phpcs fixes
2020-11-23 15:34:51 -05:00
orklah
b6cb9785ac
Prevent illegal array keys ( #4660 )
...
* Emit an issue when an array-key is not legal
* tests
2020-11-23 15:20:39 -05:00
Markus Staab
e5493f59cd
Mark finfo_open and finfo_file as impure ( #4678 )
...
* Mark finfo_open and finfo_file as impure
* fix CS
2020-11-23 15:19:50 -05:00