ralila
245920e53c
Import instead of using fqn
2021-12-03 20:11:20 +01:00
Alexander Wühr
2d91b90690
Add pcntl_alarm to the list of impure functions
2021-11-03 10:16:10 +01:00
orklah
fbd861c01e
ftp_pasv is impure
2021-10-23 15:17:49 +02:00
orklah
97e91e6bf0
code trimming
2021-09-25 02:34:21 +02:00
orklah
f1269d2425
makesbindtextdomain impure
2021-07-18 14:24:43 +02:00
Abdul Malik Ikhsan
3376f3cdfa
Add ob_get_clean to impure function
2021-06-24 20:34:38 +07:00
Bruce Weirdan
260faee29e
Mark set_include_path()
as impure
2021-06-22 22:00:05 +03:00
Bruce Weirdan
6abce3525a
Enforce use
sort ( #5900 )
2021-06-07 22:55:21 -04:00
Marco Pivetta
641587635d
Fix #5761 by marking all opcache_
functions as impure, as they are affected by runtime/engine ( #5762 )
...
Quoting original issue (fixes #5761 ):
> Given this snippet ( https://psalm.dev/r/4d51eeab35 ):
>
> ```php
> <?php
>
> function invalidate_cache_for(string $path): void {
> opcache_invalidate($path);
> }
>
> invalidate_cache_for('foo');
> ```
>
> Psalm reports the `opcache_invalidate()` call as `UnusedFunctionCall`. I'm wondering if `opcache_invalidate()` is perhaps inferred as a pure function? The only reference to it that I could find is in 1a59e81808/dictionaries/CallMap.php
, but no purity markers are there.
>
> I'd gladly fix these, if I could get a pointer to where purity is determined.
2021-05-13 21:18:00 -04:00
Bruce Weirdan
105c6f3a1c
Remove (and prevent) unused uses ( #5704 )
...
* Updates `slevomat/coding-standard`
* Removes unused uses
* Prevents unused uses
* Fixes a number of symbol case mismatches
2021-05-03 17:22:15 -04:00
Abdul Malik Ikhsan
2a31b66978
Add json_last_error to impure function ( #5613 )
...
* Add json_last_error to impure function
* add 'json_encode', 'json_decode' as well
* revert json_encode and json_decode
2021-04-10 20:38:02 -04:00
Valentin Udaltsov
31096d9361
Marked iterator_to_array as an impure function ( #5532 )
2021-04-02 15:38:15 -04:00
Valentin Udaltsov
59b7de5647
Closes #3238 Marked flock as an impure function ( #5543 )
2021-03-31 09:55:36 -04:00
Bruce Weirdan
8753c28a1b
Marked more functions as impure ( #5524 )
...
Fixes vimeo/psalm#5519
2021-03-30 11:55:09 -04:00
Matt Brown
bd6efd7cf2
Improve completion for namespaced classes
...
cc @joehoyle - this mainly allows us to get a correct list when the user starts typing Foo (without the new before it) inside a namespace
2021-02-14 23:25:13 -05:00
Matt Brown
6b53e79505
When there’s an irrecoverqable syntax error invalidate all issues in the file
2021-02-14 21:16:12 -05:00
Matt Brown
1d5020f59f
Only match functions where the first character has the same case as stub
...
cc @joehoyle - this prevents seeing lots of date_* functions when writing Date
2021-02-14 20:08:31 -05:00
Joe Hoyle
4077de2c93
Add completions for functions ( #5128 )
...
* Add completions for functions
Provide autocompletions in the LSP for all global functions and functions from namespaces used in the current context.
* Uncomment code
* PHPCS
* Simplify functions map
Co-authored-by: Matthew Brown <github@muglug.com>
* Switch to storing lowercase function string in array key
* Fix spacing
Co-authored-by: Matthew Brown <github@muglug.com>
2021-02-12 16:59:47 -05:00
Matt Brown
03665b9646
Revert "Correct Psalm’s concept of string emptiness"
...
This reverts commit 331ce8ead4
.
It was too hasty
2021-02-03 01:09:58 -05:00
Matt Brown
331ce8ead4
Correct Psalm’s concept of string emptiness
...
It contrasted with PHP’s idea
2021-02-02 23:07:51 -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
Markus Staab
d151f1c36e
mark file_get_contents as impurce ( #4679 )
2020-11-23 11:33:30 -05:00
Markus Staab
387bfbd9e0
is_file
and is_dir
should be impure (#4676 )
...
* `is_file` and `is_dir` should be impure
* newline
Co-authored-by: Matthew Brown <github@muglug.com>
2020-11-23 09:53:39 -05:00
Matt Brown
8325317e16
Fix #4674 - is_readable should be impure
2020-11-23 08:54:11 -05:00
Matt Brown
3bde327f1b
Break up CommentAnalyzer
2020-11-04 23:25:08 -05:00
Matt Brown
b5a3f45d52
Remove use of PHP 7.2 function
2020-11-04 11:02:34 -05:00
Matt Brown
4aef96bbac
Use lists everywhere for args
2020-10-28 12:45:26 -04:00
orklah
10f2966dcb
return types ( #4311 )
...
* return types
* remove willReturn for void methods
2020-10-12 15:02:52 -04:00
Brown
94ed53b25a
func_num_args is pure
...
fixes #4215
2020-09-19 13:58:29 -04:00
orklah
ead107fa9e
More return types ( #4173 )
...
* add native return types
* redundant phpdoc
2020-09-12 11:24:05 -04:00
orklah
8c7423505a
add native param types ( #4137 )
...
* add native param types
* redundant phpdoc
* add more param types and adds "?" to nullable types
* remove redundant phpdoc
* add more param types and remove redundant phpdoc
* add more param types and remove redundant phpdoc
2020-09-06 19:36:47 -04:00
orklah
f66d57f19d
add native return types ( #4116 )
...
* add native return types
* remove redundant phpdoc
2020-09-04 16:26:33 -04:00
Brown
c13b0efd49
Improve understanding of negated count queries
2020-08-30 11:32:01 -04:00
Brown
efe143a396
Fix #4077 - always track closure purity
2020-08-28 12:42:55 -04:00
Matthew Brown
06c231fbba
glob is impure
2020-08-23 13:41:43 -04:00
Matthew Brown
f6135bcefc
Add more impure functions
2020-08-23 13:15:27 -04:00
SignpostMarv
9822043ca4
flag class_exists as impure per vimeo/psalm#3975 ( #4004 )
...
`class_exists()` interacts with PHP's autoloader feature, which allows
user-defined behaviour to take place when PHP tries to load a given
class or interface.
2020-08-17 15:48:48 -04:00
Gabriel Ostrolucký
81a117be85
Mark fgets impure ( #4006 )
...
This function is used to skip line of text
2020-08-17 15:48:28 -04:00
SignpostMarv
06d4b9d6dd
mark bcscale as impure, re: vimeo/psalm#3918 ( #3926 )
2020-08-03 10:15:59 -04:00
Brown
76bd5b6278
Refactor type comparison
2020-07-21 19:40:35 -04:00
Tyson Andre
f17a4911d5
Add more impure functions ( #3814 )
2020-07-14 17:14:09 -04:00
Brown
fbe3433edd
Use escape terminology
2020-06-21 11:43:08 -04:00
Matthew Brown
081a284759
Fix #3567 - remember which variables a callable sets byref in use
2020-06-14 11:58:50 -04:00
Matthew Brown
a49a0e5650
Fix #3551 - count method can be impure
2020-06-14 11:06:53 -04:00
Gabriel Ostrolucký
8ca7a88c41
Mark fgetcsv impure ( #3582 )
...
fgetcsv standalone is used to skip current row for consecutive reads
2020-06-13 00:32:00 -04:00
Bruce Weirdan
a99f92ae3a
Fix vimeo/psalm#3572 ( #3575 )
...
session_decode has side effects
2020-06-13 00:28:56 -04:00
Brown
118b700436
Simplify sink mapping for internal calls
2020-05-25 13:10:06 -04:00
Brown
b62f646388
Fix #3391 - move_uploaded_file mutates
2020-05-18 16:26:08 -04:00
Brown
111303d913
Add non-empty-lowercase-string type
2020-05-15 10:18:05 -04:00
Brown
3e58163180
Prevent empty function id
...
Ref #3354
2020-05-12 12:54:06 -04:00