Matt Brown
951afcf4af
Fix #4982 - ensure destructuring assignments are seen inside a loop
2021-01-11 12:46:02 -05:00
Matt Brown
104647745b
Fix #4955 - catch invalid passing class constant where templated class string expected
2021-01-11 00:28:44 -05:00
Bruce Weirdan
7007000a68
Allow Attribute::IS_REPEATABLE ( #4971 )
...
This allows Attribute::IS_REPEATABLE to be specified as attribute flag.
Fixes vimeo/psalm#4892 , vimeo/psalm#4970
2021-01-10 21:55:06 -05:00
Matt Brown
59bea26bb8
Add non-emptiness check
2021-01-10 21:54:49 -05:00
Matt Brown
e299e914f8
Fix #4958 - honour template as inheritance when comparing template types
2021-01-09 18:58:29 -05:00
Matt Brown
6ef0f2e63e
Fix #4943
...
Prevent input types becoming part of the inferred generic params when a match is found
2021-01-09 18:08:02 -05:00
Bruce Weirdan
c1a710999c
Skip conditional includes when registering autoload files ( #4967 )
...
This should allow analysis of forward-compatible polyfills used in
codebases targeting older PHP versions.
The following previously problematic polyfills should now emit no parse
errors:
* `symfony/polyfill-ctype`
* `symfony/polyfill-intl-grapheme`
* `symfony/polyfill-intl-normalizer`
* `symfony/polyfill-mbstring`
The pattern that is now works as intended looks like this:
```php
if (\PHP_VERSION_ID >= 80000) {
require __DIR__ . '/bootstrap80.php';
return;
}
```
Previously Psalm would scan the required file even when codebase
targeted older PHP versions, and would emit parse errors when that file
contained PHP 8 syntax.
Fixes #4961 and #4965
2021-01-09 16:14:58 -05:00
Bruce Weirdan
f795906187
Removed misc files from dist archives ( #4968 )
2021-01-09 16:14:08 -05:00
Adrien LUCAS
493c57eedf
Trigger dispatch even when only legacy hooks ( #4962 )
2021-01-08 19:51:26 -05:00
Bruce Weirdan
fac9e46ba8
Correct gzread signature ( #4960 )
...
Fixes vimeo/psalm#4959
2021-01-08 19:50:10 -05:00
Adrien LUCAS
d1398f2b12
Avoid false positives for taint specialized calls even when not using a variable ( #4948 )
2021-01-07 16:39:51 -05:00
Matthew Brown
ec4c7bde73
Fix #4951 - add Traversable interface to PDOStatement
2021-01-07 15:53:19 -05:00
Matt Brown
603ecadbb7
Fix #4945 - use assertion string for scalar templated assertions
2021-01-07 10:27:35 -05:00
orklah
0e17a3354f
add stubs for standard iterators ( #4725 )
...
* add stubs for standard iterators
* Apply suggestions from code review cc @weirdan
Co-authored-by: Bruce Weirdan <weirdan@gmail.com>
* complete stub + delete code made redundant by stubs + fix some syntax in stubs
* fix parse error
Co-authored-by: Bruce Weirdan <weirdan@gmail.com>
2021-01-07 10:07:07 -05:00
orklah
81e557e3a8
adds statements list in the event ( #4835 )
2021-01-07 09:04:50 -05:00
orklah
1bbcbddfcf
pass args through event ( #4864 )
2021-01-07 09:02:05 -05:00
Matthew Brown
e1c8050850
Update language_server.md
2021-01-07 08:48:33 -05:00
Adrien LUCAS
0f5886746f
Taint specialized calls even when not using a variable ( #4940 )
2021-01-06 14:14:52 -05:00
Matt Brown
7ffea7c425
Fix #4917 - allow array_reduce to be called with a single arg
2021-01-06 12:59:51 -05:00
orklah
665170eadb
add ArrayAccess to SimpleXmlElement ( #4934 )
...
* add ArrayAccess to SimpleXmlElement
* add test
2021-01-06 09:44:12 -05:00
orklah
f9fccb2b2d
implement DTO for plugins ( #4881 )
...
* implement DTO for plugins
* introduce EventHandler + reintroduce legacy API for plugins
2021-01-06 09:05:53 -05:00
orklah
bcc378bd20
handle concatenation with int parts ( #4938 )
2021-01-06 09:01:53 -05:00
Matthew Brown
3fd47f9e10
Add comments to AtomicMethodCallAnalyzer and suppress ComplexMethod
2021-01-05 19:03:50 -05:00
Matthew Brown
0533ce61cb
Break apart type combiner
2021-01-05 18:33:33 -05:00
Matthew Brown
b1028adc5a
Break out large chunk to simplify function
2021-01-05 17:50:23 -05:00
Matthew Brown
13497b8d2b
Break out parent and implemented class checks
2021-01-05 17:49:55 -05:00
Matthew Brown
e4b1a4fa55
Uncomment erroneously-commented return
2021-01-05 17:49:17 -05:00
Matthew Brown
630f646bd4
Break out large chunk
2021-01-05 17:47:15 -05:00
Matthew Brown
b3b2389aff
Ignore recently-deleted files for scanning
2021-01-04 19:00:44 +00:00
orklah
c47230c690
Infer result of modulo 1 operation statically ( #4926 )
2021-01-03 16:56:04 +00:00
Lukas Bestle
0397564f6b
PHAR: Include issue docs for SARIF output ( #4925 )
...
The SARIF report uses the Markdown files inside `docs/running_psalm/issues` for its output, so the files should be included in the PHAR.
2021-01-03 16:54:52 +00:00
Lukas Bestle
2d17b744ce
SARIF report: Include help links ( #4924 )
2021-01-03 01:45:21 +00:00
Lukas Bestle
245a331be3
Full support for $this
in @var
annotations ( #4922 )
...
Fixes #4916 .
2021-01-03 01:44:35 +00:00
MaximAL
d37e211eb9
Consistent curly apostrophe characters ( #4918 )
2020-12-31 00:59:49 +00:00
Holger Woltersdorf
30696f9089
Add missing param for constructor arguments in PDOStatement#fetchObject ( #4915 )
...
* Add missing param for constructor arguments
PDOStatement#fetchObject allows a second, optional parameter for constructor arguments, which - if given - will be passed to the given class' constructor.
See: https://www.php.net/manual/de/pdostatement.fetchobject.php
Also see the PhpStorm stubs: https://github.com/JetBrains/phpstorm-stubs/blob/master/PDO/PDO.php#L1441
* Fix wrong nullability for 2nd argument in PDOStatement#fetchObject
2020-12-31 00:59:10 +00:00
Matthew Brown
57b53ff262
Just build Phar on Travis
2020-12-29 17:37:09 +00:00
Matthew Brown
2898e556e4
Fix test
2020-12-29 16:52:59 +00:00
Matthew Brown
7764a4ce6c
Fix #4912 - detect mismatching property type
2020-12-29 16:37:03 +00:00
Tyson Andre
00b42bf4f7
Check if included files are listed in mustBeIgnored ( #4911 )
...
Previously, when a file was included in `include()`, it was not subject
to ignoreFiles
Related to #4876
2020-12-29 14:05:17 +00:00
Matthew Brown
80a82c317a
Fix lack of autoload_real in latest humbug/box
2020-12-29 14:01:22 +00:00
Matthew Brown
a295d13f25
Fix other check
2020-12-29 12:57:09 +00:00
Matthew Brown
24b44f1974
Disable platform check for Phar
2020-12-29 12:40:21 +00:00
Matthew Brown
6ebc9ae8c6
Bump circleci image version
2020-12-29 12:33:11 +00:00
Matthew Brown
ddd99970a9
Fix #4901 - simplify mapping of template types within class
2020-12-29 12:24:33 +00:00
orklah
ab5ddb1514
[Doc] Add an example to explain how to handle plugin issues ( #4908 )
2020-12-29 11:43:07 +00:00
orklah
1d9987e0ed
fix phpdoc ( #4905 )
2020-12-29 11:42:41 +00:00
orklah
09fb141e49
Document lowercase-string when possible ( #4904 )
...
* document lowercase-string
* fix missing strtolower
2020-12-29 11:42:12 +00:00
Benjamin Morel
5341eec951
Change ReflectionUnionType::getTypes() return type ( #4903 )
2020-12-29 11:40:19 +00:00
Benjamin Morel
2be2f1eb1a
GEOS stubs ( #4902 )
2020-12-29 11:39:46 +00:00
Benjamin Morel
3b6550f892
Return type for DateTimeZone::getTransitions() ( #4879 )
2020-12-26 10:34:18 +00:00